Alan Stern wrote:
That's right. The semantics of USBDEVFS_DISCONNECT has changed since
2.6.9. It now requires that there be no drivers bound to any
interfaces; thus you have to call usb_detach_kernel_driver_np() first.
Right, it does make sense. The confusing part is usb_detach_kernel_driver_np()
taking the interface as an argument.
There's also an excellent chance you don't need to call
usb_set_configuration() at all. Your devices have got only one
configuration, right?
Well, I don't know. All the current devices may only have one
interface, but this is in common code that is intended to
cope with any number of currently unknown future devices, so
I am just following l ibusb recommendations, and doing a
usb_set_configuration(), to make sure they work.
A recent report (from Frederic Crozat) using the above sequence is that
it too doesn't work on some systems
It turns out that this report is in error, and that in fact the
usb_detach_kernel_driver_np(0)
usb_set_configuration()
sequence does work.
To round out this summary, I'll attach another (relatively unrelated)
problem that users of ArgyllCMS are bumping against:
One version of the Eye-One Pro instrument (rev D),
<http://www.xrite.com/product_overview.aspx?id=790>
has a problem when it comes to closing the USB port.
? Do you mean closing the USB device _file_?
Yes, the usblib device handle structure holds the
fd, and it's the fd that is closed on a usb_os_close()
It sounds like you're not getting the same USB data sent on Linux and
on the other operating systems. Have you tried monitoring the USB
transfers and comparing the low-level data?
I don't have (or have access) to a USB bus analizer. I can
spy on the MSWindows stuff to a degree using snoopypro.
I'm not familiar enough with the Linux USB driver yet to know
what facilities it has in this regard. Pointers ?
cheers,
Graeme Gill.
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html