Bug fixes!! New Feature!! Edits, cleanups!!

Bugs:
1. Small bug, wrong regex would make mdraid unused report never show.
Was looking for ^used, not ^unused. No idea how that happened, but it's fixed.

2. Big RAID bug. Due to never having seen an 'inactive' state mdraid dataset,
inxi had a bunch of bugs around that. I'd assumed active and inactive would have
roughly the same syntax, but they don't. This is now corrected. Thanks Solus user
for giving me the required data. This case when not corrected resulted in a
spray of errors as RAID ran, and a fairly incomplete RAID report for mdraid.

3. A bug that probably never impacted anyone, but in SMART the matching rules
failed to match field name Size[s]? in the logical/physical block sizes.
However, those were already coming in from I believe pre-existing /sys data
for the drives but now it's fixed anyway. I had not realized that smartctl
made it plural when logical/physical were different, and singular when
they were the same.

Fixes:
1. Going along with bug 2, fixed some other admin/non admin report glitches.
Made patterns more aggressively matching, whitelist based to avoid the types
of syntax issues that caused bug 2.

2. Added 'faulty' type to mdraid matches, that had not been handled.

3. Found even more of those pesky 'card' references in help and man page,
replaced all of them with 'device[s]'.

4. Subtle fix, for debugger data collectors, added -y1 support, which can
be useful at times.

Enhancements:
1. In USB data grabber, added fallback case for unspecified type cases, now
uses a simple name/driver string test to determine if it's graphics, audio,
or bluetooth. This was mainly to make sure bluetooth usb devices get caught.

2. New feature! -E/--bluetooth. Gives an -n like bluetooth Device-x/Report.
Requires for the 'Report:' part hciconfig, which most all distros still have
in their repos. With -a, shows an additional Info: line that has more obscure
bluetooth hci data: acl-mtu sco-mtu, link-policy, link-mode, service-classes.

This closes the ancient, venerable issue #79, filed by mikaela so many years
ago. Better late than never!! However, features like this were really difficult
in legacy bash/gawk inxi 2.x, and became fairly easy with inxi 3.x, so I guess
we'll slowly whittle away at these things when the mood, and global pandemic
lockdowns, make that seem like a good idea...

Includes a small lookup table to match LMP number to Bluetooth version (bt-v:),
hopefully that's a correct way to determine bluetooth version, there was some
ambiguity about that.

-x, -xx, and -xxx function pretty much the same way as with -A, -G, and -N
devices, adding Chip IDs, Bus IDs, version info, and so on.
Since this bluetooth report does not require root and is an upper case option,
it's been added to default -F, similar to -R, and -v 5, where raid/bluetooth
shows only if data is found. With -v7 or -R or -E, always shows, including
no data found message.

Includes a fallback report Report-ID: case where for some reason, inxi could
not match the HCI ID with the device. That's similar to IF-ID in -n, which
does the same when some of the IFs could not be matched to a specific device.

3. For -A, -G, -N, and -E, new item for -xxx, classID, I realized this is
actually useful for many cases of trying to figure out what devices are,
though most users would not know what to do with that information, but that's
why it's an -xxx option!

4. Yes! You've been paying attention!! More disk vendors, and new vendor IDs!!
The cornucopia flows its endless bounty over the grateful data collector, and,
hopefully, inxi users!! Thanks as always, linux-lite hardware database, and
linux-lite users who really seem set on the impossible project of obtaining
all the disks/vendors known to man.

Changes:
1. Small change in wording for mdraid report:
'System supported mdraid' becomes 'Supported mdraid levels' which is cleaner
and much more precise.
This commit is contained in:
Harald Hope 2021-01-28 20:02:42 -08:00
parent 1e2d470c69
commit a68b1e8358
3 changed files with 721 additions and 121 deletions

625
inxi

File diff suppressed because it is too large Load diff

116
inxi.1
View file

