LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   inxi/pinxi + --recommends and Slackware package names, help complete list (https://www.linuxquestions.org/questions/slackware-14/inxi-pinxi-recommends-and-slackware-package-names-help-complete-list-4175724457/)

h2-1 04-25-2023 03:38 PM

inxi/pinxi + --recommends and Slackware package names, help complete list
 
I decided to finally add slackpkg / installpkg type package names to the --recommends. I also added Zenwalk's netpkg, having just learned that there was a 2022 zenwalk release after long dormancy, so I figured why not?

You can check these if you have pinxi installed (pinxi -U) or if not:
Code:

cd /usr/local/bin && wget -O pinxi smxi.org/pinxi && chmod +x pinxi
I used mainly https://slackbuilds.org and https://slackware.pkgs.org to find the package names.

I also took this as an excuse to refactor the CheckRecommends feature, which was well past overdue.

I think I've found most of the slackware package names, but there's a few I either can't find, or which I'm not clear about (currently in pinxi shows '?' for ones I am not sure about:

Programs:
modinfo

I found references to modinfo in module-init-tools in earlier slackware package pools, but nothing I think past 13.0. modinfo now appears to belong to kmod package. Is this correct? Was that previously in module-init-tools?

Perl Modules:
Code:

JSON::PP
XML::Dumper

Note that JSON::PP entered Core Modules at 5.014, that one is only really relevant to get the full module package name listing like inxi has for apt, pacman, rpm. Or for very old Slackwares, which would probably have had that packaged separately, but I can't find that name.

Also note that if I assign the value '', then pinxi/inxi will show 'N/A', which would be the correct result if the package is not available in any reasonably standard slackware/slackpkg repository.

Code:

The following recommended Perl modules are missing:
Cpanel::JSON::XS
 pkgtool: perl-Cpanel-JSON-XS
JSON::XS
 pkgtool: perl-JSON-XS
XML::Dumper
 pkgtool: ?

There is also a big USB upgrade, which provides interesting information for USB 3 and 4. The USB upgrade fixed a lot of things, and added some:

Code:

inxi -Jazy1 --vs
pinxi 3.3.26-20 (2023-04-25)
USB:
  Hub-1: 1-0:1
    info: hi-speed hub with single TT
    ports: 14
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
    Device-1: 1-4:2
      info: Wacom ET-0405A [Graphire2 (4x5)]
      type: mouse
      driver: usbhid,wacom
      interfaces: 1
      rev: 1.1
        speed: 1.5 Mb/s
        lanes: 1
      power: 40mA
      chip-ID: 056a:0011
      class-ID: 0301
    Device-2: 1-9:3
      info: Tangtop HID Keyboard
      type: keyboard,mouse
      driver: hid-generic,usbhid
      interfaces: 2
      rev: 1.1
        speed: 1.5 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 0d3d:0001
      class-ID: 0301
    Device-3: 1-10:4
      info: Microsoft Natural Keyboard Elite
      type: keyboard
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 1.0
        speed: 1.5 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 045e:000b
      class-ID: 0301
  Hub-2: 2-0:1
    info: super-speed hub
    ports: 8
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-1x2
    chip-ID: 1d6b:0003
    class-ID: 0900
    Device-1: 2-8:5
      info: SanDisk Ultra
      type: mass storage
      driver: usb-storage
      interfaces: 1
      rev: 3.0
        speed: 5 Gb/s
        lanes: 1
        mode: 3.2 gen-1x1
      power: 896mA
      chip-ID: 0781:5581
      class-ID: 0806
      serial: <filter>
  Hub-3: 3-0:1
    info: hi-speed hub with single TT
    ports: 2
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-4: 4-0:1
    info: super-speed hub
    ports: 2
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-1x2
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-5: 5-0:1
    info: hi-speed hub with single TT
    ports: 4
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
    Device-1: 5-4:3
      info: American Power Conversion Uninterruptible Supply
      type: HID
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 1.1
        speed: 1.5 Mb/s
        lanes: 1
      power: 2mA
      chip-ID: 051d:0002
      class-ID: 0300
      serial: <filter>
  Hub-6: 6-0:1
    info: super-speed hub
    ports: 4
    rev: 3.0
      speed: 5 Gb/s
      lanes: 1
      mode: 3.2 gen-1x1
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-7: 6-1:2
    info: VIA Labs USB3.0 Hub
    ports: 4
    rev: 3.2
      speed: 5 Gb/s
      lanes: 1
      mode: 3.2 gen-1x1
    chip-ID: 2109:0817
    class-ID: 0900
  Hub-8: 6-1.3:3
    info: VIA Labs USB3.0 Hub
    ports: 4
    rev: 3.2
      speed: 5 Gb/s
      lanes: 1
      mode: 3.2 gen-1x1
    chip-ID: 2109:0817
    class-ID: 0900

I have no access to USB 4 data currently, apparently it's trickling out now, a manjaro user's laptop shipped with theoretical ryzen support for usb 4 over pcie, but he was getting only USB 1 speeds because Asus or AMD have not shipped the firmware update yet to enable the PCIe based USB4 lanes, which is when I decided that a USB enhancement was probably in order, since it was and is not easy to explain what the USB bus is really doing.

This example is interesting because you can see the parent hub on bus 6-0 is USB 3.0 at 5 Gbps, 1 lane, but the child hub is actually capable of USB 3.2, 2 lanes, and 10-20Gbps, depending, so it's working in a slowed mode. I just realized that right now, I've been working with the USB stuff so much I didn't realize that the data was actually explaining a weird behavior I'd never understood before.

Note that USB 3.2 and 4 only get all their lanes (which work like PCIe lanes, 1 up, 1 down channel per lane, usually, except with USB 4 120 Gbps) with a USB C connector.

kjhambrick 04-26-2023 08:16 AM

Very nice h2-1 !

I've got a Discrete Thunderbolt 4 Chip in my Laptop that still doesn't work quite right.

Below is some data for you.

I've got a USB Mouse and an Anker Thundrbolt 4 Hub Plugged Directly into the Laptop.

Then there is an external NVMe Enclosure and a Thumb Drive in the Anker

HTH

-- kjh

Code:

# ./pinxi -Jazy1 --vs

pinxi 3.3.26-20 (2023-04-25)
USB:
  Hub-1: 1-0:1
    info: hi-speed hub with single TT
    ports: 16
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
    Device-1: 1-4:2
      info: Pixart Imaging Optical Mouse
      type: mouse
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 1.1
        speed: 1.5 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 093a:2510
      class-ID: 0301
    Device-2: 1-5:3
      info: Integrated Express ITE Device(829x)
      type: HID
      driver: tuxedo-keyboard-ite,usbhid
      interfaces: 1
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 048d:8910
      class-ID: 0300
    Device-3: 1-8:4
      info: Acer BisonCam NB Pro
      type: video
      driver: uvcvideo
      interfaces: 2
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 500mA
      chip-ID: 5986:9102
      class-ID: 0e02
    Device-4: 1-9:5
      info: Integrated Express IT8297 RGB LED Controller
      type: keyboard
      driver: ite_8297,usbhid
      interfaces: 1
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 048d:8297
      class-ID: 0301
    Device-5: 1-10:6
      info: Synaptics
      type: <vendor specific>
      driver: N/A
      interfaces: 1
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 06cb:00a8
      class-ID: ff00
      serial: <filter>
  Hub-2: 1-11:7
    info: Fresco Logic USB2.0 Hub
    ports: 4
    rev: 2.1
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d5c:5801
    class-ID: 0900
  Hub-3: 1-11.4:9
    info: Anker USB2.0 Hub
    ports: 7
    rev: 2.1
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 291a:8497
    class-ID: 0900
    Device-1: 1-11.4.3:12
      info: Kingston DataTraveler 100
      type: mass storage
      driver: usb-storage
      interfaces: 1
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 200mA
      chip-ID: 0951:1607
      class-ID: 0806
      serial: <filter>
    Device-2: 1-11.4.6:11
      info: Realtek USB Audio
      type: HID
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 0bda:4ef0
      class-ID: 0300
    Device-3: 1-11.4.7:10
      info: Anker PowerExpand Elite 12-in-1 Thunderbolt 4 Dock
      type: billboard
      driver: N/A
      interfaces: 2
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      chip-ID: 291a:8397
      class-ID: 1100
      serial: <filter>
    Device-4: 1-14:8
      info: Intel AX201 Bluetooth
      type: bluetooth
      driver: btusb
      interfaces: 2
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 8087:0026
      class-ID: e001
  Hub-4: 2-0:1
    info: super-speed hub
    ports: 6
    rev: 3.1
      speed: 20 Gb/s
      lanes: 2
      mode: <unknown rev+speed>
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-5: 3-0:1
    info: hi-speed hub with single TT
    ports: 2
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-6: 4-0:1
    info: super-speed hub
    ports: 2
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-1x2
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-7: 4-2:2
    info: Intel USB3.0 Hub
    ports: 4
    rev: 3.2
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-2x1
    chip-ID: 8087:0b40
    class-ID: 0900
    Device-1: 4-2.1:3
      info: ASMedia ASM236X series
      type: mass storage
      driver: uas
      interfaces: 1
      rev: 3.2
        speed: 10 Gb/s
        lanes: 1
        mode: 3.2 gen-2x1
      chip-ID: 174c:2364
      class-ID: 0806
      serial: <filter>
  Hub-8: 4-2.4:4
    info: Anker USB3.1 Hub
    ports: 5
    rev: 3.2
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-2x1
    chip-ID: 291a:8597
    class-ID: 0900
    Device-1: 4-2.4.4:5
      info: Genesys Logic USB Storage
      type: mass storage
      driver: usb-storage
      interfaces: 1
      rev: 3.2
        speed: 5 Gb/s
        lanes: 1
        mode: 3.2 gen-1x1
      power: 896mA
      chip-ID: 05e3:0764
      class-ID: 0806
      serial: <filter>
    Device-2: 4-2.4.5:6
      info: Realtek RTL8153 Gigabit Ethernet Adapter
      type: Network
      driver: r8152
      interfaces: 1
      rev: 3.0
        speed: 5 Gb/s
        lanes: 1
        mode: 3.2 gen-1x1
      power: 288mA
      chip-ID: 0bda:8153
      class-ID: 0000
      serial: <filter>


Slax-Dude 04-26-2023 10:09 AM

Quote:

Originally Posted by h2-1 (Post 6426962)
Programs:
modinfo

I found references to modinfo in module-init-tools in earlier slackware package pools, but nothing I think past 13.0. modinfo now appears to belong to kmod package. Is this correct? Was that previously in module-init-tools?

Indeed.

If you use https://packages.slackware.com/ you can search by package and by content.


you can also use
Code:

slackpkg file-search modinfo
to find the name of the package that contains a file.

h2-1 04-26-2023 11:21 AM

All updates to docs and pinxi now live in 3.3.26-21

Slax-Dude, thanks for confirming. I found the slackpkg file-search [file] last night when trying to complete the last slackware names. Obviously would have been much faster if I'd found it earlier, that's convenient. I was using an old distrowatch slackware package manager command table, but it's out of date significantly, and did not have that option for slackpkg. I'm updating my docs for this now as well.

I view a nice side-effect of working with this slackware package manager stuff that it familiarizes me with the tools.

https://packages.slackware.com/ is a good one, I started a docs/inxi-repo-pakcage-manager.txt doc, so I'll update that with this info.

As an aside, I noticed this thread on slpkg https://www.linuxquestions.org/quest...er-4175720937/ and decided to read through it to see if I'd missed anything related to slpkg, and found a slackware type repo file that inxi does not yet support, the slpkg repo file, there was a sample in the thread so I can probably add support for that syntax in --repos.

As a further surprise, I found that zenwalk has released a new version, 15.0, after I believe a very long period of dormancy, so I added support for netpkg and it's repo file format, and for zenwalk system base feature, that was easy. I thought ZenWalk was long gone, but it's apparently still alive and kicking.

kjhambrick, you managed to find an unsupported mode, I thought I'd found all possible variants, thanks.

Code:

Hub-4: 2-0:1
    info: super-speed hub
    ports: 6
    rev: 3.1
      speed: 20 Gb/s
      lanes: 2
      mode: <unknown rev+speed>

I thought only USB 3.2 and greater supported 10 Gbps lanes. However, the 'mode:' is the official usb consortium terminology, but this combination was not listed anywhere I researched. Mode is basically a function of rev, lanes, and speed. To call the USB consortium explanations of this... difficult, opaque, etc, is kind. I also added another possible mode, for rev 3.2 at 40Gbps, 2 lanes, which would be mode: 3.2 gen-3x2. That should never appear, but neither should yours.

https://en.wikipedia.org/wiki/USB4

Do you know the actual USB revision of that hub? As noted, there does appear to be firmware issues for USB 4, do you know which of the hubs/devices are supposed to be USB 4? The thunderbolt 4 is usb 4, but appears to be connected to a USB 2 hub, though that's how the other system I saw that had USB4 over pcie showed itself without the firmware upgrade, which must be coming soon, it's odd they shipped these laptops without the support. My understanding is that Linux kernel has had USB 4 support for quite a while now, somewhere in the mid 5.x series if I remember right..

h2-1 04-26-2023 11:33 AM

One last package remaining, this one doesn't show up with any type of search:

Perl module: XML::Dumper

I assume if for example: slackpkg file-search XML/Dumper returns nothing, that package doesn't exist.

I tested that syntax with other modules, like Data::Dumper: slackpkg file-search Data/Dumper and it correctly returned core Perl, since it's a core module.

I believe its' safe to assume this module is not packaged? At least not in slackware, slackpkgplus, or slackonly.

kjhambrick 04-26-2023 11:35 AM

Quote:

Originally Posted by h2-1 (Post 6427123)
All updates to docs and pinxi now live in 3.3.26-21

<<snip>>

kjhambrick, you managed to find an unsupported mode, I thought I'd found all possible variants, thanks.

Code:

Hub-4: 2-0:1
    info: super-speed hub
    ports: 6
    rev: 3.1
      speed: 20 Gb/s
      lanes: 2
      mode: <unknown rev+speed>

I thought only USB 3.2 and greater supported 10 Gbps lanes. However, the 'mode:' is the official usb consortium terminology, but this combination was not listed anywhere I researched. Mode is basically a function of rev, lanes, and speed. To call the USB consortium explanations of this... difficult, opaque, etc, is kind. I also added another possible mode, for rev 3.2 at 40Gbps, 2 lanes, which would be mode: 3.2 gen-3x2. That should never appear, but neither should yours.

https://en.wikipedia.org/wiki/USB4

Do you know the actual USB revision of that hub? As noted, there does appear to be firmware issues for USB 4, do you know which of the hubs/devices are supposed to be USB 4? The thunderbolt 4 is usb 4, but appears to be connected to a USB 2 hub, though that's how the other system I saw that had USB4 over pcie showed itself without the firmware upgrade, which must be coming soon, it's odd they shipped these laptops without the support. My understanding is that Linux kernel has had USB 4 support for quite a while now, somewhere in the mid 5.x series if I remember right..

h2-1 --

I wouldn't be surprised if this isn't a Kernel Bug.

I have been running a Kernel Patch for months now hoping to get my Discrete Thunderbolt 4 Ports to work.

This is the Kernel Bugzilla Thread: https://bugzilla.kernel.org/show_bug.cgi?id=214259

Thunderbolt 4 still does not work correctly on my Laptop but at least Mika's most recent patch eliminated the scary long hangs at boot when my Discrete Thunderbolt Chip was enabled in the Insyde BIOS :)

The Hub is this: Anker Docking Station, 777 Thunderbolt Docking Station (Apex, 12-in-1, Thunderbolt 4)

Specs are on that Page.

HTH

-- kjh

rizitis 04-26-2023 11:51 AM

1 Attachment(s)
Code:

pinxi -Jazy1 --vs
pinxi 3.3.26-20 (2023-04-25)
USB:
  Hub-1: 1-0:1
    info: hi-speed hub with single TT
    ports: 1
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-2: 2-0:1
    info: super-speed hub
    ports: 4
    rev: 3.1
      speed: 20 Gb/s
      lanes: 2
      mode: <unknown rev+speed>
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-3: 3-0:1
    info: hi-speed hub with single TT
    ports: 12
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
    Device-1: 3-2:2
      info: Holtek E-Signal LUOM G10 Mechanical Gaming Mouse
      type: mouse,HID
      driver: hid-generic,usbhid
      interfaces: 3
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 04d9:a09f
      class-ID: 0300
    Device-2: 3-6:4
      info: Luxvisions Innotech HP Wide Vision HD Camera
      type: video
      driver: uvcvideo
      interfaces: 2
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 500mA
      chip-ID: 30c9:0065
      class-ID: 0e02
      serial: <filter>
    Device-3: 3-7:5
      info: IMC Networks Wireless_Device
      type: bluetooth
      driver: btusb
      interfaces: 3
      rev: 2.1
        speed: 480 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 13d3:3567
      class-ID: e001
      serial: <filter>
  Hub-4: 4-0:1
    info: super-speed hub
    ports: 4
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-1x2
    chip-ID: 1d6b:0003
    class-ID: 0900

officially my laptop should have one thunderbolt 4.
pinxi say 2 one thunderbolt and one thunderbolt 3 (if i m reading right the output)
since I never look for it... now i look it more close and took a photo.
I really dont understand ... that symbols....

Edit. Lapto papers said
Code:

Bluetooth, Ethernet, HDMI, Thunderbolt 4, USB 3.2, USB-C, Wi-Fi, mini DisplayPort

h2-1 04-26-2023 11:59 AM

This is corrected in pinxi 3.3.26-21 (pinxi -U to get new version)

Code:

mode: <unknown rev+speed>
rizitis, thanks for showing another sample of that exact mode issue.

It will now show the correct mode, which is gen-2x2, aka, 2 lanes at 10Gbps/lane.

I'll check back later.

The research I did came up with AMD saying that the support for usb4/pcie was in the ryzen 6xxx cpu, but it needed some kind of firmware update, which had not been released as of last summer.

I did not find more on it, but that's very recent relatively speaking, and I also don't know when the update was actually released, or if it's a kernel bug, I didn't find much on it.

rizitis 04-26-2023 12:09 PM

Code:

root@#~>  pinxi -U
Starting pinxi self updater.
Using tiny as downloader.
Currently running pinxi version number: 3.3.26
Current version patch number: 20
Current version release date: 2023-04-25
Updating pinxi in /usr/local/bin using inxi-perl branch as download source...
Validating downloaded data...
Successfully updated to inxi-perl branch version: 3.3.26
New inxi-perl branch version patch number: 21
New inxi-perl branch version release date: 2023-04-26
To run the new version, just start pinxi again.
----------------------------------------

Skipping man download because branch version is being used.
root@#~>  uname -a
Linux localhost.localdomain 6.1.25 #1 SMP PREEMPT_DYNAMIC Thu Apr 20 13:54:05 CDT 2023 x86_64 12th Gen Intel(R) Core(TM) i7-12700H GenuineIntel GNU/Linux
root@#~>  pinxi -Jazy1 --vs
pinxi 3.3.26-21 (2023-04-26)
USB:
  Hub-1: 1-0:1
    info: hi-speed hub with single TT
    ports: 1
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-2: 2-0:1
    info: super-speed hub
    ports: 4
    rev: 3.1
      speed: 20 Gb/s
      lanes: 2
      mode: 3.2 gen-2x2
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-3: 3-0:1
    info: hi-speed hub with single TT
    ports: 12
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
    Device-1: 3-2:2
      info: Holtek E-Signal LUOM G10 Mechanical Gaming Mouse
      type: mouse,HID
      driver: hid-generic,usbhid
      interfaces: 3
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 04d9:a09f
      class-ID: 0300
    Device-2: 3-6:4
      info: Luxvisions Innotech HP Wide Vision HD Camera
      type: video
      driver: uvcvideo
      interfaces: 2
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 500mA
      chip-ID: 30c9:0065
      class-ID: 0e02
      serial: <filter>
    Device-3: 3-7:5
      info: IMC Networks Wireless_Device
      type: bluetooth
      driver: btusb
      interfaces: 3
      rev: 2.1
        speed: 480 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 13d3:3567
      class-ID: e001
      serial: <filter>
  Hub-4: 4-0:1
    info: super-speed hub
    ports: 4
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-1x2
    chip-ID: 1d6b:0003
    class-ID: 0900


h2-1 04-26-2023 04:16 PM

pinxi 3.3.26-22 fixes I think the last set of errors:

Code:

  Hub-4: 4-0:1
    info: super-speed hub
    ports: 4
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-1x2
    chip-ID: 1d6b:0003
    class-ID: 0900

was the wrong mode, that's actually gen-2x1.

I simplified the usb 3 rev mode string generator to use only speeds and lanes, and also to support case where system reports a true usb 4 device/hub as 3.2, which would be speeds of 40, 80 Gbps, which have to be usb 4 aka thunderbird 4. There's also a 3 lane 120 Gbps in the works, that's two dedicated transmit lanes, and I think 1 dedicated receive lanes.

Note that in that instance, you'd see inxi show:

Code:

rev: 4 speed: 120 Gbps lanes: tx: 4 rx: 2 mode: 4-v2 gen-4x3-asym
I think that's what it would show anyway, haven't seen a real data set for how that is seen by linux in /sys. 1 lane is usually 1 tx (transmit) and 1 rx (receive), similar to PCIe lanes. At least that's how I understand it.

I believe usb 1, 2 gets sent down a separate wire, which then is further sent to the nearest usb 2 hub, not the usb 3 hub it's actually inserted into. You can verify this by checking the bus IDs of the hubs/devices when you insert usb 3, 4, or 1, 2, into a usb 3 or 4 hub.

I believe the effective mode is always determined by the slowest link in the chain of hubs and devices on that bus.

This also explains why you will see a usb 2 or 1 device inserted into a usb 3 or 4 hub/port show up either not at all, or on another usb 2 hub on the system, which was something I'd been wondering about.

I found these two helpful to understand conceptually how the wiring works.

Very good color coded usb connector types diagrams:
https://fabiensanglard.net/usbcheat/index.html

Good usb c connector and usb 3, 4 info:
https://tripplite.eaton.com/products...ypes-standards

kjhambrick 04-26-2023 04:38 PM

h2-1 --

Below is the USB / ThunderBolt for my Laptop with the latest pinxi

-- kjh

Code:

# ./pinxi  -Jazy1 --vs

pinxi 3.3.26-22 (2023-04-26)

USB:
  Hub-1: 1-0:1
    info: hi-speed hub with single TT
    ports: 16
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
    Device-1: 1-4:2
      info: Pixart Imaging Optical Mouse
      type: mouse
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 1.1
        speed: 1.5 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 093a:2510
      class-ID: 0301
    Device-2: 1-5:3
      info: Integrated Express ITE Device(829x)
      type: HID
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 048d:8910
      class-ID: 0300
    Device-3: 1-8:4
      info: Acer BisonCam NB Pro
      type: video
      driver: uvcvideo
      interfaces: 2
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 500mA
      chip-ID: 5986:9102
      class-ID: 0e02
    Device-4: 1-9:5
      info: Integrated Express IT8297 RGB LED Controller
      type: keyboard
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 048d:8297
      class-ID: 0301
    Device-5: 1-10:6
      info: Synaptics
      type: <vendor specific>
      driver: N/A
      interfaces: 1
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 06cb:00a8
      class-ID: ff00
      serial: <filter>
  Hub-2: 1-11:7
    info: Fresco Logic USB2.0 Hub
    ports: 4
    rev: 2.1
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d5c:5801
    class-ID: 0900
  Hub-3: 1-11.4:9
    info: Anker USB2.0 Hub
    ports: 7
    rev: 2.1
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 291a:8497
    class-ID: 0900
    Device-1: 1-11.4.3:10
      info: Kingston DataTraveler 100
      type: mass storage
      driver: usb-storage
      interfaces: 1
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 200mA
      chip-ID: 0951:1607
      class-ID: 0806
      serial: <filter>
    Device-2: 1-11.4.6:12
      info: Realtek USB Audio
      type: HID
      driver: hid-generic,usbhid
      interfaces: 1
      rev: 2.0
        speed: 480 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 0bda:4ef0
      class-ID: 0300
    Device-3: 1-11.4.7:11
      info: Anker PowerExpand Elite 12-in-1 Thunderbolt 4 Dock
      type: billboard
      driver: N/A
      interfaces: 2
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      chip-ID: 291a:8397
      class-ID: 1100
      serial: <filter>
    Device-4: 1-14:8
      info: Intel AX201 Bluetooth
      type: bluetooth
      driver: btusb
      interfaces: 2
      rev: 2.0
        speed: 12 Mb/s
        lanes: 1
      power: 100mA
      chip-ID: 8087:0026
      class-ID: e001
  Hub-4: 2-0:1
    info: super-speed hub
    ports: 6
    rev: 3.1
      speed: 20 Gb/s
      lanes: 2
      mode: 3.2 gen-2x2
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-5: 3-0:1
    info: hi-speed hub with single TT
    ports: 2
    rev: 2.0
      speed: 480 Mb/s
      lanes: 1
    chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-6: 4-0:1
    info: super-speed hub
    ports: 2
    rev: 3.1
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-2x1
    chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-7: 4-2:2
    info: Intel USB3.0 Hub
    ports: 4
    rev: 3.2
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-2x1
    chip-ID: 8087:0b40
    class-ID: 0900
    Device-1: 4-2.1:3
      info: ASMedia ASM236X series
      type: mass storage
      driver: uas
      interfaces: 1
      rev: 3.2
        speed: 10 Gb/s
        lanes: 1
        mode: 3.2 gen-2x1
      chip-ID: 174c:2364
      class-ID: 0806
      serial: <filter>
  Hub-8: 4-2.4:4
    info: Anker USB3.1 Hub
    ports: 5
    rev: 3.2
      speed: 10 Gb/s
      lanes: 1
      mode: 3.2 gen-2x1
    chip-ID: 291a:8597
    class-ID: 0900
    Device-1: 4-2.4.4:5
      info: Genesys Logic USB Storage
      type: mass storage
      driver: usb-storage
      interfaces: 1
      rev: 3.2
        speed: 5 Gb/s
        lanes: 1
        mode: 3.2 gen-1x1
      power: 896mA
      chip-ID: 05e3:0764
      class-ID: 0806
      serial: <filter>
    Device-2: 4-2.4.5:6
      info: Realtek RTL8153 Gigabit Ethernet Adapter
      type: Network
      driver: r8152
      interfaces: 1
      rev: 3.0
        speed: 5 Gb/s
        lanes: 1
        mode: 3.2 gen-1x1
      power: 288mA
      chip-ID: 0bda:8153
      class-ID: 0000
      serial: <filter>


h2-1 04-26-2023 08:53 PM

Hmm, maybe I'll mull over this a bit.

I believe technically the 'mode' for USB 1 and 2 is 'Legacy', though I only saw that in one place.

I wasn't originally going to show 'lanes:' for USB 1, 2, but accidentally enabled that during a change, and decided I liked it, but there's an issue, if you follow the color code link, it notes that 4 wire usb is only half duplex, unlike 8 wire. And it says USB 3.2 and 4 only work at full speed with USB C connector type, since that has I think 4 tx and 4 rx channels. It's confusing.

rizitis 04-27-2023 03:16 PM

this is my output:

Code:

pinxi -r
Repos:
  slackpkg mirror in: /etc/slackpkg/mirrors
    1: http://slackware.uk/slackware/slackware64-current/
  No active slapt-get repos in: /etc/slapt-get/private-keys-v1.d
  No active slapt-get repos in: /etc/slapt-get/pubring.kbx
  No active slapt-get repos in: /etc/slapt-get/pubring.kbx~
  slapt-get repos in: /etc/slapt-get/slapt-getrc
    1: https://reddoglinux.ddns.net/linux/gnome/43.x/x86_64/:CUSTOM
  No active slapt-get repos in: /etc/slapt-get/trustdb.gpg
  Active slpkg repos in: /etc/slpkg/repositories.toml
    1: sbo ~ https://slackbuilds.org/slackbuilds/15.0/
    2: ponce ~ https://cgit.ponce.cc/slackbuilds/plain/
    3: slack_extra ~ https://slackware.uk/slackware/slackware64-current/extra/
    4: alien ~ https://slackware.nl/people/alien/sbrepos/current/x86_64/
    5: restricted ~ https://slackware.nl/people/alien/restricted_sbrepos/current/x86_64/
    6: gnome ~ https://reddoglinux.ddns.net/linux/gnome/43.x/x86_64/
    7: conraid ~ https://slack.conraid.net/repository/slackware64-current/

very good! thank you!
the only mistake is this
Code:

    1: sbo ~ https://slackbuilds.org/slackbuilds/15.0/
but its not mistake of pinxi...
just for information:
if ponce=true in toml then
sbo=false by default from slpkg
else it will break system...
if you can fix that then its 100% ok!

h2-1 04-27-2023 05:25 PM

The safest way here was to do all the blocks, then grep the array for start with 'ponce ~', and if yes, grep it again for not start with 'sbo ~'. This makes the position of the items irrelevant since it runs after the array of repos is built.

This seems fairly reliable, and not too fragile, assuming it doesn't change.

Note also that pinxi is using the prefix for the variable names to determine when a new block starts, not the empty lines, that's safer long term, since it looks like those are just setting some internal variable names, and the empty lines don't necessarily matter so it's ignoring comment lines and empty lines and lines starting with [...

Thanks for explaining it, I can see why slpkg would automatically disable one if the other is true since it would be damaging to the system, easy user mistake to make so makes sense to protect against it.

This is running now in pinxi 3.3.26-26

ponce false:
Code:

  Active slpkg repos in: /etc/slpkg/repositories.toml
    1: sbo ~ https://slackbuilds.org/slackbuilds/15.0/
    2: slack_extra ~ https://slackware.uk/slackware/slackware64-15.0/extra/
    3: slack_patches ~ https://slackware.uk/slackware/slackware64-15.0/patches/
    4: alien ~ https://slackware.nl/people/alien/sbrepos/15.0/x86_64/
    5: restricted ~ https://slackware.nl/people/alien/restricted_sbrepos/15.0/x86_64/
    6: gnome ~ https://reddoglinux.ddns.net/linux/gnome/41.x/x86_64/
    7: csb ~ https://slackware.uk/csb/15.0/x86_64/
    8: conraid ~ https://slack.conraid.net/repository/slackware64-current/
    9: slint ~ https://slackware.uk/slint/x86_64/slint-15.0/

ponce true:
Code:

  Active slpkg repos in: /etc/slpkg/repositories.toml
    1: ponce ~ https://cgit.ponce.cc/slackbuilds/plain/
    2: slack_extra ~ https://slackware.uk/slackware/slackware64-15.0/extra/
    3: slack_patches ~ https://slackware.uk/slackware/slackware64-15.0/patches/
    4: alien ~ https://slackware.nl/people/alien/sbrepos/15.0/x86_64/
    5: restricted ~ https://slackware.nl/people/alien/restricted_sbrepos/15.0/x86_64/
    6: gnome ~ https://reddoglinux.ddns.net/linux/gnome/41.x/x86_64/
    7: csb ~ https://slackware.uk/csb/15.0/x86_64/
    8: conraid ~ https://slack.conraid.net/repository/slackware64-current/
    9: slint ~ https://slackware.uk/slint/x86_64/slint-15.0/


rizitis 04-28-2023 12:44 AM

Ok!
I can give you some more work :D
If you want to support sbopkg in pinxi
then pinxi must search if exist
Code:

/root/.sbopkg.conf
and if exist == and not empty; then
print thsese 2 lines
Code:

REPO_NAME=
REPO_BRANCH=

elif if not exist or if exist but empty
then search in
Code:

/etc/sbopkg/sbopkg.conf
and print these
Code:

REPO_BRANCH=${REPO_BRANCH:-15.0}
REPO_NAME=${REPO_NAME:-SBo}

else
No active sbopkg

sbopkg first looking to /root/.sbopkg.conf to see which of the 2 SlackBuilds repo is active
Code:

${REPO_BRANCH:-15.0}
or
${REPO_BRANCH:-current}

if /root/.sbopkg.conf not exist or if its empty the it looking in
Code:

/etc/sbopkg/sbopkg.conf
REPO_NAME= (should be SBo or SBo-git)
REPO_BRANCH=(15.0 or current)

:)


All times are GMT -5. The time now is 01:39 PM.