Xbox wireless dongle not working after waking from sleep.

Since yesterday's update to 2.3.0, when I wake my computer up from sleep my xbox controller that is connected wirelessly through the official microsoft 2.4ghz dongle becomes unresponsive in desktop or in game mode. I've never had this issue previously. I can get the controller to work again by either fully restarting the PC, or by unplugging the dongle and reconnecting it. I am running the newest version of bazzite-deck, on an all AMD HTPC system. (7600, 7800XT). I forgot to mention, but I'm happy to provide logs or do some troubleshooting steps if it will help. I just don't know which ones.
Solution:
Should be fixed in the next release. https://github.com/ublue-os/akmods/issues/136 . Marking this thread as answered.
GitHub
Update xone from upstream · Issue #136 · ublue-os/akmods
Describe the package Please merge upstream fixes released recently from https://github.com/medusalix/xone or specifically this commit to fix an issue with the wireless xbox 2.4ghz dongles locking u...
Jump to solution
10 Replies
©TriMoon™
©TriMoon™5mo ago
Maybe logs specific to the device, when you unplug and plug-back, would help everyone able to assist to think of what is missing or needing to make it work... You can try to open a teminal window and issue the below command, then unplug and plug-back the device with a delay and copy the relative parts here...
journalctl --follow
journalctl --follow
No need to sleep/resume for this (yet). That way it might shed a light upon what is started when the device gets plugged in, to see if that needs a restart at resume time.
Rumble
Rumble5mo ago
Thank you! Here it is
Feb 27 09:46:02 bazzite kernel: usb 1-10: USB disconnect, device number 4
Feb 27 09:46:08 bazzite kernel: usb 1-10: new high-speed USB device number 6 using xhci_hcd
Feb 27 09:46:08 bazzite kernel: usb 1-10: New USB device found, idVendor=045e, idProduct=02e6, bcdDevice= 1.00
Feb 27 09:46:08 bazzite kernel: usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 27 09:46:08 bazzite kernel: usb 1-10: Product: XBOX ACC
Feb 27 09:46:08 bazzite kernel: usb 1-10: Manufacturer: Microsoft Inc.
Feb 27 09:46:08 bazzite kernel: usb 1-10: SerialNumber: 320566
Feb 27 09:46:08 bazzite kernel: usb 1-10: reset high-speed USB device number 6 using xhci_hcd
Feb 27 09:46:10 bazzite mtp-probe[7936]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-10"
Feb 27 09:46:10 bazzite mtp-probe[7936]: bus: 1, device: 6 was not an MTP device
Feb 27 09:46:10 bazzite mtp-probe[7952]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-10"
Feb 27 09:46:10 bazzite mtp-probe[7952]: bus: 1, device: 6 was not an MTP device
Feb 27 09:46:02 bazzite kernel: usb 1-10: USB disconnect, device number 4
Feb 27 09:46:08 bazzite kernel: usb 1-10: new high-speed USB device number 6 using xhci_hcd
Feb 27 09:46:08 bazzite kernel: usb 1-10: New USB device found, idVendor=045e, idProduct=02e6, bcdDevice= 1.00
Feb 27 09:46:08 bazzite kernel: usb 1-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Feb 27 09:46:08 bazzite kernel: usb 1-10: Product: XBOX ACC
Feb 27 09:46:08 bazzite kernel: usb 1-10: Manufacturer: Microsoft Inc.
Feb 27 09:46:08 bazzite kernel: usb 1-10: SerialNumber: 320566
Feb 27 09:46:08 bazzite kernel: usb 1-10: reset high-speed USB device number 6 using xhci_hcd
Feb 27 09:46:10 bazzite mtp-probe[7936]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-10"
Feb 27 09:46:10 bazzite mtp-probe[7936]: bus: 1, device: 6 was not an MTP device
Feb 27 09:46:10 bazzite mtp-probe[7952]: checking bus 1, device 6: "/sys/devices/pci0000:00/0000:00:02.1/0000:05:00.0/0000:06:0c.0/0000:10:00.0/usb1/1-10"
Feb 27 09:46:10 bazzite mtp-probe[7952]: bus: 1, device: 6 was not an MTP device
©TriMoon™
©TriMoon™5mo ago
Looks like we are missing usbreset from the usbutils package, https://github.com/gregkh/usbutils, which is needed to reset the USB device on resume from sleep... You would have been able to use something similar to what is posted at https://askubuntu.com/questions/1454673/ubuntu-22-04-1-how-to-automatically-reset-usb-connections-upon-wake:
# /etc/systemd/system/reset-usb-on-resume@.service
[Unit]
Description="Reset a USB device after system resume"
After=suspend.target

[Service]
Type=simple
ExecStart=/usr/bin/usbreset %i

[Install]
WantedBy=suspend.target
# /etc/systemd/system/reset-usb-on-resume@.service
[Unit]
Description="Reset a USB device after system resume"
After=suspend.target

[Service]
Type=simple
ExecStart=/usr/bin/usbreset %i

[Install]
WantedBy=suspend.target
- Inspired by: - https://wiki.archlinux.org/title/Power_management#Suspend/resume_service_files - https://unix.stackexchange.com/a/620151 , and then do:
sudo systemctl enable $(systemd-escape --template=reset-usb-on-resume@.service 045e:02e6)
sudo systemctl enable $(systemd-escape --template=reset-usb-on-resume@.service 045e:02e6)
- The 045e:02e6 is taken from your output, which are the vendor/device ID's your device seems to use. - The above command will enable reset-usb-on-resume@045e:02e6.service .
Ask Ubuntu
Ubuntu 22.04.1: How to automatically reset USB connections upon wake?
I have a Lenovo ThinkPad E15 that came with Windows 10 installed. I added Ubuntu 22.04.1 as an option (dual-boot). Whenever the laptop sleeps (goes into a "suspend" state) and then later ...
Unix & Linux Stack Exchange
Stop systemd service before suspend, start again after resume
What I want I have a systemd service that I would like to have stopped before suspend/shutdown, and start up again after resume. System details System details below. $ lsb_release -dc Description:
©TriMoon™
©TriMoon™5mo ago
@Kyle Gospo Maybe you can add that usbreset to bazzite?
Rumble
Rumble5mo ago
wow thanks for this! So right now I can't try it unless usbreset gets added if I understand correctly?
©TriMoon™
©TriMoon™5mo ago
Well uhmm, you could compile usutils self and try ofcourse i guess 🤷‍♀️ But i think you will need to do the compile on a different machine, because bazzite doesn't have the needed parts for compiling stuff like that i THINK...
Rumble
Rumble5mo ago
Actually I was looking into this morning and it looks like this might have been fixed on the main xone repo 3 days ago. https://github.com/medusalix/xone/commit/05b7a2aa2eb416ebc031c5ec81fdb593e18fbd95 I know bazzite uses some custom fork of xone, is it possible to pull in this latest commit?
GitHub
Fix dongle suspend deadlock · medusalix/xone@05b7a2a
Flushing the event_wq when suspending the dongle can conflict with usb_autopm_get_interface in the event handler, leading to a deadlock.
1/4 Life
1/4 Life5mo ago
Yep, open an issue in ublue-os/akmods and I'll look at it today Ty!
Rumble
Rumble5mo ago
Done! Appreciate it
Solution
Rumble
Rumble5mo ago
Should be fixed in the next release. https://github.com/ublue-os/akmods/issues/136 . Marking this thread as answered.
GitHub
Update xone from upstream · Issue #136 · ublue-os/akmods
Describe the package Please merge upstream fixes released recently from https://github.com/medusalix/xone or specifically this commit to fix an issue with the wireless xbox 2.4ghz dongles locking u...