On Wed, 4 Mar 2009, Jon Smirl wrote: > jtag> cable ARM-USB-OCD > Connected to libftdi driver. > usb_bulk_read 6951d0 81 0x688670 1000 1388 > > printf("usb_urb_transfer %x %x %x %x %p %x %x %x %x %p\n", dev->fd, > urb.type, urb.endpoint, urb.flags, urb.buffer, > urb.buffer_length, urb.signr, urb.actual_length, > urb.number_of_packets, urb.usercontext); > usb_urb_transfer 3 3 81 0 0x688670 1000 0 0 0 (nil) > > usb bulk -2 > seq_purge(): ftdi_read_data() failed: usb bulk read failed > Error: Cable initialization failed! > jtag> > > > ftdio_sio has the device bound. Its appears that the user space app is > able to claim the interface and issue ioctls to it, it just can't > submit URBs to it. > > The hardware supports having both channels active, what's the right solution? I still can't tell exactly what's wrong. The debugging facilities in usbfs aren't all that good... The -ENOENT error comes up somewhere in proc_do_submiturb() in drivers/usb/core/devio.c, or in one of the subroutines it calls: findintfep() or checkintf(). The error return must occur before the line: switch(uurb->type) { otherwise we'd see "bulk urb" in the usbfs_snoop log. You'll have to add some printk statements to try and narrow down the precise location of the error. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html