-
Notifications
You must be signed in to change notification settings - Fork 16
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't connect to Wii U (with or without Wii mode) #11
Comments
I don't have a Wii U to test right now and I'm not aware of the differences (if any) in how it handles connecting. Not sure if this is the issue but just wanted to mention that. It's not totally clear from the log what is happening. There could be issues setting the Bluetooth device settings. If you could provide Similarly, you can check whether the device settings are properly set up (while the emulator is running) with:
I've noticed that sometimes restarting the emulator and syncing again (or restarting the Wii) can help when things get stuck for some reason. Still not sure why this happens, though for me it is pretty rare. Also, the Wii doesn't check the device class when inquiring for Wiimotes, but it might be possible that the Wii U does. I will push an updated build that sets it in case this is the issue. |
Thank you for your help. Here is the output of The other output looks good to me:
This was in Wii U mode. I also ran Both the console and Pi have been power cycled since the last attempt. |
All the output there looks good. I recently pushed a change which also writes the BT device class to match a Wiimote. This was unimportant when connecting to a Wii but perhaps the Wii U is checking it. Also, it seems that consistently on first run of the emulator (from device boot) syncing does not work. Stopping and restarting just the emulator after running it once allows a Wii to connect successfully for me. I'm looking into why this is. |
So the previously mentioned issue (emulator not working on first run) is related to the bluez SDP record/server. I will push a fix for this. One way to rule out whether the Wii U connection issue is SDP related is to see if there is any indication in
I'm not sure if your previous hcidump includes trying to sync with the console or not. If there is no connection request after trying to sync, then the Wii U is not trying to connect to the emulator at all and the problem must be something else. |
I did indeed initiate a sync on the console while I technically have an old Wii that I could try this with (just a few years of dust buildup, what could go wrong?!), so if we run up against a wall then I'll explore that some more. EDIT: By the way, on what hardware and distro are you running the emulator? |
Interesting. So it could either be that the device class is important on Wii U (if you haven't tried the latest emulator yet?) or something else. I will look into this. If you are able to verify that your setup works with a Wii instead that could help determine that it is a Wii U specific issue. I have tested on Raspberry Pi 2/3 with Raspberry PI OS Lite. Also, I have built against bluez 4.101 and 5.50 (iirc, whichever Bluetooth package is provided by the distro). |
I've just tried on Wii U with the device class patches, no luck. I'll dig up the Wii and give that a shot. |
Well, it works with the normal Wii!! So there must be something different about the Wii U's pairing process… |
Thanks for confirming. I will see if I can figure out what is preventing the Wii U from pairing. |
The Wii U won't pair to a Wii Remote if it has Secure Simple Pairing enabled. |
@GaryOderNichts Thanks you so much for the tip! This is as far as I've got with your When this happens, the Wii U console also freezes, requiring a hard power cycle. Do you have any ideas as to why? Edit: And maybe I'm just not understanding how wmmitm is used, but I could never get anything past "connecting to host… can't connect: Connection refused" |
That's as far as I've got into using the emulator as well. I guess there are some further adjustments needed. The adapter.c is from an exploit I've been working where this was all I needed. |
Thanks @GaryOderNichts for figuring out the Wii U connection issue! I will merge a PR for that if anyone is willing or else I can update it the next time I get a chance. To make wmmitm work, you may need to connect with the normal wmemulator first to gain the console's trust, then connect directly using the Wiimote's address as the first argument and the console's as the second. I just noticed from your screenshot that the emulator's memory error response is wrong so I pushed a quick fix for that. Not sure if that's what the problem is as I still don't have a Wii U to test on yet. |
integrating the change provided by @GaryOderNichts in #11
I finally was able to test on a Wii U. It seems that the emulator was incorrectly sending empty reports when there was nothing to send. The Wii tolerated this it seems but the Wii U crashes when it receives an empty report. Now that this is fixed it seems like connecting to Wii U mostly works. |
Fantastic news! |
Hi, I love that you've updated this! Unfortunately, I'm still having trouble connecting to my Wii U.
I've tried the console in both normal mode and Wii mode, and in both cases
wmemulator
gets stuck onBy "stuck," I mean normal mode's sync screen doesn't show anything, and pressing the sync button while in Wii mode doesn't cause a connection to occur.
The emulator machine is a Raspberry Pi Zero W. Here is the bluetoothd log if that helps: bluetoothd_log.txt
Any advice?
The text was updated successfully, but these errors were encountered: