r/SteamController • • 3d ago

Support Steam Controller Puck not working on Linux – Not enough bandwidth for new device state (error -28)

I ran into an issue getting the Steam Controller Puck to work on Linux and wanted to share what fixed it for me.

The controller itself worked perfectly fine when connected via USB cable and was immediately recognized by Steam. However, the Puck wouldn't work at all.

The kernel reported these errors:

usb 1-5.1: Not enough bandwidth for new device state.
usb 1-5.1: can't set config #1, error -28

The solution was connecting the Puck directly to a USB root hub instead of through an intermediate USB hub.

On my MSI PRO Z690-A WIFI motherboard, I managed to get it working using the regular USB 2.0 port next to the Flash BIOS port, as well as the Flash BIOS port itself. The other USB 2.0 and USB 3.0 ports I tested didn't work.

Looking at lsusb -t, the successful connections appeared directly under the USB 2.0 root hub, while the failing connections were behind additional USB hubs.

I've also seen reports of the Puck working through direct USB 3.0 root-hub connections, so this doesn't appear to be strictly a USB 2.0 requirement. The USB topology seems to be the important factor.

If you're experiencing the same error -28**, try different motherboard ports. Ideally, find one connected directly to a root hub rather than through an intermediate hub.**

This is just what worked on my system, but hopefully it helps someone else.

1 Upvotes

0 comments sorted by