Changes

293 bytes added ,  17:12, 27 October 2017
Line 103: Line 103:  
Internally, this issues /dev/usb/usb ioctl 2 to get descriptors, loops over all endpoints and calls /dev/usb/usb ioctl 5 if <code>(bmAttributes & 3) == 1</code>. If all ioctls succeed, VEN calls /dev/usb/usb ioctl 0x11 with the device ID, alt setting and bInterfaceNumber (+ other unknown values).  
 
Internally, this issues /dev/usb/usb ioctl 2 to get descriptors, loops over all endpoints and calls /dev/usb/usb ioctl 5 if <code>(bmAttributes & 3) == 1</code>. If all ioctls succeed, VEN calls /dev/usb/usb ioctl 0x11 with the device ID, alt setting and bInterfaceNumber (+ other unknown values).  
 
|-
 
|-
βˆ’
| 8 || ? || 0x20 || None
+
| 8 || ?
 +
| 0x20 bytes
 +
 
 +
1-2: Device index<br>
 +
2-4: Device number
 +
| None
 
| calls /dev/usb/usb ioctl 3
 
| calls /dev/usb/usb ioctl 3
 
|-
 
|-
βˆ’
| 0x10 || SuspendResume || 0x20 || None
+
| 0x10 || SuspendResume
βˆ’
| calls /dev/usb/usb ioctl 4
+
| 0x20 bytes
 +
 
 +
1-2: Device index<br>
 +
2-4: Device number<br>
 +
4-8: Unknown1 (passed to /dev/usb/usb ioctl 4)<br>
 +
11-12: Unknown2 (must match internal device struct offset 0x1d)
 +
| None
 +
| Unknown.
 +
 
 +
Calls /dev/usb/usb ioctl 4. If the call was successful, sets <code>device->x1d</code> to Unknown1.
 
|-
 
|-
 
| 0x11 || CancelEndpoint || 0x20 || None
 
| 0x11 || CancelEndpoint || 0x20 || None
219

edits