Offset | Contents |
---|---|
+0 | Sum length of the block including the appended descriptors |
+2 | Offset to the descriptors |
+4 | Device name as appears in DeviceFS, NULL terminated |
+24 | Bus number, 0-255 |
+25 | USB address, 1-127 |
+26 | USB address of upstream port 0-127 |
+27 | Port on host address |
+28 | Device speed (1=low, 2=full, 3=high, 4=super) |
+29 | Reserved |
+30 | Reserved |
+31 | Reserved |
+n | Device descriptors per USB specification |
A USB device is completely described by the block (or list of blocks) pointed to by R2 in the USB service calls. The block includes a copy of the device descriptor, followed immediately by zero or more descriptors. A length byte of zero marks the end of the block, which is then padded with zeros to achieve word alignment.
Prior to USBDriver 0.27 the speed value at +28 was 0’s based. Do not use or support this old scheme.