#146 Install inxi by default
Closed: Won't fix by catanzaro. Opened by vascom.

inxi - a full featured system information script.

Many users after install system face hardware issues. They go to support channels (IRC, telegram, bugzilla etc.) and ask about it. It will be significant help for them and supporters to see structured information about problematic hardware like Wi-Fi modules, video cards, sound cards, system configuration ...

inxi now best tool for that. It has simple syntax and structured human readable output. Syntax and output are critical for fast and good helping.

It require only 4.1MB with dependencies on fresh F32 install.
Dependencies (need to install now on workstation) are:
freeipmi, hddtemp, ipmitool, lm_sensors, lm_sensors-libs, perl-Compress-Raw-Bzip2, perl-Compress-Raw-Zlib, perl-Cpanel-JSON-XS, perl-JSON-XS, perl-Math-Complex, perl-Types-Serialiser, perl-XML-Dumper, perl-XML-Parser, perl-common-sense, wmctrl, perl-IO-Compress, perl-Math-BigInt.

I want create system-wide feature for that change. What do you think about that?


Have you considered looking at hwinfo? It's equally featured and considerably lighter, dependency wise...

hwinfo has excess output.
For example if problem with wi-fi I need first know model, id and driver.

hwinfo --network

42: None 00.0: 10701 Ethernet                                   
  [Created at net.126]
  Unique ID: qPyE.ndpeucax6V1
  SysFS ID: /class/net/virbr0-nic
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "tun"
  Device File: virbr0-nic
  HW Address: 52:54:00:dc:f1:c1
  Link detected: no
  Config Status: cfg=new, avail=yes, need=no, active=unknown
43: None 00.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: j2Yp.ndpeucax6V1
  SysFS ID: /class/net/virbr0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "bridge"
  Device File: virbr0
  HW Address: 52:54:00:dc:f1:c1
  Link detected: no
  Config Status: cfg=new, avail=yes, need=no, active=unknown
44: None 00.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: 1N3t.ndpeucax6V1
  Parent ID: Ljo_.YNURYwd7hn8
  SysFS ID: /class/net/enp4s0
  SysFS Device Link: /devices/pci0000:00/0000:00:0a.0/0000:04:00.0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "r8169"
  Driver Modules: "r8169"
  Device File: enp4s0
  HW Address: 6c:f0:49:74:f0:aa
  Permanent HW Address: 6c:f0:49:74:f0:aa
  Link detected: no
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #24 (Ethernet controller)
45: None 00.0: 10700 Loopback
  [Created at net.126]
  Unique ID: ZsBS.GQNx7L4uPNA
  SysFS ID: /class/net/lo
  Hardware Class: network interface
  Model: "Loopback network interface"
  Device File: lo
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown
46: None 00.0: 10701 Ethernet
  [Created at net.126]
  Unique ID: VV91.ndpeucax6V1
  Parent ID: qru8._+TLD9cfjl4
  SysFS ID: /class/net/wlp2s0
  SysFS Device Link: /devices/pci0000:00/0000:00:04.0/0000:02:00.0
  Hardware Class: network interface
  Model: "Ethernet network interface"
  Driver: "ath9k"
  Driver Modules: "ath9k", "ath9k"
  Device File: wlp2s0
  HW Address: e4:ce:8f:60:92:db
  Permanent HW Address: e4:ce:8f:60:92:db
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #5 (Ethernet controller)
47: None 00.0: 10780 Network Interface
  [Created at net.126]
  Unique ID: UUGy.GSopYcFr9cF
  SysFS ID: /class/net/wg0
  Hardware Class: network interface
  Model: "Network Interface"
  Device File: wg0
  Link detected: yes
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Compare to
inxi -Nxx

Network:   Device-1: Qualcomm Atheros AR93xx Wireless Network Adapter vendor: Apple AirPort Extreme driver: ath9k v: kernel 
           port: ce00 bus ID: 02:00.0 chip ID: 168c:0030 
           Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte driver: r8169 v: kernel 
           port: de00 bus ID: 04:00.0 chip ID: 10ec:8168

hwinfo --netcard

10: PCI 200.0: 0282 WLAN controller                             
  [Created at pci.386]
  Unique ID: qru8.0Tne9_njtD8
  Parent ID: 8otl.Z9s2pCuYkGB
  SysFS ID: /devices/pci0000:00/0000:00:04.0/0000:02:00.0
  SysFS BusID: 0000:02:00.0
  Hardware Class: network
  Model: "Apple AirPort Extreme"
  Vendor: pci 0x168c "Qualcomm Atheros"
  Device: pci 0x0030 "AR93xx Wireless Network Adapter"
  SubVendor: pci 0x106b "Apple Inc."
  SubDevice: pci 0x009a "AirPort Extreme"
  Revision: 0x01
  Driver: "ath9k"
  Driver Modules: "ath9k", "ath9k"
  Device File: wlp2s0
  Features: WLAN
  Memory Range: 0xfd6c0000-0xfd6dffff (rw,non-prefetchable)
  Memory Range: 0xfd600000-0xfd60ffff (ro,non-prefetchable,disabled)
  IRQ: 16 (23349284 events)
  HW Address: e4:ce:8f:60:92:db
  Permanent HW Address: e4:ce:8f:60:92:db
  Link detected: yes
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 36 40 44 48 52 56 60 64 149 153 157 161 165
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 5.18 5.2 5.22 5.24 5.26 5.28 5.3 5.32 5.745 5.765 5.785 5.805 5.825
  WLAN encryption modes: WEP40 WEP104 TKIP CCMP
  WLAN authentication modes: open sharedkey wpa-psk wpa-eap
  Module Alias: "pci:v0000168Cd00000030sv0000106Bsd0000009Abc02sc80i00"
  Driver Info #0:
    Driver Status: ath9k is active
    Driver Activation Cmd: "modprobe ath9k"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #15 (PCI bridge)
29: PCI 400.0: 0200 Ethernet controller
  [Created at pci.386]
  Unique ID: Ljo_.YNURYwd7hn8
  Parent ID: bSAa.8EaoC3U4NBD
  SysFS ID: /devices/pci0000:00/0000:00:0a.0/0000:04:00.0
  SysFS BusID: 0000:04:00.0
  Hardware Class: network
  Model: "Gigabyte Onboard Ethernet"
  Vendor: pci 0x10ec "Realtek Semiconductor Co., Ltd."
  Device: pci 0x8168 "RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller"
  SubVendor: pci 0x1458 "Gigabyte Technology Co., Ltd"
  SubDevice: pci 0xe000 "Onboard Ethernet"
  Revision: 0x03
  Driver: "r8169"
  Driver Modules: "r8169"
  Device File: enp4s0
  I/O Ports: 0xde00-0xdeff (rw)
  Memory Range: 0xfdbff000-0xfdbfffff (ro,non-prefetchable)
  Memory Range: 0xfdbf8000-0xfdbfbfff (ro,non-prefetchable)
  Memory Range: 0xfdc00000-0xfdc1ffff (ro,non-prefetchable,disabled)
  IRQ: 18 (5360117 events)
  HW Address: 6c:f0:49:74:f0:aa
  Permanent HW Address: 6c:f0:49:74:f0:aa
  Link detected: no
  Module Alias: "pci:v000010ECd00008168sv00001458sd0000E000bc02sc00i00"
  Driver Info #0:
    Driver Status: r8169 is active
    Driver Activation Cmd: "modprobe r8169"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #32 (PCI bridge)

I would suggest that output is extremely useful for identifying everything about the hardware, especially for driver debugging purposes. The fact that it can send all the output to a file is useful as well for including in bugreport uploads.

The installation of hwinfo on a fresh Fedora 32 system takes up 3.2MB, which is slightly smaller than inxi, but not so much so that it's a big deal one way or another.

That said, either tool would make it easier to deal with hardware issue bug reports. Perhaps there's also some avenue to build tooling to easily report the correct information for such bugs to RHBZ?

Big output may be accepted at bugzilla report but not in chat.

Most of "bugs" not for bugzilla. And most of people not go to bugzilla directly (it need more skills and register at least), they ask us in telegram. And there inxi output is preferable. It is not bugs of fedora - it is bad hardware (like broadcom wi-fi) or need proprietary driver (like nvidia video card). So inxi output is enough in chat to solve problem in most cases (or redirect user to bugzilla with more debugging output).

Sure. Makes sense to me. Feel free to propose it. :thumbsup:

I would suggest also talking to KDE SIG to see if they'd be on board as well.

Yes, as I use KDE spin and I want see this change in all spins or at least at Workstation and KDE if other spins have any special opinion.

Is it more detailed than fpaste --sysinfo and yet less detailed than hwinfo? I see hwinfo also has a --short modifier to reduce verbosity but it reduces it quite a lot. I wonder if the fpaste developers have been approached with enhancement requests? I made one a little while ago to add efibootmgr -v output, and they did. And fpaste is already installed by default.

Is it more detailed than fpaste --sysinfo and yet less detailed than hwinfo? I see hwinfo also has a --short modifier to reduce verbosity but it reduces it quite a lot. I wonder if the fpaste developers have been approached with enhancement requests? I made one a little while ago to add efibootmgr -v output, and they did. And fpaste is already installed by default.

Not all computers have internet access to use fpaste especially when problem with Wi-Fi.
inxi allow see information only for desired target like network cards, audio devices etc.

If no internet, use fpaste --sysinfo --printonly > file.txt

If no internet, use fpaste --sysinfo --printonly > file.txt

Same problem as with hwinfo - very excess output. And it don't show wi-fi driver. So unusable.

Also no one will look at attached file on smartphone.

not in favor. its an unknown script, nobody will find it.

Goal not in "everybody find it".
But if user has problem you can say "Show output of inxi -Nxx" and user will do it without additional sudo dnf install inxi (especially then he has no network).

If no internet, use fpaste --sysinfo --printonly > file.txt

Same problem as with hwinfo - very excess output. And it don't show wi-fi driver. So unusable.

Why not make the thing that's already installed by default more usable? You like inxi and that's fine, but that alone is not a compelling reason to install it and 14 dependencies by default in every installation. If fpaste can't be improved upon, then I'd want to consider multiple alternatives not just inxi.

Maybe post something to desktop@ list to start a broader discussion, and actually develop this beyond one request? And also include the folks who do user to user support on the user@ list and on #fedora?

Also no one will look at attached file on smartphone.

The output to file is just an example. If you want to copy paste it into an email instead you can do that. The example case has no internet so I'm assuming that you'd output system information to a file put it on a USB stick or use bluetooth to send it to something that does have internet so you can post it and get help.

Why not make the thing that's already installed by default more usable? You like inxi and that's fine, but that alone is not a compelling reason to install it and 14 dependencies by default in every installation. If fpaste can't be improved upon, then I'd want to consider multiple alternatives not just inxi.

I think it is good price for comfort for all novice users.
There is no such good alternatives.

For example Workstation and KDE images contain qt package (Qt 4) and it is really not needed but ocupate much more space.

Based on the above comments, I don't think we're going to install this by default.

Metadata Update from @catanzaro:
- Issue close_status updated to: Won't fix
- Issue status updated to: Closed (was: Open)

I understand.

This issue has been migrated to Fedora Forge:
https://forge.fedoraproject.org/workstation/tickets/issues/146

Please continue any further discussion there.

Metadata