USB Passthrough: Difference between revisions

Undo revision 188680 by DandelionSprout (That's a guide page, not a regular game page. The Problems template logic currently doesn't handle that, messing up with some of the hidden maintenance categories)
(Undo revision 188680 by DandelionSprout (That's a guide page, not a regular game page. The Problems template logic currently doesn't handle that, messing up with some of the hidden maintenance categories))
 
(22 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Since {{revision|4.0.2}}, Dolphin has the ability to passthrough USB HID devices designed for use with Wii software. And since 5.0-XXXX, Dolphin can passthrough arbitrary USB devices. This gives emulated Wii software full control of a hardware device connected to your PC. This is very useful for devices not currently emulated by Dolphin and games that highly depend on extra hardware.
Since {{revision|4.0.2}}, Dolphin has the ability to passthrough USB HID devices designed for use with Wii software. {{revision|5.0-2352}} enables USB passthrough for all devices. This gives emulated Wii software full control of a hardware device connected to your PC. This is very useful for devices not currently emulated by Dolphin and games that highly depend on extra hardware.


== List of Wii Devices and IDs ==
== List of Wii Devices and IDs ==
Some of these currently show up as "Unknown" in the Settings dialog but it does not affect functionality. You can use them anyway.
{|class="wikitable sortable width=100%"
{|class="wikitable sortable width=100%"
! Device !! VID !! PID !! Type !! Compatibility
! Device !! VID !! PID !! Type !! Compatibility
|-
|-
|Disney Infinity Reader (Portal Device)
|Wii LAN Adapter (RVL-015)
|0E6F
|0B95
|7720
|?
|Unsupported, Wii networking is emulated using the host's default network connection
|-
|[[:Category:Headbanger Chat Headset (Input supported)|Headbanger Chat Headset]]
| rowspan="2" | 0E6F
|010B
|?
|?
|-
|[[Disney Infinity]] Reader (Portal Device)
|0129
|0129
|HID
| rowspan="2" | HID
|Supported
|Supported. Can also be emulated since {{revision|5.0-19334}}.
|-
|-
|EA Active NFL Training Camp Dongle
|[[:Category:Active Heart Rate Monitor (Input supported)|EA Active Dongle]]
|21A4
|21A4
|AC40
|AC40
|HID
| rowspan="16" | Supported
|Supported
|-
|-
|Logitech Vantage USB Microphone
|[[:Category:USB Microphone (Input supported)|Logitech Vantage USB Microphone]]
|046D
|046D
|0A03
|0A03
|OH0/VEN
|OH0/VEN
|Supported
|-
|[[:Category:Speed Force Wireless (Input supported)|Logitech Speed Force Wireless]]
|046D
|C29C
|?
|-
|-
|Harmonix Guitar Controller for Nintendo Wii
|Harmonix Guitar Controller for Nintendo Wii
| rowspan="3" | 1BAD
| rowspan="7" | 1BAD
|0004
|0004
|HID
| rowspan="11" | HID
|Supported
|-
|Rock Band Drum Set
|3110
|-
|Harmonix Drum Controller for Nintendo Wii
|3138
|-
|Harmonix RB3 Keyboard for Nintendo Wii
|3330
|-
|Harmonix RB3 MIDI Keyboard Interface for Nintendo Wii
|3338
|-
|-
|Rock Band 3 Mustang Guitar Dongle
|Harmonix RB3 Mustang Guitar for Nintendo Wii
|3430
|3430
|HID
|Supported
|-
|-
|Rock Band Drum Set
|Harmonix RB3 MIDI Guitar Interface for Nintendo Wii
|3110
|3538
|HID
|Supported
|-
|-
|Skylanders Giants Portal
|Skylanders Giants Portal
| rowspan="4" | 1430
| rowspan="4" | 1430
| rowspan="3" | 0150
| rowspan="3" | 0150
|HID
| Supported
|-
|-
|Skylanders Swap Force Portal
|Skylanders Swap Force Portal
|HID
|Supported
|-
|-
|Skylanders Wireless Receiver for Wii
|Skylanders Wireless Receiver for Wii
|HID
|Supported
|-
|-
|Tony Hawk Ride Skateboard
|[[:Category:Ride Controller (Input supported)|Tony Hawk Ride/Shred Skateboard]]
|0100
|0100
|HID
|Supported
|-
|-
|Wii Speak Module
|[[:Category:Wii Speak (Input supported)|Wii Speak (RVL-029)]]
| rowspan="3" | 057E
| rowspan="3" | 057E
|0308
|0308
|OH0
|OH0
|Supported
|-
|-
|YourShape Camera
|[[:Category:Ubisoft Camera (Input supported)|Ubisoft Camera]]
|030A
|030A
|VEN
|VEN
|Supported
|-
|-
|Internal Bluetooth dongle
|Internal Bluetooth Module
|0305
|0305
|OH1
|OH1
|See [[Bluetooth Passthrough]]
|See [[Bluetooth Passthrough]]
|-
|-
|Cyberbike Adapter
| colspan="3" style="text-align: center;" | N/A
|The adapter connects as a Wii Remote via Bluetooth. It does not need USB Passthrough. The USB connector is only used for power.
|}
|}


== Setting up ==
== Setting up ==
=== Linux ===
=== Linux ===
Linux support does not require any special drivers. However, a udev rule must be created to allow access to the devices. Note, the Vender ID and Product ID SHOULD be verified from the device itself before creating the rule.
Linux support does not require any special drivers. However, a udev rule must be created to allow access to the devices. Note, the Vendor ID and Product ID SHOULD be verified from the device itself before creating the rule.


1. Paste the following into '''/etc/udev/rules.d/52-dolphin.rules''' (/lib/udev/rules.d/52-dolphin.rules if making a package). Do not forget to replace the XXXX with the appropriate Vendor and Product IDs.
1. Paste the following into '''/etc/udev/rules.d/52-dolphin.rules''' (/lib/udev/rules.d/52-dolphin.rules if making a package). Do not forget to replace the XXXX with the appropriate Vendor and Product IDs.
Line 90: Line 105:


=== Windows ===
=== Windows ===
==== Before 5.0-XXXX ====
 
Download and open [http://zadig.akeo.ie/ Zadig], then:
For users wishing to use the USB Microphone, USB Camera, or Wii Speak, it is highly recommended to use {{revision|5.0-10617}} or newer. It contains important fixes to both libusb and Dolphin that fix crashes and fix support in devices across many games.
 
==== Install Dedicated Driver ====
 
===== Single Interface Devices =====
 
Download and open [https://zadig.akeo.ie/ Zadig], then:


1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled.
Line 99: Line 120:
3. On the right column, select "libusbk" then click "Replace Driver". Select "Yes" to modify the system driver.
3. On the right column, select "libusbk" then click "Replace Driver". Select "Yes" to modify the system driver.


==== In the USB branch ====
===== Multi Interface Devices =====
Download and install the latest [https://github.com/daynix/UsbDk/releases x64 usbdk driver].  
 
For Microphone, Wii Speak, and USB Camera Passthrough, installing over the composite parent device is required.
 
Download and open [https://zadig.akeo.ie/ Zadig], then:
 
1. In the "Options" menu in Zadig, make sure "List All Devices" is enabled and "Ignore Hubs or Composite Parents" is disabled.
 
2. Look through the composite parent of the device you wish to passthrough.
 
3. On the right column, select "libusbk" then click "Replace Driver". It may warn you that you're modifying a kernel driver, but, this is normal. Select "Yes" to modify the kernel driver.
 
==== Uninstalling Dedicated Driver ====
 
If for some reason you wish to restore the default driver to the device, open up "Device Manager."  In the last, expand "libusbK devices" and find the device you wish to restore. Uninstall the device, then unplug the device and plug it back in. It will now be restored to its original state.
 
If you were using the WinUSB driver, the device will be located under "Universal Serial Bus Devices" instead, but the instructions are identical otherwise.
 
==== usbdk driver ====
 
usbdk is no longer supported nor recommended. While it provides the ability to simply install a driver without any further instructions, usbdk suffers severe instability issues. For legacy purposes, you can still use the [https://github.com/daynix/UsbDk/releases x64 usbdk driver] in older builds.


=== macOS ===
=== macOS ===
While this can be done in macOS, there is currently no easy to use guide for it. A modified variant of the Native GameCube Adapter for Wii U guide should work, but what needs to be changed is not immediately apparent.
While this can be done in macOS, there is currently no easy to use guide for it. A modified variant of the Native GameCube Adapter for Wii U guide should work, but what needs to be changed is not immediately apparent.


=== Android ===
=== Android ===
Line 109: Line 149:


== Configuring Dolphin ==
== Configuring Dolphin ==
==== Before 5.0-XXXX ====
No configuration is required for USB HID passthrough.


==== In the USB branch ====
In {{revision|5.0-2352}}, an additional step was added for USB Passthrough. Because some devices being plugged into your computer can potentially hang or crash a game, you now must whitelist the emulated Wii so it can access this device. This is not required for Bluetooth Passthrough.
 
=== Guide to Whitelist a USB Device in Dolphin ===
 
1. Open Dolphin's configuration dialog.
1. Open Dolphin's configuration dialog.