ndeadly / MissionControl

Use controllers from other consoles natively on your Nintendo Switch via Bluetooth. No dongles or other external hardware neccessary.
GNU General Public License v2.0
2.56k stars 141 forks source link

[Bug Report]: 8BitDo SN30 Pro Xbox Cloud Gaming Edition #442

Closed BambouVX closed 2 years ago

BambouVX commented 2 years ago

Switch Firmware Version

Other (please specify in issue description)

Atmosphère Version

Other (please specify in issue description)

Mission Control Version

Other (please specify in issue description)

Boot Method

Fusée

Issue Description

hi i have a probleme my controller 8BitDo SN30 Pro Xbox Cloud Gaming Edition are connected but not working i use Atmosphère 1.3.0 (pre-release) and HOS: 14.0.0 and MissionControl-0.6.4-develop-33d3a39 can you help me pls ?

Error Report

No response

Additional Context

No response

ndeadly commented 2 years ago

Have you seen this issue? The user said that clearing the paired devices fixed a similar sounding problem.

Otherwise, a controller that connects but doesn't work usually means one of two things.

1) You controller is pairing, but isn't being recognised by ID. This could mean that there are multiple modes of operation and you have started it with one that Mission Control doesn't support. It could also mean that your controller uses a different ID to the one expected by Mission Control for some reason. You can use btdb to view the pairing database and determine the ID the controller is paired with.

2) Your controller is pairing and being recognised correctly, but is sending a different data format to that which is expected that Mission Control doesn't know how to deal with. This could be due to different controller firmware revisions sending different data formats. This tool will allow you to view the incoming raw data from the controller.

For this controller, Mission Control expects a hardware ID 2dc8:2100, and an input data format beginning with 01

If the above is all correct, and clearing the pairing database doesn't work for you, please reach out to me on discord at ndeadly#5317. Github issues aren't really meant for support discussion

dprossner commented 2 years ago

I had the same issue until I downgraded the controller firmware using 8BitDo's utility

ndeadly commented 2 years ago

I had the same issue until I downgraded the controller firmware using 8BitDo's utility

Interesting to know. I wonder whether 8BitDo are mirroring Microsoft and updating their controllers to use BLE in the new firmwares

dprossner commented 2 years ago

Interesting to know. I wonder whether 8BitDo are mirroring Microsoft and updating their controllers to use BLE in the new firmwares

I dont think its Bluetooth LE, the 8BitDo update notes mentioned the HID service was changing so It might be that Mission Control would need to make a new profile for it but i'm not sure how that would work Screenshot 2022-05-02 212918 .

ndeadly commented 2 years ago

Ah yeah, I just re-read the issue where OP stated the controller is connected but not working. It wouldn't connect at all if it was LE.

This combined with that update notice you posted implies that they might have changed the input packet format or maybe the even the id of the controller or something. I should be able to add support for the new firmware if you or anyone else is willing to spare a bit of time to help figure out what changed.

dprossner commented 2 years ago

I should be able to add support for the new firmware if you or anyone else is willing to spare a bit of time to help figure out what changed.

Sure I can help. What kind of info do you need?

ndeadly commented 2 years ago

First you'll want to clear the pairing database as suggested above. You can do that from the system controller menu under Disconnect Controllers. You can also do it from my btdb app by holding X.

Once you've done that, update back to the latest firmware and pair the controller again. If you open the btdb app I linked above you should see the controller listed as one of the entries in the database. Take note of the vid/pid for the controller. The current values I have for this one are 2dc8:2100. If yours are different then I will need to add them in order to recognise the controller on the new firmware.

If the values above haven't changed, then it's likely the input format that has. Use my hid_report_viewer app to view the raw input data. Note down the numeric values displayed for each button on the controller as you press it and post them here. Make sure you don't have any other bluetooth controller connected when you do this as they will interfere.

dprossner commented 2 years ago

value has changed to 2dc8:2101

ndeadly commented 2 years ago

Try this and see if it's enough. It's quite possible they've also changed the input format. MissionControl-0.7.0-sn30pro-new-firmware-afde15a.zip

dprossner commented 2 years ago

it works but minus seems to be bound to zl. When I press zl it inputs both minus and zl and when I press minus nothing happens.

ndeadly commented 2 years ago

So it looks like they've slightly modified the button layout again. Could you check ZR for me also? No need to make videos, a screenshot or text is enough.

dprossner commented 2 years ago

Minus Minus

LT LT

RT RT

ndeadly commented 2 years ago

Cool, try this MissionControl-0.7.0-sn30pro-new-firmware-1ae5b68.zip

dprossner commented 2 years ago

yup that did the trick. all working as expected

ndeadly commented 2 years ago

I think we'll consider this resolved then. @BambouVX if the build above doesn't fix your issue, please re-open.

ajslayer commented 2 years ago

I think we'll consider this resolved then. @BambouVX if the build above doesn't fix your issue, please re-open.

good day sir. ofw 14.1.0 ams 1.3.1 /S

i tried the build "[MissionControl-0.7.0-sn30pro-new-firmware-1ae5b68.zip]" but when i tried to connect the xbox cloud gaming sn30, the console crashed and read: "a fatal error occurred when running atmosphere. program id: 010000000000bd00 error desc: std::abort() called (0xffe) report saved to etc etc. press power to reboot" the same error occurred when i tried to connect a ds4 and a xbox one BT controller.

i almost gave up when i decided to try to reconnect the controllers and it worked! the icons were colorful too so thats a plus i guess lol. i also tried removing the pairings and re-pairing, and the crash didnt happen.

just wanted to let you know about the console crashing on initial pairing but that it ended up working perfectly. thanks for what you do man. ill be sure to contribute when i get my funds up

ndeadly commented 2 years ago

If you want to post the error report it made I'll take a look at it, but some degree of buginess can be expected from unofficial dev builds. The controller colour thing is an example of that, which should have been fixed since I posted the build above. It's possible the crashes you saw fall into that category too.

Try this one and see if it still gives you problems MissionControl-0.7.0-sn30pro-new-firmware-6321225.zip