Hardware/USB
The Wii and Wii U feature several EHCI and OCHI USB Host Controllers.
Port layout
Wii
- EHCI0: 4 root ports
- Port 1: Leftmost port on back
- Port 2: Rightmost port on back
- Port 3: Internal BCM2045A Bluetooth card
- Port 4: Disconnected
- OHCI0: 2 root ports
- Port 1: Leftmost port on back
- Port 2: Rightmost port on back
- OHCI1: 2 root ports
- Port 1: Internal BCM2045A Bluetooth card
- Port 2: Disconnected
Wii U
- EHCI0: 6 root ports
- Port 1: Top port on back
- Port 2: Bottom port on back
- Port 3: Internal BCM2045A Bluetooth card
- Port 4: ??
- Port 5: ??
- Port 6: ??
- EHCI1: 2 root ports
- Port 1: Leftmost port on front
- Port 2: Rightmost port on front
- EHCI2: 2 root ports
- Port 1: DRH
- Port 2: Disconnected
- OHCI0: 4 root ports
- Port 1: Top port on back
- Port 2: Bottom port on back
- OHCI1: 2 root ports
- Port 1: Internal BCM2045A Bluetooth card
- Port 2: Disconnect
- OHCI2: 2 root ports
- Port 1: Leftmost port on front
- Port 2: Rightmost port on front
- OHCI3: 2 root ports
- Port 1: ??
- Port 2: ??
Wii-Linux has had support for USB since the beginning. gc-linux added support for it in MIKEp1, the first release. Support in versions between gc-linux and Techflash's 4.5 port used to have issues. USB hubs sometimes caused strange behavior, and sometimes the driver threw -EINVAL (error -22) when a device is inserted. USB support was greatly improved with mainline and should be more reliable than past versions.