On Tue, 30 Jan 2007, Oleg Verych wrote:

> > > So, if i will quickly invent `wc' (working configuration ;) module
> > > parameter for A driver, near vID:dID, i will not have any luck getting it
> > > changed in USB-Core,
> > 
> > Getting _what_ changed in usbcore?  What does "it" refer to?  The 'wc' 
> > module parameter?  The A driver?  The vID:dID?
> 
> USB configuration of the device, (USB interface) driver needs to
> operate as USB interface driver, not semi-setup, semi-interface.

Okay.  You're right; adding module parameters to a USB interface driver 
won't change the configuration of the USB device.  The most it could do 
would be to prevent your driver from being loaded in the first place 
(because the 'wc' entry wouldn't match the device's configuration).

> I'm talking about 100% setting of the USB device, before it is bind or is
> given to (USB interface) driver.

That's a perfectly good thing to do, but obviously it can't be done from 
within a USB interface driver -- since you want to change the device 
settings _before_ the driver is loaded.

It has to be done using some other mechanism.

> Because (USB interface) driver, as you
> described, is *only* an USB interface driver, and operates on the trunk
> of the USB core. Changing configuration from that driver is impossible,
> because trunk is going to be cut, and everything falls down. Yet you can
> kick this driver from the userspace (USB core's crutch, made by father
> ;), just because USB core is so ugly, to ask device driver author, by
> means of some module-parameter, callback function, static data in the
> driver, about what particular configuration of an USB device is actual
> for (USB interface) driver.
> 
> Am i expressing myself clearly? Is it so hard to understand?

Well, I had a little trouble understanding the last sentence in that 
paragraph above.  :-)

> Anyway, i'm finally going to propose a patch, maybe some lines of C is
> better, than endless conversation between blind and deaf.

Fine.  Try doing what I suggested earlier:  Add to generic.c a table of
device IDs and configuration values, so that choose_configuration() can
check the table before picking some random config.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to