Cannot connect XBOX 360 wireless controller on Ubuntu 16.04 ( xboxdrv cannot found controller )

Hello everyone I am trying to connect Xbox 360 wireless controller via Bluetooth on Ubuntu 16.04.

First of all, I made sure that my pad was detected and paired by the system:

img

But these colored bars disappear and appear again I don't know why... Then I found a tutorial on how to connect controller to Ubuntu:Link

But I can't start these services at all: sudo systemctl enable xboxdrv.service sudo systemctl start xboxdrv.service

When I enter sudo systemctl enable xboxdrv.service I got an error:

"Failed to execute operation: File exists"

and "Failed to start xboxdrv.service: Unit xboxdrv.service not found. " when I enter sudo systemctl start xboxdrv.service

Running xboxdrv of course produces an error:

"-- [ ERROR ] ------------------------------------------------------ No Xbox or Xbox360 controller found "

I am asking for help, I completely do not understand what the problem is...

3

1 Answer

First off, there are no Bluetooth Xbox 360 gamepads. Probably you have an "Xbox Wireless Controller", also known as an "Xbox One S controller".

Second, you don't need an XInput driver (like xboxdrv or xpad) to use Xbox One controllers over Bluetooth. When connected over Bluetooth, they are treated as Bluetooth HID devices and do not require a driver. So the "No Xbox or Xbox360 controller found" error is probably correct and not an issue for getting this device to work over Bluetooth.

Third, there's an issue with the BlueZ Bluetooth stack (which is used by many Linux distros, including Ubuntu) that causes Xbox One controllers to not stay connected. The device will pair successfully and seem to connect, but immediately disconnects. As a workaround, you can set the disable_ertm option to 1 which will allow the device to stay connected.

This causes issues that exactly match what you describe with the disappearing signal strength bars so it's likely that this fix will work for you. (Note: you'll need to do this after each reboot, so put it in a startup script if it works.)

sudo echo 1 > /sys/module/bluetooth/parameters/disable_ertm

Fourth, as mentioned in a comment above there is a firmware versioning issue. This was more of a problem a few years ago but may still bite you on 16.04. Basically, Microsoft decided to update the controller's firmware and changed the Bluetooth HID mode to make it more compatible with Android devices while leaving the USB mode unchanged. When they did that, they essentially made it so the controller, when connected over Bluetooth, looked like a "new" device that wasn't recognized by any drivers or games. It didn't start working again until developers updated their apps with the info for the "new" device. Getting new devices to be supported properly is always a challenge, but in this case it was particularly bad because so many people already had the device and it was broken intentionally. At this point it's less of an issue because most apps support both firmware revisions.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like