tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Forcing a USB device to "ugen"
Brian Buhrow <buhrow%nfbcal.org@localhost> writes:
> Isn't it possible to do most of what Jason proposes by using the drvctl interface to
> detach a driver from a specific USB device? Then, some glue could be added to the ugen driver
> to allow it to be attached to arbitrary devices using the same drvctl interface? That seems a
> lot easier to me than building a registry of devices and device IDs, which will be woefully
> out of date before it gets published. It also has the advantage of allowing the user to do
> creative stuff that the developers didn't think of. Am I missing something obvious?
>
> -thanks
> -Brian
I don't think that the detach part is a problem, but the second part is
murky. The only thing I know of that can do the second part is a rescan
call against the USB bus. Unless the ugen driver is allowed to have a
higher priority than the specific device driver, the specific wins
during the rescan of the USB bus. The use of ugenif was mentioned, and
this is a way to do the "make ugen have a higher priority" game, but
ugenif requires a custom kernel. See the ugen man page for the hint on
how to use ugenif.
There is the concept of tags that can be passed in a rescan, but to use
those effectively for this problem is messy. You may end up having to
put the "detect that ugen has a high priority" in every driver or at the
very least the [uoevx]hci drivers and even then, it isn't tied to a
specific device really, just the concept of "on this rescan, have ugen
take priority" and ANY device found would get ugen.
Jason's notion of using ugen as a bus instead of a leaf has merit and
may be the better approach. The devil will be in the details, however.
--
Brad Spencer - brad%anduin.eldar.org@localhost - KC8VKS - http://anduin.eldar.org
Home |
Main Index |
Thread Index |
Old Index