USB Wake from Suspend — Driver or Device Responsibility?
I’ve tried with two devices to achieve wake from suspend from a wireless controller and getting differing results — mirroring the community census.
Xbox Wireless Adapter + Xbox Elite: Connects via xone driver as a vendor specific device, lsusb shows the device as active even when controller is powered off. Wake file IS available in the usb device directory. Controller doesn’t seem to connect to the dongle when in suspend state nor does it wake. Q #1: I’m assuming this is a hardware limitation, e.g. the dongle does not allow pairing in suspend state? 8bitdo Wireless Adapter + Xbox Elite: Connects via xpad driver in xinput mode, lsusb only shows device when controller powered on. Wake file (among others) not available in the usb device directory. Controller does pair with the dongle in suspend but does not wake. I’ve heard people have got some level of success with dinput. Q #2: This looks more like a driver issue, is it the driver that’s responsible for enabling wake functionality, I.e. wake file available, and if so is this then a limitation of the xpad driver (and by extension xinput)? Also note that the USB controller device’s wake file is set to disabled. I haven’t tried flipping this yet because my 2.4g wireless mouse and keyboard DO wake from suspend and they’re plugged into the same controller, though I’m aware of people having success by trying this.
Xbox Wireless Adapter + Xbox Elite: Connects via xone driver as a vendor specific device, lsusb shows the device as active even when controller is powered off. Wake file IS available in the usb device directory. Controller doesn’t seem to connect to the dongle when in suspend state nor does it wake. Q #1: I’m assuming this is a hardware limitation, e.g. the dongle does not allow pairing in suspend state? 8bitdo Wireless Adapter + Xbox Elite: Connects via xpad driver in xinput mode, lsusb only shows device when controller powered on. Wake file (among others) not available in the usb device directory. Controller does pair with the dongle in suspend but does not wake. I’ve heard people have got some level of success with dinput. Q #2: This looks more like a driver issue, is it the driver that’s responsible for enabling wake functionality, I.e. wake file available, and if so is this then a limitation of the xpad driver (and by extension xinput)? Also note that the USB controller device’s wake file is set to disabled. I haven’t tried flipping this yet because my 2.4g wireless mouse and keyboard DO wake from suspend and they’re plugged into the same controller, though I’m aware of people having success by trying this.
Solution:Jump to solution
Update for anyone with the same issue: The Xbox dongle option magically worked for me after reinstalling Bazzite. That said, I also did a full system update before testing so Its either totally mysterious or some update fixed it.
Note: For me the Xbox controller doesn’t actually function in game scope after waking up. I think there may be a workaround for that (reset usb on exit suspend)....
1 Reply
Solution
Update for anyone with the same issue: The Xbox dongle option magically worked for me after reinstalling Bazzite. That said, I also did a full system update before testing so Its either totally mysterious or some update fixed it.
Note: For me the Xbox controller doesn’t actually function in game scope after waking up. I think there may be a workaround for that (reset usb on exit suspend).