mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 16:21:39 +00:00
Some significant bugs, 1 showstopper for FreeBSD, and one universal one for USB
network devices, and possibly some other USB device types. Also some nice new features. -------------------------------------------------------------------------------- SPECIAL THANKS: 1. SYSTEM: Github user chromer030 in issue #285 - a very nice small enhancement to -Sxxx line, adding kernel clocksource, and with -Sa, adding available clocksources. I wish all issues were this clean and easy to implemment, with such clear benefit. 2. BLUETOOTH: Github user chromer030, issue #286 - extending and adding bluetooth report feature. This required refactors and some cleanup of bad logic to make -E more able to handle new data sources, and also made me fix the docs and add debugger data files to make testing changes for various bluetooth datasources easier. Adding btmgmt turned out to have a lot of long term benefits to the bluetooth feature and internal inxi logic, I hadn't realized how hacked on bluetooth feature was, but code review showed it clearly. 3. SYSTEM: Github user oleg-indeez found a break in FreeBSD compiler data, 2 glitches, one made inxi crash due to is array test on undefined reference, the other maybe a bad copy paste in the past that assigned compiler data to wrong hash. See CODE 3 for details on the ref issue. 4. SWAP: Github user chromer030, again, issue #290 suggested some swap zram/zswap data enhancements, seems good, so thanks. 5. UsbData: Slackware/Linuxquestions.org poster J_W for posting on a device missing in his output as of 3.3.27 inxi. This exposed bug 3, which usually was npt visible since the fallback was catching most of the network matches, but since he had a TP-Link, and it went missing, it triggered the issues, and also exposed the inconsistent upper/lower case use in device type from kernel. 6. NETWORK: Slackware user babydr on linuxquestions.org tripped a bug in network, was not counting correctly to limit IP list. Led to showing limit message on 10th row of network report, not 10th IP of a device. See Bug 4. -------------------------------------------------------------------------------- KNOWN ISSUES: 1. Nothing new. -------------------------------------------------------------------------------- BUGS: 1. BLUETOOTH: with hciconfig, would show wrong LMP/HCI version because either the syntax changed for those strings, or it was wrong always. I think it changed because this worked correctly at one point. Should now show the right hci/lmp versions, and the bluetooth version as expected for hcicconfig/btmgmt. 2. SYSTEM: CPU compiler broke for FreeBSD 13.2, caused by bad test for undefined array in CompilerVersion::version_bsd(), and also, assigned kernel compiler data to %dboot instead of %sysctl hash. Thanks oleg-indeez for spotting that one and figuring it out. 3a. UsbData: Failure to use /i caseinsensitive on regex led to failure to detect USB type using standard defaults, but then a further regex error, subtle, missed a | between two elements of a pattern, led to the last fallback case for network detection failing. This was coupled with a change in the Kernel, which now uses Uppercase first sometimes, and sometimes lowercase first. I think that's a change anyway. This resulted in some usb type hashes failing to load specific devices, network in this case, TP-Link, which was the fallback pattern that broke. 3b. UsbData::assign_usb_type() improper nesting of tests led to failures that should not have happened, like a bluetooth device cascading down to network. 4. NETWORK: IP limit was limiting based on total row count, not the actual count of IPs for that device. Not sure how that slipped up. Now correctly limits the IPs, not the previous total rows in Network report. Thanks babydr / Slackware forums for finding yet more issues. -------------------------------------------------------------------------------- FIXES: 1a. BLUETOOTH: added in switches for fake bluetooth data for all bluetooth data sources. 1b. BLUETOOTH: made --bt-tool load $force{[tool]} to be consistent with rest of logic in inxi for forcing use of specific tools. No idea why I made a standalone one only for Bluetooth. 1c. BLUETOOTH: the HCI/LMP version generators were mixing up bluetooth version string and LMP, leading to wrong results. See BUGS 1. I think this was a syntax change because I would not have generated this originally if the syntax had not worked, at least I don't think I would have. See also DOCS DATA item, added in samples for dev purposes to avoid this type of issue in future. 2. UsbData: Device type from /sys could be upper/lower case first, but inxi was not testing for anything but lower case, which would lead to fallback tests for Bluetooth, Network, at least, maybe others. This goes with BUG 3, which exposed a small torrent of such potential failure cases. The fallback block of regex is really only designed to catch the few that don't get caught by the generic type tests. 3. NETWORK: UsbData::set_network_regex(). Bad regex caused bluetooth device: "Intel Bluetooth wireless interface" to trip an overly loose regex for wireless. See BUG 3b. The real issue was incorrect test nesting which led to a bluetooth device falling down to network regex, which it should not have done. It also failed test the product name for bluetooth, which led to failure as well. 4. SWAP: Was failing to capture some zram syntaxes, regex was too tight. Failed: /run/initramfs/dev/zram0. -------------------------------------------------------------------------------- ENHANCEMENTS: 1. SYSTEM: added kernel current clocksource for -Sxxx, and alternates for -Sa. 2. BLUETOOTH: added btmgmt as first fallback to hciconfig, that one also supplies bt version via lmp version, like hciconfig. Note this tool has very little useful information. 3. Added back in discoverable, active discovery, and pairing status with -Ea. This data is also crudely available from btmgmt but I would not bet on those items actually being right. I'm not totally convinced that's good data, so making it admin for now. Put these in a 'status:' parent container. 4a. SWAP: Added zswap enabled, compressor, max_pool_percent for -ja swap general features line. If no zswap data and Linux, shows 'N/A'. https://www.kernel.org/doc/Documentation/vm/zswap.txt 4b. SWAP: Added zram comp_algorithm max_comp_streams to -j per line report, only for zram, of course. https://docs.kernel.org/admin-guide/blockdev/zram.html -------------------------------------------------------------------------------- CHANGES: 1. None that are obvious. -------------------------------------------------------------------------------- DOCUMENTATION: 1. DATA: Added new data/bluetooth/, with several sample 'btmgmt info' and 'hciconfig -a' outputs for debugging and reference purposes. These work with the revised debuggers and force/fake data switches for bluetooth. Should add some bt-adapter --info samples too to make testing/debugging easier. 2a. DOCS: Made new docs/inxi-bluetooth.txt doc. 2b. DOCS: Moved more data out of inxi-data.txt and inxi-resources.txt, into inxi-bluetooth.txt, tips-tricks.txt, man-pages.txt. While I'm not going to do it all at once, I am trying to move relevant data into granular doc file as I hit that during dev. 2c. DOCS: Updated and organized docs/inxi-tools-mapping.txt more, new mapping tools added. inxi has so many manually updated mapping tools that it's going to get more and more important that this document is accurate, and is updated when required. 3a. MAN/OPTIONS: Added BT tools to --force lists, and updated --bt-tool list. Also added -Ea options, the status: stuff. 3b. MAN/OPTIONS: Made consistent, lower case rpm, both PM type rpm and rpm as rotation were switching between RPM and rpm randomly. 3b. MAN/OPTIONS: Updated for --force ip/ifconfig, --ifconfig. 3c. MAN/OPTIONS: Updated for zswap, zram extra -ja data. -------------------------------------------------------------------------------- CODE: 1. BLUETOOTH: added %force bluetoothctrl, bt-adapter, btmgmt, hciconfig, rfkill, and added checks to enable $fake{'bluetooth'} in the main callers for each type. This makes debugging and development a lot easier. Also removed the force tool block in CheckTools, no idea, again, why I did it that way only for bluetooth. 2. CheckTools: got rid of set_forced_tools(), which was only used for bluetooth tools, and didn't fit with the rest of the core logic. 3. SYSTEM: CompilerVersion: used array refs wrong, or rather, used refs wrong, which led to various errors that were confusing. Corrected to start out with an array ref, then to pass that as is, leaving it the same ref all through, for bsd and linux. This is the method inxi should have always used for passing array/ hash refs around, create as ref, then pass around, and update, without assigning a new ref to it. I had failed to verify that the same ref was being used through the sequence. Unfortunately this error is probably very widespread in inxi, because no consistent rule was created and enforced from the first lines of Perl. 4. UsbData: added source type to --dbg 6 output, and added --dbg 55 to output the per type arrays. 5. NETWORK: IpData:: added --ifconfig/--force [ip|ifconfig], --fake ip-if to allow for basic debugging for -n / -i IP data sources. Not super useful since so much comes from /sys, but there was nothing there at all, which is weird for networking. 6. SWAP: Changed to passing data using scalar references, not returning an array of the items, and got rid of the copies in the swap_data_advanced() tool. It's less readable, but incurs basically very little overhead, and with the new function / method arg lists I'm using more now, it's clear what the references are. 7. IpData: got rid of extra array copies for push, pointless.
This commit is contained in:
parent
7a79e846de
commit
9cca058f5d
66
inxi.1
66
inxi.1
|
@ -15,7 +15,7 @@
|
||||||
.\" with this program; if not, write to the Free Software Foundation, Inc.,
|
.\" with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
.\"
|
.\"
|
||||||
.TH INXI 1 "2023\-07\-10" "inxi" "inxi manual"
|
.TH INXI 1 "2023\-08\-15" "inxi" "inxi manual"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
inxi \- Command line system information script for console and IRC
|
inxi \- Command line system information script for console and IRC
|
||||||
|
@ -278,9 +278,9 @@ for many more features.
|
||||||
.TP
|
.TP
|
||||||
.B \-E\fR, \fB\-\-bluetooth\fR
|
.B \-E\fR, \fB\-\-bluetooth\fR
|
||||||
Show bluetooth device(s), drivers. Show \fBReport:\fR with HCI ID, state,
|
Show bluetooth device(s), drivers. Show \fBReport:\fR with HCI ID, state,
|
||||||
address per device (requires \fBbt\-adapter\fR or \fBhciconfig\fR),
|
address per device (requires \fBbtmgmt\fR, \fBbt\-adapter\fR, or
|
||||||
and if available (hciconfig only) bluetooth version (\fBbt\-v\fR).
|
\fBhciconfig\fR), and if available (hciconfig, btmgmt only) bluetooth version
|
||||||
See \fBExtra Data Options\fR for more.
|
(\fBbt\-v\fR). See \fBExtra Data Options\fR for more.
|
||||||
|
|
||||||
If bluetooth shows as \fBstatus: down\fR, shows \fBbt\-service:\fR\fB state
|
If bluetooth shows as \fBstatus: down\fR, shows \fBbt\-service:\fR\fB state
|
||||||
and rfkill\fR software and hardware blocked states, and rfkill ID.
|
and rfkill\fR software and hardware blocked states, and rfkill ID.
|
||||||
|
@ -697,8 +697,8 @@ Show distro repository data. Currently supported repo types:
|
||||||
|
|
||||||
\fBAPK\fR (Alpine Linux + derived versions)
|
\fBAPK\fR (Alpine Linux + derived versions)
|
||||||
|
|
||||||
\fBAPT\fR (Debian, Ubuntu + derived versions, as well as RPM based
|
\fBAPT\fR (Debian, Ubuntu + derived versions, as well as rpm based
|
||||||
APT distros like PCLinuxOS or Alt\-Linux)
|
apt distros like PCLinuxOS or Alt\-Linux)
|
||||||
|
|
||||||
\fBCARDS\fR (NuTyX + derived versions)
|
\fBCARDS\fR (NuTyX + derived versions)
|
||||||
|
|
||||||
|
@ -1358,9 +1358,9 @@ specific vendor [product] information.
|
||||||
|
|
||||||
\- Adds driver version (if available) for each device.
|
\- Adds driver version (if available) for each device.
|
||||||
|
|
||||||
\- Adds (if available, and \fBhciconfig\fR only) LMP (HCI if no LMP data,
|
\- Adds (if available, \fBbtmgmt\fR, \fBhciconfig\fR only) LMP (HCI if no LMP
|
||||||
and HCI if HCI/LMP versions are different) version (if available)
|
data, and HCI if HCI/LMP versions are different) version (if available) for each
|
||||||
for each HCI ID.
|
HCI ID.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-x \-G\fR
|
.B \-x \-G\fR
|
||||||
|
@ -1555,14 +1555,14 @@ For a PCIe 3 NVMe drive, with speed of \fB8 GT/s\fR and \fB4\fR lanes
|
||||||
.B \-xx \-E\fR (\fB\-\-bluetooth\fR)
|
.B \-xx \-E\fR (\fB\-\-bluetooth\fR)
|
||||||
\- Adds vendor:product ID of each device.
|
\- Adds vendor:product ID of each device.
|
||||||
|
|
||||||
\- Adds (\fBhciconfig \fRonly) LMP subversion (and/or HCI revision
|
|
||||||
if applicable) for each device.
|
|
||||||
|
|
||||||
\- Adds PCIe speed and lanes item (Linux only, and if PCIe bluetooth, which is
|
\- Adds PCIe speed and lanes item (Linux only, and if PCIe bluetooth, which is
|
||||||
rare).
|
rare).
|
||||||
|
|
||||||
\- Adds for USB devices USB rev, speed, lanes (lanes Linux only).
|
\- Adds for USB devices USB rev, speed, lanes (lanes Linux only).
|
||||||
|
|
||||||
|
\- Adds (\fBhciconfig \fRonly) LMP subversion (and/or HCI revision if
|
||||||
|
applicable) for each device.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-xx \-G\fR
|
.B \-xx \-G\fR
|
||||||
Triggers much more complete Screen/Monitor output.
|
Triggers much more complete Screen/Monitor output.
|
||||||
|
@ -1818,6 +1818,8 @@ are spinning, no rpm data will show.
|
||||||
.B \-xxx \-E\fR (\fB\-\-bluetooth\fR)
|
.B \-xxx \-E\fR (\fB\-\-bluetooth\fR)
|
||||||
\- Adds, if present, PCI/USB class ID.
|
\- Adds, if present, PCI/USB class ID.
|
||||||
|
|
||||||
|
\- Adds, if present, bluetooth device class ID.
|
||||||
|
|
||||||
\- Adds (\fBhciconfig \fRonly) HCI version, revision.
|
\- Adds (\fBhciconfig \fRonly) HCI version, revision.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
|
@ -1908,6 +1910,8 @@ RAID events)
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-xxx \-S\fR
|
.B \-xxx \-S\fR
|
||||||
|
\- Adds current kernel clock source, if available (Linux only).
|
||||||
|
|
||||||
\- Adds, if in X, or with \fB--display\fR, bar/dock/panel/tray items
|
\- Adds, if in X, or with \fB--display\fR, bar/dock/panel/tray items
|
||||||
(\fBinfo\fR). If none found, shows nothing. Supports desktop items like
|
(\fBinfo\fR). If none found, shows nothing. Supports desktop items like
|
||||||
gnome\-panel, lxpanel, xfce4\-panel, lxqt\-panel, tint2, cairo-dock, trayer,
|
gnome\-panel, lxpanel, xfce4\-panel, lxqt\-panel, tint2, cairo-dock, trayer,
|
||||||
|
@ -2141,6 +2145,9 @@ shown. Bluetooth PCIe rare).
|
||||||
|
|
||||||
\- Adds for USB devices USB mode (Linux only).
|
\- Adds for USB devices USB mode (Linux only).
|
||||||
|
|
||||||
|
\- Adds, if present, bluetooth \fBstatus:\fR discoverable, active discoverable,
|
||||||
|
and pairing items.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-a \-G\fR
|
.B \-a \-G\fR
|
||||||
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of driving
|
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of driving
|
||||||
|
@ -2295,6 +2302,13 @@ For \fB\-j\fR row 1 output:
|
||||||
|
|
||||||
\fBKernel: swappiness: 60 (default) cache\-pressure: 90 (default 100)\fR
|
\fBKernel: swappiness: 60 (default) cache\-pressure: 90 (default 100)\fR
|
||||||
|
|
||||||
|
\- Adds zswap data for row 1 output:
|
||||||
|
|
||||||
|
\fBzswap: [yes/no] compressor: [type] max-pool: xx%\fR
|
||||||
|
|
||||||
|
\- Adds for zram swap type: active compression type, available compression
|
||||||
|
types, and max compression streams.
|
||||||
|
|
||||||
\- Adds device kernel major:minor number (Linux only).
|
\- Adds device kernel major:minor number (Linux only).
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
|
@ -2388,6 +2402,8 @@ Component report to 1 component per line.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-a \-S\fR
|
.B \-a \-S\fR
|
||||||
|
\- Adds alternate kernel clock sources, if available (Linux only).
|
||||||
|
|
||||||
\- Adds kernel boot parameters to \fBKernel\fR section (if detected). Support
|
\- Adds kernel boot parameters to \fBKernel\fR section (if detected). Support
|
||||||
varies by OS type.
|
varies by OS type.
|
||||||
|
|
||||||
|
@ -2443,9 +2459,8 @@ basically forces the downloader selection to use \fBPerl 5.x\fR
|
||||||
may help bypass issues with downloading.
|
may help bypass issues with downloading.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-bt\-tool [bt\-adapter|hciconfig|rfkill]\fR
|
.B \-\-bt\-tool [bt\-adapter|btmgmt|hciconfig|rfkill]\fR
|
||||||
Force the use of the given tool for bluetooth report (\fB\-E\fR). \fBrfkill\fR
|
See \fB\-\-force [tool name]\fR. Used to set \fB\-E\fR report tool.
|
||||||
does not support mac address data.
|
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-dig\fR
|
.B \-\-dig\fR
|
||||||
|
@ -2484,6 +2499,10 @@ as a comma separated list:
|
||||||
|
|
||||||
\fBinxi \-MJ --force dmidecode,lsusb\fR
|
\fBinxi \-MJ --force dmidecode,lsusb\fR
|
||||||
|
|
||||||
|
\- \fBbt\-adapter\fR \- Force use of bt\-adapter tool in \fB\-E\fR.
|
||||||
|
|
||||||
|
\- \fBbtmgmt\fR \- Force use of btmgmt tool in \fB\-E\fR.
|
||||||
|
|
||||||
\- \fBcolors\fR \- Same as \fB\-Y \-2\fR . Do not remove colors from piped or
|
\- \fBcolors\fR \- Same as \fB\-Y \-2\fR . Do not remove colors from piped or
|
||||||
redirected output.
|
redirected output.
|
||||||
|
|
||||||
|
@ -2492,18 +2511,25 @@ redirected output.
|
||||||
|
|
||||||
\- \fBhddtemp\fR \- Force use of hddtemp instead of /sys temp data for disks.
|
\- \fBhddtemp\fR \- Force use of hddtemp instead of /sys temp data for disks.
|
||||||
|
|
||||||
|
\- \fBifconfig\fR \- Force use of IF tool ifconfig for \fB\-i\fR.
|
||||||
|
|
||||||
|
\- \fBip\fR \- Force use of IF ip tool for \fB\-i\fR (default).
|
||||||
|
|
||||||
\- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as data
|
\- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as data
|
||||||
source (default). Overrides \fBUSB_SYS\fR in user configuration file(s).
|
source (default). Overrides \fBUSB_SYS\fR in user configuration file(s).
|
||||||
|
|
||||||
\- \fBrpm\fR, \fBpkg\fR \- Force override of disabled RPM package counts on
|
\- \fBrfkill\fR \- Force use of rfkill tool in \fB\-E\fR. \fBrfkill\fR does not
|
||||||
primarily RPM run systems due to unacceptably slow execution times for this
|
support mac address data.
|
||||||
|
|
||||||
|
\- \fBrpm\fR, \fBpkg\fR \- Force override of disabled rpm package counts on
|
||||||
|
primarily rpm run systems due to unacceptably slow execution times for this
|
||||||
command:
|
command:
|
||||||
|
|
||||||
.nf
|
.nf
|
||||||
\fBrpm \-qa \-\-nodigest \-\-nosignature\fR
|
\fBrpm \-qa \-\-nodigest \-\-nosignature\fR
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
Even on newer RPM systems, in virtual machines, running rpm package list query
|
Even on newer rpm systems, in virtual machines, running rpm package list query
|
||||||
takes more than 0.15 seconds (compared to 0.01 to 0.05 for dpkg, pacman, pkgtool
|
takes more than 0.15 seconds (compared to 0.01 to 0.05 for dpkg, pacman, pkgtool
|
||||||
etc) for just this single feature, which is north of 10% of total execution time
|
etc) for just this single feature, which is north of 10% of total execution time
|
||||||
for \fBinxi \-bar\fR. On bare metal this can hit 1 second or more in our tests.
|
for \fBinxi \-bar\fR. On bare metal this can hit 1 second or more in our tests.
|
||||||
|
@ -2542,6 +2568,10 @@ 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
|
w/wo HTML downloaders for WAN IP. Restores default behavior for WAN IP, which is
|
||||||
use HTML downloader if present and if dig failed.
|
use HTML downloader if present and if dig failed.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-\-ifconfig\fR
|
||||||
|
Shortcut. See \fB\-\-force ifconfig\fR.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-man\fR
|
.B \-\-man\fR
|
||||||
Updates / installs man page with \fB\-U\fR if \fBpinxi\fR or using \fB\-U 3\fR
|
Updates / installs man page with \fB\-U\fR if \fBpinxi\fR or using \fB\-U 3\fR
|
||||||
|
|
213
inxi.changelog
213
inxi.changelog
|
@ -1,3 +1,214 @@
|
||||||
|
================================================================================
|
||||||
|
Version: 3.3.29
|
||||||
|
Patch: 00
|
||||||
|
Date: 2023-08-15
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
RELEASE NOTES:
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Some significant bugs, 1 showstopper for FreeBSD, and one universal one for USB
|
||||||
|
network devices, and possibly some other USB device types. Also some nice new
|
||||||
|
features.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
SPECIAL THANKS:
|
||||||
|
|
||||||
|
1. SYSTEM: Github user chromer030 in issue #285 - a very nice small enhancement
|
||||||
|
to -Sxxx line, adding kernel clocksource, and with -Sa, adding available
|
||||||
|
clocksources. I wish all issues were this clean and easy to implemment, with
|
||||||
|
such clear benefit.
|
||||||
|
|
||||||
|
2. BLUETOOTH: Github user chromer030, issue #286 - extending and adding
|
||||||
|
bluetooth report feature. This required refactors and some cleanup of bad logic
|
||||||
|
to make -E more able to handle new data sources, and also made me fix the docs
|
||||||
|
and add debugger data files to make testing changes for various bluetooth
|
||||||
|
datasources easier. Adding btmgmt turned out to have a lot of long term benefits
|
||||||
|
to the bluetooth feature and internal inxi logic, I hadn't realized how hacked
|
||||||
|
on bluetooth feature was, but code review showed it clearly.
|
||||||
|
|
||||||
|
3. SYSTEM: Github user oleg-indeez found a break in FreeBSD compiler data, 2
|
||||||
|
glitches, one made inxi crash due to is array test on undefined reference, the
|
||||||
|
other maybe a bad copy paste in the past that assigned compiler data to wrong
|
||||||
|
hash. See CODE 3 for details on the ref issue.
|
||||||
|
|
||||||
|
4. SWAP: Github user chromer030, again, issue #290 suggested some swap
|
||||||
|
zram/zswap data enhancements, seems good, so thanks.
|
||||||
|
|
||||||
|
5. UsbData: Slackware/Linuxquestions.org poster J_W for posting on a device
|
||||||
|
missing in his output as of 3.3.27 inxi. This exposed bug 3, which usually was
|
||||||
|
npt visible since the fallback was catching most of the network matches, but
|
||||||
|
since he had a TP-Link, and it went missing, it triggered the issues, and also
|
||||||
|
exposed the inconsistent upper/lower case use in device type from kernel.
|
||||||
|
|
||||||
|
6. NETWORK: Slackware user babydr on linuxquestions.org tripped a bug in
|
||||||
|
network, was not counting correctly to limit IP list. Led to showing limit
|
||||||
|
message on 10th row of network report, not 10th IP of a device. See Bug 4.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
KNOWN ISSUES:
|
||||||
|
|
||||||
|
1. Nothing new.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
BUGS:
|
||||||
|
|
||||||
|
1. BLUETOOTH: with hciconfig, would show wrong LMP/HCI version because either
|
||||||
|
the syntax changed for those strings, or it was wrong always. I think it changed
|
||||||
|
because this worked correctly at one point. Should now show the right hci/lmp
|
||||||
|
versions, and the bluetooth version as expected for hcicconfig/btmgmt.
|
||||||
|
|
||||||
|
2. SYSTEM: CPU compiler broke for FreeBSD 13.2, caused by bad test for undefined
|
||||||
|
array in CompilerVersion::version_bsd(), and also, assigned kernel compiler data
|
||||||
|
to %dboot instead of %sysctl hash. Thanks oleg-indeez for spotting that one and
|
||||||
|
figuring it out.
|
||||||
|
|
||||||
|
3a. UsbData: Failure to use /i caseinsensitive on regex led to failure to detect
|
||||||
|
USB type using standard defaults, but then a further regex error, subtle, missed
|
||||||
|
a | between two elements of a pattern, led to the last fallback case for network
|
||||||
|
detection failing. This was coupled with a change in the Kernel, which now uses
|
||||||
|
Uppercase first sometimes, and sometimes lowercase first. I think that's a
|
||||||
|
change anyway. This resulted in some usb type hashes failing to load specific
|
||||||
|
devices, network in this case, TP-Link, which was the fallback pattern that
|
||||||
|
broke.
|
||||||
|
|
||||||
|
3b. UsbData::assign_usb_type() improper nesting of tests led to failures that
|
||||||
|
should not have happened, like a bluetooth device cascading down to network.
|
||||||
|
|
||||||
|
4. NETWORK: IP limit was limiting based on total row count, not the actual count
|
||||||
|
of IPs for that device. Not sure how that slipped up. Now correctly limits the
|
||||||
|
IPs, not the previous total rows in Network report. Thanks babydr / Slackware
|
||||||
|
forums for finding yet more issues.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
FIXES:
|
||||||
|
|
||||||
|
1a. BLUETOOTH: added in switches for fake bluetooth data for all bluetooth data
|
||||||
|
sources.
|
||||||
|
|
||||||
|
1b. BLUETOOTH: made --bt-tool load $force{[tool]} to be consistent with rest of
|
||||||
|
logic in inxi for forcing use of specific tools. No idea why I made a standalone
|
||||||
|
one only for Bluetooth.
|
||||||
|
|
||||||
|
1c. BLUETOOTH: the HCI/LMP version generators were mixing up bluetooth version
|
||||||
|
string and LMP, leading to wrong results. See BUGS 1. I think this was a syntax
|
||||||
|
change because I would not have generated this originally if the syntax had not
|
||||||
|
worked, at least I don't think I would have. See also DOCS DATA item, added in
|
||||||
|
samples for dev purposes to avoid this type of issue in future.
|
||||||
|
|
||||||
|
2. UsbData: Device type from /sys could be upper/lower case first, but inxi was
|
||||||
|
not testing for anything but lower case, which would lead to fallback tests for
|
||||||
|
Bluetooth, Network, at least, maybe others. This goes with BUG 3, which exposed
|
||||||
|
a small torrent of such potential failure cases. The fallback block of regex is
|
||||||
|
really only designed to catch the few that don't get caught by the generic type
|
||||||
|
tests.
|
||||||
|
|
||||||
|
3. NETWORK: UsbData::set_network_regex(). Bad regex caused bluetooth device:
|
||||||
|
"Intel Bluetooth wireless interface" to trip an overly loose regex for wireless.
|
||||||
|
See BUG 3b. The real issue was incorrect test nesting which led to a bluetooth
|
||||||
|
device falling down to network regex, which it should not have done. It also
|
||||||
|
failed test the product name for bluetooth, which led to failure as well.
|
||||||
|
|
||||||
|
4. SWAP: Was failing to capture some zram syntaxes, regex was too tight. Failed:
|
||||||
|
/run/initramfs/dev/zram0.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
ENHANCEMENTS:
|
||||||
|
|
||||||
|
1. SYSTEM: added kernel current clocksource for -Sxxx, and alternates for -Sa.
|
||||||
|
|
||||||
|
2. BLUETOOTH: added btmgmt as first fallback to hciconfig, that one also
|
||||||
|
supplies bt version via lmp version, like hciconfig. Note this tool has very
|
||||||
|
little useful information.
|
||||||
|
|
||||||
|
3. Added back in discoverable, active discovery, and pairing status with -Ea.
|
||||||
|
This data is also crudely available from btmgmt but I would not bet on those
|
||||||
|
items actually being right. I'm not totally convinced that's good data, so
|
||||||
|
making it admin for now. Put these in a 'status:' parent container.
|
||||||
|
|
||||||
|
4a. SWAP: Added zswap enabled, compressor, max_pool_percent for -ja swap general
|
||||||
|
features line. If no zswap data and Linux, shows 'N/A'.
|
||||||
|
https://www.kernel.org/doc/Documentation/vm/zswap.txt
|
||||||
|
|
||||||
|
4b. SWAP: Added zram comp_algorithm max_comp_streams to -j per line report, only
|
||||||
|
for zram, of course.
|
||||||
|
https://docs.kernel.org/admin-guide/blockdev/zram.html
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
CHANGES:
|
||||||
|
|
||||||
|
1. None that are obvious.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
DOCUMENTATION:
|
||||||
|
|
||||||
|
1. DATA: Added new data/bluetooth/, with several sample 'btmgmt info' and
|
||||||
|
'hciconfig -a' outputs for debugging and reference purposes. These work with
|
||||||
|
the revised debuggers and force/fake data switches for bluetooth. Should add
|
||||||
|
some bt-adapter --info samples too to make testing/debugging easier.
|
||||||
|
|
||||||
|
2a. DOCS: Made new docs/inxi-bluetooth.txt doc.
|
||||||
|
|
||||||
|
2b. DOCS: Moved more data out of inxi-data.txt and inxi-resources.txt, into
|
||||||
|
inxi-bluetooth.txt, tips-tricks.txt, man-pages.txt. While I'm not going to do it
|
||||||
|
all at once, I am trying to move relevant data into granular doc file as I hit
|
||||||
|
that during dev.
|
||||||
|
|
||||||
|
2c. DOCS: Updated and organized docs/inxi-tools-mapping.txt more, new mapping
|
||||||
|
tools added. inxi has so many manually updated mapping tools that it's going to
|
||||||
|
get more and more important that this document is accurate, and is updated when
|
||||||
|
required.
|
||||||
|
|
||||||
|
3a. MAN/OPTIONS: Added BT tools to --force lists, and updated --bt-tool list.
|
||||||
|
Also added -Ea options, the status: stuff.
|
||||||
|
|
||||||
|
3b. MAN/OPTIONS: Made consistent, lower case rpm, both PM type rpm and rpm as
|
||||||
|
rotation were switching between RPM and rpm randomly.
|
||||||
|
|
||||||
|
3b. MAN/OPTIONS: Updated for --force ip/ifconfig, --ifconfig.
|
||||||
|
|
||||||
|
3c. MAN/OPTIONS: Updated for zswap, zram extra -ja data.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
CODE:
|
||||||
|
|
||||||
|
1. BLUETOOTH: added %force bluetoothctrl, bt-adapter, btmgmt, hciconfig, rfkill,
|
||||||
|
and added checks to enable $fake{'bluetooth'} in the main callers for each type.
|
||||||
|
This makes debugging and development a lot easier. Also removed the force tool
|
||||||
|
block in CheckTools, no idea, again, why I did it that way only for bluetooth.
|
||||||
|
|
||||||
|
2. CheckTools: got rid of set_forced_tools(), which was only used for bluetooth
|
||||||
|
tools, and didn't fit with the rest of the core logic.
|
||||||
|
|
||||||
|
3. SYSTEM: CompilerVersion: used array refs wrong, or rather, used refs wrong,
|
||||||
|
which led to various errors that were confusing. Corrected to start out with an
|
||||||
|
array ref, then to pass that as is, leaving it the same ref all through, for bsd
|
||||||
|
and linux. This is the method inxi should have always used for passing array/
|
||||||
|
hash refs around, create as ref, then pass around, and update, without assigning
|
||||||
|
a new ref to it.
|
||||||
|
|
||||||
|
I had failed to verify that the same ref was being used through the sequence.
|
||||||
|
Unfortunately this error is probably very widespread in inxi, because no
|
||||||
|
consistent rule was created and enforced from the first lines of Perl.
|
||||||
|
|
||||||
|
4. UsbData: added source type to --dbg 6 output, and added --dbg 55 to output
|
||||||
|
the per type arrays.
|
||||||
|
|
||||||
|
5. NETWORK: IpData:: added --ifconfig/--force [ip|ifconfig], --fake ip-if to
|
||||||
|
allow for basic debugging for -n / -i IP data sources. Not super useful since so
|
||||||
|
much comes from /sys, but there was nothing there at all, which is weird for
|
||||||
|
networking.
|
||||||
|
|
||||||
|
6. SWAP: Changed to passing data using scalar references, not returning an
|
||||||
|
array of the items, and got rid of the copies in the swap_data_advanced() tool.
|
||||||
|
It's less readable, but incurs basically very little overhead, and with the new
|
||||||
|
function / method arg lists I'm using more now, it's clear what the references
|
||||||
|
are.
|
||||||
|
|
||||||
|
7. IpData: got rid of extra array copies for push, pointless.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
-- Harald Hope - Tue, 15 Aug 2023 19:45:54 -0700
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Version: 3.3.28
|
Version: 3.3.28
|
||||||
Patch: 00
|
Patch: 00
|
||||||
|
@ -5998,7 +6209,7 @@ 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
|
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.
|
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
|
3. For -A, -G, -N, and -E, new item for -xxx, class-ID, I realized this is
|
||||||
actually useful for many cases of trying to figure out what devices are, though
|
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
|
most users would not know what to do with that information, but that's why it's
|
||||||
an -xxx option!
|
an -xxx option!
|
||||||
|
|
Loading…
Reference in a new issue