Re: Multiple USB Endpoints

Chris Frey <cdfrey-4/[email protected]>
Newsgroups gmane.comp.handhelds.blackberry.barry.devel,gmane.linux.usb.devel
Message-ID <[email protected]>
On Fri, Nov 16, 2007 at 01:59:16PM -0500, Alan Stern wrote:
> > On Fri, 16 Nov 2007, Martin Owens wrote:
> > As you can see it needs to be put in the second mode anyway, but there
> > is a third mode which is just the database stuff, without the mass
> > storage device. I believe the existing barry project is attempting to
> > claim all interfaces including the MSD one which is where it runs into
> > problems.

Hi,

I'm the lead developer of the Barry project.

I think the modes Martin is talking about is that the Blackberry Pearl,
and similar devices, can reboot itself and present 3 different
product ID's.

The most useful of these product ID's is 0004, which presents two
configurations: a Mass Storage, and a class 255 (the Database config).

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.


> Okay, that seems straightforward enough.  The solution is (obviously) 
> to make the barry project avoid trying to claim the mass-storage 
> interface.
> 
> It shouldn't be hard to do.  You can tell which interface is 
> mass-storage by checking whether the bInterfaceClass value is 0x08.  If 
> it is, simply have the program skip over the interface.  The function 
> call you need to avoid is usb_claim_interface().

Barry doesn't use the Mass Storage configuration at all.  It uses
libusb to call set_configuration on the Database configuration, and then
usb_claim_interface on that.  If I comment out the claim_interface
call, I still get the error on set_configuration.

- 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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.