Difference between revisions of "Bluetooth Passthrough"

From Dolphin Emulator Wiki
Jump to: navigation, search
(Windows)
(Windows: Grammatical/sentence fixes)
 
(16 intermediate revisions by 4 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.
  
SUBSYSTEM=="usb", ATTRS{idVendor}=="YOURVID", ATTRS{idProduct}=="YOURPID", TAG+="uaccess"
+
'''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>
 +
 
 +
'''2.''' Reload udev rules with:
 +
<code>sudo udevadm control --reload-rules</code>
 +
 
 +
'''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>.
  
 
=== 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.
 +
 
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" 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.
  
While the usbdk driver does work, it is no longer recommendedIt will immediately crash your game upon an ES_Launch.
+
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.
 +
 
 +
==== usbdk ====
 +
 
 +
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 downWhile 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 77: Line 127:
 
{|class="wikitable sortable"
 
{|class="wikitable sortable"
 
! Adapter
 
! Adapter
! <abbr title="Vendor Identification">VID</abbr> !! <abbr title="Product Identification">PID</abbr> !! Revision
+
! Type
 +
! <abbr title="Supported Bluetooth Version">BT</abbr>
 +
! <abbr title="Vendor Identification">VID</abbr> !! <abbr title="Product Identification">PID</abbr> !! <abbr title="Hardware Revision">Rev</abbr>
 
! Works?
 
! Works?
 
! Stable?
 
! Stable?
 
! Remembers pairings?
 
! Remembers pairings?
 
! Audio
 
! Audio
! Range
 
 
|-
 
|-
| Asus BT-211
+
| bgcolor="#afa" | Asus AR9462 WiFi Card
| ? || ? || ?
+
| mPCIe || 4.0
 +
| 0B05 || 17D0 || 0001
 +
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
 +
|-
 +
| bgcolor="#fda" | Asus QCA6174A WiFi Card
 +
| M.2 || 4.1
 +
| 0B05 || 1825 || 0001
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| ?
+
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| ?
+
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| ?
 
| ?
 
 
|-
 
|-
| bgcolor="#fda" | Asus BT-400 (BCM20702A0)
+
| bgcolor="#fda" | Asus USB-BT400 [BCM20702]
 +
| USB || 4.0
 
| 0B05 || 17CB || ?
 
| 0B05 || 17CB || ?
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| Good
+
| bgcolor="#afa" | Yes
| ?
 
 
|-
 
|-
| bgcolor="#fda" | [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 USB-BT400] [BCM20702]
 +
| USB || 4.0
 
| 0B05 || 17CF || ?
 
| 0B05 || 17CF || ?
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[8]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[8]]]</sup>
| Good
 
| Very long
 
|-
 
| 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="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[4]]][[#Notes|[6]]]</sup>
 
| bgcolor="#faa" | No
 
| Good
 
| Average
 
|-
 
| bgcolor="#fda" | Atheros AR3012 (AR9462)
 
| 0CF3 || 3004 || 0001
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[4]]]</sup>
 
| bgcolor="#afa" | Yes
 
| Good
 
| Very long
 
|-
 
| bgcolor="#afa" | Atheros AR9462
 
| 0B05 || 17D0 || 0001
 
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
 
| Good
 
| Very long
 
 
|-
 
|-
| 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] [CSR8510]
 +
| USB || 2.1
 
| 0A12 || 0001 || ?
 
| 0A12 || 0001 || ?
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
+
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| Good
 
| Long
 
 
|-
 
