Bluetooth Passthrough: Difference between revisions

Jump to navigation Jump to search
→‎Adapter test results: had the opportunity to test the Orico BTA-403 with more Wiimotes simultaneously, it becomes exponentially harder to connect the 3rd and 4th ones. After you manage to connect all 4, everything works flawlessly, though...
(Reworked the Linux Setup section with some extra information from the USB Passthrough page for those not familiar with udev rules.)
(→‎Adapter test results: had the opportunity to test the Orico BTA-403 with more Wiimotes simultaneously, it becomes exponentially harder to connect the 3rd and 4th ones. After you manage to connect all 4, everything works flawlessly, though...)
(21 intermediate revisions by 5 users not shown)
Line 2: Line 2:


== Limitations ==
== Limitations ==
* The functionality and quality of the connections heavily depend on the quality of the adapter.
* The functionality and stability of the connection heavily depends on the compatibility of the Bluetooth adapter used.
* Even though most adapters work fine in passthrough mode, the only perfect adapter is the Wii's Bluetooth module (so far).
* Even though most Bluetooth adapters can be used in passthrough mode, perfect compatibility is only guaranteed with the Bluetooth modules from Wii consoles.
* Save states can be used with some limitations.
* When using Bluetooth Passthrough mode, the emulated software directly communicates with the Bluetooth adapter, so it's not possible to mix passthrough mode with emulated Wii Remotes and some Dolphin features like Netplay, TAS input, input display, among others, won't be available.
* Because Bluetooth Passthrough Mode skips Dolphin's emulated Bluetooth and Wii Remote code entirely, it is not possible to mix passthrough mode and emulated/real Wii Remote. This means that netplay, TAS input, input display, etc. cannot work.
* Save states made in Bluetooth Passthrough mode can't be loaded on "Emulate a BT Adapter" mode, nor vice-versa.
* Wii Remote connection state dictates whether save states made in Bluetooth Passthrough mode will work or not:
 
