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]