logitech-pagescan.txt version 0.03 update 09082004 startdate 06072004 ------------------------------------------------------------------------ Bus 002 Device 002: ID 046d:040f Logitech, Inc. Logitech/Storm PageScan Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 8 idVendor 0x046d Logitech, Inc. idProduct 0x040f Logitech/Storm PageScan bcdDevice 1.01 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 bytes 64 once bInterval 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 bytes 64 once bInterval 255 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0002 bytes 2 twice bInterval 16 bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 255 bDeviceSubClass 255 bDeviceProtocol 255 bMaxPacketSize0 8 idVendor 0x046D idProduct 0x040F bcdDevice 1.01 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 160 (Remote Wakeup) MaxPower 500 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x01 (out 0x01) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 255 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 255 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 2 bInterval 16 ms bRefresh 0 bSynchAddress 0 checking for GT-6801 ... this is not a GT-6801 (bcdUSB = 0x100) checking for GT-6816 ... this is not a GT-6816 (bDeviceClass = 255, bInterfaceClass = 255) checking for MA-1017 ... this is not a MA-1017 (bDeviceClass = 255, bInterfaceClass = 255) checking for MA-1015 ... this is not a MA-1015 (bNumEndpoints = 3) checking for MA-1509 ... this is not a MA-1509 (bcdUSB = 0x100) checking for LM983[1,2,3] ... this is not a LM983x (bDeviceSubClass = 0xff) checking for GL646 ... this is not a GL646 (bDeviceClass = 255, bInterfaceClass = 255) checking for GL646_HP ... this is not a GL646_HP (bcdUSB = 0x100) checking for GL660+GL646 ... this is not a GL660+GL646 (bDeviceClass = 255, bInterfaceClass = 255) checking for GL841 ... this is not a GL841 (bcdUSB = 0x100) checking for ICM532B ... check 2, this is not a ICM532B (bcdUSB = 0x100) found USB scanner (vendor=0x046d, product=0x040f) at libusb:002:002 -------------------------------------------------------------------- software flow init check if calibration file is present ( LgPusb.clb 37k) if yes download (use dummy values to reduce the file size) seems there are 4 lines downloaded (white level) and 4 lines (black level (inverted data) 0x8000, after that some 0x1200 other data? after that go to scanning if no leave and do calibration routine first (skipped at the moment) use calibration sheet (seems only the white part is used). (A5 format, in the middle y axis scans are made and repeated? start scanning paper is detect with switch inside scanner (interrupt endpoint ?) button is detect when pressed (interrupt endpoint ?) --------------------------------------------------------------------- Location calibration file: /usr/share/saen/logitech1/LgPusb.clb rights rw-rw-rw --------------------------------------------------------------------- commands write commands (40) description commands (80) (not directly used, causing broken pipe errors) urb1 80 06 00 01 00 00 12 00 data received 12 01 00 01 ff ff ff 08 6d 04 0f 04 01 01 00 00 00 01 urb2 80 06 00 02 00 00 09 00 data received 09 02 27 00 01 01 00 a0 fa urb3 80 06 00 02 00 00 27 00 data received 09 02 27 00 01 01 00 a0 fa 09 04 00 00 03 ff ff ff 00 07 05 01 02 40 00 ff 07 05 82 02 40 00 ff 07 05 83 03 02 00 10 urb4 ? urb6 80 06 00 03 00 00 04 00 ------------------------------------------- read commands (c0) ------------------------------------------- bulk write commmands ep 01(mainly for the calibration files) ------------------------------------------- bulk read commands ep 82 ------------------------------------------- int commands ep 83 write 00 00 read 21 00 read 10 00 read 82 01 read 40 01 read 82 01 read loop 40 01 82 01 write 40 01 ? --------------------------------------------