By: Ammar <ammar.nanjiani@gmail.com>
fix(steammachine): keep the Bluetooth radio out of USB autosuspend An external controller (Switch Pro Controller) dropped and re-paired every few minutes. The kernel log showed the link being torn down mid-traffic: Bluetooth: hci0: ACL packet for unknown connection handle 2 nintendo 0005:057E:2009.00XX: joycon_enforce_subcmd_rate: exceeded max attempts Cause: the Bluetooth radio is an integrated Valve USB device (28de:1401) and btusb enables USB autosuspend by default. The adapter really does sleep — one boot showed runtime_suspended_time 3,238,298 ms against runtime_active_time 4,053,263 ms. Waking it drops the radio link. The Steam Controller's own puck arrives with power/control already set to "on", which is why that controller was never affected. No udev rule sets that, so the protection is incidental; pin the Bluetooth radio explicitly rather than depend on the same accident. Verified at runtime before making it declarative: writing "on" to /sys/bus/usb/devices/1-5/power/control stopped the drops. Scoped to idProduct 1401 so it cannot affect the Steam Controller puck or any other Valve device.