atar-axis / xpadneo

Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S)
https://atar-axis.github.io/xpadneo/
GNU General Public License v3.0
1.92k stars 111 forks source link

xbox elite series 2 stopped working on steam my steel controller works as expected #317

Closed bjb1959 closed 2 years ago

bjb1959 commented 2 years ago

Version of xpadneo

v0.9-88-g2900363!

Controller Model

Xbox Elite Series 2

Connection mode

Bluetooth connection

Installed Software

Steam Input (enabled by default via Steam Desktop client)

Severity / Impact

It does not work at all It used to work

Describe the Bug

It was working but was a bit glitchy so I tried installing Xow to see if it would work better with the xbox dongle. That is when it broke. even after uninstalling xow and rplacing the xbox dongle with my regular dongle. uninstalling and reinstalling xpadneo, uninstalling and reinstalling steam it still does not work. I am able to connect to the controller on bluetooth and steam sees it but it no longer functions. nothing happens when the buttons are pressed or the sticks are moved.

Steps to Reproduce

see above description

Expected Behavior

Want it to work as it did before installing xow

Screenshots / GIFs / Videos

System Information

Linux bartb1959-OMEN-by-HP-Desktop-PC-880-p0xx 5.10.0-051000-generic #202012132330 SMP Sun Dec 13 23:33:36 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


