New features, new changes, new bug fixes!!! Excitement!!! Thrills!!!

Bugs:
1. Forgot to set get Shell logic in inxi short form, oops, so Shell remained blank,
only inxi short, which I rarely use so I didn't notice.

2. Failed to test pacman-g2 for packages, had wrong query argument, so it failed.
Also failed to test for null data, so showed errors for packages as well. Both
fixed.

3. A big bug, subtle, and also at the same time, an enhancement, it turns out NVME
drives do NOT follow the age old /proc/partitions logic where if the minor number is
divisible by 16 or has remainder 8 when divided by 16, it's a primary drive, not
a partition. nvme drives use a random numbering when > 1 nvme drives are present, and
the old tests would fail for all nvme drivers more than the first one, which led
to wrong disk size totals. Thanks gardotd426 who took the time to help figure this
out in issue #223 - fix is to not do that test for nvme drives, or rather, to add
a last fail test for nvme primary nvme[0-9]n[0-9] drive detections, not the minor
number.

Fixes:
1. Corrected indentation for block sizes, children were not indented.

2. Updated some older inxi-perl/docs pages, why not, once in a while?

3. Kernel 5.8 introduces a changed syntax to gcc string location, this has been
corrected, and the kernel gcc version now shows correctly for the previous
syntax and the new one. Hopefully they do not change it again, sigh...

4. Removed string 'hwmon' sensors from gpu, those are not gpu sensors, and
are also usually not board/cpu sensors, but things like ath10, iwl, etc,
network, or disk sensors, etc. In some cases hwmon sensor data would appear

Enhancements:
1. Big sensors refactor, now inxi supports two new sensors options:
--sensors-exclude - which allows you to exclude any primary sensor type[s]. Note that
in the refactored logic, and in the old logic, gpu sensors were already excluded.
Now other hardware specific sensors like network are excluded as well.

--sensors-use - use ONLY list of supplied sensor IDs, which have to match the
syntax you see in lm-sensors sensors output.

Both accept comma separated list of sensors, 1 or more, no spaces.

The refactor however is more far reaching, now inxi stores and structures data
not as a long line of sensors and data without differentiation, but by sensor array/chip
ID, which is how  the exclude and use features can work, and how granular default
hardware sensor exclusions and uses can happen. This is now working in the gpu
sensors, and will in the future be extended to the newer 5.7/5.8 kernel disk
temperature sensors values, which will lead in some cases to being able to get
sensors data for disks without root or hddtemp. This is a complicated bit of logic,
and I don't have time to do it right now, but the data is now there and stored
and possible to use in the future.

To see sensors structures, use: inxi -s --dbg 18 and that will show the sensors data
and its structures, which makes debugger a lot easier for new features.

This issue was originally generated by what was in my view an invalid complaint
about some inxi sensors defaults, which led me to look more closely at sensors
logic, which is severely lacking. More work on sensors will happen in the future,
time, health, and energy permitting.

2. Added Watts, mem temp, for amdgpu sensors, as -sxxx option. More gpu sensor
data will be added as new data samples show what will be available for the
free modules like amdgpu, nouvean, and the intel graphics modules.

3. More disk vendors and IDs, as noted, the list never ends, and it hasn't ended,
so statement remains true. Thanks linux-lite hardware database.

Changes:

1. This has always bugged me since it was introduced, the primary cpu line starter
Topology: which was only technically accurate for its direct value, not its children,
and also, in -b, cpu short form was using the value as the key, which is a no-no,
I'd been meaning to fix that too, but finally realized if I just make the primary
CPU line key be 'Info:', which is short, yet non-ambiguous, it would solve both
problems.
To keep the -b cpu line as short as before, I removed the 'type:' and integraged
that value into the primary Info: string:
CPU:
  Info: 6-Core AMD Ryzen 5 2600 [MT MCP] speed: 2750 MHz min/max: 1550/3400 MHz

