Line 1:
Line 1:
−
Appears to be a way to address usb devices via EHCI (USB 2.0). This doesn't seem to be implemented in retail Wiis.
+
Appears to be a way to address usb devices via EHCI (USB 2.0). This driver has only been seen in IOS58. The interface appears to resemble that of [[:/dev/usb/oh0]].
−
==Devices==
+
−
===/dev/usb/ehc/0b95/7720===
+
== Devices ==
+
=== /dev/usb/ehc/0b95/7720 ===
ASIX AX88772 USB2.0 to Fast Ethernet Adapter (referenced in IOS eth driver)
ASIX AX88772 USB2.0 to Fast Ethernet Adapter (referenced in IOS eth driver)
−
[[Category:Wii Filesystem]]
+
+
== IPC request list ==
+
{| class="wikitable"
+
! style="vertical-align: top;" |number
+
! style="vertical-align: top;" |name
+
! style="vertical-align: top;" |Description
+
|-
+
| style="vertical-align: top;" |0x01
+
| style="vertical-align: top;" |IOS_OPEN
+
| style="vertical-align: top;" |Opens the device. Can only be opened from PID 17 (USB_VEN) otherwise returns -1. Returns 0 if success. Returns 1 if device already open (not confirmed)
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x02
+
| style="vertical-align: top;" |IOS_CLOSE
+
| style="vertical-align: top;" |Closes the device. Returns 0 always.
+
|-
+
| style="vertical-align: top;" |0x03
+
| style="vertical-align: top;" |IOS_READ
+
| style="vertical-align: top;" |Does nothing. Returns -4.
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x04
+
| style="vertical-align: top;" |IOS_WRITE
+
| style="vertical-align: top;" |Does nothing. Returns -4.
+
|-
+
| style="vertical-align: top;" |0x05
+
| style="vertical-align: top;" |IOS_IOCTL
+
| style="vertical-align: top;" |Does nothing. Returns -4.
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x06
+
| style="vertical-align: top;" |IOS_IOCTLV
+
| style="vertical-align: top;" |Send an ioctl request.
+
|}
+
+
== IOS Ioctlv list ==
+
{{stub}}
+
{| class="wikitable"
+
! style="vertical-align: top;" |number
+
! style="vertical-align: top;" |name
+
! style="vertical-align: top;" |in count
+
! style="vertical-align: top;" |out count
+
! style="vertical-align: top;" |vec entry target
+
! style="vertical-align: top;" |vec entry size [bytes]
+
! style="vertical-align: top;" |Description
+
|-
+
| style="vertical-align: top;" |0x00
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |Sets ioctlv.vector[0].addr to 0x20001 and returns 0 ??
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x01
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|-
+
| style="vertical-align: top;" |0x02
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |Reads a stored IPC request. If not NULL, replies to it. If NULL, replies to the current request (always replies with zero). ??
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x03
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|-
+
| style="vertical-align: top;" |0x04
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x05
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|-
+
| style="vertical-align: top;" |0x06
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x10
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|-
+
| style="vertical-align: top;" |0x11
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x13
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
|- style="background-color: #eee;"
+
| style="vertical-align: top;" |0x14
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" | 0x10
+
| style="vertical-align: top;" |0
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" |?
+
| style="vertical-align: top;" | Send USB command 0x08 data offset, 0x0C transfer length
+
|}
+
+
[[Category:IOS API documentation]]