Aurelien Jarno wrote: >> # lsusb -v >> >> cannot read device status, Protocol error (71) > > Strange that you also get this error with libusb. > > Could you please run "strace lsusb -v" and send me the result?
# strace lsusb -v execve("/usr/sbin/lsusb", ["lsusb", "-v"], [/* 18 vars */]) = 0 uname({sys="Linux", node="zion", ...}) = 0 brk(0) = 0x805c000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f48000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f47000 open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=30579, ...}) = 0 mmap2(NULL, 30579, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f3f000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/libz.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\26"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=78500, ...}) = 0 mmap2(NULL, 81456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f2b000 mmap2(0xb7f3e000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12) = 0xb7f3e000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libusb-0.1.so.4", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\22"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=28996, ...}) = 0 mmap2(NULL, 32024, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f23000 mmap2(0xb7f29000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5) = 0xb7f29000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1245676, ...}) = 0 mmap2(NULL, 1251484, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7df1000 mmap2(0xb7f19000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x128) = 0xb7f19000 mmap2(0xb7f20000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f20000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7df0000 mprotect(0xb7f19000, 20480, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7df06c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xb7f3f000, 30579) = 0 brk(0) = 0x805c000 brk(0x807d000) = 0x807d000 open("./usb.ids", O_RDONLY) = -1 ENOENT (No such file or directory) open("/var/lib/usbutils/usb.ids", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=58036, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f46000 read(3, "\37\213\10\0\0\0\0\0\2\3\214}\353r\333H\222\356o\373)j"..., 16384) = 16384 _llseek(3, 0, [16384], SEEK_CUR) = 0 read(3, "[EMAIL PROTECTED]"..., 16384) = 16384 brk(0x809e000) = 0x809e000 read(3, "^\356\252\234t\230\17\374eqX\271X>\34B\323\234\313\20\375"..., 16384) = 16384 read(3, "2\214\10\226\224W\301_y\314k\6\361\313G\303_\271\377\257"..., 16384) = 8884 read(3, "", 4096) = 0 brk(0x80bf000) = 0x80bf000 read(3, "", 16384) = 0 close(3) = 0 munmap(0xb7f46000, 4096) = 0 open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 3 entries */, 4096) = 72 close(3) = 0 open("/dev/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 3 entries */, 4096) = 72 getdents64(3, /* 0 entries */, 4096) = 0 close(3) = 0 open("/dev/bus/usb/001", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 fstat64(3, {st_mode=S_IFDIR|0755, st_size=120, ...}) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 getdents64(3, /* 6 entries */, 4096) = 144 open("/dev/bus/usb/001/004", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO, 0xbfb5c1e4) = 0 read(4, "\22\1\0\1\0\0\0\10\251\4\6\"[EMAIL PROTECTED]", 18) = 18 read(4, "\t\2\'\0\1\1\0\200", 8) = 8 read(4, "\372\t\4\0\0\3\377\0\377\0\7\5\201\3\1\0\20\7\5\202\2@"..., 31) = 31 close(4) = 0 open("/dev/bus/usb/001/003", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO, 0xbfb5c1e4) = 0 read(4, "\22\1\0\2\0\0\0\10\371\4\'\0\0\1\1\2\3\1", 18) = 18 read(4, "\t\2 \0\1\1\0\300", 8) = 8 read(4, "[EMAIL PROTECTED]", 24) = 24 close(4) = 0 open("/dev/bus/usb/001/002", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO, 0xbfb5c1e4) = 0 read(4, "[EMAIL PROTECTED]", 18) = 18 read(4, "\t\2\31\0\1\1\0\340", 8) = 8 read(4, "2\t\4\0\0\1\t\0\0\0\7\5\201\3\1\0\377", 17) = 17 close(4) = 0 open("/dev/bus/usb/001/001", O_RDWR) = 4 ioctl(4, USBDEVFS_CONNECTINFO, 0xbfb5c1e4) = 0 read(4, "[EMAIL PROTECTED]", 18) = 18 read(4, "\t\2\31\0\1\1\0\300", 8) = 8 read(4, "\0\t\4\0\0\1\t\0\0\0\7\5\201\3\2\0\377", 17) = 17 close(4) = 0 getdents64(3, /* 0 entries */, 4096) = 0 close(3) = 0 open("/dev/bus/usb/001/004", O_RDWR) = 3 ioctl(3, USBDEVFS_IOCTL, 0xbfb5c1e0) = -1 ENOTTY (Inappropriate ioctl for device) close(3) = 0 open("/dev/bus/usb/001/003", O_RDWR) = 3 ioctl(3, USBDEVFS_IOCTL, 0xbfb5c1e0) = -1 ENOTTY (Inappropriate ioctl for device) close(3) = 0 open("/dev/bus/usb/001/002", O_RDWR) = 3 ioctl(3, USBDEVFS_IOCTL, 0xbfb5c1e0) = 5 close(3) = 0 open("/dev/bus/usb/001/001", O_RDWR) = 3 ioctl(3, USBDEVFS_IOCTL, 0xbfb5c1e0) = 3 close(3) = 0 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f46000 write(1, "\n", 1 ) = 1 write(1, "Bus 001 Device 004: ID 04a9:2206"..., 66Bus 001 Device 004: ID 04a9:2206 Canon, Inc. CanoScan N650U/N656U ) = 66 open("/dev/bus/usb/001/004", O_RDWR) = 3 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = -1 EPROTO (Protocol error) ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = -1 EPROTO (Protocol error) write(1, "Device Descriptor:\n", 19Device Descriptor: ) = 19 write(1, " bLength 18\n", 28 bLength 18 ) = 28 write(1, " bDescriptorType 1\n", 28 bDescriptorType 1 ) = 28 write(1, " bcdUSB 1.00\n", 28 bcdUSB 1.00 ) = 28 write(1, " bDeviceClass 0 (Def"..., 57 bDeviceClass 0 (Defined at Interface level) ) = 57 write(1, " bDeviceSubClass 0 \n", 29 bDeviceSubClass 0 ) = 29 write(1, " bDeviceProtocol 0 \n", 29 bDeviceProtocol 0 ) = 29 write(1, " bMaxPacketSize0 8\n", 28 bMaxPacketSize0 8 ) = 28 write(1, " idVendor 0x04a9 Cano"..., 40 idVendor 0x04a9 Canon, Inc. ) = 40 write(1, " idProduct 0x2206 Cano"..., 49 idProduct 0x2206 CanoScan N650U/N656U ) = 49 write(1, " bcdDevice 1.00\n", 28 bcdDevice 1.00 ) = 28 write(1, " iManufacturer 64 \n", 29 iManufacturer 64 ) = 29 write(1, " iProduct 77 \n", 29 iProduct 77 ) = 29 write(1, " iSerial 0 \n", 29 iSerial 0 ) = 29 write(1, " bNumConfigurations 1\n", 28 bNumConfigurations 1 ) = 28 write(1, " Configuration Descriptor:\n", 28 Configuration Descriptor: ) = 28 write(1, " bLength 9\n", 30 bLength 9 ) = 30 write(1, " bDescriptorType 2\n", 30 bDescriptorType 2 ) = 30 write(1, " wTotalLength 39\n", 30 wTotalLength 39 ) = 30 write(1, " bNumInterfaces 1\n", 30 bNumInterfaces 1 ) = 30 write(1, " bConfigurationValue 1\n", 30 bConfigurationValue 1 ) = 30 write(1, " iConfiguration 0 \n", 31 iConfiguration 0 ) = 31 write(1, " bmAttributes 0x80\n", 30 bmAttributes 0x80 ) = 30 write(1, " (Bus Powered)\n", 20 (Bus Powered) ) = 20 write(1, " MaxPower 500mA\n", 32 MaxPower 500mA ) = 32 write(1, " Interface Descriptor:\n", 26 Interface Descriptor: ) = 26 write(1, " bLength 9\n", 32 bLength 9 ) = 32 write(1, " bDescriptorType 4\n", 32 bDescriptorType 4 ) = 32 write(1, " bInterfaceNumber 0\n", 32 bInterfaceNumber 0 ) = 32 write(1, " bAlternateSetting 0\n", 32 bAlternateSetting 0 ) = 32 write(1, " bNumEndpoints 3\n", 32 bNumEndpoints 3 ) = 32 write(1, " bInterfaceClass 255 "..., 54 bInterfaceClass 255 Vendor Specific Class ) = 54 write(1, " bInterfaceSubClass 0 "..., 33 bInterfaceSubClass 0 ) = 33 write(1, " bInterfaceProtocol 255 "..., 33 bInterfaceProtocol 255 ) = 33 write(1, " iInterface 0 "..., 33 iInterface 0 ) = 33 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x8"..., 43 bEndpointAddress 0x81 EP 1 IN ) = 43 write(1, " bmAttributes "..., 34 bmAttributes 3 ) = 34 write(1, " Transfer Type "..., 45 Transfer Type Interrupt ) = 45 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x000"..., 46 wMaxPacketSize 0x0001 1x 1 bytes ) = 46 write(1, " bInterval 1"..., 34 bInterval 16 ) = 34 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x8"..., 43 bEndpointAddress 0x82 EP 2 IN ) = 43 write(1, " bmAttributes "..., 34 bmAttributes 2 ) = 34 write(1, " Transfer Type "..., 40 Transfer Type Bulk ) = 40 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x004"..., 47 wMaxPacketSize 0x0040 1x 64 bytes ) = 47 write(1, " bInterval "..., 34 bInterval 0 ) = 34 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x0"..., 44 bEndpointAddress 0x03 EP 3 OUT ) = 44 write(1, " bmAttributes "..., 34 bmAttributes 2 ) = 34 write(1, " Transfer Type "..., 40 Transfer Type Bulk ) = 40 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x004"..., 47 wMaxPacketSize 0x0040 1x 64 bytes ) = 47 write(1, " bInterval "..., 34 bInterval 0 ) = 34 ioctl(3, USBDEVFS_CONTROL, 0xbfb5c03c) = -1 EPROTO (Protocol error) write(2, "cannot read device status, Proto"..., 47cannot read device status, Protocol error (71) ) = 47 close(3) = 0 write(1, "\n", 1 ) = 1 write(1, "Bus 001 Device 003: ID 04f9:0027"..., 58Bus 001 Device 003: ID 04f9:0027 Brother Industries, Ltd ) = 58 open("/dev/bus/usb/001/003", O_RDWR) = 3 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 4 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 16 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 4 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 30 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 4 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 20 write(1, "Device Descriptor:\n", 19Device Descriptor: ) = 19 write(1, " bLength 18\n", 28 bLength 18 ) = 28 write(1, " bDescriptorType 1\n", 28 bDescriptorType 1 ) = 28 write(1, " bcdUSB 2.00\n", 28 bcdUSB 2.00 ) = 28 write(1, " bDeviceClass 0 (Def"..., 57 bDeviceClass 0 (Defined at Interface level) ) = 57 write(1, " bDeviceSubClass 0 \n", 29 bDeviceSubClass 0 ) = 29 write(1, " bDeviceProtocol 0 \n", 29 bDeviceProtocol 0 ) = 29 write(1, " bMaxPacketSize0 8\n", 28 bMaxPacketSize0 8 ) = 28 write(1, " idVendor 0x04f9 Brot"..., 52 idVendor 0x04f9 Brother Industries, Ltd ) = 52 write(1, " idProduct 0x0027 \n", 29 idProduct 0x0027 ) = 29 write(1, " bcdDevice 1.00\n", 28 bcdDevice 1.00 ) = 28 write(1, " iManufacturer 1 Brot"..., 36 iManufacturer 1 Brother ) = 36 write(1, " iProduct 2 HL-2"..., 43 iProduct 2 HL-2030 series ) = 43 write(1, " iSerial 3 D5J7"..., 38 iSerial 3 D5J784726 ) = 38 write(1, " bNumConfigurations 1\n", 28 bNumConfigurations 1 ) = 28 write(1, " Configuration Descriptor:\n", 28 Configuration Descriptor: ) = 28 write(1, " bLength 9\n", 30 bLength 9 ) = 30 write(1, " bDescriptorType 2\n", 30 bDescriptorType 2 ) = 30 write(1, " wTotalLength 32\n", 30 wTotalLength 32 ) = 30 write(1, " bNumInterfaces 1\n", 30 bNumInterfaces 1 ) = 30 write(1, " bConfigurationValue 1\n", 30 bConfigurationValue 1 ) = 30 write(1, " iConfiguration 0 \n", 31 iConfiguration 0 ) = 31 write(1, " bmAttributes 0xc0\n", 30 bmAttributes 0xc0 ) = 30 write(1, " Self Powered\n", 19 Self Powered ) = 19 write(1, " MaxPower 2mA\n", 32 MaxPower 2mA ) = 32 write(1, " Interface Descriptor:\n", 26 Interface Descriptor: ) = 26 write(1, " bLength 9\n", 32 bLength 9 ) = 32 write(1, " bDescriptorType 4\n", 32 bDescriptorType 4 ) = 32 write(1, " bInterfaceNumber 0\n", 32 bInterfaceNumber 0 ) = 32 write(1, " bAlternateSetting 0\n", 32 bAlternateSetting 0 ) = 32 write(1, " bNumEndpoints 2\n", 32 bNumEndpoints 2 ) = 32 write(1, " bInterfaceClass 7 "..., 40 bInterfaceClass 7 Printer ) = 40 write(1, " bInterfaceSubClass 1 "..., 40 bInterfaceSubClass 1 Printer ) = 40 write(1, " bInterfaceProtocol 2 "..., 46 bInterfaceProtocol 2 Bidirectional ) = 46 write(1, " iInterface 0 "..., 33 iInterface 0 ) = 33 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x0"..., 44 bEndpointAddress 0x01 EP 1 OUT ) = 44 write(1, " bmAttributes "..., 34 bmAttributes 2 ) = 34 write(1, " Transfer Type "..., 40 Transfer Type Bulk ) = 40 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x004"..., 47 wMaxPacketSize 0x0040 1x 64 bytes ) = 47 write(1, " bInterval "..., 34 bInterval 0 ) = 34 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x8"..., 43 bEndpointAddress 0x82 EP 2 IN ) = 43 write(1, " bmAttributes "..., 34 bmAttributes 2 ) = 34 write(1, " Transfer Type "..., 40 Transfer Type Bulk ) = 40 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x001"..., 47 wMaxPacketSize 0x0010 1x 16 bytes ) = 47 write(1, " bInterval "..., 34 bInterval 0 ) = 34 ioctl(3, USBDEVFS_CONTROL, 0xbfb5be8c) = -1 EPIPE (Broken pipe) ioctl(3, USBDEVFS_CONTROL, 0xbfb5c03c) = -1 EPIPE (Broken pipe) ioctl(3, USBDEVFS_CONTROL, 0xbfb5c03c) = 2 write(1, "Device Status: 0x0001\n", 26Device Status: 0x0001 ) = 26 write(1, " Self Powered\n", 15 Self Powered ) = 15 close(3) = 0 write(1, "\n", 1 ) = 1 write(1, "Bus 001 Device 002: ID 04b4:6560"..., 90Bus 001 Device 002: ID 04b4:6560 Cypress Semiconductor Corp. CY7C65640 USB-2.0 "TetraHub" ) = 90 open("/dev/bus/usb/001/002", O_RDWR) = 3 write(1, "Device Descriptor:\n", 19Device Descriptor: ) = 19 write(1, " bLength 18\n", 28 bLength 18 ) = 28 write(1, " bDescriptorType 1\n", 28 bDescriptorType 1 ) = 28 write(1, " bcdUSB 2.00\n", 28 bcdUSB 2.00 ) = 28 write(1, " bDeviceClass 9 Hub\n", 32 bDeviceClass 9 Hub ) = 32 write(1, " bDeviceSubClass 0 Unus"..., 35 bDeviceSubClass 0 Unused ) = 35 write(1, " bDeviceProtocol 0 Full"..., 43 bDeviceProtocol 0 Full speed hub ) = 43 write(1, " bMaxPacketSize0 64\n", 28 bMaxPacketSize0 64 ) = 28 write(1, " idVendor 0x04b4 Cypr"..., 56 idVendor 0x04b4 Cypress Semiconductor Corp. ) = 56 write(1, " idProduct 0x6560 CY7C"..., 57 idProduct 0x6560 CY7C65640 USB-2.0 "TetraHub" ) = 57 write(1, " bcdDevice 0.0b\n", 28 bcdDevice 0.0b ) = 28 write(1, " iManufacturer 0 \n", 29 iManufacturer 0 ) = 29 write(1, " iProduct 0 \n", 29 iProduct 0 ) = 29 write(1, " iSerial 0 \n", 29 iSerial 0 ) = 29 write(1, " bNumConfigurations 1\n", 28 bNumConfigurations 1 ) = 28 write(1, " Configuration Descriptor:\n", 28 Configuration Descriptor: ) = 28 write(1, " bLength 9\n", 30 bLength 9 ) = 30 write(1, " bDescriptorType 2\n", 30 bDescriptorType 2 ) = 30 write(1, " wTotalLength 25\n", 30 wTotalLength 25 ) = 30 write(1, " bNumInterfaces 1\n", 30 bNumInterfaces 1 ) = 30 write(1, " bConfigurationValue 1\n", 30 bConfigurationValue 1 ) = 30 write(1, " iConfiguration 0 \n", 31 iConfiguration 0 ) = 31 write(1, " bmAttributes 0xe0\n", 30 bmAttributes 0xe0 ) = 30 write(1, " Self Powered\n", 19 Self Powered ) = 19 write(1, " Remote Wakeup\n", 20 Remote Wakeup ) = 20 write(1, " MaxPower 100mA\n", 32 MaxPower 100mA ) = 32 write(1, " Interface Descriptor:\n", 26 Interface Descriptor: ) = 26 write(1, " bLength 9\n", 32 bLength 9 ) = 32 write(1, " bDescriptorType 4\n", 32 bDescriptorType 4 ) = 32 write(1, " bInterfaceNumber 0\n", 32 bInterfaceNumber 0 ) = 32 write(1, " bAlternateSetting 0\n", 32 bAlternateSetting 0 ) = 32 write(1, " bNumEndpoints 1\n", 32 bNumEndpoints 1 ) = 32 write(1, " bInterfaceClass 9 "..., 36 bInterfaceClass 9 Hub ) = 36 write(1, " bInterfaceSubClass 0 "..., 39 bInterfaceSubClass 0 Unused ) = 39 write(1, " bInterfaceProtocol 0 "..., 47 bInterfaceProtocol 0 Full speed hub ) = 47 write(1, " iInterface 0 "..., 33 iInterface 0 ) = 33 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x8"..., 43 bEndpointAddress 0x81 EP 1 IN ) = 43 write(1, " bmAttributes "..., 34 bmAttributes 3 ) = 34 write(1, " Transfer Type "..., 45 Transfer Type Interrupt ) = 45 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x000"..., 46 wMaxPacketSize 0x0001 1x 1 bytes ) = 46 write(1, " bInterval 25"..., 34 bInterval 255 ) = 34 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 9 write(1, "Hub Descriptor:\n", 16Hub Descriptor: ) = 16 write(1, " bLength 9\n", 26 bLength 9 ) = 26 write(1, " bDescriptorType 41\n", 26 bDescriptorType 41 ) = 26 write(1, " nNbrPorts 4\n", 26 nNbrPorts 4 ) = 26 write(1, " wHubCharacteristic 0x0089\n", 28 wHubCharacteristic 0x0089 ) = 28 write(1, " Per-port power switching\n", 29 Per-port power switching ) = 29 write(1, " Per-port overcurrent protect"..., 36 Per-port overcurrent protection ) = 36 write(1, " Port indicators\n", 20 Port indicators ) = 20 write(1, " bPwrOn2PwrGood 50 * 2 mi"..., 44 bPwrOn2PwrGood 50 * 2 milli seconds ) = 44 write(1, " bHubContrCurrent 100 milli "..., 39 bHubContrCurrent 100 milli Ampere ) = 39 write(1, " DeviceRemovable 0x00\n", 26 DeviceRemovable 0x00 ) = 26 write(1, " PortPwrCtrlMask 0xff\n", 26 PortPwrCtrlMask 0xff ) = 26 write(1, " Hub Port Status:\n", 18 Hub Port Status: ) = 18 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 4 write(1, " Port 1: 0000.0100 power\n", 27 Port 1: 0000.0100 power ) = 27 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 4 write(1, " Port 2: 0000.0103 power enabl"..., 42 Port 2: 0000.0103 power enable connect ) = 42 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 4 write(1, " Port 3: 0000.0103 power enabl"..., 42 Port 3: 0000.0103 power enable connect ) = 42 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 4 write(1, " Port 4: 0000.0100 power\n", 27 Port 4: 0000.0100 power ) = 27 ioctl(3, USBDEVFS_CONTROL, 0xbfb5be8c) = 10 write(1, "Device Qualifier (for other devi"..., 43Device Qualifier (for other device speed): ) = 43 write(1, " bLength 10\n", 28 bLength 10 ) = 28 write(1, " bDescriptorType 6\n", 28 bDescriptorType 6 ) = 28 write(1, " bcdUSB 2.00\n", 28 bcdUSB 2.00 ) = 28 write(1, " bDeviceClass 9 Hub\n", 32 bDeviceClass 9 Hub ) = 32 write(1, " bDeviceSubClass 0 Unus"..., 35 bDeviceSubClass 0 Unused ) = 35 write(1, " bDeviceProtocol 2 TT p"..., 40 bDeviceProtocol 2 TT per port ) = 40 write(1, " bMaxPacketSize0 64\n", 28 bMaxPacketSize0 64 ) = 28 write(1, " bNumConfigurations 1\n", 28 bNumConfigurations 1 ) = 28 ioctl(3, USBDEVFS_CONTROL, 0xbfb5c03c) = -1 EPIPE (Broken pipe) ioctl(3, USBDEVFS_CONTROL, 0xbfb5c03c) = 2 write(1, "Device Status: 0x0001\n", 26Device Status: 0x0001 ) = 26 write(1, " Self Powered\n", 15 Self Powered ) = 15 close(3) = 0 write(1, "\n", 1 ) = 1 write(1, "Bus 001 Device 001: ID 0000:0000"..., 35Bus 001 Device 001: ID 0000:0000 ) = 35 open("/dev/bus/usb/001/001", O_RDWR) = 3 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 4 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 45 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 4 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 43 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 4 ioctl(3, USBDEVFS_CONTROL, 0xbfb5ba6c) = 27 write(1, "Device Descriptor:\n", 19Device Descriptor: ) = 19 write(1, " bLength 18\n", 28 bLength 18 ) = 28 write(1, " bDescriptorType 1\n", 28 bDescriptorType 1 ) = 28 write(1, " bcdUSB 1.10\n", 28 bcdUSB 1.10 ) = 28 write(1, " bDeviceClass 9 Hub\n", 32 bDeviceClass 9 Hub ) = 32 write(1, " bDeviceSubClass 0 Unus"..., 35 bDeviceSubClass 0 Unused ) = 35 write(1, " bDeviceProtocol 0 Full"..., 43 bDeviceProtocol 0 Full speed hub ) = 43 write(1, " bMaxPacketSize0 64\n", 28 bMaxPacketSize0 64 ) = 28 write(1, " idVendor 0x0000 \n", 29 idVendor 0x0000 ) = 29 write(1, " idProduct 0x0000 \n", 29 idProduct 0x0000 ) = 29 write(1, " bcdDevice 2.06\n", 28 bcdDevice 2.06 ) = 28 write(1, " iManufacturer 3 Linu"..., 50 iManufacturer 3 Linux 2.6.15 uhci_hcd ) = 50 write(1, " iProduct 2 UHCI"..., 49 iProduct 2 UHCI Host Controller ) = 49 write(1, " iSerial 1 0000"..., 41 iSerial 1 0000:00:04.2 ) = 41 write(1, " bNumConfigurations 1\n", 28 bNumConfigurations 1 ) = 28 write(1, " Configuration Descriptor:\n", 28 Configuration Descriptor: ) = 28 write(1, " bLength 9\n", 30 bLength 9 ) = 30 write(1, " bDescriptorType 2\n", 30 bDescriptorType 2 ) = 30 write(1, " wTotalLength 25\n", 30 wTotalLength 25 ) = 30 write(1, " bNumInterfaces 1\n", 30 bNumInterfaces 1 ) = 30 write(1, " bConfigurationValue 1\n", 30 bConfigurationValue 1 ) = 30 write(1, " iConfiguration 0 \n", 31 iConfiguration 0 ) = 31 write(1, " bmAttributes 0xc0\n", 30 bmAttributes 0xc0 ) = 30 write(1, " Self Powered\n", 19 Self Powered ) = 19 write(1, " MaxPower 0mA\n", 32 MaxPower 0mA ) = 32 write(1, " Interface Descriptor:\n", 26 Interface Descriptor: ) = 26 write(1, " bLength 9\n", 32 bLength 9 ) = 32 write(1, " bDescriptorType 4\n", 32 bDescriptorType 4 ) = 32 write(1, " bInterfaceNumber 0\n", 32 bInterfaceNumber 0 ) = 32 write(1, " bAlternateSetting 0\n", 32 bAlternateSetting 0 ) = 32 write(1, " bNumEndpoints 1\n", 32 bNumEndpoints 1 ) = 32 write(1, " bInterfaceClass 9 "..., 36 bInterfaceClass 9 Hub ) = 36 write(1, " bInterfaceSubClass 0 "..., 39 bInterfaceSubClass 0 Unused ) = 39 write(1, " bInterfaceProtocol 0 "..., 47 bInterfaceProtocol 0 Full speed hub ) = 47 write(1, " iInterface 0 "..., 33 iInterface 0 ) = 33 write(1, " Endpoint Descriptor:\n", 27 Endpoint Descriptor: ) = 27 write(1, " bLength "..., 34 bLength 7 ) = 34 write(1, " bDescriptorType "..., 34 bDescriptorType 5 ) = 34 write(1, " bEndpointAddress 0x8"..., 43 bEndpointAddress 0x81 EP 1 IN ) = 43 write(1, " bmAttributes "..., 34 bmAttributes 3 ) = 34 write(1, " Transfer Type "..., 45 Transfer Type Interrupt ) = 45 write(1, " Synch Type "..., 40 Synch Type None ) = 40 write(1, " Usage Type "..., 40 Usage Type Data ) = 40 write(1, " wMaxPacketSize 0x000"..., 46 wMaxPacketSize 0x0002 1x 2 bytes ) = 46 write(1, " bInterval 25"..., 34 bInterval 255 ) = 34 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 13 write(1, "Hub Descriptor:\n", 16Hub Descriptor: ) = 16 write(1, " bLength 9\n", 26 bLength 9 ) = 26 write(1, " bDescriptorType 41\n", 26 bDescriptorType 41 ) = 26 write(1, " nNbrPorts 2\n", 26 nNbrPorts 2 ) = 26 write(1, " wHubCharacteristic 0x000a\n", 28 wHubCharacteristic 0x000a ) = 28 write(1, " No power switching (usb 1.0)"..., 33 No power switching (usb 1.0) ) = 33 write(1, " Per-port overcurrent protect"..., 36 Per-port overcurrent protection ) = 36 write(1, " bPwrOn2PwrGood 1 * 2 mi"..., 44 bPwrOn2PwrGood 1 * 2 milli seconds ) = 44 write(1, " bHubContrCurrent 0 milli "..., 39 bHubContrCurrent 0 milli Ampere ) = 39 write(1, " DeviceRemovable 0x00\n", 26 DeviceRemovable 0x00 ) = 26 write(1, " PortPwrCtrlMask 0xff\n", 26 PortPwrCtrlMask 0xff ) = 26 write(1, " Hub Port Status:\n", 18 Hub Port Status: ) = 18 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 4 write(1, " Port 1: 0000.0103 power enabl"..., 42 Port 1: 0000.0103 power enable connect ) = 42 ioctl(3, USBDEVFS_CONTROL, 0xbfb5bfdc) = 4 write(1, " Port 2: 0000.0100 power\n", 27 Port 2: 0000.0100 power ) = 27 ioctl(3, USBDEVFS_CONTROL, 0xbfb5c03c) = 2 write(1, "Device Status: 0x0001\n", 26Device Status: 0x0001 ) = 26 write(1, " Self Powered\n", 15 Self Powered ) = 15 close(3) = 0 munmap(0xb7f46000, 4096) = 0 exit_group(0) = ? Process 6180 detached >> [plustek] gray Gamma : 1.00 >> [plustek] --------------------- >> [plustek] usbDev_open(auto,0x04A9-0x2206) - 0x806d000 >> [sanei_usb] sanei_usb_open: trying to open device `libusb:001:004' >> USB error: could not set config 1: Protocol error >> [sanei_usb] sanei_usb_open: libusb complained: could not set config 1: >> Protocol error >> [plustek] sanei_usb_open failed: Protocol error (71) >> [plustek] open failed: -1 >> [plustek] sane_get_devices (0xbf922cf8, 0) >> [sanei_debug] Setting debug level of sanei_usb to 255. > > It looks like the USBDEVFS_SETCONFIGURATION ioctl is not working > correctly. Could you please compile the small attached test program (gcc > -o testusb testusb.c). Then run it with /dev/bus/xxx/yyy as the first > argument, with xxx and yyy being the bus and device number return by lsusb. # ./testusb /dev/bus/usb/001/004 ret from ioctl: -1 Thanks, Carsten. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]