From: Stuart T. <st...@cs...> - 2003-03-04 23:57:17
|
On Tuesday 04 March 2003 01:23 pm, you wrote: > Can you give me the output from this command: > > ls -lR /proc/bus/usb > $ ls -lR /proc/bus/usb /proc/bus/usb: total 0 dr-xr-xr-x 1 root root 0 Mar 4 04:23 001 dr-xr-xr-x 1 root root 0 Mar 4 04:23 002 -r--r--r-- 1 root root 0 Mar 4 17:51 devices -r--r--r-- 1 root root 0 Mar 4 17:51 drivers /proc/bus/usb/001: total 0 -rw-r--r-- 1 root root 18 Mar 4 10:23 001 /proc/bus/usb/002: total 0 -rw-r--r-- 1 root root 18 Mar 4 10:23 001 -rw-r--r-- 1 root root 18 Mar 4 17:51 005 The 005, I believe, refers to my mp3 player device > Also, what version of libusb are you using? 0.1.7 Thanks, Stuart > > JE > > On Tue, Mar 04, 2003, Stuart Tett <st...@cs...> wrote: > > I have been using my Intel Pocket Concert MP3 player with Linux without > > problem for some time now. For some reason (maybe due to upgrading the > > kernel), it no longer works. When using any of the programs such as > > ./probe it prints "No error." Below is a conversation between myself and > > the developer of libipc helping me to troubleshoot this. I ran strace on > > ./probe as well as turned on debugging in the source code. He said it had > > to do with usb_find_devices(), but that usb_find_busses() is working. > > > > I'd really appreciate your help. > > Thanks :) > > > > ---------- Forwarded Message ---------- > > > > Subject: Re: [IPC] libipc sample programs just print "No error" > > Date: Monday 24 February 2003 12:29 am > > From: "Seagull" <se...@ar...> > > To: st...@cs... > > > > > I turned on the debugging: > > > > > > $ ./probe > > > usb_set_debug: Setting debugging level to 3 (on) > > > usb_os_init: Found USB VFS at /proc/bus/usb > > > usb_os_find_busses: Skipping non bus directory devices > > > usb_os_find_busses: Skipping non bus directory drivers > > > usb_os_find_busses: Found 002 > > > usb_os_find_busses: Found 001 > > > > You might want to drop this by the libusb folks. usb_find_busses() is > > finding the USB busses, but usb_find_devices() appears to do nothing. > > > > > > Cheers, > > John > > > > > No error > > > > > > $ strace ./probe > > > execve("./probe", ["./probe"], [/* 50 vars */]) = 0 > > > uname({sys="Linux", node="my ip address was here", ...}) = 0 > > > brk(0) = 0x804b700 > > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, > > > 0) = 0x459eb000 > > > open("/etc/ld.so.preload", O_RDONLY) = 3 > > > fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 > > > close(3) = 0 > > > open("/etc/ld.so.cache", O_RDONLY) = 3 > > > fstat64(3, {st_mode=S_IFREG|0644, st_size=68349, ...}) = 0 > > > mmap2(NULL, 68349, PROT_READ, MAP_PRIVATE, 3, 0) = 0x459ec000 > > > close(3) = 0 > > > open("/usr/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\340\21"..., > > > 1024) = 1024 > > > fstat64(3, {st_mode=S_IFREG|0755, st_size=30969, ...}) = 0 > > > mmap2(NULL, 26100, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x459fd000 > > > mprotect(0x45a02000, 5620, PROT_NONE) = 0 > > > mmap2(0x45a02000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, > > > 0x5) = 0x45a02000 > > > close(3) = 0 > > > open("/lib/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\0[\1\000"..., > > > 1024) = 1024 > > > fstat64(3, {st_mode=S_IFREG|0755, st_size=1449677, ...}) = 0 > > > mmap2(NULL, 1235172, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = > > > 0x45a04000 mprotect(0x45b2a000, 30948, PROT_NONE) = 0 > > > mmap2(0x45b2a000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, > > > 3, 0x125) > > > = 0x45b2a000 > > > mmap2(0x45b2e000, 14564, PROT_READ|PROT_WRITE, > > > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x45b2e000 > > > close(3) = 0 > > > munmap(0x459ec000, 68349) = 0 > > > write(2, "usb_set_debug: Setting debugging"..., 49usb_set_debug: > > > Setting debugging level to 3 (on) > > > ) = 49 > > > open("/proc/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 > > > fstat64(3, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 > > > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > > > brk(0) = 0x804b700 > > > brk(0x804d700) = 0x804d700 > > > brk(0x804e000) = 0x804e000 > > > getdents64(0x3, 0x804b738, 0x1000, 0) = 160 > > > close(3) = 0 > > > write(2, "usb_os_init: Found USB VFS at /p"..., 44usb_os_init: Found > > > USB VFS at > > > /proc/bus/usb > > > ) = 44 > > > open("/proc/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3 > > > fstat64(3, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 > > > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > > > getdents64(0x3, 0x804b738, 0x1000, 0) = 160 > > > write(2, "usb_os_find_busses: Skipping non"..., 55usb_os_find_busses: > > > Skipping non bus directory devices > > > ) = 55 > > > write(2, "usb_os_find_busses: Skipping non"..., 55usb_os_find_busses: > > > Skipping non bus directory drivers > > > ) = 55 > > > write(2, "usb_os_find_busses: Found 002\n", 30usb_os_find_busses: Found > > > 002 ) = 30 > > > brk(0x804f000) = 0x804f000 > > > write(2, "usb_os_find_busses: Found 001\n", 30usb_os_find_busses: Found > > > 001 ) = 30 > > > getdents64(0x3, 0x804b738, 0x1000, 0) = 0 > > > close(3) = 0 > > > write(2, "No error\n", 9No error > > > ) = 9 > > > _exit(1) = ? > > > > > > On Saturday 22 February 2003 05:18 pm, you wrote: > > > > Hmm... > > > > > > > > IPC_Discover() calls usb_init() inside of libusb. This, in turn, > > > > stats the > > > > > > > > /proc/bus/usb directory, which is this segment here: > > > > > open("/proc/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) > > > > > = 3 fstat64(3, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 > > > > > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > > > > > brk(0) = 0x804b700 > > > > > brk(0x804d700) = 0x804d700 > > > > > brk(0x804e000) = 0x804e000 > > > > > getdents64(0x3, 0x804b738, 0x1000, 0) = 160 > > > > > close(3) = 0 > > > > > > > > Then, IPC_Discover() calls usb_find_busses() in libusb, which in turn > > > > > > > > calls usb_os_find_busses(), which is right here: > > > > > open("/proc/bus/usb", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) > > > > > = 3 fstat64(3, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0 > > > > > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > > > > > getdents64(0x3, 0x804b738, 0x1000, 0) = 160 > > > > > brk(0x804f000) = 0x804f000 > > > > > getdents64(0x3, 0x804b738, 0x1000, 0) = 0 > > > > > close(3) = 0 > > > > > > > > What's odd is that usb_find_devices(), which comes next in > > > > IPC_Discover(), doesn't seem to take any action. It's almost as if > > > > libusb is not registering having found any USB busses at all. > > > > > > > > Add this line to probe.c, just before IPC_Discover() is called: > > > > > > > > usb_set_debug(3); > > > > > > > > Then recompile and rerun. THis should generate some debug output > > > > from libusb. > > > > > > > > > > > > Cheers, > > > > John > > > > > > -- > > > > > > st...@ia... > > > > -- > > \ carpe cavy! > > seagull @ aracnet.com \ > > http://www.aracnet.com/~seagull/ \ (seize the guinea pig!) > > > > ------------------------------------------------------- > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: Etnus, makers of TotalView, The > > debugger for complex code. Debugging C/C++ programs can leave you feeling > > lost and disoriented. TotalView can help you find your way. Available on > > major UNIX and Linux platforms. Try it free. www.etnus.com > > _______________________________________________ > > Libusb-devel mailing list > > Lib...@li... > > https://lists.sourceforge.net/lists/listinfo/libusb-devel -- Stuart Tett st...@ia... |