A good bug fix, and several very good indentation fixes that had always been

around, and some of them known. More fine tuning of CPU process/built data. Bit
by bit it's getting filled out.

Thanks again mrmazda for all the suggestions and watchful eyes.

--------------------------------------------------------------------------------
KNOWN ISSUES:

1. CPU built, process are not perfect and complete and always right. Like life,
it's not perfect, but it is ok. Help complete the feature if it bothers you.

2. Intel Raptor Lake and related APUs are trickling out, but I have not found
cpuid data for the cpu, or generation data for the apu. Was hoping to squeeze
that into 3.3.20, but looks like it will have to go into 3.3.21 or later.

--------------------------------------------------------------------------------
BUGS:

1. MrMazda pointed this out, the printer was not correctly indenting long values
in specific cases, not adding indentation level 1 when the key: value pair was
not the last item on the logical line. Subtle, but could hit Device, OpenGL, and
a few other cases.

2. When SMT is disabled, cpu speed from /sys can return <unknown>, which is a
string, not the numeric value inxi expected. This trips multipe errors when
speed cleaner is used. Thanks issue #273 reporter iamc for this one. My guess is
all during all cpu testing, none of us thought to disable smt to see what would
happen.

--------------------------------------------------------------------------------
FIXES:

1. On disk vendors, Initio isn't a vendor, it's either a misconfigured ide hdd,
slave/master wrong, or bad usb controller. Initio is a default controller, not a
vendor. Added pre-filter in disk_vendor() to remove that string if it appears.

2. Going along with bug 1, finally fixed long standing weakness with long value
wrapping, now continues to build line until it's done, and does not force a new
line after the last long value item.

3. Another glitch where last key: value pair was less than working width, but
total width was greater, was not wrapping correctly.

4. Saw a corner case Intel Core name: Core i7-1165G7 which did not use the
expected intel (core number)(3 digits), modified to look for 3 digits after core
numer OR 2 digits + letter + digit.

5. Added 'tar' installed test for debugger, found cases in actual distros that
shipped without it in their minimal installs. Times sure have changed!

6. Another Centos type change, amazingly, this was shipped without lspci as
well! No idea what went into the install ISO if this stuff didn't include the
most elementary Linux tools. Added lspci missing error if linux and not risc and
no pci_tool detected. I have to admit this is really surprising to me, I mean, I
thought the entire purpose of the rhel family was to provide enterprise
solutions, but to leave out such elementary tools required by every sys admin is
very difficult to understand. This was centos 7.5. I believe Alma and Rocky 9
minimal have those basic tools, so that's an improvement, though they didn't
have tar.

7. Added a '-' between gen and gen number for Intel GPU generation output. Even
though it's documented as for example gen9.5, it looks odd to see it that way,
it's easier to read it as gen-9.5 I think.

8. Did same for AMD arch/codes, for numbered arch/codes like Rage 9, easier to
read as Rage-9.

9. Extreme corner case spotted by mrmazda, if KDE is started by TDE, inxi showed
Trinity, not KDE-Plasma as the desktop. Further, it failed to show Trinity
version, maybe because Trinity was not installed?

--------------------------------------------------------------------------------
ENHANCEMENTS:

1a. More or less completed verification of AMD cpu microarch/built/process, and
added more accurate fallback cases for stray model IDs.
* family 5h: K5, K6
* family 6h: K7
* family 7h: K8 - mostly done, needs some checks.
* family 10h: K10
* family 11h: K11 Turion X2. Note there is some uncertainy about this family
name. Built years n/a yet. Mix of K8/K10
* family 12h: K12 Fusion, K10 based, first APU type?

1b. Extended Intel cpu data a bit more as well. Thanks linuxdaddy from slackware
for the research help there.
* family 4: mostly new, fine tuned, granular
* family 5: more granular, better date/process info.
* family 6: built dates added
* family F: corrected some overly specific stuff

2. Tentative support for finit init system (fast init). Runs in /proc/1/comm,
uses initctl, which may have been revived from its upstart days, not sure. Added
potential support for nosh, linux only, don't know how to detect other bsd init
system.