-b 3.1.05 and earlier:
CPU:
  6-Core: AMD Ryzen 5 2600 type: MT MCP speed: 1515 MHz min/max: 1550/3400 MHz

These resolve something that has irked me for quite a while, 'Topology:' didn't
fit, it was too geeky, and worst, it only applied to the value directly following
it, NOT to the rest of the CPU information. It also could not be shortened or
abbreviated since then it would have made no actual sense, like topo:, and the
same issue with value being used for key in -b, and wrong word for line starter
in -C would have existed. Besides, someone might think I was trying to make a
subtle reference to the great Jodorowsky film 'El Topo', which would be silly,
because that's art, and this is just some system specs that are reasonably
readable...

2. Was using opendns for WAN dig IP address, but apparently cysco bought that
company, and now I've noticed the old opendns dig queries were failing more and
more, so replaced that with akamai dig requests.
Also made the WAN IP fallback to HTTP IP method if dig failed. New option:
--no-http-wan and config item NO_HTTP_WAN with override --http-wan added to
let you switch off http wan IP requests if you want. Note that if dig fails,
you will get no wan ip address.
Updated/improved error messages to handle this more complex set of wan ip
options, so hopefully the error alert message will in most cases be right.

3. To future proof inxi, switched debugger upload location to ftp.smxi.org/incoming
from the old techpatterns.com/incoming. Updated man/help to remove those urls too.
This commit is contained in:
Harald Hope 2020-08-16 15:27:11 -07:00
parent f16e714dc6
commit b1650ea2a8
3 changed files with 578 additions and 255 deletions

629
inxi

File diff suppressed because it is too large Load diff

83
inxi.1
View file

@ -1,4 +1,4 @@
.TH INXI 1 "2020\-07\-26" inxi "inxi manual"
.TH INXI 1 "2020\-08\-16" inxi "inxi manual"
.SH NAME
inxi \- Command line system information script for console and IRC
@ -9,12 +9,13 @@ inxi \- Command line system information script for console and IRC
\fBinxi\fR [\fB\-AbBCdDfFGhijJIlmMnNopPrRsSuUVwzZ\fR]
\fBinxi\fR [\fB\-c NUMBER\fR] [\fB\-t\fR
[\fB\-\-sensors\-exclude SENSORS\fR] [\fB\-\-sensors\-use SENSORS\fR]
[\fBc\fR|\fBm\fR|\fBcm\fR|\fBmc\fR][\fBNUMBER\fR]]
[\fB\-v NUMBER\fR] [\fB\-W LOCATION\fR]
[\fB\-\-weather\-unit\fR {\fBm\fR|\fBi\fR|\fBmi\fR|\fBim\fR}] [\fB\-y WIDTH\fR]
\fBinxi\fR [\fB\-\-memory\-modules\fR] [\fB\-\-memory\-short\fR]
[\fB\-\-recommends\fR] [\fB\-\-slots\fR]
[\fB\-\-recommends\fR] [\fB\-\-sensors\-default\fR] [\fB\-\-slots\fR]
\fBinxi\fB [\fB\-x\fR|\fB\-xx\fR|\fB\-xxx\fR|\fB\-a\fR] \fB\-OPTION(s)\fR
@ -440,7 +441,9 @@ then shows what package(s) you need to install to add support for each feature.
Show output from sensors if sensors installed/configured: Motherboard/CPU/GPU
temperatures; detected fan speeds. GPU temperature when available. Nvidia shows
screen number for multiple screens. IPMI sensors are also used (root required)
if present.
if present. See Advanced options \fB\-\-sensors\-use\fR or
\fB\-\-sensors\-exclude\fR if you want to use only a subset of all sensors, or
exclude one.
.
.TP
.B \-\-slots\fR
@ -1348,6 +1351,12 @@ Turns on hostname in System line. Overrides inxi config file value (if set):
This is an absolute override, the host will always show no matter what
other switches you use.
.TP
.B \-\-html\-wan\fR
Temporary override of \fBNO_HTML_WAN\fR configuration item. Only use to test w/wo
HTML downloaders for WAN IP. Restores default behavior for WAN IP, which is use HTML
downloader if present and if dig failed.
.TP
.B \-\-indent\-min [integer]\fR
Overrides default indent minimum value. This is the value that makes inxi change from
@ -1382,11 +1391,22 @@ configuration value (if set):
This is an absolute override, the host will not show no matter what other
switches you use.
.TP
.B \-\-no\-html-wan\fR
Overrides use of HTML downloaders to get WAN IP address. Use either only dig, or
do not get wan IP. Only use if dig is failing, and the HTML downloaders are taking
too long, or are hanging or failing.
Make permanent with \fBNO_HTML_WAN='true'\fR
.TP
.B \-\-no\-man\fR
Disables man page install with \fB\-U\fR for master and active development branches.
(Only active if \fB\-U\fR is is not disabled by maintainers).
.TP
.B \-\-no\-sensor\-force\fR
Overrides user set \fBSENSOR_FORCE\fR configuration value. Restores default behavior.
.TP
.B \-\-no\-ssl\fR
Skip SSL certificate checks for all downloader actions (\fB\-U\fR, \fB\-w\fR,
@ -1441,6 +1461,43 @@ sort will be random.
For distro package maintainers only, and only for non apt, rpm, or pacman based systems.
To be used to test replacement package lists for recommends for that package manager.
.TP
.B \-\-sensors\-default\fR
Overrides configuration values \fBSENSORS_USE\fR or \fBSENSORS_EXCLUDE\fR
on a one time basis.
.TP
.B \-\-sensors\-exclude\fR
Similar to \fB\-\-sensors\-use\fR except removes listed sensors from sensor data.
Make permanent with \fBSENSORS_EXCLUDE\fR configuration item. Note that gpu, network,
disk, and other specific device monitor chips are excluded by default.
Example: \fBinxi \-sxx \-\-sensors\-exclude k10temp-pci-00c3\fR
.TP
.B \-\-sensors\-use\fR
Use only the (comma separated) sensor arrays for \fB\-s\fR output. Make permanent
with \fBSENSORS_USE\fR configuration item. Sensor array ID value must be the exact
value shown in lm-sensors sensors output (Linux/lm-sensors only). If you only want
to exclude one (or more) sensors from the output, use \fB\-\-sensors\-exlude\fR.
Can be useful if the default sensor data used by inxi is not from the right sensor
array. Note that all other sensor data will be removed, which may lead to undesired
consequences. Please be aware that this can lead to many undesirable side-effects,
since default behavior is to use all the sensors arrays and select which values
to use from them following a set sequence of rules. So if you force one to be used,
you may lose data that was used from another one.
Most likely best use is when one (or two) of the sensor arrays has all the sensor data
you want, and you just want to make sure inxi doesn't use data from another array that
has inacurate or misleading data.
Note that gpu, network, disk, and other specific device monitor chips are excluded by
default, and should not be added since they do not provide cpu, board, system, etc,
sensor data.
Example: \fBinxi \-sxx \-\-sensors\-use nct6791-isa-0290,k10temp-pci-00c3\fR
.TP
.B \-\-sleep [0\-x.x]\fR
Usually in decimals. Change CPU sleep time for \fB\-C\fR (current: \fB\0.35\fR).
@ -1539,13 +1596,13 @@ other system data.
.TP
.B \-\-debug 21\fR
Automatically uploads debugger data tar.gz file to \fIftp.techpatterns.com\fR,
Automatically uploads debugger data tar.gz file to \fIftp.smxi.org\fR,
then removes the debug data directory, but leaves the debug tar.gz file.
See \fB\-\-ftp\fR for uploading to alternate locations.
.TP
.B \-\-debug 22\fR
Automatically uploads debugger data tar.gz file to \fIftp.techpatterns.com\fR, then
Automatically uploads debugger data tar.gz file to \fIftp.smxi.org\fR, then
removes the debug data directory and the tar.gz file.
See \fB\-\-ftp\fR for uploading to alternate locations.
@ -1691,6 +1748,10 @@ to sys admins running servers with many IP addresses.
\fBNO_DIG\fR Set to \fB1\fR or \fBtrue\fR to disable WAN IP use of \fBdig\fR and force
use of alternate downloaders.
\fBNO_HTML_WAN\fR Set to \fB1\fR or \fBtrue\fR to disable WAN IP use of \fBHTML Downloaders\fR and force
use of dig only, or nothing if dig disabled as well. Same as \fB\-\-no\-html\-wan\fR. Only use if
dig is failing, and HTML downloaders are hanging.
\fBNO_SUDO\fR Set to \fB1\fR or \fBtrue\fR to disable internal use of \fBsudo\fR.
\fBPARTITION_SORT\fR Overrides default partition output sort. See
@ -1703,6 +1764,12 @@ use of alternate downloaders.
is the CPU), forces sensors to use either value 1 or 2 as CPU temperature. See the
above configuration page on smxi.org for full info.
\fBSENSORS_EXCLUDE\fR Exclude supplied sensor array[s] from sensor output. Override with
\fB\-\-sensors\-default\fR. See \fB\-\-sensors\-exclude\fR.
\fBSENSORS_USE\fR Use only supplied sensor array[s]. Override with
\fB\-\-sensors\-default\fR. See \fB\-\-sensors\-use\fR.
\fBSEP2_CONSOLE\fR Replaces default key / value separator of '\fB:\fR'.
\fBUSB_SYS\fR Forces all USB data to use \fB/sys\fR instead of \fBlsusb\fR.
@ -1759,9 +1826,9 @@ out its report.
File an issue report:
.I https://github.com/smxi/inxi/issues
.TP
.B Developer Forums
Post on inxi developer forums:
.I https://techpatterns.com/forums/forum\-32.html
.B Forums
Post on inxi forums:
.I https://techpatterns.com/forums/forum\-33.html
.TP
.B IRC irc.oftc.net#smxi
You can also visit

