libusual interface [was Re: libusual and ub]

Bill Nottingham notting at redhat.com
Thu Dec 15 05:37:41 UTC 2005


Pete Zaitcev (zaitcev at redhat.com) said: 
> On Wed, 14 Dec 2005 22:18:22 -0500, Bill Nottingham <notting at redhat.com> wrote:
> 
> > 1) It breaks all 'normal' probing for devices, as the device tables
> >    are removed from the module. You have to hardcode one module or
> >    the other if you're running in an environment where the modules
> >    aren't in 'normal' locations
> 
> I'd like to see some concrete details or perhaps an example of a breakage.

If you aren't using libusual to load the modules (installer), you have to
hardcode which module to load somewhere... Jeremy was sending me a (bad :) )
patch for this just the other day... with the ids in the module, you just
use the modalias.

> > 3) If you want to change which one you use, since libusual is built-in,
> >    you have to reboot. This seems to be sort of a non-starter.
> 
> Adding a sysfs method is on my list. It's not hard. I simply forgot
> that Fedora ships with USB built-in.
> 
> > a) we blacklist one of the drivers
> > b) we don't build one of the drivers
> > c) we turn off automatic binding, and use the bind/unbind features
> >    to handle it
> 
> Only (c) is somewhat viable, if we are to have ub at all.

Why? If it's better for usage cases XYZ, why not just switch those
cases over completely? If it's *not* better, than why switch? 

> As one poster insightfuly observed in that thread, if Roskin's driver
> and normal driver were merged, there would've been no problem.

Well, yes. The general issue of 'shipping multiple drivers for one
device' is best summed up as "don't do that."

> This brings us to the real meat of the discussion:
> 
> > 2) It circumvents the normal hotplug mechanisms... while you're still
> >    getting events to userspace about the USB device add, the kernel
> >    is (effectively) handling the event behind your back.
> 
> Libusual does not circumvent shit. I guess some education is needed here,
> so please bear with me.
> 
> Unlike the pcimcia wireless and its tug-of-war, there's only one USB
> storage driver here, as far as hotplug is concerned. It happens to be
> called libusual, but I could have called it "grand-unified-usb-storage"
> or "pot_sex_tux_happy". Do not get hung up on the "lib*" prefix.
> When libusual is enabled, ub and usb-storage do not exist. Everything
> regarding the hotplug _including_ alias matching, module locations,
> etc. etc. works as before. Everything. No circumvention at all.

You still get a USB hotplug event for the USB device, with the modalias,
etc. Obviously, running modprobe with that won't load anything, and
libusual has already claimed the device.

> If you want to poke at implementation details beyond libusual, observe
> that ub is not a replacement for usb-storage. I have them loaded
> simultaneously and they do drive different devices simultaneously.
> Plug TEAC CD-210PU into a Rawhide system biased to ub and you'll see.

Heh, all I have is a craptastic usb-floppy.

Bill




More information about the fedora-devel-list mailing list