3. Added amd/intel gpu product IDs.

4. Added shortcut --filter-all/--za, activates all filters: -z, --zl, --zu,
--zv. Why not?

5. Added support for dm types kdmctl and xdmctl, opensuse and maybe redhat use
the latter to start the actual dm running the desktop/wm. You want to see that
because you need to do systemctl restart xdm to restart the actual dm. Thanks
mrmazda for pointing out this one.

6. Added AlmaLinux, RockyLinux, CentosStream to system base (RHEL derived).

7. Basic Raptor Lake gpu/apu support added, with patterns to detect since few
product ids yet. Same applies to Arctic and Alchemist, which still have no
product IDs.

8. More disk vendors and disk vendor ids, never stops - the waters flow on, the
rain falls, then the sun comes out. Until one day it doesn't.

--------------------------------------------------------------------------------
CHANGES:

1. Deprecated --gpu, now it works the same as -Ga, that was too granular and
nobody would use it I think. Now that the new gpu features are solid, no need
for this special feature.

--------------------------------------------------------------------------------
DOCUMENTATION:

1. Updated docs/inxi-values.txt, it didn't have all the --debug-xxx options
listed.

2. Split out some BSD data into docs/inxi-bsd.txt.

3. Big update on docs/inxi-init.txt, moved data to it from other files, updated
the init/service tool data.

4. Renamed init-data.txt to inxi-init.txt, renamed cpu-flags to
inxi-cpu-flags.txt to be more consistent.

5. Updated help, man for new --filter-all option.

6. Updated help and man for --gpu deprecation.

--------------------------------------------------------------------------------
CODE:

1. Moved required perl modules and system programs checks to
check_required_items() in debugger, why not? Also added an error handler for
missing required programs, this is really the only one, and only for
--debug >= 20
This is the only required program test inxi has in it I believe, really amazing
that such a core tool would be left out of an OS today.

2. Removed this redundant block of code from Network device_output() end
section, that repeated in the main get() so didn't seem to serve any purpose.
The test in get() is if n!@rows and if !%risc, same as here, so can't see any
use for it. I'm leaving this here in case that did have some use, but I don't
see it.

if (!@$rows && !%risc){
	my $key = 'Message';
	my $type = 'pci-card-data';
	if ($pci_tool && $alerts{$pci_tool}->{'action'} eq 'permissions'){
		$type = 'pci-card-data-root';
	}
	@$rows = ({
	main::key($num++,0,1,$key) => main::message($type,'')
	});
}
This commit is contained in:
Harald Hope 2022-07-27 12:02:36 -07:00
parent a5e8e3eec7
commit ff81310652
3 changed files with 623 additions and 281 deletions

631
inxi

File diff suppressed because it is too large Load diff

89
inxi.1
View file

@ -15,7 +15,7 @@
.\" with this program; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
.\"
.TH INXI 1 "2022\-06\-16" "inxi" "inxi manual"
.TH INXI 1 "2022\-07\-27" "inxi" "inxi manual"
.SH NAME
inxi \- Command line system information script for console and IRC
@ -31,7 +31,7 @@ inxi \- Command line system information script for console and IRC
[\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\-\-edid\fR] [\fB\-\-gpu\fR] [\fB\-\-memory\-modules\fR]
\fBinxi\fR [\fB\-\-edid\fR] [\fB\-\-memory\-modules\fR]
[\fB\-\-memory\-short\fR] [\fB\-\-recommends\fR] [\fB\-\-sensors\-default\fR]
[\fB\-\-slots\fR]
@ -312,35 +312,7 @@ show extra verbose options such as \fB\-d \-f \-i -J \-l \-m \-o \-p \-r \-t \-u
.TP
.B \-\-gpu\fR
Show advanced gpu data. Triggers \fB\-G\fR and \fB\-a\fR as well. Expands
existing \fBnon\-free:\fR driver (Linux and Nvidia only), and \fBarch:\fR
reports (AMD/Intel/Nvidia). Useful to help diagnose driver support issues, shows
extra data that can help diagnose/debug. Adds \fBcode:\fR item if found and not
the same as \fBarch:\fR.
.nf
\fBinxi \-\-gpu \-y1
Graphics:
Device\-1: NVIDIA NV34 [GeForce FX 5200]
driver: nouveau
v: kernel
non\-free:
series: 173.14.xx
status: legacy (EOL)
last:
kernel: 3.12
xorg: 1.15
release: 173.14.39
arch: Rankine
code: NV3x
process: 130\-150nm
built: 2003\-05
ports:
active: VGA\-1
empty: DVI\-I\-1,TV\-1
bus\-ID: 01:00.0
chip\-ID: 10de:0322
class\-ID: 0300
.fi
Deprecated. See \fB\-G \-a\fR.
.TP
.B \-G \fR, \fB\-\-graphics\fR
@ -603,7 +575,7 @@ shows Bus ID, Port number.
.TP
.B \-\-nvidia\fR, \fB\-\-nv\fR
.br
See \fB\-\-gpu\fR.
Deprecated. See \fB\-Ga\fR.
.TP
.B \-o \fR, \fB\-\-unmounted\fR
@ -852,10 +824,10 @@ of optical drives.
.TP
.B \-v 8
\- All system data available. Adds extra gpu data (\fB\-\-gpu\fR), advanced EDID
data (\fB\-\-edid\fR), Repos (\fB\-r\fR), PCI slots (\fB\-\-slots\fR), processes
(\fB\-tcm\fR), admin (\fB\-\-admin\fR). Useful for testing output and to see
what data you can get from your system.
\- All system data available. Adds advanced EDID data (\fB\-\-edid\fR), Repos
(\fB\-r\fR), PCI slots (\fB\-\-slots\fR), processes (\fB\-tcm\fR), admin
(\fB\-\-admin\fR). Useful for testing output and to see what data you can get
from your system.
.TP
.B \-w \fR, \fB\-\-weather\fR
@ -954,6 +926,11 @@ Adds security filters for IP addresses, serial numbers, MAC, location
(\fB\-w\fR), and user home directory name. Removes Host:. On by default for IRC
clients.
.TP
.B \-\-za\fR, \fB\-\-filter\-all\fR
Shortcut to trigger \fB\-z\fR, \fB\-\-zl\fR, \fB\-\-zu\fR, \fB\-\-zv\fR. All the
filters, that is.
.TP
.B \-\-zl\fR, \fB\-\-filter\-label\fR
Filter partition label names from \fB\-j\fR, \fB\-o\fR, \fB\-p\fR, \fB\-P\fR,
@ -2027,20 +2004,50 @@ available). This can be useful for forum support people to determine if the card
supports current active legacy Nvidia driver branches, or if the card nonfree
driver is EOL or active. Note that if card is current, shows basic series and
status.
Includes extended non free Nvidia legacy informatin (Linux and Nvidia only), and
\fBarch:\fR reports (AMD/Intel/Nvidia). Useful to help diagnose driver support
issues, shows extra data that can help diagnose/debug. Adds \fBcode:\fR item if
found and not the same as \fBarch:\fR.
.nf
\fBinxi \-GIaz
Graphics:
Device\-1: NVIDIA NV34 [GeForce FX 5200] driver: nouveau v: kernel
non-free: 173.14.xx status: legacy (EOL, try \-\-gpu) arch: Rankine
process: 130\-150nm built: 2003-05 ports: active: VGA-1
empty: DVI\-I\-1,TV\-1 bus\-ID: 01:00.0 chip\-ID: 10de:0322
class\-ID: 0300
non-free: 173.14.xx status: legacy (EOL) last: kernel: 3.12 xorg: 1.15
release: 173.14.39 arch: Rankine code: NV3x process: 130\-150nm
built: 2003-05 ports: active: VGA-1 empty: DVI\-I\-1,TV\-1
bus\-ID: 01:00.0 chip\-ID: 10de:0322 class\-ID: 0300
Display: x11 server: X.Org v: 21.1.3 driver: X: loaded: nouveau
unloaded: fbdev,modesetting,vesa alternate: nv,nvidia gpu: nouveau
display\-ID: :0 screens: 1\fR
.fi
For extended non free Nvidia legacy informatin, use \fB\-\-gpu\fR.
With \fB\-y1\fR.
.nf
\fBinxi \-Ga \-y1
Graphics:
Device\-1: NVIDIA NV34 [GeForce FX 5200]
driver: nouveau
v: kernel
non\-free:
series: 173.14.xx
status: legacy (EOL)
last:
kernel: 3.12
xorg: 1.15
release: 173.14.39
arch: Rankine
code: NV3x
process: 130\-150nm
built: 2003\-05
ports:
active: VGA\-1
empty: DVI\-I\-1,TV\-1
bus\-ID: 01:00.0
chip\-ID: 10de:0322
class\-ID: 0300
.fi
\- Adds PCIe generation, and, if different than running PCIe generation, speed
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary

View file

@ -1,3 +1,183 @@
================================================================================
Version: 3.3.20
Patch: 00
Date: 2022-07-27
--------------------------------------------------------------------------------
RELEASE NOTES:
--------------------------------------------------------------------------------
A good bug fix, and several very good indentation fixes that had always been
around, and some of them known. More fine tuning of CPU process/built data. Bit
by bit it's getting filled out.
Thanks again mrmazda for all the suggestions and watchful eyes.
--------------------------------------------------------------------------------
KNOWN ISSUES:
1. CPU built, process are not perfect and complete and always right. Like life,
it's not perfect, but it is ok. Help complete the feature if it bothers you.
2. Intel Raptor Lake and related APUs are trickling out, but I have not found
cpuid data for the cpu, or generation data for the apu. Was hoping to squeeze
that into 3.3.20, but looks like it will have to go into 3.3.21 or later.
--------------------------------------------------------------------------------
BUGS:
1. MrMazda pointed this out, the printer was not correctly indenting long values
in specific cases, not adding indentation level 1 when the key: value pair was
not the last item on the logical line. Subtle, but could hit Device, OpenGL, and
a few other cases.
2. When SMT is disabled, cpu speed from /sys can return <unknown>, which is a
string, not the numeric value inxi expected. This trips multipe errors when
speed cleaner is used. Thanks issue #273 reporter iamc for this one. My guess is
all during all cpu testing, none of us thought to disable smt to see what would
happen.
--------------------------------------------------------------------------------
FIXES:
1. On disk vendors, Initio isn't a vendor, it's either a misconfigured ide hdd,
slave/master wrong, or bad usb controller. Initio is a default controller, not a
vendor. Added pre-filter in disk_vendor() to remove that string if it appears.
2. Going along with bug 1, finally fixed long standing weakness with long value
wrapping, now continues to build line until it's done, and does not force a new
line after the last long value item.
3. Another glitch where last key: value pair was less than working width, but
total width was greater, was not wrapping correctly.
4. Saw a corner case Intel Core name: Core i7-1165G7 which did not use the
expected intel (core number)(3 digits), modified to look for 3 digits after core
numer OR 2 digits + letter + digit.
5. Added 'tar' installed test for debugger, found cases in actual distros that
shipped without it in their minimal installs. Times sure have changed!
6. Another Centos type change, amazingly, this was shipped without lspci as
well! No idea what went into the install ISO if this stuff didn't include the
most elementary Linux tools. Added lspci missing error if linux and not risc and
no pci_tool detected. I have to admit this is really surprising to me, I mean, I
thought the entire purpose of the rhel family was to provide enterprise
solutions, but to leave out such elementary tools required by every sys admin is
very difficult to understand. This was centos 7.5. I believe Alma and Rocky 9
minimal have those basic tools, so that's an improvement, though they didn't
have tar.
7. Added a '-' between gen and gen number for Intel GPU generation output. Even
though it's documented as for example gen9.5, it looks odd to see it that way,
it's easier to read it as gen-9.5 I think.
8. Did same for AMD arch/codes, for numbered arch/codes like Rage 9, easier to
read as Rage-9.
9. Extreme corner case spotted by mrmazda, if KDE is started by TDE, inxi showed
Trinity, not KDE-Plasma as the desktop. Further, it failed to show Trinity
version, maybe because Trinity was not installed?
--------------------------------------------------------------------------------
ENHANCEMENTS:
1a. More or less completed verification of AMD cpu microarch/built/process, and
added more accurate fallback cases for stray model IDs.
* family 5h: K5, K6
* family 6h: K7
* family 7h: K8 - mostly done, needs some checks.
* family 10h: K10
* family 11h: K11 Turion X2. Note there is some uncertainy about this family
name. Built years n/a yet. Mix of K8/K10
* family 12h: K12 Fusion, K10 based, first APU type?
1b. Extended Intel cpu data a bit more as well. Thanks linuxdaddy from slackware
for the research help there.
* family 4: mostly new, fine tuned, granular
* family 5: more granular, better date/process info.
* family 6: built dates added
* family F: corrected some overly specific stuff
2. Tentative support for finit init system (fast init). Runs in /proc/1/comm,
uses initctl, which may have been revived from its upstart days, not sure. Added
potential support for nosh, linux only, don't know how to detect other bsd init
system.
3. Added amd/intel gpu product IDs.
4. Added shortcut --filter-all/--za, activates all filters: -z, --zl, --zu,
--zv. Why not?
5. Added support for dm types kdmctl and xdmctl, opensuse and maybe redhat use
the latter to start the actual dm running the desktop/wm. You want to see that
because you need to do systemctl restart xdm to restart the actual dm. Thanks
mrmazda for pointing out this one.
6. Added AlmaLinux, RockyLinux, CentosStream to system base (RHEL derived).
7. Basic Raptor Lake gpu/apu support added, with patterns to detect since few
product ids yet. Same applies to Arctic and Alchemist, which still have no
product IDs.
8. More disk vendors and disk vendor ids, never stops - the waters flow on, the
rain falls, then the sun comes out. Until one day it doesn't.
--------------------------------------------------------------------------------
CHANGES:
1. Deprecated --gpu, now it works the same as -Ga, that was too granular and
nobody would use it I think. Now that the new gpu features are solid, no need
for this special feature.
--------------------------------------------------------------------------------
DOCUMENTATION:
1. Updated docs/inxi-values.txt, it didn't have all the --debug-xxx options
listed.
2. Split out some BSD data into docs/inxi-bsd.txt.
3. Big update on docs/inxi-init.txt, moved data to it from other files, updated
the init/service tool data.
4. Renamed init-data.txt to inxi-init.txt, renamed cpu-flags to
inxi-cpu-flags.txt to be more consistent.
5. Updated help, man for new --filter-all option.
6. Updated help and man for --gpu deprecation.
--------------------------------------------------------------------------------
CODE:
1. Moved required perl modules and system programs checks to
check_required_items() in debugger, why not? Also added an error handler for
missing required programs, this is really the only one, and only for
--debug >= 20
This is the only required program test inxi has in it I believe, really amazing
that such a core tool would be left out of an OS today.
2. Removed this redundant block of code from Network device_output() end
section, that repeated in the main get() so didn't seem to serve any purpose.
The test in get() is if n!@rows and if !%risc, same as here, so can't see any
use for it. I'm leaving this here in case that did have some use, but I don't
see it.
# we want to handle ARM errors in main get
if (!@$rows && !%risc){
my $key = 'Message';
my $type = 'pci-card-data';
if ($pci_tool && $alerts{$pci_tool}->{'action'} eq 'permissions'){
$type = 'pci-card-data-root';
}
@$rows = ({
main::key($num++,0,1,$key) => main::message($type,'')
});
}
--------------------------------------------------------------------------------
-- Harald Hope - Thu, 27 Jul 2022 11:58:32 -0700
================================================================================
Version: 3.3.19
Patch: 00
@ -56,7 +236,7 @@ CODE:
1. Corrected in RepoItem possible use of undefined array references.
2. Finally, a full releawse tool!! inxi-perl/tools/release.pl. Validates man,
2. Finally, a full release tool!! inxi-perl/tools/release.pl. Validates man,
verifies pinxi commands to avoid errors, then updates man/options/changelog
html pages for smxi.org/docs, and then syncs pinxi* files to inxi*.