Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Controller Request]: Xbox One Wireless Controller (Updated with New Firmware) #370

Open
KsAmJ opened this issue Oct 5, 2021 · 37 comments

Comments

@KsAmJ
Copy link

KsAmJ commented Oct 5, 2021

Controller Name

Xbox One Wireless Controller

Current Controller Behaviour

Controller is not successful in pairing with the console

Additional Details

I am on Xbox Insider program and Microsoft started to rollout updates to Xbox One Controllers with new Firmware version 5.11.3116.0 which supporting Bluetooth LE as on the time of writing it is even not working with Windows 10 ... so i wanted to open an issue as this different controller than Series X/S controllers to state the issue.

Even the Xbox Accessories Windows App doesn't recognize the controller at all.

@ndeadly
Copy link
Owner

ndeadly commented Oct 5, 2021

Thanks for confirming what I suspected about the new firmware update regarding Bluetooth LE. I tried to warn about this in the release notes for 0.6.0, so I hope you didn't get burned by the update because you missed my notice.

Support will be added when I have LE connections working. Unfortunately this may take a while due to the amount of work required.

@KsAmJ
Copy link
Author

KsAmJ commented Oct 5, 2021

I hope you didn't get burned by the update because you missed my notice.

unfortunately i got burned 😥

@ndeadly ndeadly pinned this issue Oct 28, 2021
@thornos78
Copy link

Hello, Is it possible to downgrade the control firmware from pc?

@Masamune3210
Copy link

I would imagine probably not, most things wont accept a downgrade unless you manually flash the firmware by flashing the chip itself with a hardware programmer

@impeeza
Copy link

impeeza commented Dec 5, 2021

https://answers.microsoft.com/en-us/xbox/forum/all/revertrollbackdowngrade-xbox-controller-firmware/25f07169-3244-4fe0-838c-949951b7c109

@Zacharybinx34
Copy link

Same here. Updated to LE.

LE is the future. Will be nice to get an update.

@ndeadly
Copy link
Owner

ndeadly commented Dec 6, 2021

No need to chime in with "same here" type comments. I am well aware of the issue and have been trying to warn people against updating.

BLE support is being worked on but it is far from trivial, as there is no existing application-layer code to leverage and the inner workings of Nintendo's LE stack are not fully understood.

@IAMSolaara
Copy link

https://answers.microsoft.com/en-us/xbox/forum/all/revertrollbackdowngrade-xbox-controller-firmware/25f07169-3244-4fe0-838c-949951b7c109

thank you for this, I can confirm the controller works after reverting firmware.

@KsAmJ
Copy link
Author

KsAmJ commented Jan 17, 2022

https://answers.microsoft.com/en-us/xbox/forum/all/revertrollbackdowngrade-xbox-controller-firmware/25f07169-3244-4fe0-838c-949951b7c109

Why i havn't seen this before ???

OMG you are a life saver...I can confirm it is WORKING NOW AGAIN ON MY SWITCH 🥳🎉🎉🥳

@KsAmJ KsAmJ closed this as completed Jan 17, 2022
@DraconicNEO
Copy link

https://answers.microsoft.com/en-us/xbox/forum/all/revertrollbackdowngrade-xbox-controller-firmware/25f07169-3244-4fe0-838c-949951b7c109

Why i havn't seen this before ???

OMG you are a life saver...I can confirm it is WORKING NOW AGAIN ON MY SWITCH 🥳🎉🎉🥳

Uh There's not a way to do this without an Xbox console. You should re-open this until they actually inplement Bluetooth LE support.

@KsAmJ
Copy link
Author

KsAmJ commented Jan 19, 2022

https://answers.microsoft.com/en-us/xbox/forum/all/revertrollbackdowngrade-xbox-controller-firmware/25f07169-3244-4fe0-838c-949951b7c109

Why i havn't seen this before ???
OMG you are a life saver...I can confirm it is WORKING NOW AGAIN ON MY SWITCH 🥳🎉🎉🥳

Uh There's not a way to do this without an Xbox console. You should re-open this until they actually inplement Bluetooth LE support.

