Info on PAC207BCA-32 Version 0.2 update 26-02-2005 dd. 23-02-2005 ------------------------------------------------------- 1. USB command info 2. Frame header info 3. Some short usb logs 4. lsusb -vv output ------------------------------------------------------- 1. USB command info This is a first attempt to collect some info about the pac207 register values, use as is, at your own risk bRequest type 00 41 -- write command bRequest 01 00 -- read command/get status? 01 -- write command registers? wValue 0203 00 -- 01 -- 02 -- urb 6 0a -- 30 -- urb 8 48 -- wIndex register address? data 0405 00 -- 01 -- 02 -- 03 04 03 -- 12 04 -- 05 0d 05 -- 00 0b 06 -- 6f 76 07 -- 02 03 08 -- 29 09 -- 00 0a -- 00 0b -- 96 0c -- 80 0d -- a0 0e -- 04 0f -- 10 (urb 7 read? 352) -- 00 (urb 7 read? 176) 10 -- f0 11 -- 30 00 (urb 8 read?) 12 -- 00 13 -- 00 14 -- 00 15 -- 70 16 -- a0 17 -- f8 18 -- 00 19 -- 00 1a 1b 1c -- 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 -- 00 41 -- 00 urb 6 42 -- 32 data rate compressed image ? 64 43 -- 00 ,, ? 44 -- 96 ,, ? 7d 45 -- 00 ,, ? 46 -- a2 ,, ? 93 47 -- 02 ,, ? 48 -- 00 ,, ? 96 49 -- 00 ,, ? 4a -- 36 ,, ? 4b -- 00 ?? wLength 0607 00 04 07 08 ------------------------------------------------------- 2. Frame header info Frame sync & rame header identity The header frame of the pac207 seems to be something like: ff ff 00 ff 96 64 a3 00 04 01 1b 96 80 a0 00 00 1e e1 byte nr. val description 00 ff begin byte 01 ff begin byte 02 00 begin byte 03 ff begin byte 04 96 begin byte 05 64 begin byte 06 a3 compression mode? som loop mode from 07 06 05 04 03 02 01 00 00 no compression? 07 00 08 04 09 01 0a 1b 0b 96 0c 80 0d a0 0e 00 0f 00 10 1e end byte 11 e1 end byte With isochronous mode the header from the new frame is attached to the last byte from the previous frame so to get one frame in the buffer (for frontend) begin and end detection must be done. otherwise sync is lost. ------------------------------------------------------- 3. Some short usb logs Interface[0]: Length = 136 Interface[0]: InterfaceNumber = 0 Interface[0]: AlternateSetting = 0 [184 ms] <<< URB 4 coming back <<< -- URB_FUNCTION_SELECT_CONFIGURATION: [264 ms] >>> URB 6: 41 00 02 00 41 00 00 00 [267 ms] >>> URB 7: 41 00 00 00 0f 00 00 00 [270 ms] >>> URB 8: 41 00 30 00 11 00 00 00 [273 ms] >>> URB 9 URB_FUNCTION_RESET_PIPE: [endpoint 0x00000083] [276 ms] >>> URB 10 URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: [endpoint 0x00000083] [5670 ms] >>> URB 11 URB_FUNCTION_ABORT_PIPE: [endpoint 0x00000083] [5673 ms] <<< URB 10 00000003 (USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK) [5673 ms] <<< URB 11 URB_FUNCTION_ABORT_PIPE: [5828 ms] >>> URB 12 going down >>> Interface: Length = 136 Interface: InterfaceNumber = 0 Interface: AlternateSetting = 8 [5923 ms] <<< URB 12 Interface: Length =136 InterfaceNumber=0 AlternateSetting=8 NumberOfPipes=6 [5923 ms] >>> URB 13 URB_FUNCTION_RESET_PIPE: [endpoint 0x00000083] [5926 ms] >>> URB 14 0x00000083] TransferBufferLength = 00000002 [5930 ms] >>> URB 15: 03 12 0d 00 6f 03 29 00 : 41 01 00 00 02 00 08 00 [5934 ms] >>> URB 16: 00 96 80 a0 04 10 f0 30 : 41 01 00 00 0a 00 08 00 [5938 ms] >>> URB 17: 00 00 00 70 a0 f8 00 00 : 41 01 00 00 12 00 08 00 [5942 ms] >>> URB 18 00 00 32 00 96 00 a2 02 : 41 01 00 00 40 00 08 00 [5946 ms] >>> URB 19: 00 00 36 00 : 41 01 00 00 48 00 04 00 [5950 ms] >>> URB 20: : 41 00 01 00 13 00 00 00 [5953 ms] >>> URB 21: : 41 00 01 00 1c 00 00 00 [5956 ms] >>> URB 22: : 41 00 00 00 41 00 00 00 [5961 ms] >>> URB 23: 04 12 05 0b 76 02 29 : 41 01 00 00 02 00 07 00 for 176 x 144 04 12 05 22 80 00 29 : 41 01 00 00 02 00 07 00 for 352 x 288 [5965 ms] >>> URB 24: : 41 00 0a 00 0e 00 00 00 [5968 ms] >>> URB 25: : 41 00 00 00 18 00 00 00 [5971 ms] >>> URB 26: 64 00 7d 00 93 02 96 00 : 41 01 00 00 42 00 08 00 [5980 ms] >>> URB 27: : 41 00 48 00 4a 00 00 00 [5983 ms] >>> URB 28: : 41 00 01 00 13 00 00 00 [5986 ms] >>> URB 29: : 41 00 01 00 1c 00 00 00 [5998 ms] >>> URB 30: : 41 00 01 00 40 00 00 00 [6001 ms] >>> URB 31 URB_FUNCTION_RESET_PIPE: endpoint 0x00000085] [6001 ms] >>> URB 32 URB_FUNCTION_ISOCH_TRANSFER: [endpoint 0x00000085] TransferBufferLength = 00003ff0 -------------------------------------------------------------------------- 4. lusb -vv output Bus 002 Device 002: ID 093a:2460 Pixart Imaging, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 8 idVendor 0x093a Pixart Imaging, Inc. idProduct 0x2460 bcdDevice 1.00 iManufacturer 1 Pixart Imaging Inc. iProduct 2 CIF Single Chip iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 468 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 Remote Wakeup MaxPower 100mA ----------------------------------------------------------------------------------- Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 1 2 3 4 5 6 7 8 --------------------------------------------------------- bNumEndpoints 6 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 50 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 1x 2 bytes bInterval 50 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data bAlternateSetting wMaxPacketSize 0x0000 1x 0 bytes 0 0x0080 1x 128 bytes 1 0x0100 1x 256 bytes 2 0x0180 1x 384 bytes 3 0x0200 1x 512 bytes 4 0x0280 1x 640 bytes 5 0x0300 1x 768 bytes 6 0x0380 1x 896 bytes 7 0x03ff 1x 1023 bytes 8 bInterval 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x06 EP 6 OUT bmAttributes 1 Transfer Type Isochronous Synch Type None Usage Type Data wMaxPacketSize 0x0000 1x 0 bytes bInterval 1 -------------------------------------------------------