View file

@ -1,3 +1,124 @@
=====================================================================================
Version: 3.1.06
Patch: 00
Date: 2020-08-16
-----------------------------------
Changes:
-----------------------------------
New features, new changes, new bug fixes!!! Excitement!!! Thrills!!!
Bugs:
1. Forgot to set get Shell logic in inxi short form, oops, so Shell remained blank,
only inxi short, which I rarely use so I didn't notice.
2. Failed to test pacman-g2 for packages, had wrong query argument, so it failed.
Also failed to test for null data, so showed errors for packages as well. Both
fixed.
3. A big bug, subtle, and also at the same time, an enhancement, it turns out NVME
drives do NOT follow the age old /proc/partitions logic where if the minor number is
divisible by 16 or has remainder 8 when divided by 16, it's a primary drive, not
a partition. nvme drives use a random numbering when > 1 nvme drives are present, and
the old tests would fail for all nvme drivers more than the first one, which led
to wrong disk size totals. Thanks gardotd426 who took the time to help figure this
out in issue #223 - fix is to not do that test for nvme drives, or rather, to add
a last fail test for nvme primary nvme[0-9]n[0-9] drive detections, not the minor
number.
Fixes:
1. Corrected indentation for block sizes, children were not indented.
2. Updated some older inxi-perl/docs pages, why not, once in a while?
3. Kernel 5.8 introduces a changed syntax to gcc string location, this has been
corrected, and the kernel gcc version now shows correctly for the previous
syntax and the new one. Hopefully they do not change it again, sigh...
4. Removed string 'hwmon' sensors from gpu, those are not gpu sensors, and
are also usually not board/cpu sensors, but things like ath10, iwl, etc,
network, or disk sensors, etc. In some cases hwmon sensor data would appear
Enhancements:
1. Big sensors refactor, now inxi supports two new sensors options:
--sensors-exclude - which allows you to exclude any primary sensor type[s]. Note that
in the refactored logic, and in the old logic, gpu sensors were already excluded.
Now other hardware specific sensors like network are excluded as well.
--sensors-use - use ONLY list of supplied sensor IDs, which have to match the
syntax you see in lm-sensors sensors output.
Both accept comma separated list of sensors, 1 or more, no spaces.
The refactor however is more far reaching, now inxi stores and structures data
not as a long line of sensors and data without differentiation, but by sensor array/chip
ID, which is how the exclude and use features can work, and how granular default
hardware sensor exclusions and uses can happen. This is now working in the gpu
sensors, and will in the future be extended to the newer 5.7/5.8 kernel disk
temperature sensors values, which will lead in some cases to being able to get
sensors data for disks without root or hddtemp. This is a complicated bit of logic,
and I don't have time to do it right now, but the data is now there and stored
and possible to use in the future.
To see sensors structures, use: inxi -s --dbg 18 and that will show the sensors data
and its structures, which makes debugger a lot easier for new features.
This issue was originally generated by what was in my view an invalid complaint
about some inxi sensors defaults, which led me to look more closely at sensors
logic, which is severely lacking. More work on sensors will happen in the future,
time, health, and energy permitting.
2. Added Watts, mem temp, for amdgpu sensors, as -sxxx option. More gpu sensor
data will be added as new data samples show what will be available for the
free modules like amdgpu, nouvean, and the intel graphics modules.
3. More disk vendors and IDs, as noted, the list never ends, and it hasn't ended,
so statement remains true. Thanks linux-lite hardware database.
Changes:
1. This has always bugged me since it was introduced, the primary cpu line starter
Topology: which was only technically accurate for its direct value, not its children,
and also, in -b, cpu short form was using the value as the key, which is a no-no,
I'd been meaning to fix that too, but finally realized if I just make the primary
CPU line key be 'Info:', which is short, yet non-ambiguous, it would solve both
problems.
To keep the -b cpu line as short as before, I removed the 'type:' and integraged
that value into the primary Info: string:
CPU:
Info: 6-Core AMD Ryzen 5 2600 [MT MCP] speed: 2750 MHz min/max: 1550/3400 MHz
-b 3.1.05 and earlier:
CPU:
6-Core: AMD Ryzen 5 2600 type: MT MCP speed: 1515 MHz min/max: 1550/3400 MHz
These resolve something that has irked me for quite a while, 'Topology:' didn't
fit, it was too geeky, and worst, it only applied to the value directly following
it, NOT to the rest of the CPU information. It also could not be shortened or
abbreviated since then it would have made no actual sense, like topo:, and the
same issue with value being used for key in -b, and wrong word for line starter
in -C would have existed. Besides, someone might think I was trying to make a
subtle reference to the great Jodorowsky film 'El Topo', which would be silly,
because that's art, and this is just some system specs that are reasonably
readable...
2. Was using opendns for WAN dig IP address, but apparently cysco bought that
company, and now I've noticed the old opendns dig queries were failing more and
more, so replaced that with akamai dig requests.
Also made the WAN IP fallback to HTTP IP method if dig failed. New option:
--no-http-wan and config item NO_HTTP_WAN with override --http-wan added to
let you switch off http wan IP requests if you want. Note that if dig fails,
you will get no wan ip address.
Updated/improved error messages to handle this more complex set of wan ip
options, so hopefully the error alert message will in most cases be right.
3. To future proof inxi, switched debugger upload location to ftp.smxi.org/incoming
from the old techpatterns.com/incoming. Updated man/help to remove those urls too.
-----------------------------------
-- Harald Hope - Sun, 16 Aug 2020 14:28:58 -0700
=====================================================================================
Version: 3.1.05
Patch: 00