Hi,

We are currently testing 2.3.99, as usual in a heavily modularised setup.

The problem that appears to me is that the respective USB class and device
need to be loaded by hand currently.

The approach used by the usbd of Thomas Sailor appears to be nice, but
why not just use the KMOD within the kernel itself and use /etc/modules.conf
as configuration file?

On a new unknown attached device:
        
sprintf(buf,"usb-%04x.%04x.%02d.%02d.%02d",vendor,device,class,subclass,protocol);
        if (request_module(buf)<0) {
                sprintf(buf,"usb-%02d.%02d.%02d",class,subclass,protocol);
                if (request_module(buf)<0) {
                        sprintf(buf,"usb-%04x.%04x",vendor,device);
                        if (request_module(buf)<0) {
                                return -ENODEV;
                        }
                }
        }

and then add to /etc/modules.conf stuff like:

alias usb-01.00.00  audio.o
alias usb-03.01.00  mouse.o

alias usb-0478.0001  qvc.o      # QuickCam VC driver which does not exist yet.
alias usb-055f:a800  mdc800.o   # Mustek MDC 800

This might fit as fallback or addition for usb_find_drivers()

Is there a problem with this approach?

The ones I see are:

- Not possible to load modules in usb_find_drivers (can we be in an interrupt?)
  [Is the usb controller is using a thread to detect devices ?]

- Not possible to express the multitude of triggers class/subclass in easy
  modules.conf aliases.

Sorry if this has been discussed before.

Ciao, Marcus

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to