@ -1,4 +1,4 @@
.TH INXI 1 "2021\-01\-13" inxi "inxi manual"
.TH INXI 1 "2021\-01\-28" inxi "inxi manual"
.SH NAME
inxi \- Command line system information script for console and IRC
@ -6,7 +6,7 @@ inxi \- Command line system information script for console and IRC
.SH SYNOPSIS
\fBinxi\fR
\fBinxi\fR [\fB\-AbBCdDfFGhiIjJlLmMnNopPrRsSuUVwzZ\fR]
\fBinxi\fR [\fB\-AbBCdDEfFGhiIjJlLmMnNopPrRsSuUVwzZ\fR]
\fBinxi\fR [\fB\-c NUMBER\fR]
[\fB\-\-sensors\-exclude SENSORS\fR] [\fB\-\-sensors\-use SENSORS\fR]
@ -93,6 +93,9 @@ capacity, and then this figure as a percentage of original capacity available in
With \fB\-x\fR shows attached \fBDevice\-x\fR information (mouse, keyboard, etc.)
if they are battery powered.
.TP
.B \-\-bluetooth\fR \- See \fB\-E\fR
.TP
.B \-c\fR,\fB \-\-color\fR \fR[\fB0\fR\-\fB42\fR]
Set color scheme. If no scheme number is supplied, 0 is assumed.
@ -193,6 +196,30 @@ Also shows per disk information: Disk ID, type (if present), vendor (if detected
model, and size. See \fBExtra Data Options\fR (\fB\-x\fR options) and
\fBAdmin Extra Data Options\fR (\fB\-\-admin\fR options) for many more features.
.TP
.B \-E\fR, \fB\-\-bluetooth\fR
Show bluetooth device(s), drivers. Show \fBReport:\fR with
(if available) bluetooth version (\fBbt\-v\fR), HCI ID, state,
address per device. See \fBExtra Data Options\fR for more.
Note that \fBReport\-ID:\fR indicates that the HCI item was not able to be linked to a
specific device, similar to \fBIF\-ID:\fR in \fB\-n\fR.
Note that if your internal bluetooth device does not show, it's possible that
it has been disabled, if you try enabling it using for example:
\fBhciconfig hci0 up\fR
and it returns a blocked by RF-Kill error, you can do one of these:
\fBconnmanctl enable bluetooth
or
\fBrfkill list\fR
\fBrfkill unblock bluetooth\fR
.TP
.B \-\-filter\fR,\fB \-\-filter\-override\fR \- See \fB\-z\fR, \fB\-Z\fR.
@ -215,10 +242,10 @@ to avoid spamming. ARM CPUs: show \fBfeatures\fR items.
.TP
.B \-F\fR,\fB \-\-full\fR
Show Full output for inxi. Includes all Upper Case line letters except \fB\-W\fR,
plus \fB\-\-swap\fR, \fB\-s\fR and \fB\-n\fR. Does not show extra verbose options such as
\fB\-d \-f \-i \-l \-m \-o \-p \-r \-t \-u \-x\fR unless you use those arguments in
the command, e.g.: \fBinxi \-Frmxx\fR
Show Full output for inxi. Includes all Upper Case line letters (except \fB\-J\fR
and \fB\-W\fR) plus \fB\-\-swap\fR, \fB\-s\fR and \fB\-n\fR. Does not show extra
verbose options such as \fB\-d \-f \-i -J \-l \-m \-o \-p \-r \-t \-u \-x\fR unless
you use those arguments in the command, e.g.: \fBinxi \-Frmxx\fR
.TP
.B \-G\fR,\fB \-\-graphics\fR
@ -458,7 +485,7 @@ Shows interface, speed, MAC ID, state, etc.
.TP
.B \-N\fR,\fB \-\-network\fR
Show Network device(s) information, including device driver. With \fB\-x\fR, shows PCI BusID,
Show Network device(s) information, including device driver. With \fB\-x\fR, shows Bus ID,
Port number.
.TP
@ -640,7 +667,7 @@ speeds, if available) + \fB\-G\fR + basic Disk + \fB\-I\fR.
.TP
.B \-v 2
\- Adds networking card (\fB\-N\fR), Machine (\fB\-M\fR) data, Battery (\fB\-B\fR)
\- Adds networking device (\fB\-N\fR), Machine (\fB\-M\fR) data, Battery (\fB\-B\fR)
(if available). Same as: \fBinxi \-b\fR
.TP
@ -655,9 +682,11 @@ advanced data option.
.TP
.B \-v 5
\- Adds audio card (\fB\-A\fR), memory/RAM (\fB\-m\fR), sensors (\fB\-s\fR),
partition label (\fB\-l\fR), UUID (\fB\-u\fR), full swap data (\fB\-j\fR),
and short form of optical drives.
\- Adds audio device (\fB\-A\fR), memory/RAM (\fB\-m\fR),
bluetooth data (\fB\-E\fR) (if present), sensors (\fB\-s\fR),
RAID data (if present), partition label (\fB\-l\fR),
UUID (\fB\-u\fR), full swap data (\fB\-j\fR), and short form of
optical drives.
.TP
.B \-v 6
@ -667,7 +696,8 @@ USB (\fB\-J\fR); triggers \fB\-xx\fR extra data option.
.TP
.B \-v 7
\- Adds network IP data (\fB\-i\fR); triggers \fB\-xxx\fR
\- Adds network IP data (\fB\-i\fR), forced bluetooth (\fB\-E\fR),
RAID (\fB\-R\fR); triggers \fB\-xxx\fR
.TP
.B \-v 8
@ -778,10 +808,9 @@ extra data level.
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
specific vendor [product] information.
\- Adds version/port(s)/driver version (if available) for each Audio
device.
\- Adds version/port(s)/driver version (if available) for each device.
\- Adds PCI Bus ID/USB ID number of each Audio device.
\- Adds PCI/USB ID of each device.
.TP
.B \-x \-B\fR
@ -843,6 +872,18 @@ You can force use of \fBhddtemp\fR for all drives using \fB\-\-hddtemp\fR.
on Local Storage line. This is how much unused space the VGs contain, that is,
space not assigned to LVs.
.TP
.B \-x \-E\fR (\fB\-\-bluetooth\fR)
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
specific vendor [product] information.
\- Adds PCI/USB Bus ID of each device.
\- Adds driver version (if available) for each device.
\- Adds LMP (HCI if no LMP data, and HCI if HCI/LMP versions are different)
version (if available) for each HCI ID.
.TP
.B \-x \-G\fR
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
@ -852,7 +893,7 @@ specific vendor [product] information.
\- Adds (for single GPU, nvidia driver) screen number that GPU is running on.
\- Adds PCI Bus ID/USB ID number of each Graphics card.
\- Adds PCI/USB ID of each device.
.TP
.B \-x \-i\fR
@ -925,9 +966,9 @@ generate one.
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
specific vendor [product] information.
\- Adds version/port(s)/driver version (if available) for each Network card;
\- Adds version/port(s)/driver version (if available) for each device;
\- Adds PCI Bus ID/USB ID number of each Network card.
\- Adds PCI/USB ID of each device.
.TP
.B \-x \-o\fR, \fB\-x \-p\fR, \fB\-x \-P\fR
@ -945,7 +986,7 @@ Example: \fBID\-4: /home ... dev: /dev/dm-6 mapped: ar0-home\fR
\- md\-raid: Adds second RAID Info line with extra data: blocks, chunk size,
bitmap (if present). Resync line, shows blocks synced/total blocks.
\- Hardware RAID: Adds driver version, bus ID.
\- Hardware RAID: Adds driver version, Bus ID.
.TP
.B \-x \-s\fR
@ -974,7 +1015,7 @@ methods are found for each distribution system base detection.
.TP
.B \-xx \-A\fR
\- Adds vendor:product ID for each Audio device.
\- Adds vendor:product ID for each device.
.TP
.B \-xx \-B\fR
@ -1007,9 +1048,15 @@ For a PCIe 3 NVMe drive, with speed of \fB8 GT/s\fR and \fB4\fR lanes
\fBspeed: 31.6 Gb/s lanes: 4\fR
.TP
.B \-xx \-E\fR (\fB\-\-bluetooth\fR)
\- Adds vendor:product ID of each device.
\- Adds LMP subversion (and/or HCI revision if applicable) for each device.
.TP
.B \-xx \-G\fR
\- Adds vendor:product ID of each Graphics card.
\- Adds vendor:product ID of each device.
\- Adds Xorg compositor, if found (always shows for Wayland systems).
@ -1020,11 +1067,11 @@ the same. Example:
\fBv: 3.3 Mesa 11.2.0 compat\-v: 3.0\fR
\- If available, shows \fBalternate:\fR Xorg drivers. This means a driver on
the default list of drivers Xorg automatically checks for the card, but which
the default list of drivers Xorg automatically checks for the device, but which
is not installed. For example, if you have \fBnouveau\fR driver, \fBnvidia\fR would
show as alternate if it was not installed. Note that \fBalternate:\fR does NOT mean you
should have it, it's just one of the drivers Xorg checks to see if is present
and loaded when checking the card. This can let you know there are other driver options.
and loaded when checking the device. This can let you know there are other driver options.
Note that if you have explicitly set the driver in \fBxorg.conf\fR, Xorg will not
create this automatic check driver list.
@ -1086,7 +1133,7 @@ ROM size if using \fBdmidecode\fR.
.TP
.B \-xx \-N\fR
\- Adds vendor:product ID for each Network card.
\- Adds vendor:product ID for each device.
.TP
.B \-xx \-r\fR
@ -1132,6 +1179,8 @@ to observation time), if available.
.B \-xxx \-A\fR
\- Adds, if present, serial number.
\- Adds, if present, PCI/USB class ID.
.TP
.B \-xxx \-B\fR
\- Adds battery chemistry (e.g. \fBLi\-ion\fR), cycles (NOTE: there appears to
@ -1159,6 +1208,16 @@ Only appears if detected (SSD drives do not have rotation speeds, for example).
found, nothing shows. Not all disks report this speed, so even if they are spinnning,
no data will show.
.TP
.B \-xxx \-E\fR (\fB\-\-bluetooth\fR)
\- Adds, if present, PCI/USB class ID.
\- Adds HCI version, revision.
.TP
.B \-xxx \-G\fR
\- Adds, if present, PCI/USB class ID.
.TP
.B \-xxx \-I\fR
\- For \fBUptime:\fR adds \fBwakeups:\fR to show how many times the machine
@ -1181,6 +1240,8 @@ uses the \fBwho am i\fR test.
\- Adds, if available, USB speed in \fBMbits/s\fR or \fBGbits/s\fR.
\- Adds, if present, USB class ID.
.TP
.B \-xxx \-m\fR, \fB\-\-memory\-modules\fR
\- Adds memory bus width: primary bus width, and if present, total width. e.g.
@ -1199,6 +1260,8 @@ data available.
.B \-xxx \-N\fR
\- Adds, if present, serial number.
\- Adds, if present, PCI/USB class ID.
.TP
.B \-xxx \-R\fR
\- md\-raid: Adds system mdraid support types (kernel support, read ahead, RAID events)
@ -1319,6 +1382,11 @@ available, and different from enclosure model/serial, and corrects block
sizes if necessary. Adds in drive temperature for some drives as well,
and other useful data.
.TP
.B \-a \-E\fR (\fB\-\-bluetooth\fR)
\- Adds extra line to \fBReport:\fR, \fBInfo:\fR. Includes, if available,
ACL MTU, SCO MTU, Link policy, Link mode, and Service Classes.
.TP
.B \-a \-G\fR
Triggers a much more complete Screen/Monitor output on the

View file

@ -1,3 +1,94 @@
=====================================================================================
Version: 3.3.00
Patch: 00
Date: 2021-01-28
-----------------------------------
Changes:
-----------------------------------
Bug fixes!! New Feature!! Edits, cleanups!!
Bugs:
1. Small bug, wrong regex would make mdraid unused report never show.
Was looking for ^used, not ^unused. No idea how that happened, but it's fixed.
2. Big RAID bug. Due to never having seen an 'inactive' state mdraid dataset,
inxi had a bunch of bugs around that. I'd assumed active and inactive would have
roughly the same syntax, but they don't. This is now corrected. Thanks Solus user
for giving me the required data. This case when not corrected resulted in a
spray of errors as RAID ran, and a fairly incomplete RAID report for mdraid.
3. A bug that probably never impacted anyone, but in SMART the matching rules
failed to match field name Size[s]? in the logical/physical block sizes.
However, those were already coming in from I believe pre-existing /sys data
for the drives but now it's fixed anyway. I had not realized that smartctl
made it plural when logical/physical were different, and singular when
they were the same.
Fixes:
1. Going along with bug 2, fixed some other admin/non admin report glitches.
Made patterns more aggressively matching, whitelist based to avoid the types
of syntax issues that caused bug 2.
2. Added 'faulty' type to mdraid matches, that had not been handled.
3. Found even more of those pesky 'card' references in help and man page,
replaced all of them with 'device[s]'.
4. Subtle fix, for debugger data collectors, added -y1 support, which can
be useful at times.
Enhancements:
1. In USB data grabber, added fallback case for unspecified type cases, now
uses a simple name/driver string test to determine if it's graphics, audio,
or bluetooth. This was mainly to make sure bluetooth usb devices get caught.
2. New feature! -E/--bluetooth. Gives an -n like bluetooth Device-x/Report.
Requires for the 'Report:' part hciconfig, which most all distros still have
in their repos. With -a, shows an additional Info: line that has more obscure
bluetooth hci data: acl-mtu sco-mtu, link-policy, link-mode, service-classes.
This closes the ancient, venerable issue #79, filed by mikaela so many years
ago. Better late than never!! However, features like this were really difficult
in legacy bash/gawk inxi 2.x, and became fairly easy with inxi 3.x, so I guess
we'll slowly whittle away at these things when the mood, and global pandemic
lockdowns, make that seem like a good idea...
Includes a small lookup table to match LMP number to Bluetooth version (bt-v:),
hopefully that's a correct way to determine bluetooth version, there was some
ambiguity about that.
-x, -xx, and -xxx function pretty much the same way as with -A, -G, and -N
devices, adding Chip IDs, Bus IDs, version info, and so on.
Since this bluetooth report does not require root and is an upper case option,
it's been added to default -F, similar to -R, and -v 5, where raid/bluetooth
shows only if data is found. With -v7 or -R or -E, always shows, including
no data found message.
Includes a fallback report Report-ID: case where for some reason, inxi could
not match the HCI ID with the device. That's similar to IF-ID in -n, which
does the same when some of the IFs could not be matched to a specific device.
3. For -A, -G, -N, and -E, new item for -xxx, classID, I realized this is
actually useful for many cases of trying to figure out what devices are,
though most users would not know what to do with that information, but that's
why it's an -xxx option!
4. Yes! You've been paying attention!! More disk vendors, and new vendor IDs!!
The cornucopia flows its endless bounty over the grateful data collector, and,
hopefully, inxi users!! Thanks as always, linux-lite hardware database, and
linux-lite users who really seem set on the impossible project of obtaining
all the disks/vendors known to man.
Changes:
1. Small change in wording for mdraid report:
'System supported mdraid' becomes 'Supported mdraid levels' which is cleaner
and much more precise.
-----------------------------------
-- Harald Hope - Thu, 28 Jan 2021 19:34:17 -0800
=====================================================================================
Version: 3.2.02
Patch: 00