|-
| [https://www.amazon.com/dp/B00JAZGSXY?linkCode=wey&tag=dolphin-emu-20 Azio BTD-V401]
+
| bgcolor="#fda" | Belkin Mini Bluetooth Adapter (F8T065BF) [BCM20702]
| ? || ? || ?
+
| USB || 4.0
| bgcolor="#afa" | Yes
 
| ?
 
| ?
 
| ?
 
| Short
 
|-
 
| bgcolor="#fda" | Belkin Mini BT 4.0 Adapter
 
 
| 050D || 065A || ?
 
| 050D || 065A || ?
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| Good
+
| bgcolor="#afa" | Yes
| ?
 
 
|-
 
|-
| bgcolor="#fda" | CSL BSN23996
+
| bgcolor="#fda" | CSL USB Bluetooth Nano Adapter (BSN23996) [CSR8510]
 +
| USB || 4.0
 
| 0A12 || 0001 || 8891
 
| 0A12 || 0001 || 8891
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
| bgcolor="#afa" | Yes
+
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| Good
 
| Long
 
 
|-
 
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01HRZCDEG?linkCode=wey&tag=dolphin-emu-20 CSR 8510 A10 (Generic)]
+
| bgcolor="#fda" | E-Blue Mini Nova EBA012V00 [CSR8510]
| 0A12 || 0001 || 8891
+
| USB || 2.1
 +
| 0A12 || 0001 || ?
 +
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 +
| bgcolor="#faa" | No
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
 
| Good
 
| Long
 
 
|-
 
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B01EZTR2G6 Gembird BTD-MINI5 (CSR 8510 A10)]
+
| bgcolor="#fda" | Foxconn T77H348.02 WiFi Card [AR9462]
| 0A12 || 0001 || 8891
+
| mPCIe || 4.0
 +
| 0489 || E04E || 0001
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| Good
 
| Long
 
|-
 
| bgcolor="#fda" | [https://www.amazon.com/dp/B0169O12UC?linkCode=wey&tag=dolphin-emu-20 Orico Bta408 (BCM20702A0)]
 
| 0A5C || 21EC || ?
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
 
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| Good
 
| Very long
 
 
|-
 
|-
| bgcolor="#fda" | CSR Generic Bluetooth EDR Mini Nova E Blue 2.1
+
| bgcolor="#fda" | [https://www.amazon.com/dp/B01EZTR2G6 Gembird BTD-MINI5] [CSR8510]
| 0A12 || 0001 || ?
+
| USB || 4.0
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
+
| 0A12 || 0001 || 8891
| bgcolor="#faa" | No
 
| Good
 
| Average
 
|-
 
| bgcolor="#fda" | Foxconn T77H348.02 (AR9462)
 
| 0489 || E04E || 0001
 
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| Good
+
| bgcolor="#afa" | Yes
| Very long
 
 
|-
 
|-
| bgcolor="#faa" | Generic Adapter
+
| bgcolor="#faa" | Generic Bluetooth Adapter [CSR8510]
 +
| USB || ?
 
| 0A12 || 0001 || 3164
 
| 0A12 || 0001 || 3164
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
 
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
| Good
+
| bgcolor="#afa" | Yes
| ?
+
|-
 +
| bgcolor="#fda" | Generic Bluetooth Adapter [IS1032N]
 +
| USB || 2.0
 +
| 1131 || 1004 || 0373
 +
| bgcolor="#afa" | Yes
 +
| bgcolor="#fda" | Limited <sup>[[#Notes|[5]]]</sup>
 +
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
 +
| 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]
+
| bgcolor="#faa" | [https://www.amazon.com/dp/B00F85ZPIY?linkCode=wey&tag=dolphin-emu-20 GMYLE Ultra-Mini USB CSR4.0] [CSR8510]
 +
| USB || 4.0
 
| 0A12 || 0001 || 8891
 
| 0A12 || 0001 || 8891
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| Average
+
| bgcolor="#fda" | Limited
| Short
 
 
|-
 
|-
| bgcolor="#fda" | Intel Dual Band Wireless-AC 3160/7260 (Wilkins Peak)
+
| bgcolor="#fda" | Intel Dual Band Wireless-AC 3160
 +
| M.2 || 4.0
 
| 8087 || 07DC || 0001
 
| 8087 || 07DC || 0001
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
| bgcolor="#afa" | Yes
+
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| Good
 
| Long
 
 
|-
 
|-
|-
+
| Intel Dual Band Wireless-AC 3165
| Intel Dual Band Wireless-AC 3165/7265 (Stony Ridge)
+
| M.2 || 4.2
 
| 8087 || 0A2A || 0001
 
| 8087 || 0A2A || 0001
 
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 
| ?
 
| ?
 
| ?
 
| ?
| ?
+
|-
 +
| bgcolor="#fda" | Intel Dual Band Wireless-AC 7260
 +
| M.2 || 4.0
 +
| 8087 || 07DC || 0001
 +
| bgcolor="#afa" | Yes
 +
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
 +
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 
|-
 
|-
 
| bgcolor="#fda" | Intel Wireless-AC 9260
 
| bgcolor="#fda" | Intel Wireless-AC 9260
 +
| M.2 || 5.0
 
| 8087 || 0025 || 0002
 
| 8087 || 0025 || 0002
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[6]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
| Good
+
| bgcolor="#afa" | Yes
| 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] [BCM2046]
 +
| USB || 2.1
 
| 0A5C || 2148 || ?
 
| 0A5C || 2148 || ?
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
+
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| Good
 
| Long
 
 
|-
 
|-
| bgcolor="#fda" | [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] [BCM20702]
 +
| USB || 4.0
 
| 0A5C || 21E8 || 0112
 
| 0A5C || 21E8 || 0112
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| Good
 
| Long
 
|-
 
| bgcolor="#fda" | ISSC EDR Bluetooth Adapter
 
| 1131 || 1004 || 0373
 
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[5]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[7]]]</sup>
 
| Short range
 
| Average
 
 
|-
 
|-
| bgcolor="#fda" | [https://www.amazon.com/dp/B005Z5HT2M?linkCode=wey&tag=dolphin-emu-20 Kinivo BTD-300]
+
| bgcolor="#fda" | Kinivo BTD-300 [BCM2070]
 +
| USB || 3.0
 
| 0A5C || 2198 || 0391
 
| 0A5C || 2198 || 0391
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| Average
+
| bgcolor="#fda" | Limited
| Average
 
 
|-
 
|-
| bgcolor="#fda" | [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] [BCM20702]
 +
| USB || 4.0
 
| 0A5C || 21E8 || 0112
 
| 0A5C || 21E8 || 0112
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[1]]]</sup>
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| Average
+
| bgcolor="#fda" | Limited
| Very long
 
 
|-
 