:{|class="wikitable"
! When saving state
! When loading state
! Works?
|-
| One or more Wii Remotes connected
| One or more Wii Remotes connected '''on the same session'''<sup>[[#SaveStateNotes|[1]]]</sup>
| bgcolor="#afa" | Yes
|-
| One or more Wii Remotes connected
| One or more Wii Remotes connected '''on a different session'''<sup>[[#SaveStateNotes|[1]]]</sup>
| bgcolor="#faa" | No
|-
| One or more Wii Remotes connected
| Some or all Wii Remotes disconnected
| bgcolor="#afa" | Yes<sup>[[#SaveStateNotes|[2]]]</sup>
|-
| No Wii Remotes connected
| One or more Wii Remotes connected
| bgcolor="#faa" | No
|-
| No Wii Remotes connected
| No Wii Remotes connected
| bgcolor="#afa" | Yes
|}
 
<div id="SaveStateNotes">
::<sup>[1]</sup> Same session: for instances where Wii Remotes haven't been disconnected and emulation hasn't been stopped during anywhere between saving and loading of a save state.<br/> Different session: when any one of these has been intervened.
::<sup>[2]</sup> First (re)connection will fail, subsequent connections will work. Depending of the Bluetooth adapter, it might be necessary to connect then disconnect the Wii Remotes before loading the saved state.
</div>


== Setting up ==
== Setting up ==
Line 11: Line 43:
A udev rule has to be installed so Dolphin can use a Bluetooth adapter without having to get root privileges.
A udev rule has to be installed so Dolphin can use a Bluetooth adapter without having to get root privileges.


1. Paste the following into '''/etc/udev/rules.d/52-dolphin.rules''' (/lib/udev/rules.d/52-dolphin.rules if making a package). Replace 'YOURVID' and 'YOURPID' with the Vendor ID and Product ID respectively.
'''1.''' Paste the following into '''/etc/udev/rules.d/52-dolphin.rules''' (/lib/udev/rules.d/52-dolphin.rules if making a package). Replace 'YOURVID' and 'YOURPID' with the Vendor ID and Product ID respectively.


<code>SUBSYSTEM=="usb", ATTRS{idVendor}=="YOURVID", ATTRS{idProduct}=="YOURPID", TAG+="uaccess"</code>
<code>SUBSYSTEM=="usb", ATTRS{idVendor}=="YOURVID", ATTRS{idProduct}=="YOURPID", TAG+="uaccess"</code>


2. Reload udev rules with:
'''2.''' Reload udev rules with:
<code>sudo udevadm control --reload-rules</code>
<code>sudo udevadm control --reload-rules</code>


3. Reinsert the adapter.
'''3.''' Reinsert the adapter.


Dolphin should be able to automatically unload the USB Bluetooth kernel module (assuming you have permission to; you typically need to be in the <code>plugdev</code> group). If not, unload it with <code>modprobe -r btusb</code>.
Dolphin should be able to automatically unload the USB Bluetooth kernel module (assuming you have permission to; you typically need to be in the <code>plugdev</code> group). If not, unload it with <code>modprobe -r btusb</code>.
Line 28: Line 60:
Download and open [http://zadig.akeo.ie/ Zadig] as Administrator, then:
Download and open [http://zadig.akeo.ie/ Zadig] as Administrator, then:
# In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
# In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
# Look through the devices for the device to passthrough.
# Look through the devices for the radio to passthrough.
# On the right column, select "libusbk" or then click "Replace Driver". Select "Yes" to modify the system driver.
# On the right column, select "libusbK", then click "Replace Driver". Select "Yes" to modify the system driver.


If you wish to return your Bluetooth back to normal, start "Device Manager" and locate "libusbK" devices in the list.  Right click the device you wish to restore and uninstall device.  Upon plugging it in next time, Windows will install the default Bluetooth driver and it will continue functioning per normal.  NOTE:  If you used the winUSB driver instead, it will be located under "Universal Serial Bus Devices." Same instructions apply otherwise.
If you wish to return your Bluetooth drivers back to normal, start "Device Manager" and locate "libusbK" devices in the list.  Right-click the device you wish to restore and select 'Uninstall Device'.  Upon plugging it in next time, Windows will install the default Bluetooth driver and it will resume normal functions.  NOTE:  If you used the winUSB driver instead, it will be located under "Universal Serial Bus Devices." Same instructions apply otherwise.


If Dolphin is unable to use your Bluetooth device after doing this, it may not have the necessary hardware features.  You can attempt to use the "winUSB" driver from zadig as a last ditch effort.
If Dolphin is unable to use your Bluetooth device after doing this, it may not have the necessary hardware features.  You can attempt to use the "winUSB" driver from Zadig as a last ditch effort.


==== usbdk ====
==== usbdk ====
Line 39: Line 71:
As of {{revision|5.0-10617}} usbdk is no longer supported.
As of {{revision|5.0-10617}} usbdk is no longer supported.


Some users who wish to maintain use of their Bluetooth Device and use it in Dolphin without swapping drivers have opted to use usbdk.  When Dolphin starts up, you will lose control of your Bluetooth Device and regain it when Dolphin is shutdown.  While this cuts down on the work if you need to use your Bluetooth device across many controllers, usbdk has many bugs.  The worst of which is that any ES_Launch will immediately crash freeze the game due to usbdk losing control of the Bluetooth.
Some users who wish to maintain use of their Bluetooth Device and use it in Dolphin without swapping drivers have opted to use usbdk.  When Dolphin starts up, you will lose control of your Bluetooth Device and regain it when Dolphin shuts down.  While this cuts down on the work you need to use your Bluetooth device across many controllers, usbdk has many bugs; the worst of which is that any ES_Launch will immediately crash/freeze the game due to usbdk losing control of the Bluetooth.


=== macOS ===
=== macOS ===
Line 103: Line 135:
! Audio
! Audio
|-
|-
| bgcolor="#afa" | Asus AR9462 WiFi Card
| bgcolor="#afa" | Asus AR9462 Wi-Fi Card
| mPCIe || 4.0
| mPCIe || 4.0
| 0B05 || 17D0 || 0001
| 0B05 || 17D0 || 0001
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
|-
|-
| bgcolor="#fda" | Asus QCA6174A WiFi Card
| bgcolor="#fda" | Asus QCA6174A Wi-Fi Card
| M.2 || 4.1
| M.2 || 4.1
| 0B05 || 1825 || 0001
| 0B05 || 1825 || 0001
Line 158: Line 190:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | Foxconn T77H348.02 WiFi Card [AR9462]
| bgcolor="#faa" | Foxconn T77H114.32 Bluetooth Module [BCM2070]
| USB <sup>[[#Notes|[13]]]</sup> || 2.1
| 0489 || E00F || 0596
| bgcolor="#faa" colspan="4" style="text-align: center;" | No
|-
| bgcolor="#fda" | Foxconn T77H348.02 Wi-Fi Card [AR9462]
| mPCIe || 4.0
| mPCIe || 4.0
| 0489 || E04E || 0001
| 0489 || E04E || 0001
Line 166: Line 203:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01EZTR2G6 Gembird BTD-MINI5] [CSR8510]
| bgcolor="#fda" | [https://www.amazon.com/dp/B01EZTR2G6?linkCode=wey&tag=dolphin-emu-20 Gembird BTD-MINI5] [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
Line 173: Line 210:
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
| bgcolor="#faa" | Generic Bluetooth Adapter [CSR8510]
| USB || ?
| 0A12 || 0001 || 2520
| bgcolor="#faa" colspan="4" style="text-align: center;" | No
|-
|-
| bgcolor="#faa" | Generic Bluetooth Adapter [CSR8510]
| bgcolor="#faa" | Generic Bluetooth Adapter [CSR8510]
Line 179: Line 221:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
| bgcolor="#afa" | Yes
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01HRZCDEG?linkCode=wey&tag=dolphin-emu-20 Generic Bluetooth Adapter] [CSR8510]
| USB || 4.0
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
Line 188: Line 238:
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#fda" | Limited
| bgcolor="#fda" | Limited
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01HRZCDEG?linkCode=wey&tag=dolphin-emu-20 Generic Bluetooth Adapter] [CSR8510]
| USB || 4.0
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B00F85ZPIY?linkCode=wey&tag=dolphin-emu-20 GMYLE Ultra-Mini USB CSR4.0] [CSR8510]
| bgcolor="#faa" | [https://www.amazon.com/dp/B00F85ZPIY?linkCode=wey&tag=dolphin-emu-20 GMYLE Ultra-Mini USB CSR4.0] [CSR8510]
Line 212: Line 254:
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
|-
| Intel Dual Band Wireless-AC 3165
| bgcolor="#fda" | Intel Dual Band Wireless-AC 3165
| M.2 || 4.2
| M.2 || 4.2
| 8087 || 0A2A || 0001
| 8087 || 0A2A || 0001
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| ?
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| ?
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
| bgcolor="#fda" | Intel Dual Band Wireless-AC 3168
| M.2 || 4.2
| 8087 || 0AA7 || 0001
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | Intel Dual Band Wireless-AC 7260
| bgcolor="#fda" | Intel Dual Band Wireless-AC 7260
Line 227: Line 278:
|-
|-
| bgcolor="#fda" | Intel Wireless-AC 9260
| bgcolor="#fda" | Intel Wireless-AC 9260
| M.2 || 5.0
| M.2 || 5.1
| 8087 || 0025 || 0002
| 8087 || 0025 || 0002
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
Line 234: Line 285:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#afa" | [https://www.amazon.com/dp/B0018O9JIG?linkCode=wey&tag=dolphin-emu-20 IOGear GBU421] [BCM2046]
| bgcolor="#fda" | Intel Wireless-AC 9462
| M.2 <sup>[[#Notes|[11]]]</sup> || 5.2 <sup>[[#Notes|[12]]]</sup>
| 8087 || 0AAA || 0002
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B0018O9JIG?linkCode=wey&tag=dolphin-emu-20 IOGear GBU421] [BCM2046]
| USB || 2.1
| USB || 2.1
| 0A5C || 2148 || ?
| 0A5C || 2148 || ?
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B007GFX0PY?linkCode=wey&tag=dolphin-emu-20 IOGear GBU521] [BCM20702]
| bgcolor="#fda" | [https://www.amazon.com/dp/B007GFX0PY?linkCode=wey&tag=dolphin-emu-20 IOGear GBU521] [BCM20702]
Line 262: Line 324:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited
| bgcolor="#fda" | Limited
|-
| bgcolor="#fda" | Lite-On WCBN807A Wi-Fi Card [QCA6174A]
| M.2 || 5.0
| 04CA|| 3016 || 0001
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B00HZWEB74?linkCode=wey&tag=dolphin-emu-20 Mayflash DolphinBar (W010)]
| bgcolor="#faa" | [https://www.amazon.com/dp/B00HZWEB74?linkCode=wey&tag=dolphin-emu-20 Mayflash DolphinBar (W010)]
| USB
| USB
| colspan="4" style="text-align: center;" | N/A
| colspan="4" style="text-align: center;" | N/A
| bgcolor="#faa" colspan="4" style="text-align: center;" | Not supported<sup>[[#Notes|[9]]]</sup>
| bgcolor="#faa" colspan="4" style="text-align: center;" | Not supported <sup>[[#Notes|[9]]]</sup>
|-
|-
| NoteShip Bluetooth Adapter [CSR8510]
| NoteShip Bluetooth Adapter [CSR8510]
Line 276: Line 345:
|-
|-
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (WML-C43) [BCM2045]
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (WML-C43) [BCM2045]
| USB<sup>[[#Notes|[11]]]</sup> || 2.0
| USB <sup>[[#Notes|[10]]]</sup> || 2.0
| 057E || 0305 || ?
| 057E || 0305 || 0100
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
|-
|-
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (J27H002) [BCM2045]
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (J27H002) [BCM2045]
| USB<sup>[[#Notes|[11]]]</sup> || 2.0
| USB <sup>[[#Notes|[10]]]</sup> || 2.0
| 057E || 0305 || ?
| 057E || 0305 || 0100
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
|-
|-
| bgcolor="#afa" | Orico BTA-403 [CSR8510]
| bgcolor="#fda" | Orico BTA-403 [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B0169O12UC?linkCode=wey&tag=dolphin-emu-20 Orico BTA-408] [BCM20702]
| bgcolor="#fda" | [https://www.amazon.com/dp/B0169O12UC?linkCode=wey&tag=dolphin-emu-20 Orico BTA-408] [BCM20702]
Line 296: Line 367:
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
| Orico BTA-508 [RTL8761B]
| USB || 5.1
| 0BDA || 8771 || 0200
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| ?
|-
|-
| bgcolor="#fda" | Plugable USB-BT4LE Bluetooth Adapter [BCM20702]
| bgcolor="#fda" | Plugable USB-BT4LE Bluetooth Adapter [BCM20702]
Line 304: Line 381:
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
|-
| bgcolor="#fda" | Qualcomm Atheros AR5B22 WiFi Card [AR9462]
| bgcolor="#fda" | Qualcomm Atheros AR5B22 Wi-Fi Card [AR9462]
| mPCIe || 4.0
| mPCIe || 4.0
| 0CF3 || 3004 || 0001
| 0CF3 || 3004 || 0001
Line 323: Line 400:
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
|-
|-
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter [BCM????]
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter
| USB || ?
| USB || 2.1
| 0C10 || 0000 || 1915
| 0C10 || 0000 || 1915
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
Line 355: Line 432:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01LX6HISL?linkCode=wey&tag=dolphin-emu-20 UGREEN USB Bluetooth 4.0 Adapter] [CSR8510]
| bgcolor="#afa" | [https://www.amazon.com/dp/B01LX6HISL?linkCode=wey&tag=dolphin-emu-20 UGREEN USB Bluetooth 4.0 Adapter] [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || ?
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes <sup>[[#Notes|[10]]]</sup>
| bgcolor="#afa" | Yes
|}
|}


Line 379: Line 454:
'''Pairing'''
'''Pairing'''
:<sup>[7]</sup> Has issues reconnecting multiple Wiimotes.
:<sup>[7]</sup> Has issues reconnecting multiple Wiimotes.
:<sup>[8]</sup> Limited to 1 remote.
:<sup>[8]</sup> Remembers only one Wiimote.


'''Other'''
'''Other'''
:<sup>[9]</sup> Doesn't expose its internal Bluetooth adapter, can't be used with Bluetooth Passthrough in any capacity.
:<sup>[9]</sup> Doesn't expose its internal Bluetooth adapter, can't be used with Bluetooth Passthrough in any capacity.
</div>
</div>
:<sup>[10]</sup> Needs further testing.
:<sup>[10]</sup> Must be modified before use, [https://forums.dolphin-emu.org/Thread-how-to-wire-a-wii-s-bluetooth-module-to-a-pc-usb-port refer to this forum thread].
:<sup>[11]</sup> Must be modded before use, [https://forums.dolphin-emu.org/Thread-how-to-wire-a-wii-s-bluetooth-module-to-a-pc-usb-port refer to this forum thread].
:<sup>[11]</sup> [https://www.intel.com/content/www/us/en/support/articles/000026155/wireless.html CNVi card], must be paired with a compatible Intel CPU and chipset to work.
:<sup>[12]</sup> Supported Bluetooth version may vary depending of the chipset model paired with this card.
:<sup>[13]</sup> Proprietary 10-pin BTB connector, usually found in older laptops (2010 and earlier).
 
[[Category:Tutorials]]
[[Category:Tutorials]]

Navigation menu