<!-- Paste the output below the line prepended with # -->
```console
xxd: /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor: No such file or directory

Controller and Bluetooth Information

[ 751.936215] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 751.936219] Bluetooth: HIDP socket layer initialized [ 753.054153] hid-generic 0005:045E:0B05.0009: unknown main item tag 0x0 [ 753.054318] input: Xbox Elite Wireless Controller as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:9/0005:045E:0B05.0009/input/input36 [ 753.054462] input: Xbox Elite Wireless Controller Consumer Control as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:9/0005:045E:0B05.0009/input/input37 [ 753.054540] input: Xbox Elite Wireless Controller Keyboard as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:9/0005:045E:0B05.0009/input/input39 [ 753.054629] hid-generic 0005:045E:0B05.0009: input,hidraw8: BLUETOOTH HID v9.03 Gamepad [Xbox Elite Wireless Controller] on 2c:6f:c9:1d:25:de [ 753.278376] loaded hid-xpadneo v0.9-88-g2900363 [ 753.278397] xpadneo 0005:045E:0B05.0009: pretending XB1S Windows wireless mode (changed PID from 0x0B05 to 0x02E0) [ 753.278399] xpadneo 0005:045E:0B05.0009: report descriptor size: 1225 bytes [ 753.278400] xpadneo 0005:045E:0B05.0009: fixing up report descriptor size [ 753.278401] xpadneo 0005:045E:0B05.0009: fixing up Rx axis [ 753.278401] xpadneo 0005:045E:0B05.0009: fixing up Ry axis [ 753.278402] xpadneo 0005:045E:0B05.0009: fixing up Z axis [ 753.278402] xpadneo 0005:045E:0B05.0009: fixing up Rz axis [ 753.278403] xpadneo 0005:045E:0B05.0009: fixing up button mapping [ 753.278974] xpadneo 0005:045E:0B05.0009: battery detected [ 753.278987] xpadneo 0005:045E:0B05.0009: gamepad detected [ 753.278988] xpadneo 0005:045E:0B05.0009: enabling compliance with Linux Gamepad Specification [ 753.279028] input: Xbox Elite Wireless Controller as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:9/0005:045E:0B05.0009/input/input40 [ 753.279107] xpadneo 0005:045E:0B05.0009: consumer control detected [ 753.279129] input: Xbox Elite Wireless Controller Consumer Control as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:9/0005:045E:0B05.0009/input/input41 [ 753.279169] xpadneo 0005:045E:0B05.0009: mapping profiles detected [ 753.279171] xpadneo 0005:045E:0B05.0009: keyboard detected [ 753.279193] input: Xbox Elite Wireless Controller Keyboard as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:9/0005:045E:0B05.0009/input/input43 [ 753.279261] xpadneo 0005:045E:0B05.0009: input,hidraw8: BLUETOOTH HID v9.03 Gamepad [Xbox Elite Wireless Controller] on 2c:6f:c9:1d:25:de [ 753.279263] xpadneo 0005:045E:0B05.0009: controller quirks: 0x00000018 [ 753.279264] xpadneo xpadneo_welcome_rumble start [ 754.261958] xpadneo xpadneo_welcome_rumble took 984ms [ 754.261981] xpadneo 0005:045E:0B05.0009: Xbox Elite Wireless Controller [f4:6a:d7:07:04:c9] connected [ 1036.447872] xpadneo 0005:045E:0B05.000A: pretending XB1S Windows wireless mode (changed PID from 0x0B05 to 0x02E0) [ 1036.447876] xpadneo 0005:045E:0B05.000A: report descriptor size: 1225 bytes [ 1036.447877] xpadneo 0005:045E:0B05.000A: fixing up report descriptor size [ 1036.447878] xpadneo 0005:045E:0B05.000A: fixing up Rx axis [ 1036.447878] xpadneo 0005:045E:0B05.000A: fixing up Ry axis [ 1036.447879] xpadneo 0005:045E:0B05.000A: fixing up Z axis [ 1036.447880] xpadneo 0005:045E:0B05.000A: fixing up Rz axis [ 1036.447880] xpadneo 0005:045E:0B05.000A: fixing up button mapping [ 1036.448471] xpadneo 0005:045E:0B05.000A: battery detected [ 1036.448485] xpadneo 0005:045E:0B05.000A: gamepad detected [ 1036.448486] xpadneo 0005:045E:0B05.000A: enabling compliance with Linux Gamepad Specification [ 1036.448529] input: Xbox Elite Wireless Controller as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:10/0005:045E:0B05.000A/input/input44 [ 1036.448623] xpadneo 0005:045E:0B05.000A: consumer control detected [ 1036.448652] input: Xbox Elite Wireless Controller Consumer Control as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:10/0005:045E:0B05.000A/input/input45 [ 1036.448687] xpadneo 0005:045E:0B05.000A: mapping profiles detected [ 1036.448690] xpadneo 0005:045E:0B05.000A: keyboard detected [ 1036.448718] input: Xbox Elite Wireless Controller Keyboard as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:10/0005:045E:0B05.000A/input/input47 [ 1036.448789] xpadneo 0005:045E:0B05.000A: input,hidraw8: BLUETOOTH HID v9.03 Gamepad [Xbox Elite Wireless Controller] on 2c:6f:c9:1d:25:de [ 1036.448791] xpadneo 0005:045E:0B05.000A: controller quirks: 0x00000018 [ 1036.448792] xpadneo xpadneo_welcome_rumble start [ 1037.431493] xpadneo xpadneo_welcome_rumble took 980ms [ 1037.431500] xpadneo 0005:045E:0B05.000A: Xbox Elite Wireless Controller [f4:6a:d7:07:04:c9] connected [ 2246.688986] xpadneo 0005:045E:0B05.000B: pretending XB1S Windows wireless mode (changed PID from 0x0B05 to 0x02E0) [ 2246.688990] xpadneo 0005:045E:0B05.000B: report descriptor size: 1225 bytes [ 2246.688991] xpadneo 0005:045E:0B05.000B: fixing up report descriptor size [ 2246.688992] xpadneo 0005:045E:0B05.000B: fixing up Rx axis [ 2246.688993] xpadneo 0005:045E:0B05.000B: fixing up Ry axis [ 2246.688994] xpadneo 0005:045E:0B05.000B: fixing up Z axis [ 2246.688994] xpadneo 0005:045E:0B05.000B: fixing up Rz axis [ 2246.688995] xpadneo 0005:045E:0B05.000B: fixing up button mapping [ 2246.689554] xpadneo 0005:045E:0B05.000B: battery detected [ 2246.689567] xpadneo 0005:045E:0B05.000B: gamepad detected [ 2246.689568] xpadneo 0005:045E:0B05.000B: enabling compliance with Linux Gamepad Specification [ 2246.689611] input: Xbox Elite Wireless Controller as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:11/0005:045E:0B05.000B/input/input48 [ 2246.689705] xpadneo 0005:045E:0B05.000B: consumer control detected [ 2246.689730] input: Xbox Elite Wireless Controller Consumer Control as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:11/0005:045E:0B05.000B/input/input49 [ 2246.689765] xpadneo 0005:045E:0B05.000B: mapping profiles detected [ 2246.689767] xpadneo 0005:045E:0B05.000B: keyboard detected [ 2246.689789] input: Xbox Elite Wireless Controller Keyboard as /devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:11/0005:045E:0B05.000B/input/input51 [ 2246.689860] xpadneo 0005:045E:0B05.000B: input,hidraw8: BLUETOOTH HID v9.03 Gamepad [Xbox Elite Wireless Controller] on 2c:6f:c9:1d:25:de [ 2246.689863] xpadneo 0005:045E:0B05.000B: controller quirks: 0x00000018 [ 2246.689864] xpadneo xpadneo_welcome_rumble start [ 2247.672518] xpadneo xpadneo_welcome_rumble took 984ms [ 2247.672524] xpadneo 0005:045E:0B05.000B: Xbox Elite Wireless Controller [f4:6a:d7:07:04:c9] connected

Device 003: ID 0bda:b00b Realtek Semiconductor Corp. Realtek Bluetooth 4.2 Adapter

Bus 001 Device 003: ID 0bda:b00b Realtek Semiconductor Corp. Realtek Bluetooth 4.2 Adapter Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 224 Wireless bDeviceSubClass 1 Radio Frequency bDeviceProtocol 1 Bluetooth bMaxPacketSize0 64 idVendor 0x0bda Realtek Semiconductor Corp. idProduct 0xb00b Realtek Bluetooth 4.2 Adapter bcdDevice 1.10 iManufacturer 1 Realtek iProduct 2 Bluetooth Radio iSerial 3 00e04c000001 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x00b1 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xe0 Self Powered Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0000 1x 0 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0000 1x 0 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0009 1x 9 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0009 1x 9 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0011 1x 17 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0011 1x 17 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0019 1x 25 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0019 1x 25 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous can't get debug descriptor: Resource temporarily unavailable Synch Type None Usage Type Data wMaxPacketSize 0x0021 1x 33 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0021 1x 33 bytes bInterval 1 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 2 bInterfaceClass 224 Wireless bInterfaceSubClass 1 Radio Frequency bInterfaceProtocol 1 Bluetooth iInterface 4 Bluetooth Radio Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0031 1x 49 bytes bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0031 1x 49 bytes bInterval 1 Device Status: 0x0001 Self Powered

Additional Context

kakra commented 2 years ago

I see you cross-posted here: https://github.com/medusalix/xow/issues/192

xow and xpadneo are completely separate and should not interfere. xow uses the Xbox dongle, xpadneo is made for Bluetooth dongles. xow presents devices on a virtual input bus, xpadneo presents devices on the Bluetooth HID bus, so even drivers or configuration won't interfere. As far as both software components are concerned, they see your controller as completely separate devices.

First things first:

You've probably put the controller back into Bluetooth connect mode as we see it on bus 0x0005:

[ 1036.448789] xpadneo 0005:045E:0B05.000A: input,hidraw8: BLUETOOTH HID v9.03 Gamepad [Xbox Elite Wireless Controller] on 2c:6f:c9:1d:25:de
[ 1036.448791] xpadneo 0005:045E:0B05.000A: controller quirks: 0x00000018
[ 1036.448792] xpadneo xpadneo_welcome_rumble start
[ 1037.431493] xpadneo xpadneo_welcome_rumble took 980ms

Did the controller actually rumble on connect?

If it did, the connection was established and the driver can communicate. Run evtest next to see if the device is shown (it probably shows three device modes), select the gamepad device, then create some input data to see if it shows up on the screen.

If it did not rumble, or doesn't show up in evtest, remove the controller from your Bluetooth applet, then pair it again.

bjb1959 commented 2 years ago

Yes, it did rumble but I have an update and will close the ticket. I kept messing around and uninstalled xpadneo again and installed the xboxdrv included with Ubuntu 21.10 and rebooted but the controller wouldn't connect using that or the default xpad kernel driver so I uninstalled xboxdrv using synaptic and reinstalled xpadneo and rebooted one last time and now it works. Don't ask me why but there you go.

kakra commented 2 years ago

There was probably some conflicting udev rule which was cleared by install xboxdrv and uninstalling it again. Or there was some left over from some old xpadneo version that was cleaned up.

bjb1959 commented 2 years ago

I was a bit premature. it isn't working. it works with the usb plugged in but not wirelessly so it is still an issue.

kakra commented 2 years ago

Please remove the controller from your Bluetooth pairings, then stop the bluetooth service and clear the contents of /var/lib/bluetooth/. Reboot. Pair the controller again.

BTW: My XBE2 model isn't working reliably with Bluetooth currently for me, too. So there's probably some issue in bluez.

bjb1959 commented 2 years ago

I will give that a shot

bjb1959 commented 2 years ago

That got the wireless working but now I am back to the original issues that I was hoping using xow and the microsoft dongle would fix. the stick gets stuck when running a character or moving a character and won't stop. the character keeps running and the only way to stop it is to turn the controller off and then back on which is a non-starter and more than just an inconvenience. USB mode works perfectly but not wireless mode. Not sure if it is specific to the xbox elite series 2 controllers or not but using wireless is not an option, even with your driver.

kakra commented 2 years ago

This is the problem I'm seeing, too: The controller stops sending input, sometimes just for brief periods, sometimes forever until you restart it. It may help turning rumble off. We should probably close this as the pairing issue itself was resolved. You already opened another report for the intermittent input loss problems.

no-response[bot] commented 2 years ago

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.