Xbox360 wireless controllers - receiver connectivity issues
-
I'm having trouble connecting 4 wireless xbox 360 controllers to the wireless receiver within retropie 3.8 updated to the latest version using the update script. My problem seems to start when trying to use xboxdrv, as all controllers connect to my receiver before turning this on. I've followed the automatic and manual instructions from the wiki, but get mixed results.
If I turn on my controllers and power on / reboot the pi one controller might connect and the other continue to flash or get the same led number as the connected one. In some cases I've had it where none will connect at all and multiple reboots are required to get one to connect.
I've tried blacklisting xpad to see if that interfering somehow, but it doesn't seemed to have helped. I must be missing something obvious, but I just can't figure it out and any help would be must appreciated, its driving me bonkers! :-)
I know it does work, as I've had 4 pads working on a previous version of retropie. It was a little while ago and I'm unsure of the version and pad driver I was using.
-
Can you post the contents of your
/etc/rc.local
? -
Hey mediamogul. I've got it working now, but I've gone back to retropie 3.7 img for the xboxdrv and controllers it to work correctly. Once I booted the fresh 3.7 img it asked me to configure inputs, "Xbox360 wireless receiver" (which I think is using xpad). I then went into retropie --> retropie setup --> setup --> xbox / xbox 360 gamepad driver --> changed my controllers to 4 --> enabled xboxdrv --> rebooted. Turned all my controllers on before it started, all connected and led lights configured correctly. I then configured each controller using the configure input option on the main menu. This is where it got interesting... I booted up the n64 emulator and found that controller 1 wasn't working, but 2,3 and 4 worked fine. After a bit of digging I located InputAutoCfg.ini in the "../config/n64/" folder. It had the "Xbox360 wireless receiver" settings at the top. I removed this settings, so it just left the 4 "Xbox Gamepad (userspace drivers)" settings. Started up the n64 emulator again and all 4 controllers worked correctly. After that I had a hunt round and removed any traces of "Xbox360 wireless receiver" settings from es_input.cfg and the xbox360wirelessreceiver.cfg from the retroarch-joypads folder, so only my 4 XboxGamepad cfg files remained. Tried a few games and everything is working perfectly! :-)
I then though maybe this was the problem in retropie 3.8, so I updated the script and installed from binary. I rebooted after it updated, turned on my xbox controllers and it went back to random led lights (the first time all controllers came up with the led 1 light on!). So I disabled the xboxdrv, rebooted and started fresh. Enabled the xboxdrv again same as before with 4 controllers set and still had the same issue. Tried to configure inputs from the menu and found then 2 controllers were connected, but not the other 2. The xboxdrv versions are the same between 3.7 and 3.8 from what I can tell (0.8.8), but with 3.8 the 4 controllers don't seem to connect properly... strange!
After enabling the xboxdrv on both 3.7 and 3.8 the settings within "/etc/rc.local" were identical and looked like this...
"/opt/retropie/supplementary/xboxdrv/bin/xboxdrv" --daemon --detach --dbus disabled --detach-kernel-driver --id 0 --led 2 --deadzone 4000 --silent --trigger-as-button --next-controller --id 1 --led 3 --deadzone 4000 --silent --trigger-as-button --next-controller --id 2 --led 4 --deadzone 4000 --silent --trigger-as-button --next-controller --id 3 --led 5 --deadzone 4000 --silent --trigger-as-button exit 0
I didn't changed the "--id" to "--wid" for both 3.7 and 3.8, but I'm currently running on 3.7 and the wireless controllers connect and work with "--id" set.
-
I was hoping something would jump out there, but this might be an underpinnings thing in 3.8.
-
Hello, I have the same issue after update in 3.8. Wireless and wired 360 controller doesn't work.
-
Ok, after check my rc.local file, I got :
hciconfig hci0 up and hciconfig hci0 pscan (for bluetooth)
If I comment these line, My controller is working .
But I can't have my wireless and my wired controller together....Edit :
To finish, I reconfigure xbox controller with retropie setup.
It's working, but I cannot have the good led on my wired controller (I go four led flashing)
And if I change --id with --wid, my wireless controller didn't work.If somebody have an idea about this....
-
I'm experiencing the same here, after updating retropie, my xbox controller works randomly.
I've been doing some digging and it throws a libusb error, no matter if you sudo xboxdrv or you change permissions, the error comes up whenever you connect a controller to the wireless receiver. It won't happen if the receiver is left alone when you run xboxdrv.
I can't understand why I think I tried everything I could think of, the setup guide, permissions... I'm lost.
EDIT: I went back to 3.6, blacklisted xpad and used retropie_setup.sh to install xboxdrv, edited rc.local to enable wid instead of id and everything works as expected.
-
I'm in the same boat but not as smart to do the troubleshooting steps that other in this thread have done.
I updated to 3.8 and have sporadic XBOX 360 Wireless Controller issues.
- player 1 green light on, controller working
- all 4 lights blinking, controller working
- all 4 lights blinking, controller not working
- player 1 green light on, controller not working
seem to be in one of these 4 states. Haven't noticed much of a pattern but rebooting the system seems to get it back on track (most of the time). Also, if I let the controller sleep after so many minutes of inactivity, that seems to be a sure fire way to break it.
Hoping a fix gets released or someone who knows what they are doing can point me in the right direction. For the record. I have a 2 XBOX Wireless Controller setup, but have only been using 1 during the move to 3.8.
-
Same here, I'm sticking with 3.6, it works straight away for me no issues. In 3.8 I setup my wireless Xbox controllers and then when I reboot I have to do it all again as it says 2 controllers have been found and need to be configure.
My wireless keyboard no longer works too in 3.8 and I have run an fresh install and tried upgrading from my 3.6 image to 3.8.
-
Having the same odd behavior with my wireless xbox controller. since update from 3.6 to 3.8 I seem to lose connection, sometimes after the sleep screensaver, sometimes after a reboot. thought it was down to batteries in the controller at first as it usually behaves odd when they are low. but replaced those and still getting the issue. I'm only using 1 controller.
Why is everyone jumping back to 3.6, what's wrong with 3.7?
-
I'm also having the same issues. I've tried upgrading from 3.6 to 3.8 and I've also tried a fresh flash of 3.8 but neither seams to consistently work and if I do get it to work, it seams to break on the next reboot. I sometimes can get it to temporarily work by SSH into my Pi and typing "sudo killall xboxdrv" then reloading the Xbox driver with "sudo xboxdrv --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent & sleep 1".
I just hope the awesome people at RetroPie can release a fix for this soon :)
-
Will downgrading to 3.7 break anything with my Kodi 16 install? That's the main reason I upgraded, working controller (when it works!) and clean exits from Kodi.
Could anyone be so kind as to post a link to downgrade instructions?
-
Is it possible these two incidents are related?
https://retropie.org.uk/forum/topic/1686/up-down-y-axis-not-working-in-3-8
The issue there was that, after the 3.8 upgrade, the joystick codes that were received from the controllers did not match up with the codes that were automatically mapped in the config files under 3.7 and below. Could it be that xboxdrv is outputting a virtual joystick device that is having the same problem?Edit: Or even that xboxdrv expects to find certain input codes that are no longer the same?
-
Hi guys,
I've tested several kernels (including the latest) and it seems that there's an issue with xboxdrv and libusb starting with kernel 4.4.6-3.
See the discussion here: https://discourse.osmc.tv/t/april-update-xboxdrv-not-working/15291/3To fix the issue I've performed a downgrade to kernel 4.1.21-v7+.
This is doable with rpi-update, unfortunately the script had some issues so I patched it to skip the certificate check. You can find it here: http://pastebin.com/e2ZKSMr1.
Just copy and paste the script, save it in /usr/bin/rpi-update. Then chmod +x rpi-update /usr/bin/rpi-update.The command to use is this one:
rpi-update 771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f
that downgrades to this precise committed version: https://github.com/Hexxeh/rpi-firmware/commit/771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f
hope this will help!
all the best and thanks! I really love the retropie project!
-
@trixter1981 said in Xbox360 wireless controllers - receiver connectivity issues:
Just copy and paste the script, save it in /usr/bin/rpi-update. Then chmod +x rpi-update /usr/bin/rpi-update.
The command to use is this one:
rpi-update 771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f
This didn't work for me, but I think the problem might be my noobness.
I did not have a file called rpi-update in my /usr/bin directory. So i copied your script and put it in notepad++ and saved it without and extension. I had permission problems and errors about the file not existing, even though i could nano into the file and see that it looked normal.
Basically, I got to where I was in the directory and attempting to run rpi-update 771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f - it wouldn't work, i tried sudo rpi..., sudo ./usr/bin/rpi.. then finally I tried sudo sh rpi-update 771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f and it didn't throw and error and it kicked me to the next line. I thought maybe it worked, but it didn't (was expecting some scrolling text if it were to finally work.
Do you care to elaborate a little more on applying the rollback with your script? You're speaking a little above my level (and my even nerdier friend I had on the phone with me).
-
sudo su -
curl 'http://pastebin.com/download/e2ZKSMr1' -o 'patched_rpi-update.sh' -L -B
cp patched_rpi-update.sh /usr/bin/rpi-update
chmod +x /usr/bin/rpi-update
/usr/bin/rpi-update 771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f
the script is not from me, this awesome guy created it but I had issues with the curl command (certificates?!?) https://github.com/Hexxeh/rpi-update
if you want to upgrade to the latest firmware simply use:
/usr/bin/rpi-update
good luck! let me know how it goes
-
@trixter1981 your post is missing some necessary line breaks:
sudo su - curl 'http://pastebin.com/raw/e2ZKSMr1' -o 'patched_rpi-update.sh' -L -B tr -d '\015' < patched_rpi-update.sh > /usr/bin/rpi-update chmod +x /usr/bin/rpi-update /usr/bin/rpi-update 771a503cfc2a1130e2df2a4ddfc45ffa0f592b3f rm ~/patched_rpi-update.sh exit
-
Sorry, but I'm having trouble getting the instructions above to work properly. I get this error after following them and running the rpi-update script:
-bash: /usr/bin/rpi-update: /bin/bash^M: bad interpreter: No such file or directory
I undid my work and followed the instructions again and got the same error.
Is it reading an ^M character after the shell declaration on the top line? I tried re-typing that line with nano and vim and neither made a difference. -
@JPL I've edited my post to reflect how to fix that.
-
@raelik This works for me, thank you very much!
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.