USB Passthrough: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(Prefer to avoid you/your)
(add info about the upcoming USB branch (which will be merged soon))
Line 1: Line 1:
Since {{revision|4.0.2}}, Dolphin has the ability to passthrough USB HID devices designed for use with Wii software. 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. 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.


== List of Devices and IDs ==
== List of Wii Devices and IDs ==
{|class="wikitable sortable width=100%"
{|class="wikitable sortable width=100%"
! Device !! VID !! PID !! Type !! Compatibility
! Device !! VID !! PID !! Type !! Compatibility
Line 21: Line 21:
|0A03
|0A03
|OH0/VEN
|OH0/VEN
|Not Supported
|Supported*
|-
|-
|Harmonix Guitar Controller for Nintendo Wii
|Harmonix Guitar Controller for Nintendo Wii
Line 62: Line 62:
|0308
|0308
|OH0
|OH0
|Not Supported
|Supported*
|-
|-
|YourShape Camera
|YourShape Camera
|030A
|030A
|VEN
|VEN
|Not Supported
|Supported*
|-
|-
|Internal Bluetooth dongle
|Internal Bluetooth dongle
Line 75: Line 75:
|-
|-
|}
|}
 
<sup>* Only supported in the USB branch.</sup>
Dolphin is currently unable to use any USB device which is not a HID (Human Interface Device).
 
== 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 Vender 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):
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.


<code>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", MODE="0666"</code>
<code>SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", MODE="0666"</code>


2. Replace the XXXX with the appropriate Vendor and Product IDs.
2. Reload udev rules with:
 
3. Reload udev rules with:
<code>sudo udevadm control --reload-rules</code>
<code>sudo udevadm control --reload-rules</code>


4. Now, reinsert the accessory. When the game is booted it should be able to access the accessory as if it were plugged into a Wii.
3. Reinsert the accessory.
 
To change the rule, links for instructions are available on the [https://github.com/libusb/libusb/wiki/FAQ#Can_I_run_libusb_applications_on_Linux_without_root_privilege libusb FAQ].


=== Windows ===
=== Windows ===
==== Before 5.0-XXXX ====
Download and open [http://zadig.akeo.ie/ Zadig], then:
Download and open [http://zadig.akeo.ie/ Zadig], then:


Line 104: Line 100:
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.


The game will then be able to detect the device on next boot.
==== In the USB branch ====
Download and install the latest [https://github.com/daynix/UsbDk/releases x64 usbdk driver].  


=== macOS ===
=== macOS ===
Line 111: Line 108:
=== Android ===
=== Android ===
This feature is not supported on Android.
This feature is not supported on Android.
== Configuring Dolphin ==
==== Before 5.0-XXXX ====
No configuration is required for USB HID passthrough.
==== In the USB branch ====
1. Open Dolphin's configuration dialog.
2. Click on the Wii tab.
3. In the "Whitelisted USB passthrough devices", click on the "Add..." button.
4. Select the device you wish to passthrough.


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

Revision as of 01:37, 6 February 2017

Since 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.

List of Wii Devices and IDs

Device VID PID Type Compatibility
Disney Infinity Reader (Portal Device) 0E6F 0129 HID Supported
EA Active NFL Training Camp Dongle 21A4 AC40 HID Supported
Logitech Vantage USB Microphone 046D 0A03 OH0/VEN Supported*
Harmonix Guitar Controller for Nintendo Wii 1BAD 0004 HID Supported
Rock Band 3 Mustang Guitar Dongle 3430 HID Supported
Rock Band Drum Set 3110 HID Supported
Skylanders Giants Portal 1430 0150 HID Supported
Skylanders Swap Force Portal HID Supported
Skylanders Wireless Receiver for Wii HID Supported
Tony Hawk Ride Skateboard 0100 HID Supported
Wii Speak Module 057E 0308 OH0 Supported*
YourShape Camera 030A VEN Supported*
Internal Bluetooth dongle 0305 OH1 See Bluetooth Passthrough

* Only supported in the USB branch.

Setting up

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.

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.

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="XXXX", MODE="0666"

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

3. Reinsert the accessory.

Windows

Before 5.0-XXXX

Download and open Zadig, 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.

In the USB branch

Download and install the latest x64 usbdk driver.

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.

Android

This feature is not supported on Android.

Configuring Dolphin

Before 5.0-XXXX

No configuration is required for USB HID passthrough.

In the USB branch

1. Open Dolphin's configuration dialog.

2. Click on the Wii tab.

3. In the "Whitelisted USB passthrough devices", click on the "Add..." button.

4. Select the device you wish to passthrough.