OK

@KsAmJ KsAmJ reopened this Jan 19, 2022
@ndeadly
Copy link
Owner

ndeadly commented Apr 6, 2022

@HaruVM has pointed out to me that it's now also possible to downgrade the controller firmware using a PC running the Xbox Accessories app.

Open xbox accessories app then hit windows + R (run) and input this command:

xboxaccessories:\firmwareupdate?legacyDowngrade=true

It should then give you option to revert

@thornos78
Copy link

@HaruVM has pointed out to me that it's now also possible to downgrade the controller firmware using a PC running the Xbox Accessories app.

Open xbox accessories app then hit windows + R (run) and input this command:
xboxaccessories:\firmwareupdate?legacyDowngrade=true
It should then give you option to revert

Wooo thanks!

@DennyZh
Copy link

DennyZh commented Apr 10, 2022

@HaruVM has pointed out to me that it's now also possible to downgrade the controller firmware using a PC running the Xbox Accessories app.

Open xbox accessories app then hit windows + R (run) and input this command:
xboxaccessories:\firmwareupdate?legacyDowngrade=true
It should then give you option to revert

Wooo thanks!

if "xboxaccessories:\firmwareupdate?legacyDowngrade=true" does not work on your PC, you can try:
xboxaccessories:\firmwareupdate?legacyDowngrade=true .

@P1xellat3d
Copy link

P1xellat3d commented Apr 19, 2022

It seems the formatting in Github has altered the command. There should be a double backslash \\ in the command:

xboxaccessories:\\firmwareupdate?legacyDowngrade=true

If you type it with just the single backslash, it'll only open up the Xbox Accessories app and do nothing else.

@ndeadly
Copy link
Owner

ndeadly commented Apr 19, 2022

It seems the formatting in Github has altered the command. There should be a double backslash \\ in the command:

xboxaccessories:\\firmwareupdate?legacyDowngrade=true

If you type it with just the single backslash, it'll only open up the Xbox Accessories app and do nothing else.

Thanks for the clarification. I just copied it exactly how it was reported to me.

@P1xellat3d
Copy link

No problem! Not your fault - was probably lost in formatting from the previous person.

I can confirm that downgrading from the BLE firmware (5.x) to firmware 3.1.1221.0 allowed the controller to successfully pair with the Switch through MissionControl 👍

@TheToto
Copy link

TheToto commented Apr 26, 2022

With a new controller shipped with a recent firmware version (> 5), xboxaccessories:\\firmwareupdate?legacyDowngrade=true does not work

image
(An error occured, Your controller is already up to date)

@ndeadly
Copy link
Owner

ndeadly commented Apr 26, 2022

If you have a controller that came with an LE firmware out of the box, then I'm willing to bet you have a Series X/S controller rather than an Xbox One controller. Only the latter can be downgraded. For the new ones you'll have to wait for LE support.

@TheToto
Copy link

TheToto commented Apr 26, 2022

It's a "common" Xbox One wireless controller.
I not really sure if it was a LE firmware out of the box, but Mission Control was not working.
Then I run Xbox accessories app, upgrade, and try to downgrade.

There is similar issues here in latest pages : https://answers.microsoft.com/en-us/xbox/forum/all/revertrollbackdowngrade-xbox-controller-firmware/25f07169-3244-4fe0-838c-949951b7c109?page=6
Maybe it's a new version of Xbox accessories , i don't really known.

But that's not really a big problem, I can use sys-con.

@lij911
Copy link

lij911 commented Jun 11, 2022

It seems the formatting in Github has altered the command. There should be a double backslash \\ in the command:

xboxaccessories:\\firmwareupdate?legacyDowngrade=true

If you type it with just the single backslash, it'll only open up the Xbox Accessories app and do nothing else.

thx, its work on my devices

@taotttt
Copy link

taotttt commented Oct 31, 2022

555555555,Updated to LE

@senolem
Copy link

senolem commented Nov 19, 2022

any update? I can't downgrade my controller it tells me that it is already updated :(

@ndeadly
Copy link
Owner

