Bluetooth Passthrough: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
No edit summary
(33 intermediate revisions by 15 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 gives emulated Wii software full control of a Bluetooth adapter, which, provided a decent, working adapter, notably allows pairing Wii Remotes to Dolphin, third-party Wii Remote support, working Wii Remote audio and more accurate connectivity.
Since {{revision|5.0-910}}, Dolphin has the ability to passthrough a Bluetooth adapter for emulated Wii software. This gives emulated Wii software full control of a Bluetooth adapter, which, provided a decent, working adapter, notably allows pairing Wii Remotes to Dolphin, third-party Wii Remote support, working Wii Remote audio and more accurate connectivity.
== Limitations ==
* The functionality and quality of the connections heavily depend on the quality of the adapter.
* Even though most adapters work fine in passthrough mode, the only perfect adapter is the Wii's Bluetooth module (so far).
* Save states can be used with some limitations.
* 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.


== Setting up ==
== Setting up ==
Line 10: Line 16:


=== Windows ===
=== Windows ===
Download and open [http://zadig.akeo.ie/ Zadig], 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.
# Look through the devices for the device to passthrough.
# On the right column, select "libusbk" then click "Replace Driver". Select "Yes" to modify the system driver.


1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
If you run into problems after doing this, such as an "LIBUSB_ERROR_NOT_FOUND" error when trying to use the adapter with Dolphin, downloading and installing the [https://github.com/daynix/UsbDk/releases latest x64 usbdk driver] could help.
 
2. Look through the devices for the device to passthrough.
 
3. On the right column, select "libusbk" then click "Replace Driver". Select "Yes" to modify the system driver.


=== macOS ===
=== macOS ===
Line 30: Line 35:


While a game is running:
While a game is running:
* Wii Remotes can be synced and paired to Dolphin by using the Sync button.
* Wii Remotes can be synced and paired to Dolphin by using the Sync button.
* All saved Wii Remote pairings can be reset by using the Reset button. This will also disconnect all currently connected Wii Remotes.
* All saved Wii Remote pairings can be reset by using the Reset button. This will also disconnect all currently connected Wii Remotes.
Line 36: Line 40:
=== Advanced usage ===
=== Advanced usage ===
==== Sync button hotkey ====
==== Sync button hotkey ====
It is possible to use the "Press Sync Button" hotkey as an alternative to the buttons in the controller configuration dialog.  
It is possible to use the "Press Sync Button" hotkey as an alternative to the buttons in the controller configuration dialog.


You will need to map "Press Sync Button" to a key or combination of keys. This can be done within Dolphin by left clicking on the "Hotkey Settings" tab under "Options" to bring up the appropriate configuration menu. You must then left click on the "Wii and Wii Remote" tab and left click on the box for "Press Sync Button" to map this hotkey.  
You will need to map "Press Sync Button" to a key or combination of keys. This can be done within Dolphin by left clicking on the "Hotkey Settings" tab under "Options" to bring up the appropriate configuration menu. You must then left click on the "Wii and Wii Remote" tab and left click on the box for "Press Sync Button" to map this hotkey.


"Press Sync Button" is designed to work just like the Wii's red sync button:
"Press Sync Button" is designed to work just like the Wii's red sync button:
* Pressing the hotkey will trigger a sync.
* Pressing the hotkey will trigger a sync.
* Holding the hotkey for 10 seconds will clear all saved pairings.
* Holding the hotkey for 10 seconds will clear all saved pairings.


==== Forcing a specific adapter ====  
==== Forcing a specific adapter ====
If you need to use a specific adapter, instead of using the first Bluetooth adapter that is found, you can force Dolphin to use it by editing Dolphin's configuration file (Config/Dolphin.ini). In the BluetoothPassthrough section, set "VID" and "PID" to your adapter's vendor ID and product ID (that you previously converted from hex to decimal).
If you need to use a specific adapter, instead of using the first Bluetooth adapter that is found, you can force Dolphin to use it by editing Dolphin's configuration file (Config/Dolphin.ini). In the BluetoothPassthrough section, set "VID" and "PID" to your adapter's vendor ID and product ID. [http://www.rapidtables.com/convert/number/hex-to-decimal.htm These values should be converted from hex to decimal], for example a VID of "057E" should be inputted as "1406".


== Troubleshooting ==
== Troubleshooting ==
Line 70: Line 73:
=== No usable adapter found ===
=== No usable adapter found ===
This can happen with some adapters. You'll need to [[#Forcing_a_specific_adapter|force your adapter to be used]].
This can happen with some adapters. You'll need to [[#Forcing_a_specific_adapter|force your adapter to be used]].
== Limitations ==
* The functionality and quality of the connections heavily depend on the quality of the adapter.
* Even though most adapters work fine in passthrough mode, the only perfect adapter is the Wii's Bluetooth module (so far).
* Save states can be used with some limitations.
* 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/hybrid Wii Remote. This means that netplay, TAS input, input display, etc. cannot work.


== Adapter test results ==
== Adapter test results ==
Line 84: Line 78:
! Adapter
! Adapter
! <abbr title="Vendor Identification">VID</abbr> !! <abbr title="Product Identification">PID</abbr> !! Revision
! <abbr title="Vendor Identification">VID</abbr> !! <abbr title="Product Identification">PID</abbr> !! Revision
! Works?  
! Works?
! Stable?  
! Stable?
! Remembers pairings?
! Remembers pairings?
! Audio
! Audio
Line 92: Line 86:
| Asus BT-211
| Asus BT-211
| ? || ? || ?
| ? || ? || ?
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| ?  
| ?
| ?
| ?
| ?
| ?
| ?
| ?
|-
|-
| bgcolor="#faa" | Asus BT-400 (BCM20702A0)
| bgcolor="#fda" | Asus BT-400 (BCM20702A0)
| 0B05 || 17CB || ?
| 0B05 || 17CB || ?
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#fda" | Yes <sup>[[#Notes|[5]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| Good
| Good
| ?
| ?
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B00DJ83070?linkCode=wey&tag=dolphin-emu-20 Asus BT-400 (BCM20702A0)]
| bgcolor="#fda" | [https://www.amazon.com/dp/B00DJ83070?linkCode=wey&tag=dolphin-emu-20 Asus BT-400 (BCM20702A0)]
| 0B05 || 17CF || ?
| 0B05 || 17CF || ?
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#fda" | Yes <sup>[[#Notes|[6]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#fda" | Yes <sup>[[#Notes|[4]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[8]]]</sup>
| Good
| Good
| Very long
| Very long
|-
|-
| bgcolor="#fda" |Atheros AR3012 (AR9462)
| bgcolor="#fda" | [https://www.trust.com/en/product/17772-bluetooth-3-0-usb-adapter Trust BT 3.0 (Qualcomm Atheros AR3011)]
| 0CF3 || 3002 || 0001
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[4]]][[#Notes|[6]]]</sup>
| bgcolor="#faa" | No
| Good
| Average
|-
| bgcolor="#fda" | Atheros AR3012 (AR9462)
| 0CF3 || 3004 || 0001
| 0CF3 || 3004 || 0001
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[7]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[4]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
Line 124: Line 126:
| bgcolor="#afa" | Atheros AR9462
| bgcolor="#afa" | Atheros AR9462
| 0B05 || 17D0 || 0001
| 0B05 || 17D0 || 0001
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Very long
| Very long
Line 132: Line 132:
| bgcolor="#afa" | [https://www.amazon.com/dp/B003765X38?linkCode=wey&tag=dolphin-emu-20 Azio BTD-V201]
| bgcolor="#afa" | [https://www.amazon.com/dp/B003765X38?linkCode=wey&tag=dolphin-emu-20 Azio BTD-V201]
| 0A12 || 0001 || ?
| 0A12 || 0001 || ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Long
| Long
Line 140: Line 138:
| [https://www.amazon.com/dp/B00JAZGSXY?linkCode=wey&tag=dolphin-emu-20 Azio BTD-V401]
| [https://www.amazon.com/dp/B00JAZGSXY?linkCode=wey&tag=dolphin-emu-20 Azio BTD-V401]
| ? || ? || ?
| ? || ? || ?
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| ?  
| ?
| ?
| ?
| ?
| ?
| Short
| Short
|-
|-
| Billionth Systems, Inc GUBTCR42I (Class 2)
| bgcolor="#fda" | Belkin Mini BT 4.0 Adapter
| 0A12 || 0001 || ?
| 050D || 065A || ?
| ?
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| ?
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
| ?
| bgcolor="#faa" | No
| ?
| Good
| ?
| ?
|-
|-
| bgcolor="#fda" | CSL BSN23996
| bgcolor="#fda" | CSL BSN23996
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[5]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
Line 164: Line 162:
| bgcolor="#fda" | [https://www.amazon.com/dp/B01HRZCDEG?linkCode=wey&tag=dolphin-emu-20 CSR 8510 A10 (Generic)]
| bgcolor="#fda" | [https://www.amazon.com/dp/B01HRZCDEG?linkCode=wey&tag=dolphin-emu-20 CSR 8510 A10 (Generic)]
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[5]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#fda" | Yes <sup>[[#Notes|[3]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| Good
| Long
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01EZTR2G6 Gembird BTD-MINI5 (CSR 8510 A10)]
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
| bgcolor="#faa" | No
| Good
| Good
| Long
| Long
Line 172: Line 178:
| bgcolor="#fda" | [https://www.amazon.com/dp/B0169O12UC?linkCode=wey&tag=dolphin-emu-20 Orico Bta408 (BCM20702A0)]
| bgcolor="#fda" | [https://www.amazon.com/dp/B0169O12UC?linkCode=wey&tag=dolphin-emu-20 Orico Bta408 (BCM20702A0)]
| 0A5C || 21EC || ?
| 0A5C || 21EC || ?
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#fda" | Yes <sup>[[#Notes|[6]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Very long
| Very long
|-
|-
| bgcolor="#faa" | CSR Generic Bluetooth Edr Mini Nova E Blue 2.1
| bgcolor="#fda" | CSR Generic Bluetooth EDR Mini Nova E Blue 2.1
| 0A12 || 0001 || ?
| 0A12 || 0001 || ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| Good
| Good
Line 188: Line 193:
| bgcolor="#fda" | Foxconn T77H348.02 (AR9462)
| bgcolor="#fda" | Foxconn T77H348.02 (AR9462)
| 0489 || E04E || 0001
| 0489 || E04E || 0001
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[2]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| Good
| Good
Line 196: Line 201:
| bgcolor="#faa" | Generic Adapter
| bgcolor="#faa" | Generic Adapter
| 0A12 || 0001 || 3164
| 0A12 || 0001 || 3164
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#faa" | No
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
| bgcolor="#faa" | No
| Good
| Good
| ?
| ?
Line 204: Line 208:
| bgcolor="#faa" | [https://www.amazon.com/dp/B00F85ZPIY?linkCode=wey&tag=dolphin-emu-20 GMYLE Ultra-Mini USB CSR4.0]
| bgcolor="#faa" | [https://www.amazon.com/dp/B00F85ZPIY?linkCode=wey&tag=dolphin-emu-20 GMYLE Ultra-Mini USB CSR4.0]
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[2]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| Average
| Average
| Short
| Short
|-
|-
| bgcolor="#afa" | Intel Dual Band Wireless-AC 7260
| bgcolor="#fda" | Intel Dual Band Wireless-AC 3160/7260 (Wilkins Peak)
| 8087 || 07DC || 0001
| 8087 || 07DC || 0001
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Long
| Long
|-
|-
| Intel Dual Band Wireless-AC 3165/7265 (Stony Ridge)
| 8087 || 0A2A || 0001
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| ?
| ?
| ?
|-
| bgcolor="#fda" | Intel Wireless-AC 9260
| 8087 || 0025 || 0002
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| Good
| Very Long
|-
|-
| bgcolor="#afa" | [https://www.amazon.com/dp/B0018O9JIG?linkCode=wey&tag=dolphin-emu-20 IOGear GBU421]
| bgcolor="#afa" | [https://www.amazon.com/dp/B0018O9JIG?linkCode=wey&tag=dolphin-emu-20 IOGear GBU421]
| 0A5C || 2148 || ?
| 0A5C || 2148 || ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Long
| Long
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B007GFX0PY?linkCode=wey&tag=dolphin-emu-20 IOGear GBU521]
| bgcolor="#fda" | [https://www.amazon.com/dp/B007GFX0PY?linkCode=wey&tag=dolphin-emu-20 IOGear GBU521]
| 0A5C || 21E8 || 0112
| 0A5C || 21E8 || 0112
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| Good
| Good
Line 236: Line 254:
| bgcolor="#fda" | ISSC EDR Bluetooth Adapter
| bgcolor="#fda" | ISSC EDR Bluetooth Adapter
| 1131 || 1004 || 0373
| 1131 || 1004 || 0373
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[8]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[5]]]</sup>
| bgcolor="#fda" | Yes <sup>[[#Notes|[3]]]</sup>
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| Short range
| Short range
| Average
| Average
Line 244: Line 262:
| bgcolor="#fda" | [https://www.amazon.com/dp/B005Z5HT2M?linkCode=wey&tag=dolphin-emu-20 Kinivo BTD-300]
| bgcolor="#fda" | [https://www.amazon.com/dp/B005Z5HT2M?linkCode=wey&tag=dolphin-emu-20 Kinivo BTD-300]
| 0A5C || 2198 || 0391
| 0A5C || 2198 || 0391
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[2]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Average
| Average
| Average
| Average
|-
|-
| bgcolor="#afa" | [https://www.amazon.com/dp/B007Q45EF4?linkCode=wey&tag=dolphin-emu-20 Kinivo BTD-400]
| bgcolor="#fda" | [https://www.amazon.com/dp/B007Q45EF4?linkCode=wey&tag=dolphin-emu-20 Kinivo BTD-400]
| 0A5C || 21E8 || 0112
| 0A5C || 21E8 || 0112
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>  
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| Average
| Average
| Very long
| Very long
|-
| Lenovo X1 Carbon Laptop, built in adapter
| 8087 || 0A2A || 0001
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| ?
| ?
| ?
|-
|-
| bgcolor="#faa" | [https://www.amazon.com/dp/B00HZWEB74?linkCode=wey&tag=dolphin-emu-20 Mayflash DolphinBar]
| bgcolor="#faa" | [https://www.amazon.com/dp/B00HZWEB74?linkCode=wey&tag=dolphin-emu-20 Mayflash DolphinBar]
| bgcolor="#faa" colspan="8" style="text-align:center" | Not supported  
| bgcolor="#faa" colspan="8" style="text-align: center;" | Not supported <sup>[[#Notes|[9]]]</sup>
|-
|-
| NoteShip Bluetooth Adapter
| NoteShip Bluetooth Adapter
| 0A12|| 0001 || 0100
| 0A12|| 0001 || 0100
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| ?
| ?
| ?
| ?
Line 279: Line 288:
| bgcolor="#fda" | Plugable USB 2.0 Bluetooth Adapter (BCM20702A0)
| bgcolor="#fda" | Plugable USB 2.0 Bluetooth Adapter (BCM20702A0)
| 0A5C || 21E8 || 0112
| 0A5C || 21E8 || 0112
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#fda" | Yes <sup>[[#Notes|[6]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
Line 287: Line 296:
| bgcolor="#fda" | Qualcomm Atheros QCA61x4A
| bgcolor="#fda" | Qualcomm Atheros QCA61x4A
| 0B05 || 1825 || 0001
| 0B05 || 1825 || 0001
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[6]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
Line 295: Line 304:
| bgcolor="#faa" | [https://www.amazon.com/dp/B001D8CCYK?linkCode=wey&tag=dolphin-emu-20 Rocketfish Bluetooth Adapter]
| bgcolor="#faa" | [https://www.amazon.com/dp/B001D8CCYK?linkCode=wey&tag=dolphin-emu-20 Rocketfish Bluetooth Adapter]
| 0461 || 4D75 || ?
| 0461 || 4D75 || ?
| bgcolor="#fda" | Yes <sup>[[#Notes|[1]]]</sup>
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
| bgcolor="#faa" | No
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
| bgcolor="#faa" | No  
| ?
| ?
| ?
| ?
|-
|-
| bgcolor="#afa" | [http://www.senanetworks.com/products/industrial_bluetooth/ud100.php Sena UD100 Bluetooth Adapter]
| bgcolor="#afa" | [http://www.senanetworks.com/ud100-g03.html?sc=14&category=3968 Sena UD100 Bluetooth Adapter]
| 0A12 || 0001 || 8241
| 0A12 || 0001 || 8241
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Very long
| Very long
Line 311: Line 317:
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter
| 0C10 || 0000 || 1915
| 0C10 || 0000 || 1915
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Yes <sup>[[#Notes|[5]]]</sup>  
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| ?
| ?
Line 318: Line 324:
|-
|-
| [https://www.amazon.com/dp/B00F25Z0FS?linkCode=wey&tag=dolphin-emu-20 SoundBot SB340]
| [https://www.amazon.com/dp/B00F25Z0FS?linkCode=wey&tag=dolphin-emu-20 SoundBot SB340]
| 0A12 || 0001 || 8891
| 0A12 || 0001 || ?
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| ?
| ?
| ?
| ?
Line 327: Line 333:
| StarTech.com USBBT1EDR4 (Class 1)
| StarTech.com USBBT1EDR4 (Class 1)
| ? || ? || ?
| ? || ? || ?
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| ?  
| ?
| ?
| ?
| Short range
| Short range
| ?
|-
| StarTech.com USBBT2EDR4 (Class 2)
| ? || ? || ?
| ?
| ?
| ?
| ?
| ?
| ?
|-
|-
| bgcolor="#faa" | Trendnet TBW-105UB
| bgcolor="#faa" | Trendnet TBW-105UB
| ? || ? || ?
| ? || ? || ?
| bgcolor="#afa" |Yes  
| bgcolor="#afa" | Yes
| bgcolor="#faa" | No  
| bgcolor="#faa" | No
| ?
| ?
| Garbage
| Garbage
| ?
| ?
|-
|-
| bgcolor="#faa" | Trendnet TBW-106UB
| Trendnet TBW-106UB
| 0A12 || 0001 || 8891
| 0A12 || 0001 || 8891
| bgcolor="#afa" | Yes  
| bgcolor="#afa" | Yes
| ?  
| ?
| bgcolor="#faa" | No
| bgcolor="#faa" | No
| Average
| Average
| ?
| ?
|-
| bgcolor="#fda" | [https://www.amazon.com/UGREEN-Bluetooth-Wireless-Receiver-Keyboards/dp/B01LX6HISL UGREEN Bluetooth USB (CSR 8510 A10)]
| 0A12 || 0001 || ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes <sup>[[#Notes|[10]]]</sup>
| bgcolor="#afa" | Yes <sup>[[#Notes|[10]]]</sup>
| Good
| Long
|-
|-
| bgcolor="#afa" | [http://www.ebay.com/itm/BRAND-NEW-BLUETOOTH-WML-C43-PCB-CIRCUIT-BOARD-FOR-NINTENDO-Wii-VH55-/380860957466 Wii Bluetooth Module (WML-C43, BCM2045)]
| bgcolor="#afa" | [http://www.ebay.com/itm/BRAND-NEW-BLUETOOTH-WML-C43-PCB-CIRCUIT-BOARD-FOR-NINTENDO-Wii-VH55-/380860957466 Wii Bluetooth Module (WML-C43, BCM2045)]
| 057E || 0305 || ?
| 057E || 0305 || ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Very long
| Very long
Line 367: Line 371:
| bgcolor="#afa" | [http://www.ebay.com/itm/Wii-OEM-Nintendo-Wii-Bluetooth-BT-Board-J27H002-Replacement-/161905837348 Wii Bluetooth Module (J27H002, BCM2045)]
| bgcolor="#afa" | [http://www.ebay.com/itm/Wii-OEM-Nintendo-Wii-Bluetooth-BT-Board-J27H002-Replacement-/161905837348 Wii Bluetooth Module (J27H002, BCM2045)]
| 057E || 0305 || ?
| 057E || 0305 || ?
| bgcolor="#afa" | Yes
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes
| Good
| Good
| Very long
| Very long
|-
| Wii U Bluetooth Module (BCM20702)
| ? || ? || ?
| ?
| ?
| ?
| ?
| ?
|}
{|class="wikitable sortable"
| bgcolor="#faa" width="50px" |
| '''Not recommended.''' Does not work well and has significant limitations.
|-
| bgcolor="#fda" width="50px" |
| '''Recommended, in some cases.''' This adapter will work well in most cases, but there may be issues in some "Bluetooth intensive" games.
|-
| bgcolor="#afa" width="50px" |
| '''Recommended'''. This adapter will work well in all cases and will give the same experience as a Wii Bluetooth adapter.
|}
|}
:<span style="background-color:#f9f9f9; border:1px solid #aaa;">&nbsp;&nbsp;&nbsp;&nbsp;</span> '''Unknown.''' Not enough information to classify.
:<span style="background-color:#faa; border:1px solid #aaa;">&nbsp;&nbsp;&nbsp;&nbsp;</span> '''Incompatible.''' Does not work or has significant limitations.
:<span style="background-color:#fda; border:1px solid #aaa;">&nbsp;&nbsp;&nbsp;&nbsp;</span> '''Partially compatible.''' Works well in most cases, but there may be some issues.
:<span style="background-color:#afa; border:1px solid #aaa;">&nbsp;&nbsp;&nbsp;&nbsp;</span> '''Fully compatible.''' Works well in all cases and will give the same experience as a Wii Bluetooth adapter.


<div id="Notes">
<div id="Notes">
<sup>[1]</sup> Needs to [[#No_usable_adapter_found|force Dolphin to use the adapter]]<br>
'''Stability'''
<sup>[2]</sup> May stop working after HCI resets (stopping, resetting emulation or going back to the system menu)<br>
:<sup>[1]</sup> May stop working after HCI resets (stopping, resetting emulation or going back to the system menu).
<sup>[3]</sup> Has issues reconnecting multiple Wiimotes<br>
:<sup>[2]</sup> Has issues with games which send a lot of commands (including [[New Super Mario Bros. Wii]] and [[The Legend of Zelda: Skyward Sword]] before you get in game).
<sup>[4]</sup> Limited to 1 remote<br>
:<sup>[3]</sup> Starts having lag issues after ~30 minutes. Reconnecting the Wii remote is required.
<sup>[5]</sup> Has issues with games which send a lot of commands (including [[New Super Mario Bros. Wii]] and [[The Legend of Zelda: Skyward Sword]] before you get in game)<br>
:<sup>[4]</sup> May stop working after HCI resets on Windows, works fine on Linux and macOS.
<sup>[6]</sup> Starts having lag issues after ~30 minutes. Reconnecting the Wii remote is required.<br>
:<sup>[5]</sup> Randomly stop working on Windows, works fine on Linux and macOS.
<sup>[7]</sup> May stop working after HCI resets (Windows only, works fine on Linux/macOS)<br>
:<sup>[6]</sup> Has issues connecting multiple Wiimotes.
<sup>[8]</sup> Randomly stop working on Windows, works fine on Linux/macOS<br>
 
'''Pairing'''
:<sup>[7]</sup> Has issues reconnecting multiple Wiimotes.
:<sup>[8]</sup> Limited to 1 remote.
 
'''Other'''
:<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.
[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 22:55, 28 January 2019

Since 5.0-910, Dolphin has the ability to passthrough a Bluetooth adapter for emulated Wii software. This gives emulated Wii software full control of a Bluetooth adapter, which, provided a decent, working adapter, notably allows pairing Wii Remotes to Dolphin, third-party Wii Remote support, working Wii Remote audio and more accurate connectivity.

Limitations

  • The functionality and quality of the connections heavily depend on the quality of the adapter.
  • Even though most adapters work fine in passthrough mode, the only perfect adapter is the Wii's Bluetooth module (so far).
  • Save states can be used with some limitations.
  • 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.

Setting up

Linux

A udev rule has to be installed so Dolphin can use a Bluetooth adapter without having to get root privileges.

SUBSYSTEM=="usb", ATTRS{idVendor}=="YOURVID", ATTRS{idProduct}=="YOURPID", TAG+="uaccess"

Dolphin should be able to automatically unload the USB Bluetooth kernel module (assuming you have permission to; you typically need to be in the plugdev group). If not, unload it with modprobe -r btusb.

Windows

Download and open Zadig as Administrator, then:

  1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
  2. Look through the devices for the device to passthrough.
  3. On the right column, select "libusbk" then click "Replace Driver". Select "Yes" to modify the system driver.

If you run into problems after doing this, such as an "LIBUSB_ERROR_NOT_FOUND" error when trying to use the adapter with Dolphin, downloading and installing the latest x64 usbdk driver could help.

macOS

There is currently no way to use this feature on versions newer than 10.9, because Apple removed the ability to unload the Bluetooth kernel module.

A potential solution would be to force the OS to ignore the adapter with a codeless .kext, but this hasn't been tried yet.

Android

This feature is not supported on Android.

Using passthrough mode in Dolphin

In Dolphin, open the Controller Configuration dialog, then select the "Passthrough a Bluetooth adapter" option in the Wii Remotes section.

While a game is running:

  • Wii Remotes can be synced and paired to Dolphin by using the Sync button.
  • All saved Wii Remote pairings can be reset by using the Reset button. This will also disconnect all currently connected Wii Remotes.

Advanced usage

Sync button hotkey

It is possible to use the "Press Sync Button" hotkey as an alternative to the buttons in the controller configuration dialog.

You will need to map "Press Sync Button" to a key or combination of keys. This can be done within Dolphin by left clicking on the "Hotkey Settings" tab under "Options" to bring up the appropriate configuration menu. You must then left click on the "Wii and Wii Remote" tab and left click on the box for "Press Sync Button" to map this hotkey.

"Press Sync Button" is designed to work just like the Wii's red sync button:

  • Pressing the hotkey will trigger a sync.
  • Holding the hotkey for 10 seconds will clear all saved pairings.

Forcing a specific adapter

If you need to use a specific adapter, instead of using the first Bluetooth adapter that is found, you can force Dolphin to use it by editing Dolphin's configuration file (Config/Dolphin.ini). In the BluetoothPassthrough section, set "VID" and "PID" to your adapter's vendor ID and product ID. These values should be converted from hex to decimal, for example a VID of "057E" should be inputted as "1406".

Troubleshooting

"Failed to open Bluetooth device: LIBUSB_ERROR_ACCESS"

This error means that Dolphin doesn't have permission to use the Bluetooth adapter.

If on Linux, make sure the udev rule is set up correctly.

"Failed to open Bluetooth device: LIBUSB_ERROR_NOT_SUPPORTED"

On Windows, this typically means that the libusb/WinUSB driver was not installed for the adapter.

"Failed to detach kernel driver for BT passthrough"

Dolphin tried to automatically unload the Bluetooth USB kernel module and failed to. Unload the module manually before starting a game to avoid this issue.

Wii Remotes do not stay paired after closing the game

This means that your adapter is likely broken and does not remember Wii Remote link keys properly. Use a different adapter to avoid this issue.

This may also happen if your SYSCONF is corrupted or if you changed to a Dolphin version which doesn't have BT passthrough. If your adapter is listed as working with pairing or if you're sure it supports pairings (by having checked the HCI command replies), you can try deleting Wii/shared2/sys/SYSCONF and Wii/btdinf.bak.

Black screen on boot

Games send a reset command to the Bluetooth adapter when they start and wait for it to be acknowledged. If you are getting a black screen for a long time (more than 10 seconds), your adapter may be stuck in a broken state and is unable to respond to any commands. Unplug the adapter and try again.

No usable adapter found

This can happen with some adapters. You'll need to force your adapter to be used.

Adapter test results

Adapter VID PID Revision Works? Stable? Remembers pairings? Audio Range
Asus BT-211 ? ? ? Yes ? ? ? ?
Asus BT-400 (BCM20702A0) 0B05 17CB ? Yes (Forced) Limited [2] No Good ?
Asus BT-400 (BCM20702A0) 0B05 17CF ? Yes (Forced) Limited [3] Limited [8] Good Very long
Trust BT 3.0 (Qualcomm Atheros AR3011) 0CF3 3002 0001 Yes Limited [4][6] No Good Average
Atheros AR3012 (AR9462) 0CF3 3004 0001 Yes Limited [4] Yes Good Very long
Atheros AR9462 0B05 17D0 0001 Yes Good Very long
Azio BTD-V201 0A12 0001 ? Yes Good Long
Azio BTD-V401 ? ? ? Yes ? ? ? Short
Belkin Mini BT 4.0 Adapter 050D 065A ? Yes (Forced) Limited [1] No Good ?
CSL BSN23996 0A12 0001 8891 Yes Limited [2] Yes Good Long
CSR 8510 A10 (Generic) 0A12 0001 8891 Yes Limited [2] Limited [7] Good Long
Gembird BTD-MINI5 (CSR 8510 A10) 0A12 0001 8891 Yes Limited [1] No Good Long
Orico Bta408 (BCM20702A0) 0A5C 21EC ? Yes (Forced) Limited [3] Yes Good Very long
CSR Generic Bluetooth EDR Mini Nova E Blue 2.1 0A12 0001 ? Yes No Good Average
Foxconn T77H348.02 (AR9462) 0489 E04E 0001 Yes Limited [1] No Good Very long
Generic Adapter 0A12 0001 3164 Yes No Good ?
GMYLE Ultra-Mini USB CSR4.0 0A12 0001 8891 Yes Limited [1] No Average Short
Intel Dual Band Wireless-AC 3160/7260 (Wilkins Peak) 8087 07DC 0001 Yes Limited [6] Yes Good Long
Intel Dual Band Wireless-AC 3165/7265 (Stony Ridge) 8087 0A2A 0001 Yes ? ? ?
Intel Wireless-AC 9260 8087 0025 0002 Yes Limited [6] Limited [7] Good Very Long
IOGear GBU421 0A5C 2148 ? Yes Good Long
IOGear GBU521 0A5C 21E8 0112 Yes (Forced) Yes No Good Long
ISSC EDR Bluetooth Adapter 1131 1004 0373 Yes Limited [5] Limited [7] Short range Average
Kinivo BTD-300 0A5C 2198 0391 Yes Limited [1] Yes Average Average
Kinivo BTD-400 0A5C 21E8 0112 Yes (Forced) Limited [1] Yes Average Very long
Mayflash DolphinBar Not supported [9]
NoteShip Bluetooth Adapter 0A12 0001 0100 Yes ? ? ?
Plugable USB 2.0 Bluetooth Adapter (BCM20702A0) 0A5C 21E8 0112 Yes (Forced) Limited [3] Yes Good Very long
Qualcomm Atheros QCA61x4A 0B05 1825 0001 Yes Limited [3] Yes Good Very long
Rocketfish Bluetooth Adapter 0461 4D75 ? Yes (Forced) No ? ?
Sena UD100 Bluetooth Adapter 0A12 0001 8241 Yes Good Very long
Silicon Wave Bluetooth Wireless Adapter 0C10 0000 1915 Yes Limited [2] Yes ? ?
SoundBot SB340 0A12 0001 ? Yes ? ? Good Long
StarTech.com USBBT1EDR4 (Class 1) ? ? ? Yes ? ? Short range ?
Trendnet TBW-105UB ? ? ? Yes No ? Garbage ?
Trendnet TBW-106UB 0A12 0001 8891 Yes ? No Average ?
UGREEN Bluetooth USB (CSR 8510 A10) 0A12 0001 ? Yes Yes [10] Yes [10] Good Long
Wii Bluetooth Module (WML-C43, BCM2045) 057E 0305 ? Yes Good Very long
Wii Bluetooth Module (J27H002, BCM2045) 057E 0305 ? Yes Good Very long
     Unknown. Not enough information to classify.
     Incompatible. Does not work or has significant limitations.
     Partially compatible. Works well in most cases, but there may be some issues.
     Fully compatible. Works well in all cases and will give the same experience as a Wii Bluetooth adapter.

Stability

[1] May stop working after HCI resets (stopping, resetting emulation or going back to the system menu).
[2] Has issues with games which send a lot of commands (including New Super Mario Bros. Wii and The Legend of Zelda: Skyward Sword before you get in game).
[3] Starts having lag issues after ~30 minutes. Reconnecting the Wii remote is required.
[4] May stop working after HCI resets on Windows, works fine on Linux and macOS.
[5] Randomly stop working on Windows, works fine on Linux and macOS.
[6] Has issues connecting multiple Wiimotes.

Pairing

[7] Has issues reconnecting multiple Wiimotes.
[8] Limited to 1 remote.

Other

[9] Doesn't expose its internal Bluetooth adapter, can't be used with Bluetooth Passthrough in any capacity.
[10] Needs further testing.