|-
| 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 (W010)]
| bgcolor="#faa" colspan="8" style="text-align: center;" | Not supported <sup>[[#Notes|[9]]]</sup>
+
| USB
 +
| colspan="4" style="text-align: center;" | N/A
 +
| bgcolor="#faa" colspan="4" style="text-align: center;" | Not supported<sup>[[#Notes|[9]]]</sup>
 
|-
 
|-
| NoteShip Bluetooth Adapter
+
| NoteShip Bluetooth Adapter [CSR8510]
 +
| USB || ?
 
| 0A12|| 0001 || 0100
 
| 0A12|| 0001 || 0100
 
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 
| ?
 
| ?
 
| ?
 
| ?
| ?
 
 
|-
 
|-
| bgcolor="#fda" | Plugable USB 2.0 Bluetooth Adapter (BCM20702A0)
+
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (WML-C43) [BCM2045]
 +
| USB<sup>[[#Notes|[11]]]</sup> || 2.0
 +
| 057E || 0305 || ?
 +
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
 +
|-
 +
| bgcolor="#afa" | Nintendo Wii Bluetooth Module (J27H002) [BCM2045]
 +
| USB<sup>[[#Notes|[11]]]</sup> || 2.0
 +
| 057E || 0305 || ?
 +
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
 +
|-
 +
| bgcolor="#afa" | Orico BTA-403 [CSR8510]
 +
| USB || 4.0
 +
| 0A12 || 0001 || 8891
 +
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
 +
|-
 +
| bgcolor="#fda" | [https://www.amazon.com/dp/B0169O12UC?linkCode=wey&tag=dolphin-emu-20 Orico BTA-408] [BCM20702]
 +
| USB || 4.0
 +
| 0A5C || 21EC || ?
 +
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 +
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
 +
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
 +
|-
 +
| bgcolor="#fda" | Plugable USB-BT4LE Bluetooth Adapter [BCM20702]
 +
| USB || 4.0
 
| 0A5C || 21E8 || 0112
 
| 0A5C || 21E8 || 0112
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
| bgcolor="#afa" | Yes
+
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| Good
 
| Very long
 
 
|-
 
|-
| bgcolor="#fda" | Qualcomm Atheros QCA61x4A
+
| bgcolor="#fda" | Qualcomm Atheros AR5B22 WiFi Card [AR9462]
| 0B05 || 1825 || 0001
+
| mPCIe || 4.0
 +
| 0CF3 || 3004 || 0001
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| bgcolor="#fda" | Limited <sup>[[#Notes|[3]]]</sup>
+
| bgcolor="#fda" | Limited <sup>[[#Notes|[4]]]</sup>
| bgcolor="#afa" | Yes
+
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes
| Good
 
| Very long
 
 
|-
 
|-
| 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 RF-MRBTAD Micro Bluetooth Adapter] [BCM2046]
 +
| USB || 2.1
 
| 0461 || 4D75 || ?
 
| 0461 || 4D75 || ?
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#afa" | Yes ([[#Forcing a specific adapter|Forced]])
 
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
 
| bgcolor="#faa" colspan="2" style="text-align: center;" | No
| ?
 
 
| ?
 
| ?
 
|-
 
|-
| bgcolor="#afa" | [http://www.senanetworks.com/ud100-g03.html?sc=14&category=3968 Sena UD100 Bluetooth Adapter]
+
| bgcolor="#afa" | [http://www.senanetworks.com/ud100-g03.html?sc=14&category=3968 Sena Networks Parani-UD100] [CSR8510]
 +
| USB || 4.0
 
| 0A12 || 0001 || 8241
 
| 0A12 || 0001 || 8241
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
+
| bgcolor="#afa" colspan="4" style="text-align: center;" | Yes
| Good
 
| Very long
 
 
|-
 
|-
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter
+
| bgcolor="#fda" | Silicon Wave Bluetooth Wireless Adapter [BCM????]
 +
| USB || ?
 
| 0C10 || 0000 || 1915
 
| 0C10 || 0000 || 1915
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
 
| bgcolor="#fda" | Limited <sup>[[#Notes|[2]]]</sup>
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| ?
 
 
| ?
 
| ?
 
|-
 
|-
| [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] [CSR8510]
 +
| USB || 4.0
 
| 0A12 || 0001 || ?
 
| 0A12 || 0001 || ?
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| ?
 
| ?
 
| ?
 
| ?
| Good
+
| bgcolor="#afa" | Yes
| Long
 
 
|-
 
|-
| StarTech.com USBBT1EDR4 (Class 1)
+
| Trendnet TBW-106UB [CSR8510]
| ? || ? || ?
+
| USB || 4.0
 +
| 0A12 || 0001 || 8891
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 
| ?
 
| ?
| ?
+
| bgcolor="#faa" | No
| Short range
+
| bgcolor="#fda" | Limited
| ?
 
 
|-
 
|-
| bgcolor="#faa" | Trendnet TBW-105UB
+
| bgcolor="#fda" | [https://www.trust.com/en/product/17772-bluetooth-3-0-usb-adapter Trust Bluetooth 3.0 Adapter] [AR3011]
| ? || ? || ?
+
| USB || 3.0
 +
| 0CF3 || 3002 || 0001
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
 +
| bgcolor="#fda" | Limited <sup>[[#Notes|[4]]][[#Notes|[6]]]</sup>
 
| bgcolor="#faa" | No
 
| bgcolor="#faa" | No
| ?
 
| Garbage
 
| ?
 
|-
 
| Trendnet TBW-106UB
 
| 0A12 || 0001 || 8891
 
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| ?
 
| bgcolor="#faa" | No
 
| Average
 
| ?
 
 
|-
 
|-
| bgcolor="#fda" | [https://www.amazon.com/UGREEN-Bluetooth-Wireless-Receiver-Keyboards/dp/B01LX6HISL UGREEN Bluetooth USB (CSR 8510 A10)]
+
| bgcolor="#fda" | [https://www.amazon.com/dp/B01LX6HISL?linkCode=wey&tag=dolphin-emu-20 UGREEN USB Bluetooth 4.0 Adapter] [CSR8510]
 +
| USB || 4.0
 
| 0A12 || 0001 || ?
 
| 0A12 || 0001 || ?
 
| bgcolor="#afa" | Yes
 
| bgcolor="#afa" | Yes
| bgcolor="#afa" | Yes <sup>[[#Notes|[10]]]</sup>
+
| bgcolor="#afa" colspan="2" style="text-align: center;" | Yes <sup>[[#Notes|[10]]]</sup>
| bgcolor="#afa" | Yes <sup>[[#Notes|[10]]]</sup>
+
| bgcolor="#afa" | Yes
| 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)]
 
| 057E || 0305 || ?
 
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
 
| Good
 
| Very long
 
|-
 
| bgcolor="#afa" | [http://www.ebay.com/itm/Wii-OEM-Nintendo-Wii-Bluetooth-BT-Board-J27H002-Replacement-/161905837348 Wii Bluetooth Module (J27H002, BCM2045)]
 
| 057E || 0305 || ?
 
| bgcolor="#afa" colspan="3" style="text-align: center;" | Yes
 
| Good
 
| Very long
 
 
|}
 
|}
  
Line 398: Line 417:
 
</div>
 
</div>
 
:<sup>[10]</sup> Needs further testing.
 
:<sup>[10]</sup> Needs further testing.
 +
:<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].
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]

Latest revision as of 07:13, 19 October 2020

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 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.
  • 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.
  • 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:
When saving state When loading state Works?
One or more Wii Remotes connected One or more Wii Remotes connected on the same session[1] Yes
One or more Wii Remotes connected One or more Wii Remotes connected on a different session[1] No
One or more Wii Remotes connected Some or all Wii Remotes disconnected Yes[2]
No Wii Remotes connected One or more Wii Remotes connected No
No Wii Remotes connected No Wii Remotes connected Yes
[1] 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.
Different session: when any one of these has been intervened.
[2] 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.

Setting up

Linux

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.

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

2. Reload udev rules with: sudo udevadm control --reload-rules

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 plugdev group). If not, unload it with modprobe -r btusb.

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.

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 radio to passthrough.
  3. 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 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

As of 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.

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 Type BT VID PID Rev Works? Stable? Remembers pairings? Audio
Asus AR9462 WiFi Card mPCIe 4.0 0B05 17D0 0001 Yes
Asus QCA6174A WiFi Card M.2 4.1 0B05 1825 0001 Yes Limited [3] Yes
Asus USB-BT400 [BCM20702] USB 4.0 0B05 17CB  ? Yes (Forced) Limited [2] No Yes
Asus USB-BT400 [BCM20702] USB 4.0 0B05 17CF  ? Yes (Forced) Limited [3] Limited [8] Yes
Azio BTD-V201 [CSR8510] USB 2.1 0A12 0001  ? Yes
Belkin Mini Bluetooth Adapter (F8T065BF) [BCM20702] USB 4.0 050D 065A  ? Yes (Forced) Limited [1] No Yes
CSL USB Bluetooth Nano Adapter (BSN23996) [CSR8510] USB 4.0 0A12 0001 8891 Yes Limited [2] Yes
E-Blue Mini Nova EBA012V00 [CSR8510] USB 2.1 0A12 0001  ? Yes No Yes
Foxconn T77H348.02 WiFi Card [AR9462] mPCIe 4.0 0489 E04E 0001 Yes Limited [1] No Yes
Gembird BTD-MINI5 [CSR8510] USB 4.0 0A12 0001 8891 Yes Limited [1] No Yes
Generic Bluetooth Adapter [CSR8510] USB  ? 0A12 0001 3164 Yes No Yes
Generic Bluetooth Adapter [IS1032N] USB 2.0 1131 1004 0373 Yes Limited [5] Limited [7] Limited
Generic Bluetooth Adapter [CSR8510] USB 4.0 0A12 0001 8891 Yes Limited [2] Limited [7] Yes
GMYLE Ultra-Mini USB CSR4.0 [CSR8510] USB 4.0 0A12 0001 8891 Yes Limited [1] No Limited
Intel Dual Band Wireless-AC 3160 M.2 4.0 8087 07DC 0001 Yes Limited [6] Yes
Intel Dual Band Wireless-AC 3165 M.2 4.2 8087 0A2A 0001 Yes  ?  ?
Intel Dual Band Wireless-AC 7260 M.2 4.0 8087 07DC 0001 Yes Limited [6] Yes
Intel Wireless-AC 9260 M.2 5.0 8087 0025 0002 Yes Limited [6] Limited [7] Yes
IOGear GBU421 [BCM2046] USB 2.1 0A5C 2148  ? Yes
IOGear GBU521 [BCM20702] USB 4.0 0A5C 21E8 0112 Yes (Forced) Yes No Yes
Kinivo BTD-300 [BCM2070] USB 3.0 0A5C 2198 0391 Yes Limited [1] Yes Limited
Kinivo BTD-400 [BCM20702] USB 4.0 0A5C 21E8 0112 Yes (Forced) Limited [1] Yes Limited
Mayflash DolphinBar (W010) USB N/A Not supported[9]
NoteShip Bluetooth Adapter [CSR8510] USB  ? 0A12 0001 0100 Yes  ?  ?
Nintendo Wii Bluetooth Module (WML-C43) [BCM2045] USB[11] 2.0 057E 0305  ? Yes
Nintendo Wii Bluetooth Module (J27H002) [BCM2045] USB[11] 2.0 057E 0305  ? Yes
Orico BTA-403 [CSR8510] USB 4.0 0A12 0001 8891 Yes
Orico BTA-408 [BCM20702] USB 4.0 0A5C 21EC  ? Yes (Forced) Limited [3] Yes
Plugable USB-BT4LE Bluetooth Adapter [BCM20702] USB 4.0 0A5C 21E8 0112 Yes (Forced) Limited [3] Yes
Qualcomm Atheros AR5B22 WiFi Card [AR9462] mPCIe 4.0 0CF3 3004 0001 Yes Limited [4] Yes
Rocketfish RF-MRBTAD Micro Bluetooth Adapter [BCM2046] USB 2.1 0461 4D75  ? Yes (Forced) No  ?
Sena Networks Parani-UD100 [CSR8510] USB 4.0 0A12 0001 8241 Yes
Silicon Wave Bluetooth Wireless Adapter [BCM????] USB  ? 0C10 0000 1915 Yes Limited [2] Yes  ?
SoundBot SB340 [CSR8510] USB 4.0 0A12 0001  ? Yes  ?  ? Yes
Trendnet TBW-106UB [CSR8510] USB 4.0 0A12 0001 8891 Yes  ? No Limited
Trust Bluetooth 3.0 Adapter [AR3011] USB 3.0 0CF3 3002 0001 Yes Limited [4][6] No Yes
UGREEN USB Bluetooth 4.0 Adapter [CSR8510] USB 4.0 0A12 0001  ? Yes Yes [10] Yes
     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.
[11] Must be modded before use, refer to this forum thread.