Part C code:

ioctl(fd, USBDEVFS_CLAIMINTERFACE, 0);
perror("ioctl");
ret = ioctl(fd, USBDEVFS_BULK, &bulk);
perror("ioctl");

this is the result:

ioctl: Bad address
ioctl: Device or resource busy

#lsusb
Bus 002 Device 003: ID 0000:0000

Syslog:
kernel: usb 2-2: usbfs: process 6073 (prueba3) did not claim interface
0 before use

#strace ./prueba3    
execve("./prueba3", ["./prueba3"], [/* 29 vars */]) = 0
uname({sys="Linux", node="jupiter", ...}) = 0
brk(0)                                  = 0x804a000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40017000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=78440, ...}) = 0
old_mmap(NULL, 78440, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
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\260\24"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=28788, ...}) = 0
old_mmap(NULL, 31864, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002c000
old_mmap(0x40032000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 3, 0x5000) = 0x40032000
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`Z\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1254468, ...}) = 0
old_mmap(NULL, 1264780, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40034000
old_mmap(0x4015e000, 36864, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 3, 0x129000) = 0x4015e000
old_mmap(0x40167000, 7308, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40167000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40169000
set_thread_area({entry_number:-1 -> 6, base_addr:0x40169460,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0x40018000, 78440)               = 0
open("/proc/bus/usb/002/003", O_RDWR)   = 3
ioctl(3, USBDEVFS_CLAIMINTERFACE, 0)    = -1 EFAULT (Bad address)
dup(2)                                  = 4
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
brk(0)                                  = 0x804a000
brk(0x806b000)                          = 0x806b000
brk(0)                                  = 0x806b000
fstat64(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40018000
_llseek(4, 0, 0xbffff798, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
write(4, "ioctl: Bad address\n", 19ioctl: Bad address
)    = 19
close(4)                                = 0
munmap(0x40018000, 4096)                = 0
ioctl(3, UI_DEV_DESTROY or USBDEVFS_BULK, 0xbffff930) = -1 EBUSY
(Device or resource busy)
dup(2)                                  = 4
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fstat64(4, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40018000
_llseek(4, 0, 0xbffff798, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
write(4, "ioctl: Device or resource busy\n", 31ioctl: Device or resource busy
) = 31
close(4)                                = 0
munmap(0x40018000, 4096)                = 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) = 0x40018000
write(1, "Error in bulk transfer\n", 23Error in bulk transfer
) = 23
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
exit_group(0)                           = ?

where prueba3 is my file.

Thank you


-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_idt12&alloc_id344&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to