This device is internally used by several USB resource managers. Not much information is known at this time.
It is implemented by a module (USB) in IOS58 that runs under UID 17 (PID_USB). This resource manager can only be opened from that UID. It appears to be able to generically address devices via /dev/usb/oh0 and /dev/usb/ehc. It is accessed via several ioctls.
Because all of the USB related modules run under the same UID, they all share the same file descriptor table. This allows ioctl 1 (GetDeviceList) to return FDs to /dev/usb/ehc and /dev/usb/oh0. These are directly used by VEN, HID, etc. when submitting transfers, without going through /dev/usb/usb.
Ioctls
Ioctl
Parameters (inbuf_len / iobuf_len)
Function
Notes
0
0 / 4
GetVersion
puts "0x10001" into the io_buf
1
0 / > =0x300
GetDeviceChange
2
8 / >= 8
GetDeviceInfo
4
8 / 0
SuspendResume
calls ? ioctl 4 and/or 6?. inbuf: u32 at offset 0, u8 at offset 4
By entering this site, you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Cookies used include internal cookies for the MediaWiki site, used for user authentication and article modifications, and third-party cookies from Google providing services for Google AdSense and Google Analytics. We will never use data collected outside of the above scope.