Connecting XBOX One Controller to TX2 via Bluetooth

  • TX2

While connecting an XBOX One controller to your stock TX2 Ubuntu via Bluetooth is rather straightforward, there is something you need to tweak to make it work flawlessly.

The major issue regarding connecting a XBOX One controller to a stock Ubuntu is that the XBOX One controller does not support Enhanced Re-Transmission Mode (ERTM) while most Ubuntu systems have this mode enabled by default. This causes errors when trying to pair a XBOX One controller to the systems.

[Step 1] Disable Enhanced Re-Transmission Mode (ERTM)

Before paring a XBOX One controller, the enhanced retransmission mode must be disabled. Use the following commands to do so:

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

# to verify the value, it should print 1
cat /sys/module/bluetooth/parameters/disable_ertm

However, you will have to run this command every time you boot. To avoid the hassle, let’s create a configuration file and make it effective upon booting up:

sudo vim /etc/modprobe.d/bluetooth.conf

Add the following line in the file:

options bluetooth disable_ertm=Y

Now that every time you boot, ERTM should be disabled automatically.

[Step 2] Pair XBOX One Controller

Follow the usual steps to pair your XBOX One via Bluetooth.

[Step 3] Find Device Path

Typically your controller, once paired (or plugged in if wired), is assigned a device path as “/dev/input/js0”. It may also be under a different path if you have different configurations. To check the exact device path/name, see what pops up:

ls /dev/input | grep js

[Step 4] Test Input

A easy way to test if your controller works is by using the “jstest” tool. Install and run the test with the device path you found from last step:

sudo apt install jstest-gtk
jstest /dev/input/js0

Now you should be able to see changes in values on your screen when touching your controller.



Was this post helpful?

Leave a Reply

Your email address will not be published.