ndeadly commented Nov 19, 2022

No LE support yet, no. If it doesn't let you downgrade you're either doing something wrong, or you're actually using a Series X|S controller that can't be downgraded. Check the label inside the battery compartment. Model 1708 is Xbox One, 1914 is Series X|S.

@senolem
Copy link

senolem commented Nov 20, 2022

it is a series x controller I guess :( Is it worth getting a new compatible xbox controller or is the LE support coming up any soon?

@ndeadly
Copy link
Owner

ndeadly commented Nov 20, 2022

That's a hard one to answer. I have a proof of concept working with my Xbox One controller updated to the new firmware, but there are issues that make it not suitable for release. Kinda tough to say how long they might take to resolve since there are a handful of unknowns that require either a bunch of reverse engineering or trial and error. Could be anywhere from days to months. More likely the latter though.

@senolem
Copy link

senolem commented Nov 21, 2022

I would be happy to help you, I'm currently studying C & C++ and I believe this would be a cool exercise. I read some of your code especially around the bluetooth part (https://github.com/ndeadly/MissionControl/blob/master/mc_mitm/source/bluetooth_mitm/). How do you debug the module, you just add debug messages in the functions and then read the logs on the switch?

@ndeadly
Copy link
Owner

ndeadly commented Nov 22, 2022

Unfortunately the programming side of things isn't really the bottleneck here. Most of the code for processing the data from the controllers is already written. It's pretty much just issues related to connectivity that remain, and that mostly requires static analysis skills and an understanding of the inner workings of the bluetooth and btm sysmodules rather than programming ability.

How do you debug the module, you just add debug messages in the functions and then read the logs on the switch?

Yeah, this is mostly how I debug my own module. I've used gdb to look at official Nintendo sysmodules

@spoitler
Copy link

Hello,
Is there any news on this subject? I use an Xbox 1914 controller, it seems to me that it is a Bluetooth BLE.
I still can't connect my controller.

@ndeadly
Copy link
Owner

ndeadly commented Apr 14, 2023

@spoitler yes, this is the Xbox Series X|S controller. They are currently incompatible due to the lack of BLE support as you say. There is an issue tracking developments here #135

@spoitler
Copy link

This issue has no update since 1y. Are you sure someone still working on it ?

@ndeadly
Copy link
Owner

ndeadly commented Apr 14, 2023

That's correct. When there is a significant development worth noting you will hear about it there. I'm still working on it, yes.

You can also join my discord server if you want to be more in the loop about development.

@senolem
Copy link

senolem commented Apr 14, 2023

Wasn't aware that you had a discord server. Would be glad to get updates about BLE support, it's gonna be a game changer not to have to have a PC between controller and the Switch (especially when it comes to latency). Good luck !

@sodasoba1
Copy link

Thank you for your efforts! I managed to downgrade my one x|s controller.
The documentation seems outdated but I was able to downgrade via a Xbox.

@ndeadly
Copy link
Owner

ndeadly commented Jun 14, 2023

@kakra are you aware of anything that must be done to make the (LE firmware) Xbox controllers stop advertising after connecting/pairing? I'm able to successfully connect my controller and enable HID report notifications, but the controller LED never stops flashing and I keep getting advertisements until I hold the sync button to exit sync mode. Only then it gives a solid LED and starts sending reports as expected. According to other users, this behaviour is the same on the Series X|S controllers.

@fingerart
Copy link

Is there any progress? I accidentally upgraded the controller to firmware version 5.x+ and tried to restore the firmware using Xbox accessories on PC, but all failed.

@kakra
Copy link

kakra commented Apr 20, 2024

are you aware of anything that must be done to make the (LE firmware) Xbox controllers stop advertising after connecting/pairing?

@ndeadly This happens on Linux with bluez, too, for some people. Seems to depend on the bluez version and even more on the BT chipset used. Usually this behavior is gone if you just switch to a CSR dongle.

In your particular case, maybe something with the handshake doesn't complete, or is out of order, or the BT stack cached some old attributes. The controller firmware seems to be quite picky.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests