-
-
Notifications
You must be signed in to change notification settings - Fork 141
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
Can u add PS3 #7
Comments
It's on my list of things to do. PS3 controllers use a non-standard pairing process that's different to the other supported controllers and involves having to connect a USB cable first. More research is required to determine whether support is feasible without compromising the bluetooth service. |
would it be possible to connect it asfirst via hid-mitm https://github.com/jakibaki/hid-mitm and then connect it via MissionControl? |
If you can connect it via hid-mitm, then you don't need MissionControl. This wouldn't work anyway as hid fetches the controller data from bluetooth, not the other way around |
I'm curious, how is the switch reacting if we use sixpair.c to swap the ps3 controller target mac with switch's bt address and try to press PS button while in change grip/order on the switch? Also, how do I find the Switch's bt mac address? |
That would be interesting to try. I'm busy with some other stuff at the moment. If you have the means and want to try it, I can add the switch host bd address to the output of btdb.nro if you want. |
I would love to contribute somehow |
There you go. Let me know if you find anything interesting. I haven't made a handler for DS3 yet, so don't expect it to connect with the console just yet. If it's successful at pairing, the controller may end up in the device database though. |
Yeah, it didn't paired. But if the switch is on the blinking lights of ps3 controller goes off for less time than if the switch off or sleeping. I'm gonna check the duration of the blinking on both cases and share |
Also, I think the DS3 uses Bluetooth legacy pairing like the Wii controllers. From memory it uses the default 0000 pincode but you might want to check that. If it's anything other than that then it definitely won't pair. |
i'm gonna check on others devices then |
None of 0000, 1234, 1111 and 9999 works... maybe none of the pin codes works |
Where are you trying this? MissionControl will only send 0000 (Wii controllers excepted) for now FYI. |
I'm trying on my phone (android), it doesn't pair with any pin codes that i provide |
Is there a way to create a fake record at database? Where does the switch saves this info? |
It's possible, but there's no point. Nothing interesting will happen if you fake it, as the database stores the link key which is negotiated between the controller and the host during pairing. You need the key to be stored in controller memory too for the connection to be established. |
Understood, i will try to investigate more |
the PS3 Controller needs to allow the Switch Bluetooth to connect to it but it needs somehow to be connected before that it works |
Yeah, I've done that (using sixpair.c) but if didn't create any info on database and didn't pair. |
@brenodantas10 do u have tried adding via sixpair.c the bluetooth mac address from ur phone and then connecting? |
Yes I did, it asks for a pin code. But, unfortunately, 0000, 1234 and others default pin codes doesn't pair the controller. The phone is not rooted though, I might try that later (although I don't think it matters if it's going to try to connect via Pin Code, but I want to try other ways) |
I tried sixpair.c earlier today myself. No luck with getting it connected, it didn't even show up in device discovery logs. This gives me a bad feeling the bluetooth driver may need to be patched. I seem to remember reading somewhere that the ds3 uses 0000 as a pincode, but not certain on that. |
i found this page a while ago PS3-Information. It gives some info about the controller and references, but unfortunately few of the reference links are broken... I hope it helps somehow. |
Yo i was thinking how about pairing the ds3 before startup |
@KAMELCOLTD the controller still needs to complete the pairing process with the console via Bluetooth to exchange link keys. The problem is that the DS3 is currently not even showing up to the Switch. |
One more thing |
I don't think the mac address is the problem. I set it successfully using a modified sixpair.c where I manually inserted my console mac. I think the issue is that some non-standard stuff needs to be done at lower levels of the bluetooth driver than we have direct access to. If you want to play around with it, the latest version of my btdb.nro applet will print your console mac address to the screen. |
Great but i mean where to put the controller address not the console or if i can edit the already paired mac. i will work with debug step by step and find out what happen when pairing ds3 with pc and android and also 8bit adapter to find the low level of how it really paired . one more thing did you try to press the reset button while trying to pair ? i will start testing now i hope i can find the missing block. |
The Switch stores the controller address alongside other info to the database after successfully pairing with it. As I said earlier in this thread, manually inserting the controller mac address into the database is useless without the two devices having exchanged keys. Yeah I tried the reset button. I think it only serves to make the controller forget existing pairings anyway. |
Yo good morning Next i changed my phone bluetooth mac into the NS so both had the same mac address Trying to pair but it wont i even tried to pair the joy-con to my phone but it won't so i try to pair all controllers at same time to phone and the console .. non of ds3 or joy-con paired lol 😂😂😂 Next i try to pair the joy-con to pc it works no pin needed no 3rd party app used too. for the DS3 it asks for pin but nothing works.... Here is the idea When i try to pair the the ds3 to my phone it works without asking for pin. " there is something about the driver it self. Thats what i came with i hope my bad english was enough to make the idea. |
New hope thank you we all waiting here . One more thing i tried to pair fake ds3 in Lakka but it didn't work's .. original one works perfectly just like i you pairing it to ps3.. so i hope all of testers trying with original ds3. Thank you |
If I remember correctly back from the old ScpToolkit, it took a modified bluetooth stack plus programming into the controller through usb the host's bluetooth MAC if that helps at all |
Although the whole 'modified bluetooth stack' thing will likely be the showstopper unfortunately unless there is a way around it |
it's definitely possible to pair a sixaxis controller on linux on the mainline kernel, I've done it, so the exact source code for the device driver should be available to peruse. BlueZ, the linux bluetooth stack, is fully open source as well. This goal should not be unattainable |
Yeah, I know it's doable on linux. If you look into it further, you'll see on newer kernels it works because of a plugin for Bluez. The problem over here in Switch-land is that we have neither an open source driver or a plugin system for it. We also don't have a means to call into the low level functions that are present. Adding this kind of support would likely require a lot more RE'ing and hooking of the bluetooth driver, maintaining offsets for each firmware etc. Or alternatively, a complete open source reimplementation of the bluetooth service. A lot of work to support just one controller (that I don't even personally own). |
@ndeadly , does the switch at least receive the payload sent from the ps3 controller when the controller tries to connect? I remember I tried to modify the GetEventInfo just to log the payloads it receives on an older version of MissionControl but it didn't saw Events from the ps3 controller even though it had the host address set to switch's bluetooth mac address. Maybe I just didn't know what I was doing. |
@brenodantas10 no, nothing is seen at all by the rest of the switch OS. I think the connection is silently rejected somewhere within the lower levels of the bluetooth service, or maybe not even seen as a valid device in the first place. |
The DS3 uses a pretty heavily modified Bluetooth spec if I remember correctly, so it just might be too out of spec for the Switch to accept it |
Yes, this is pretty much what I understand the problem to be. My point above was that whatever communication might be taking place is happening between the DS3 and the chip/driver at a low level where we have no influence. The driver only signals high-level connection events to the rest of the OS. |
Atm 15 is out with new mesosphere kernel hoping for new features. ;) |
just thinking how swich could pair a pro controller with usb? i search but found nothing. |
@KAMELCOLTD pairing is a Bluetooth concept and is not needed for USB devices. sys-con just detects the controller and sends its inputs to a virtual gamepad. For official switch controllers the controller firmware probably has a function to perform the bluetooth authentication via USB. This is not a standard feature of HID devices. Even if other controllers also had such a feature, you would need to reverse engineer how it's done and write code to handle each controller. Much easier to let the controller do it via standard Bluetooth. In any case, even if this were possible for the DS3, it would not solve the root Bluetooth problem. |
hi yo ndeadly how are you doing it's been 1 year almost , i don't really want this but i am so care about the possibility of supporting DS3 after the new update since it's support more Bluetooth stuff . sorry if i disturb you , have a nice day ♥ |
The core problem is that the DS3 relies on a custom Bluetooth implementation that doesn't follow the standard. No update to Nintendo's Bluetooth driver is going to change this. Platforms that are able to support DS3 do so either by loading alternate drivers specifically written to support the controller, or via a driver extension module or similar. Since we don't control the source code for the Switch driver, this is just not possible without a full reimplementation - an absurd amount of work that is very unlikely to ever take place. As I've said before, the only feasible option we have is to attempt to patch the Bluetooth driver to change its behaviour. This itself is a huge undertaking and is not something I am really willing to invest the time into right now (if at all) with no guarantee that it can be done without breaking Bluetooth for all other devices. |
Hi ndeadly, first of all thank you so much for your amazing work. One of the best Switch Homebrews out there. I was so pissed when I learned that my Wii U Pro Controller would not be officially compatible with the Switch. Obviously, just like everyone here, I'd love to see the DS3 become compatible with your homebrew. It's the cheapest controller out there when bought second hand, and I'd love to play SSBU with 8 controllers haha. I understand that wireless DS3 compatibility would be really tough and time-consuming to implement. But what about wired implementation ? We could used a HUB, and mini-USB cables are really cheap aswell. Would that be possible ? Thanks so much for your answer :) |
@SylvainSalgatHEIG DS3 support via USB is definitely possible. USB support within mission control is currently in the works, but I've hit a bit of a roadblock so not actively working on it for now. You should be able to use sys-con to connect USB controllers for the time being. |
Here's a little Easter present for you guys ( ͡° ͜ʖ ͡°) To pair the controller, you will need to connect it to the console via USB cable at the usual Change Grip/Order screen. Once the LEDs start flashing, remove the USB cable and hit the PS button. The controller should show up as paired. This doesn't seem to always work on the first try, so if it doesn't work try a few more times. Motion controls are currently ignored, but everything else should be functional. Feedback welcome, I'll make a release once it's confirmed stable and working correctly. Since this build now interacts with USB, there is a possibility that it interferes with or is incompatible with sysmodules like sys-con. I would appreciate feedback on this also so I can try to minimise any negative impact. |
|
Yes it would, but we're a way off that being a reality. This is not full USB support for controllers we have here, just issuing a few commands to do the out-of-band pairing of the DS3. These changes would also potentially interfere with my own USB controller support implementation. |
Dualshock 3 support has finally been added! Grab it here https://github.com/ndeadly/MissionControl/releases/tag/v0.9.1 |
Incredible job! Will try it out this weekend
…On Tue, Apr 18, 2023, 10:35 PM ndeadly ***@***.***> wrote:
Closed #7 <#7> as
completed.
—
Reply to this email directly, view it on GitHub
<#7 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABVHKBYFAPLFVHQI2MKF7LXB33JJANCNFSM4QM23FAA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Wow, I just saw the update in my email box and was quite surprised. Now I can finally use my beloved controller!!! Thx for the hardwork, ndeadly!! |
Hi it's been long time lol. |
Would you please had support for PS3 controllers
The text was updated successfully, but these errors were encountered: