(New page: ==Description== Appears to be a way to address usb devices via EHCI (USB 2.0) - unsure if this works for both oh0 and oh1 or just oh0. ==Devices== ===/dev/usb/ehc/0b95/7720=== ASIX AX8877...) |
Hallowizer (talk | contribs) m (Linked to oh0) |
||
(11 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | + | 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]]. | |
− | Appears to be a way to address usb devices via EHCI (USB 2.0) | + | |
− | ==Devices== | + | == Devices == |
− | ===/dev/usb/ehc/0b95/7720=== | + | === /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) | ||
+ | |||
+ | == 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]] |
Latest revision as of 04:24, 21 June 2021
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
ASIX AX88772 USB2.0 to Fast Ethernet Adapter (referenced in IOS eth driver)
IPC request list
number | name | Description |
---|---|---|
0x01 | IOS_OPEN | 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) |
0x02 | IOS_CLOSE | Closes the device. Returns 0 always. |
0x03 | IOS_READ | Does nothing. Returns -4. |
0x04 | IOS_WRITE | Does nothing. Returns -4. |
0x05 | IOS_IOCTL | Does nothing. Returns -4. |
0x06 | IOS_IOCTLV | Send an ioctl request. |
IOS Ioctlv list
This article is a stub. You can help WiiBrew by expanding it. |
number | name | in count | out count | vec entry target | vec entry size [bytes] | Description |
---|---|---|---|---|---|---|
0x00 | ? | 0 | 0 | ? | ? | Sets ioctlv.vector[0].addr to 0x20001 and returns 0 ?? |
0x01 | ? | 0 | 0 | ? | ? | ? |
0x02 | ? | 0 | 0 | ? | ? | Reads a stored IPC request. If not NULL, replies to it. If NULL, replies to the current request (always replies with zero). ?? |
0x03 | ? | 0 | 0 | ? | ? | ? |
0x04 | ? | 0 | 0 | ? | ? | ? |
0x05 | ? | 0 | 0 | ? | ? | ? |
0x06 | ? | 0 | 0 | ? | ? | ? |
0x10 | ? | 0 | 0 | ? | ? | ? |
0x11 | ? | 0 | 0 | ? | ? | ? |
0x13 | ? | 0 | 0 | ? | ? | ? |
0x14 | ? | 0x10 | 0 | ? | ? | Send USB command 0x08 data offset, 0x0C transfer length |