Project

General

Profile

Actions

Emulator Issues #13211

open

Bluetooth passthrough on Linux does not remember paired Wiimotes

Added by shiftymoonwalk about 1 year ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
Linux
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?

Any.

What's the problem? Describe what went wrong.

On Linux, Dolphin does not remember pairing of Wiimotes when using Bluetooth passthrough.

What steps will reproduce the problem?

When launching a game, a Wiimote must be paired by using the sync buttons on the controller and passthrough device. Within the same session, if a Wiimote is disconnected, the user can press any button and the Wiimote will reconnect to Dolphin. However, if the game is closed and restarted, it will not connect and must be paired using the sync buttons again.

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

I am not sure. The latest development version right now is 18962. The latest version I have access to on openSUSE is 17995.

What are your PC specifications? (CPU, GPU, Operating System, more)

  • openSUSE Leap 15.4
  • Intel CPU
  • AMD GPU

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

I have tested this with a default Dolphin config to make sure it wasn’t a setting I changed that caused the issue. I have tested this with a Windows computer on the same version of Dolphin and it worked as expected and did not require syncing with a new session. It seems that this is only present on Linux. I have tested this with both the WML-C43 and J27H002 modules.

The Wiimotes used for testing are -TR Wiimotes with MotionPlus Inside.

When a Wiimote has been paired and the game is closed and reopened, and a button is pressed on the Wiimote, the LEDs light up briefly and then go off (instead of blinking for a few seconds). This issue has been described on the forums here:
https://forums.dolphin-emu.org/Thread-pb-with-bluetooth-passthrough-on-linux-arch-with-wml-c43-wii-dongle?pid=498848

Actions #1

Updated by AbbieDoobie about 1 year ago

Just chiming in that I have had this issue reported to me a few times from linux users who purchased my adapter. I don't use linux myself however so I cannot confirm.

Actions #2

Updated by metman about 1 year ago

I am also experiencing this with genuine WML-C43 adapters (including one out of my wii).
Tested with Batocera Linux 36 and Ubuntu 22.04. Other adapters will pair and remember pairing but the real deal wii one will not. The controller will briefly flash a couple times as if the connection is being rejected or perhaps the link key isn't being properly exchanged?

Not sure how to get diagnostic logs for a passthrough adapter but happy to help if someone tells me how.
Windows with the exact same adapter is totally fine.

Actions #3

Updated by metman 3 months ago

This can be fixed by blacklisting the Nintendo bluetooth USB module in the btusb.ko file. I used binary patching to replace a previously blacklisted device with the nintendo one.

Make a copy of the /lib/modules//kernel/drivers/bluetooth/btusb.ko file for editing.

Use a Hex Editor > Find string "5C 0A 33 20" and replace with "7E 05 05 03". Then at the very bottom of the file remove "~Module signature appended~".
Backup your existing btusb.ko file. Replace the btusb.ko file on the target device with the binary patched version and reboot.

This replaces the item "Broadcomm BCM2033 without firmware" device with the nintendo bluetooth module and should be safe to do unless you happen to have a BCM2033 without firmware installed in your system...

Bluetooth passthrough for the wii module now works as expected.

Actions #4

Updated by glitchy02 2 months ago

Also having this issue on my Steam Deck (Running SteamOS 3.5.7) with a J27H002. Dolphin version 5.0-20950
Works fine for the first sync as described but as soon as you restart the game it doesn't sync and has the same blinking issue.
Have tried to edit the btusb.ko file but did not have success (for me it was stored in a btusb.ko.zst (path: /lib/modules/6.1.52-valve12-1-neptune-61/kernel/drivers/bluetooth/btusb.ko.zst) file, which I had to extract, edit, then re-compress). Guessing the btusb file is different on SteamOS and I don't have enough experience with hex editors unfortunately :(.
I have another BT adapter (some TP-link one) that can remember pairings.
Also not sure how to get logs out, I had a look in dolphins logs (View>Show Log) and there were no errors (idk if there are other places I need to check)

Actions #5

Updated by teconmoon 2 months ago

I also tried running through the process of hex editing the btusb module on my Steam Deck to blacklist the Wii BT Module, but all I succeeded in doing was breaking Bluetooth on my device until I put the original .zst package back in place. I wonder if there was something funky about the way those archives are compressed.

It would be great if we had a solution that doesn't involve editing system files (which for an immutable OS like SteamOS is more work).

AbbieDoobie wrote in #note-1:

Just chiming in that I have had this issue reported to me a few times from linux users who purchased my adapter. I don't use linux myself however so I cannot confirm.

Can confirm that your adapter works great under Windows, only Linux with issues which is no fault of your adapter.

Actions #6

Updated by Billiard26 about 1 month ago

  • Operating system Linux added
  • Operating system deleted (N/A)
Actions

Also available in: Atom PDF