USB hub on PCI(X) expansion card not recognized / enabled

I have a PCI expansion card for adding USB3 ports to my PC. (Note: PCI-X card, not PCIe; yes, I know the PCI slot limits the USB3 speed to about 1.3Gbps, if it works, it’s still worth it).

  • The PCI card itself is detected correctly
  • However, the USB hub is not detected
  • USB devices that are plugged in briefly light up, then turn off (it appears to have power)
  • I wonder if the (2nd hand) card is broken or if there is something I can do to make it work

It is a StarTech PCIUSB3S4 card. Searching for the card and the identifier listed in the lspci output suggests it has long since been supported by the kernel.

Hardware: it has a 5V FDD and 12V SATA connector and 1 dipswitch. I tried all combinations of having none to all power connectors connected and the dipswitch in one or the other position. Nothing seems to make the USB hub show up.

inxi details
$ inxi -FAZ --no-host
System:
  Kernel: 6.6.8-arch1-1 arch: x86_64 bits: 64 Desktop: Cinnamon v: 6.0.2
    Distro: EndeavourOS
Machine:
  Type: Desktop System: Dell product: Vostro 430 v: 00
    serial: <superuser required>
  Mobo: Dell model: 054KM3 v: A00 serial: <superuser required> BIOS: Dell
    v: 2.4.0 date: 01/13/2011
CPU:
  Info: quad core model: Intel Xeon X3470 bits: 64 type: MT MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 1416 min/max: 1200/2934 cores: 1: 1200 2: 1200 3: 1200
    4: 1200 5: 1200 6: 1197 7: 1200 8: 2934
Graphics:
  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
    driver: amdgpu v: kernel
  Display: x11 server: X.Org v: 21.1.10 with: Xwayland v: 23.2.3 driver: X:
    loaded: amdgpu unloaded: modesetting dri: radeonsi gpu: amdgpu resolution:
    1: 1920x1200~60Hz 2: 3840x2160~60Hz
  API: EGL v: 1.5 drivers: radeonsi,swrast platforms: x11,surfaceless,device
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.3.2-arch1.2
    renderer: AMD Radeon RX 570 Series (radeonsi polaris10 LLVM 16.0.6 DRM 3.54
    6.6.8-arch1-1)
  API: Vulkan v: 1.3.274 drivers: radv surfaces: xcb,xlib
Audio:
  Device-1: Intel 5 Series/3400 Series High Definition Audio
    driver: snd_hda_intel
  Device-2: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
    driver: snd_hda_intel
  API: ALSA v: k6.6.8-arch1-1 status: kernel-api
  Server-1: PipeWire v: 1.0.0 status: active
Network:
  Device-1: Broadcom NetLink BCM57780 Gigabit Ethernet PCIe driver: tg3
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: a4:ba:db:02:80:6e
Drives:
  Local Storage: total: 465.76 GiB used: 219.38 GiB (47.1%)
  ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB
Partition:
  ID-1: / size: 465.76 GiB used: 219.38 GiB (47.1%) fs: btrfs dev: /dev/sda1
  ID-2: /home size: 465.76 GiB used: 219.38 GiB (47.1%) fs: btrfs
    dev: /dev/sda1
  ID-3: /var/log size: 465.76 GiB used: 219.38 GiB (47.1%) fs: btrfs
    dev: /dev/sda1
Swap:
  ID-1: swap-1 type: file size: 512 MiB used: 0 KiB (0.0%)
    file: /swap/swapfile
Sensors:
  System Temperatures: cpu: 29.0 C mobo: N/A gpu: amdgpu temp: 38.0 C
  Fan Speeds (rpm): cpu: 1495 mobo: 1187 gpu: amdgpu fan: 1363
Info:
  Processes: 296 Uptime: 15m Memory: total: 16 GiB available: 15.58 GiB
  used: 2.31 GiB (14.8%) Shell: Bash inxi: 3.3.31
lspci output
$ lspci | grep "Pericom"
03:01.0 PCI bridge: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge (rev 02)
lsusb output
$ lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/6p, 480M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/8p, 480M
        |__ Port 001: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 002: Dev 004, If 0, Class=Vendor Specific Class, Driver=[none], 480M
        |__ Port 002: Dev 004, If 1, Class=Vendor Specific Class, Driver=[none], 480M
        |__ Port 002: Dev 004, If 2, Class=Vendor Specific Class, Driver=[none], 480M
        |__ Port 003: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 003: Dev 005, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 003: Dev 005, If 2, Class=Human Interface Device, Driver=usbhid, 12M

Any ideas? TIA!

From the link it shows:

COMPATIBILITY: This card is Windows only; Supported versions: Windows XP and up, Windows Server 2003 and up; USB card is only compatible with PCI/PCI-X slots and is NOT COMPATIBLE with PCI-Express (PCIe); See PEXUSB3S4V for a PCIe solution :man_shrugging:

Well, obviously I am using the card in a PCI slot and not in a PCIe slot.

Many manufacturers will say Linux is not supported, whereas Linux will actually support the hardware. The device is listed as supported on linux-hardware.org for kernel 2.6.4 and up.

I realize that it is in a Pci slot. Maybe some other hardware is using the resource it needs. Is there any other Pci slot you can try?

1 Like

Moved it to the PCI slot right next to the GPU fan, but that doesn’t make a difference. PCI card is still recognized, USB hub is not found.

Also, no BIOS settings available for IRQ and/or PCI devices. Old Dell tower with very limited BIOS.

What is the usb Hub? It’s what you are plugging into the Pci card’s usb slot?

Edit: If this is the case then do you get any message when plugging in and run dmesg -w

If you look at the lsusb -t output above, there are 2 Class=root_hub devices. These are the Intel motherboard USB hubs.

The PCI-card should be adding another root_hub, but it doesn’t.

I was not talking about a ‘USB-hub-peripheral’.

I try to connect a 2.5" USB HDD and some USB thumbdrives to the ports on the PCI-card.

I’m chugging through the boot log and dmesg output to see if I can find something. Worst case, I am returning the card to the store. But I would love to make it work :smiley:

1 Like

I know it’s hard to get Pci to usb cards. Not that many available.

It could be a power issue, usb devices may not receive enough power but you already tried that.

i think you are better of with a different usb 3.0 addon card based on Nec uPD72020 chipsets
Those are supported out of the box, even via cards are working but the nec’s are better

1 Like

It could be lacking power possibly usb auto suspend?

Edit: The card has the option to connect power to it.

Instruction Manual3

  1. Optional: Connect SATA power or SP4 Floppy (PCIUSB3S4 only) power connector
    from the computer power supply to the card. This is recommended to ensure
    enough power can be supplied to high-powered USB devices

Thanks! This was the only card though that I can find that is available in PCI form factor. All the other cards are PCIe. I’ll have a look later though.

Yeah… but the point is, I am not even seeing the USB-hub with lsusb so even if connected devices were to get suspended, it should be visible to the system that there is USB-hub in the system.

Yep, connected :smiley:

Mm those chipset i recommended are not in pci available, only pcie as far as i could find

Maybe you could use one of these

But only half height cards will fit

Yes …you are right. :wink:

I’m going to try the card in another PC and if it doesn’t work, I’m going to return it. Too bad.

Thanks @ricklinux and @fred666 for the help so far!