KeyPuncher / WiinUPro

Microsoft Public License
412 stars 52 forks source link

Failed to pair #99

Open jjhakim opened 2 years ago

jjhakim commented 2 years ago

failed to pair I'm using latest version of WiinUPro, on Windows 10, and I'm trying to pair my Wii U Pro controller to my PC. It used to work in the past with some fiddling, but now it is unable to sync with the controller. I could go into the Bluetooth settings in the taskbar and pair the controller via "Join a Personal Network" setting and it would initially appear and work as expected. But if the controller disconnects it's unable to be reconnected unless I uninstall the driver and restart the process. I'm not sure if it's my bluetooth card, but that could be a possibility!

CozyKeybord commented 2 years ago

Yes the I have the same issue but im on windows 11

KeyPuncher commented 2 years ago

This is likely no longer working after a Windows update. I noticed it did not work on my Windows 11 laptop, but continued to work on my previously outdated Windows 10 machine.

What I might have to end up doing to keep it stable is to start targeting Windows 11 (and later 10 versions) using the newer Bluetooth APIs. The downside is that it'll loose compatibility with earlier versions of Windows. What I would prefer would be to (somehow make time) to finish version 1.0 then fork it and make a modern version.

Although it occurs to me as I'm writing this that I have some other approaches I can potentially use.

DraakjeYoblama commented 2 years ago

I mainly use WiinUSoft, so this might not be entirely applicable, but I sometimes get the Failed to pair too. (Wii U pro controller, Windows 10 and 11)

The issue for me is fixed by disconnecting+removing the controller in the bluetooth settings and restarting WiinuSoft. Then restarting it and pairing the controller with the built-in pairing button.

Maybe this works on both versions?

JayBe13 commented 2 years ago

@KeyPuncher I hope this may help you in your fix or help you get around the pin issue. I was able to connect my Wii U Pro Controller to Windows 10 Pro ver 21H2 (no clue if it will work on 11) then connect to WiinUPro.

keep an eye on the Controller you may have to press Sync once or twice during this.

  1. Make sure WiinUPro is closed.
  2. right-click on the Bluetooth icon and select "Add Personal Area Network"
  3. Press Sync on the Controller then click "Add New Device" you should see "Wireless Controller" or "Nintendo + RVL or something"
  4. Select the Controller and click "Next" you will be asked for a pin leave it blank and just hit "Next"
  5. it will Install, after it was finished I opened WiinUPro under devices it showed Pro Controller I just clicked Connect
ShunnShine commented 1 year ago

@KeyPuncher, I was having this same problem in WiinUSoft trying to connect a Wii U pro controller to my 22H2 Windows 11 desktop. I tracked the failure to the Bluetooth pin authentication line of code in SyncWindow.xaml.cs. Looking at the Dolphin emulator source I noticed they skip the authentication step when pairing with Wii controllers. So I removed the authentication code and WiinUSoft started successfully pairing again.

I'm unfamiliar with the entirety of this project and I expect more changes will be required to cover more scenarios. I can make a pull request, but I will need someone with more knowledge to take over and handle the cases I'm unfamiliar with. Let me know what you think.

KeyPuncher commented 1 year ago

@ShunnShine Thanks for the info! Without the PIN I'm guessing the controller won't try to automatically re-connect to the computer on button press. Might be nice to either retry without the PIN after first failure or detect the Windows version and go straight to without the PIN.

Brasil150 commented 10 months ago

Hello, I believe I am having the same problem.

image

In the past I was able to use WiinuSoft but I spent some time without using it and was never able to get it to work again because it doesn't locate the WiiU Pro Controller.

So I downloaded WiinuPro and it finds the control, tries to pair and returns with failure. I've tried everything and nothing seems to work.

Note: I am using a Generic USB Dongle, the same one I used while it was working.

The same is working on Windows 10

KeyPuncher commented 9 months ago

It seems I will need to update all this Bluetooth stuff. I'll start to get into this after version 1.0 as I want to try and retain compatibility for older versions of Windows until then.

TheGuy920 commented 4 months ago

~I've been looking into the problem and I believe I have resolved the connection issue (W11 Pro) however I am facing another issue with FileHandles and maintaining a connection.~

~By adding BluetoothGetDeviceInfo into NativeImports it mitigates the issue of an empty deviceInfo struct being returned after a successful authentication (so add BluetoothGetDeviceInfo after auth to fix). Afterwards all other operations are successful and the controller *seems to stay connected for a few seconds before disconnecting.~

~Not sure why it wont stay connected, but I've only been looking at this for a few hours~

EDIT: It would be nice to work with someone who knows a bit more about the project so we all can get back to using our controllers again, discord: @theguy920

EDIT EDIT: Ok, I've been fooled into thinking that was the problem and/or solution. back to square one

Samuel2oo7 commented 1 month ago

Hey, are you still working on WiinUPro or WiinUSoft?

It would be great if you could add compatibility for newer Windows versions like 23H2, so that we can connect a Wii U Pro Controller.

Thanks a lot for your great work! 😊

KeyPuncher commented 1 month ago

Rarely, I just realized I never re-built changes I have from pending closed issues and packed up as a new release, so I still have that to do.

I'm kinda in dev limbo, besides lack of time to sit and focus (I need at least an hour of focus to get even the smallest task done) I only have one computer right now that is setup for development for both programs (old versions of .Net for compatibility). At the same time I need to update the software for perhaps better compatibility with Windows 11, which includes a lot of technical refreshes from dependencies to and updating asynchronous methods. Which is essentially a re-write. However when I do this it will loose compatibility with Windows 7 and below (maybe even 8 but who cares). So I've been stuck between finishing features for version 1.0 that works with the targeted platforms and updating it for better maintainability and future versions of Windows.

I think I perhaps just need to tag the code I have now as legacy code and move forward with the re-write, I can hopelessly dream about back porting features, but maybe that won't be a thing I'll even need to do if no one has use for earlier versions of Windows anyway.