Difference between revisions of "/dev/usb/ehc"

< /dev‎ | usb
(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...)
 
m (Linked to oh0)
 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
==Description==
+
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) - unsure if this works for both oh0 and oh1 or just oh0.
+
 
==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&nbsp;count
 +
! style="vertical-align: top;" |out&nbsp;count
 +
! style="vertical-align: top;" |vec&nbsp;entry&nbsp;target
 +
! style="vertical-align: top;" |vec&nbsp;entry&nbsp;size&nbsp;[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

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