On Thu, Nov 22, 2007 at 09:47:04PM -0500, Alan Stern wrote: > You are mixing up "configuration" and "interface". I think you mean > "interface" here (configurations don't have classes but interfaces do).
Oops, yes, I had those reversed. > > The problem is that usb_storage sees the Mass Storage configuration, > > and uses it. When Barry wants to use the Database configuration, > > there's a conflict. > > What's the conflict? When a Blackberry Pearl is plugged in, showing product ID 0004, and while the usb_storage module is loaded, I get the following error when trying to set the configuration: Usb::Error caught: (-16, could not set config 1: Device or resource busy): Probe: SetConfiguration failed The normal sequence of events is a scan for Blackberry devices using libusb information calls (usb_find_*()), then a call to usb_open(), usb_set_configuration(), then usb_claim_interface() on the interface with class 255. > You say the set_configuration call returns an error? Have you tried > turning on the usbfs_snoop parameter for the usbcore module to see what > shows up in the kernel log? Have you verified that the configuration > you're trying to install actually exists? I know the configuration exists, since the same code works when the usb_storage module is not loaded. I've always assumed that this conflict is a fundamental issue when two programs try to access the same USB device (even if one is a kernel module). If I'm wrong, I'd love for someone to show me how to do it right. - Chris ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Barry-devel mailing list Barry-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/barry-devel