Classicamiga Forum Retro Edition
Thread: USB 3 Issues in Linux
Stephen Coates 18:55 29th June 2023
My Shuttle PC has standard USB 2 ports, some blue USB 3 ports on the front, and some red USB 3.1 ports on the back.

The 3.1 ports seem to work fine, but the 3.0 ports don't. At least when running linux. If I plug something like a mouse in, it keeps randomly switching on and off. If I plug in a USB flash drive (or card reader), again, it keeps switching on and off causing data transfer to corrupt. This happens in both Slackware 14.2 and Debian 12, and a few different kernel versions.

I'm doubtful its a hardware fault though, as the same USB 3.0 ports work fine in Windows 10. I have recently set the machine up with Windows 10 Enterprise LTSC and and previously tried 10 Pro and all the USB ports seem to work fine.

Anyone got any ideas?
[Reply]
Harrison 00:49 30th June 2023
If the ports are working fine in Windows you can eule it any hardware issues, so it's probably either a Linux USB driver issue or maybe a Linux power management issues switching off power to those ports.

Have you tried the command "usb-devices"? This should give you a detailed list of the USB hardware controllers, ports and what's connected, so you can see what Linux can see.

With power management you can stop the OS managing and powering down the ports. In Ubuntu the command would be something like "udisksctl power-off -b /dev/sdX", but this might be different depending on the version of Linux and the build.

My other thought is how the motherboard has the USB3 ports setup might just not work with Linux properly. On modern motherboards it is different to how older PC mobos worked. So depending on the age it will be different. On older mobos you would have north and south bridge controllers and seperate usb controllers. Possibly a different one for each version of USB port. But on current mobos all data is sent through the motherboard PCI -E lanes and these are shared between everything including ram, PCIe slots, USB, SATA, M2 slots etc. That's why on moat motherboards now if you utilise some sockets other are diabled, such as adding a secong M2 SSD and disable some USB ports, or on some filling 4 ram slots can disable one of the M2 sockets.

If your morherboard is still using seperate controllers for each type of usb ports then it might be that Linux isn't using the right driver for those specific ports, or the motherboard is setting them up in Windows in a way that Linux can't do. The only way to really know is if you can find information on your specific motherboard working with Linux.
[Reply]
Tags:Array
Up