Bluetooth Passthrough: Difference between revisions

→‎Adapter test results: none of the CSR8510 based adapters tested so far showed different behavior on Linux/macOS, so I'm assuming user error here
No edit summary
(→‎Adapter test results: none of the CSR8510 based adapters tested so far showed different behavior on Linux/macOS, so I'm assuming user error here)
 
(19 intermediate revisions by 6 users not shown)
Line 1: Line 1:
Since {{revision|5.0-910}}, Dolphin has the ability to passthrough a Bluetooth adapter for emulated Wii software. This is a powerful option that allows for perfect Wii Remote behaviors on Dolphin, given a powerful enough Bluetooth adapter. Unlike standard Bluetooth emulation, Bluetooth Passthrough supports pairing third party Wii Remotes, Wii Remote audio, and can more accurately communicate fine motions. However, because Bluetooth Passthrough gives the Bluetooth adapter directly to the emulated software, there are heaps of limitations that make it only worthwhile for certain situations.
Since {{revision|5.0-910}}, Dolphin has the ability to passthrough a Bluetooth adapter for emulated Wii software. This is a powerful option that allows for perfect Wii Remote behaviors on Dolphin, given a powerful enough Bluetooth adapter. Unlike standard Bluetooth emulation, Bluetooth Passthrough supports pairing third party Wii Remotes, Wii Remote audio, and can more accurately communicate fine motions. However, because Bluetooth Passthrough gives the Bluetooth adapter directly to the emulated software, there are heaps of limitations that make it only worthwhile for certain situations.


== Limitations ==
== Limitations ==
* Requires a specialized driver on Windows, and on Linux requires a udev rule. The Operating System will not be able to access the Bluetooth adapter while it is in use.
* Requires a specialized driver on Windows, and on Linux requires a udev rule. The Operating System will not be able to access the Bluetooth adapter while it is in use.
* The functionality and stability of the connection heavily depends on the compatibility of the Bluetooth adapter used.
* The functionality and stability of the connection heavily depends on the compatibility of the Bluetooth adapter used.
* Even though most Bluetooth adapters can be used in passthrough mode, perfect compatibility is only guaranteed with the Bluetooth modules from Wii consoles.
* Even though most Bluetooth adapters can be used in passthrough mode, perfect compatibility is only guaranteed with the Bluetooth modules from Wii consoles.
* Many features do not work. Netplay, input recordings will be limited. The Wii Remote may disconnect if Dolphin is running too fast or too slow. If the Bluetooth is disconnected from your computer, Dolphin may crash.
* Many features do not work. Netplay, input recordings will be limited. The Wii Remote may disconnect if Dolphin is running too fast or too slow. If the Bluetooth is disconnected from your computer, Dolphin may crash.
* Save states made in Bluetooth Passthrough mode can't be loaded on "Emulate a BT Adapter" mode, nor vice-versa.
* 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:
* Wii Remote connection state dictates whether save states made in Bluetooth Passthrough mode will work or not:
Line 57: Line 57:
=== Windows ===
=== Windows ===


WARNING:  While a libusb driver is installed, other programs/devices will not be able to use your Bluetooth device. This can be easily reverted in Windows Device Manager and instructions are provided below.
WARNING:  While a libusb driver is installed, other programs/devices will not be able to use your Bluetooth device. This can be easily reverted in Windows Device Manager and instructions are provided below.


Download and open [http://zadig.akeo.ie/ Zadig] as Administrator, then:
Download and open [https://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 radio to passthrough.
# Look through the devices for the radio to passthrough.
# On the right column, select "libusbK", 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 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 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 this does not revert your device driver, you may right click on the Bluetooth device in Device Manager, select "Update Driver", "Browse my computer for drivers", then select "Let me pick from a list of available drivers on my computer". From there, select "Generic Bluetooth Adapter". This should permanently revert your Bluetooth driver.
 
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 72: Line 74:
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 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.
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 156: Line 158:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B00DJ83070?linkCode=wey&tag=dolphin-emu-20 Asus USB-BT400] [BCM20702]
| bgcolor="#fda" | Asus USB-BT400 [BCM20702]
| USB || 4.0
| USB || 4.0
| 0B05 || 17CF || ?
| 0B05 || 17CF || ?
Line 164: Line 166:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#afa" | [https://www.amazon.com/dp/B003765X38?linkCode=wey&tag=dolphin-emu-20 Azio BTD-V201] [CSR8510]
| bgcolor="#afa" | Azio BTD-V201 [CSR8510]
| USB || 2.1
| USB || 2.1
| 0A12 || 0001 || ?
| 0A12 || 0001 || ?
Line 177: Line 179:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://buro-tech.ru/catalog/1646/1652/341953 Buro BU-BT40B] [BCM20702]
| bgcolor="#fda" | Buro BU-BT40B [BCM20702]
| USB || 4.0
| USB || 4.0
| 0A5C || 21EC || ?
| 0A5C || 21EC || ?
Line 191: Line 193:
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
|-
| bgcolor="#fda" | E-Blue Mini Nova EBA012V00 [CSR8510]
| bgcolor="#fda" | E-Blue Mini Nova (EBA012V00) [CSR8510]
| USB || 2.1
| USB || 2.1
| 0A12 || 0001 || ?
| 0A12 || 0001 || ?
Line 199: Line 201:
|-
|-
| bgcolor="#faa" | Foxconn T77H114.32 Bluetooth Module [BCM2070]
| bgcolor="#faa" | Foxconn T77H114.32 Bluetooth Module [BCM2070]
| USB <sup>[[#Notes|[13]]]</sup> || 2.1
| USB <sup>[[#Notes|[14]]]</sup> || 2.1
| 0489 || E00F || 0596
| 0489 || E00F || 0596
| bgcolor="#faa" colspan="4" style="text-align: center;" | No
| bgcolor="#faa" colspan="4" style="text-align: center;" | No
Line 211: Line 213:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01EZTR2G6?linkCode=wey&tag=dolphin-emu-20 Gembird BTD-MINI5] [CSR8510]
| bgcolor="#fda" | Gembird BTD-MINI5 [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
Line 231: Line 233:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01HRZCDEG?linkCode=wey&tag=dolphin-emu-20 Generic Bluetooth Adapter] [CSR8510]
| bgcolor="#fda" | Generic Bluetooth Adapter [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
Line 247: Line 249:
| bgcolor="#fda" | Limited
| bgcolor="#fda" | Limited
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B00F85ZPIY?linkCode=wey&tag=dolphin-emu-20 GMYLE Ultra-Mini USB CSR4.0] [CSR8510]
| bgcolor="#faa" | GMYLE Ultra-Mini USB CSR4.0 [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
Line 294: Line 296:
|-
|-
| bgcolor="#fda" | Intel Wireless-AC 9462
| bgcolor="#fda" | Intel Wireless-AC 9462
| M.2 <sup>[[#Notes|[11]]]</sup> || 5.2 <sup>[[#Notes|[12]]]</sup>
| M.2 <sup>[[#Notes|[12]]]</sup> || 5.2 <sup>[[#Notes|[13]]]</sup>
| 8087 || 0AAA || 0002
| 8087 || 0AAA || 0002
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
Line 302: Line 304:
|-
|-
| bgcolor="#fda" | Intel Wi-Fi 6 AX201
| bgcolor="#fda" | Intel Wi-Fi 6 AX201
| M.2 <sup>[[#Notes|[11]]]</sup> || 5.2 <sup>[[#Notes|[12]]]</sup>
| M.2 <sup>[[#Notes|[12]]]</sup> || 5.2 <sup>[[#Notes|[13]]]</sup>
| 8087 || 0026 || 0002
| 8087 || 0026 || 0002
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
Line 309: Line 311:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B0018O9JIG?linkCode=wey&tag=dolphin-emu-20 IOGear GBU421] [BCM2046]
| bgcolor="#fda" | IOGear GBU421 [BCM2046]
| USB || 2.1
| USB || 2.1
| 0A5C || 2148 || ?
| 0A5C || 2148 || ?
Line 317: Line 319:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B007GFX0PY?linkCode=wey&tag=dolphin-emu-20 IOGear GBU521] [BCM20702]
| bgcolor="#fda" | IOGear GBU521 [BCM20702]
| USB || 4.0
| USB || 4.0
| 0A5C || 21E8 || 0112
| 0A5C || 21E8 || 0112
Line 333: Line 335:
| bgcolor="#fda" | Limited
| bgcolor="#fda" | Limited
|-
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B007Q45EF4?linkCode=wey&tag=dolphin-emu-20 Kinivo BTD-400] [BCM20702]
| bgcolor="#fda" | Kinivo BTD-400 [BCM20702]
| USB || 4.0
| USB || 4.0
| 0A5C || 21E8 || 0112
| 0A5C || 21E8 || 0112
Line 340: Line 342:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited
| bgcolor="#fda" | Limited
|-
| bgcolor="#fda" | Lite-On WCBN806A Wi-Fi Card [QCA9377]
| M.2 || 4.1
| 04CA || 3015 || 0001
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#fda" | Lite-On WCBN807A Wi-Fi Card [QCA6174A]
| bgcolor="#fda" | Lite-On WCBN807A Wi-Fi Card [QCA6174A]
Line 348: Line 357:
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B00HZWEB74?linkCode=wey&tag=dolphin-emu-20 Mayflash DolphinBar (W010)]
| bgcolor="#faa" | 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|[10]]]</sup>
|-
|-
| NoteShip Bluetooth Adapter [CSR8510]
| NoteShip Bluetooth Adapter [CSR8510]
Line 361: Line 370:
|-
|-
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (WML-C43) [BCM2045]
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (WML-C43) [BCM2045]
| USB <sup>[[#Notes|[10]]]</sup> || 2.0
| USB <sup>[[#Notes|[11]]]</sup> || 2.0
| 057E || 0305 || 0100
| 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|[10]]]</sup> || 2.0
| USB <sup>[[#Notes|[11]]]</sup> || 2.0
| 057E || 0305 || 0100
| 057E || 0305 || 0100
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
Line 377: Line 386:
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| 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" | Orico BTA-408 [BCM20702]
| USB || 4.0
| USB || 4.0
| 0A5C || 21EC || ?
| 0A5C || 21EC || ?
Line 384: Line 393:
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
|-
| Orico BTA-508 [RTL8761B]
| bgcolor="#faa" | Orico BTA-508 [RTL8761B]
| USB || 5.1
| USB || 5.1 <sup>[[#Notes|[15]]]</sup>
| 0BDA || 8771 || 0200
| 0BDA || 8771 || 0200
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#faa" colspan="4" style="text-align: center;" | No <sup>[[#Notes|[9]]]</sup>
| ?
|-
|-
| bgcolor="#fda" | Plugable USB-BT4LE Bluetooth Adapter [BCM20702]
| bgcolor="#fda" | Plugable USB-BT4LE Bluetooth Adapter [BCM20702]
Line 404: Line 412:
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B001D8CCYK?linkCode=wey&tag=dolphin-emu-20 Rocketfish RF-MRBTAD Micro Bluetooth Adapter] [BCM2046]
| bgcolor="#fda" | Qualcomm Atheros QCA9377 Wi-Fi Card
| M.2 || 5.0
| 0CF3 || E500 || 0001
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| bgcolor="#afa" | Yes
|-
| bgcolor="#faa" | Realtek RTL8852AE Wi-Fi Card
| M.2 || 5.2 <sup>[[#Notes|[15]]]</sup>
| 0BDA || 4852 || 0000
| bgcolor="#faa" colspan="4" style="text-align: center;" | No <sup>[[#Notes|[9]]]</sup>
|-
| bgcolor="#faa" | Rocketfish Micro Bluetooth Adapter (RF-MRBTAD) [BCM2046]
| USB || 2.1
| USB || 2.1
| 0461 || 4D75 || ?
| 0461 || 4D75 || ?
Line 411: Line 431:
| ?
| ?
|-
|-
| bgcolor="#afa" | [http://www.senanetworks.com/ud100-g03.html?sc=14&category=3968 Sena Networks Parani-UD100] [CSR8510]
| bgcolor="#fda" | Sena Networks Parani-UD100 [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8241
| 0A12 || 0001 || 8241
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#fda" | Limited
|-
|-
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter
Line 424: Line 445:
| ?
| ?
|-
|-
| [https://www.amazon.com/dp/B00F25Z0FS?linkCode=wey&tag=dolphin-emu-20 SoundBot SB340] [CSR8510]
| SoundBot SB340 [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || ?
| 0A12 || 0001 || ?
Line 431: Line 452:
| ?
| ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
|-
| bgcolor="#fda" | TP-Link Bluetooth 4.0 Nano USB Adapter (UB400) [CSR8510]
| USB || 4.0
| 0A12 || 0001 || ?
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#fda" | Limited
|-
| bgcolor="#faa" | TP-Link Bluetooth 5.0 Nano USB Adapter (UB500) [RTL8761B]
| USB || 5.0 <sup>[[#Notes|[15]]]</sup>
| 2357 || 0604 || ?
| bgcolor="#faa" colspan="4" style="text-align: center;" | No <sup>[[#Notes|[9]]]</sup>
|-
|-
| Trendnet TBW-106UB [CSR8510]
| Trendnet TBW-106UB [CSR8510]
Line 440: Line 472:
| bgcolor="#fda" | Limited
| bgcolor="#fda" | Limited
|-
|-
| bgcolor="#fda" | [https://www.trust.com/en/product/17772-bluetooth-3-0-usb-adapter Trust Bluetooth 3.0 Adapter] [AR3011]
| bgcolor="#fda" | Trust Bluetooth 3.0 Adapter [AR3011]
| USB || 3.0
| USB || 3.0
| 0CF3 || 3002 || 0001
| 0CF3 || 3002 || 0001
Line 448: Line 480:
| 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="#faa" | UGREEN Bluetooth 5.0 Adapter (CM390) [RTL8761B]
| USB || 5.1 <sup>[[#Notes|[15]]]</sup>
| 2B89 || 8761 || 0200
| bgcolor="#faa" colspan="4" style="text-align: center;" | No <sup>[[#Notes|[9]]]</sup>
|-
| bgcolor="#fda" | UGREEN USB Bluetooth 4.0 Adapter (CM109) [CSR8510]
| USB || 4.0
| USB || 4.0
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
Line 473: Line 510:
:<sup>[7]</sup> Has issues reconnecting multiple Wii Remotes.
:<sup>[7]</sup> Has issues reconnecting multiple Wii Remotes.
:<sup>[8]</sup> Remembers only one Wii Remote.
:<sup>[8]</sup> Remembers only one Wii Remote.
:<sup>[9]</sup> Seems to completely ignore all discovery commands sent by the emulated software, rendering it unable to find any Wiimote. Might start working if Dolphin gets the ability to upload firmware binaries to the adapter, like the proprietary Realtek driver does.


'''Other'''
'''Other'''
:<sup>[9]</sup> Doesn't expose its internal Bluetooth adapter, can't be used with Bluetooth Passthrough in any capacity.
:<sup>[10]</sup> Doesn't expose its internal Bluetooth adapter, can't be used with Bluetooth Passthrough in any capacity.
</div>
</div>
:<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 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> [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> [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> 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).
:<sup>[14]</sup> Proprietary 10-pin BTB connector, usually found in older laptops (2010 and earlier).
:<sup>[15]</sup> This is the Bluetooth version supported out of the box, with no drivers installed, can be upgraded/downgraded depending of the proprietary Realtek driver version installed.
 


[[Category:Tutorials]]
[[Category:Tutorials]]