Jump to content
The_Joker_07

XBox One Controller Connectivity Issue

Recommended Posts

Hi, I'm new in this forum. So, I was trying to connect my Xbox One controller to my Raspberry Pi 3b+ running on Raspbian (stretch). I was following this tutorial here: https://pimylifeup.com/xbox-controllers-raspberry-pi/

So I was able to update all the packages by running the following 2 commands, easy:

sudo apt-get update
sudo apt-get upgrade

I was able to install the xboxdrv without any issue. then I installed the joystick toolset. No issues so far. Then I connect my Xbox One controller via USB cable and it lights up and vibrates to indicate that it has connected successfully. I typed lsusb to make sure the controller is detected, which it is. But then when I type the following command: 

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

I get this:

Reading package list ... Done

E: Unsupported file /dev/input/js0 given on command line.

So, I ignore it for the moment and move on to the next step and I type: 

 

sudo xboxdrv --detach-kernel-driver --silent --mouse

And I get this error:

-- [ ERROR ] ----------------------------------------------------------------

No Xbox or Xbox 360 Controller found.

I tried to disconnect and reconnect my controller, plugged it into a different USB port and rebooted my Raspberry Pi. I also made sure the firmware of the controller is updated to the latest version. But NO luck at all. I'm getting really frustrated at this point and about to give up. Does Raspberry Pi even support XBox One controller or just Xbox 360 controller? I also tried to connect my Xbox One controller via Bluetooth and I got the following error message:

"Paired successfully, but this device has no services which can be used with Raspberry Pi". Please help out this noob here. Any input would be appreciated. Thanks.

Share this post


Link to post
Share on other sites

Hi @The_Joker_07,

For starters there was a mistake with the following command in the tutorial, i have now gone and corrected it.

The following command

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

Should actually be.

sudo jstest /dev/input/js0


Let me know if that lets you interact with your Xbox controller, I will try and find time to attempt this with my own Xbox controller to see if i can replicate the issues that you are having.

Before attempting to pair the xbox one controller over Bluetooth have you tried running the following command?
 

sudo bash -c echo 1 > /sys/module/bluetooth/parameters/disable_ertm

Cheers,
Emmet 

  • Thanks 1

Share this post


Link to post
Share on other sites

Dear @Emmet,

Thanks for the prompt response.  Here's what I got:

sudo jstest /dev/input/js0

works like a charm. I do see a bunch of numbers and they respond to button press.  I tried all the buttons and got a response. :)

However,  when I enter:

sudo bash -c echo 1 > /sys/module/bluetooth/parameters/disable_ertm

I get this:

bash: echo 1 > /sys/module/bluetooth/parameters/disable_ertm: Permission denied.

So my friend and I were trying to troubleshoot this early in the morning. After digging around some other forums, it turned out you have to use double quotes or single quotes. So we used this instead.

sudo bash -c "echo 1 > /sys/module/bluetooth/parameters/disable_ertm"

Just to make sure whether it worked or not I entered,

 

cat /sys/module/bluetooth/parameters/disable_ertm

and I got this: Y

By the way, we also found out that this change is not permanent. Every time I reboot my pi, I had to run sudo bash -c "echo 1 > /sys/module/bluetooth/parameters/disable_ertm" to disable ertm.

Last but not least, I still get the same error "No Xbox or Xbox 360 Controller found"  when I enter:

sudo xboxdrv --detach-kernel-driver --silent --mouse

I get the error regardless whether I connect the Xbox one controller via usb cable or bluetooth. I have attached some screenshots.

01. USB Connection.jpg

02. Successfull Bluetooth Pairing.jpg

03. After Bluetooth pairing.jpg

Share this post


Link to post
Share on other sites

Hi @Emmet ,

I have an update. So even though my Xbox One controller connects to the PI and responds to button press, the xboxdrv doesn't seem to recognize the controller. So I decided to hook up my Xbox 360 controller with the wireless receiver and now xboxdrv recognizes the controller and I could use the controller as a mouse. So, does that mean Xbox one controller is not supported?  

Share this post


Link to post
Share on other sites

Hello

Thanks for the guide Gus if you are reading this.

I am using xbox one wireless controllers with bluetooth.

I also struggled a long time with the sudo bash command due to the lack of quotationmarks. For noobs like me it is not granted that quotations are needed so it would be great for other people to have it included in the guide. The right command is

sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'

Else it worked quite well except i believe it is mandatory to do the calibration of the buttons twice to get it right.

Have a nice day

Share this post


Link to post
Share on other sites

Hey @AndersNilsen,

Were you able to use your XB1 wireless controller as a mouse? did the following command work:

sudo xboxdrv --detach-kernel-driver --silent --mouse

I wasn't able to use my XB 1 controller as a drive since Xboxes doesn't recognize XB1 controller no matter how I connect it (Bluetooth or Wired).

I was able to use my Xbox 360 controller though.

Share this post


Link to post
Share on other sites

Hi @The_Joker_07

Tried it just now, and it did not work for xbox one controller on bluetooth but it worked for my xbox 360controller with wireless dongle. Same as your experience..

By the way. Did you implempent the disable_ertm in the startup file?

 

Share this post


Link to post
Share on other sites

I find the 360 controller easier to connect, more stable and more responsive in both menus and games.

So I totally agree with you @The_Joker_07 its better to stick with the 360 controller. I bought two new xbox one controllers because one of my older 360 controllers just stopped working. The new controllers feel very good and it is a pity that they dont work that well with the retropie. I could not get the xbox one wireless dongle to work either. I thought it would be better with the dongle than bluetooth?! After what I have read elsewhere it doesn't look like it is possible.

I will try to fiddle with this a bit more and also incorporate connection to the controllers when booting.

I must just say that when I run the JStest the xbox one controllers seem very responsive but in the menus they are a little off and on.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×