On Fri, 2008-05-23 at 13:41 +0100, Daniel Drake wrote:
> Bastien Nocera wrote:
> > Heya,
> > 
> > I'm thinking of the way we could handle hotpluggable devices in fprintd.
> > 
> > - Make libfprint export an FDI file that tells us all the fingerprint
> > reader devices it supports (adding an internal function giving us back a
> > struct containing that)
> 
> Would be nice if we could generate it at compile time instead, but the 
> idea sounds OK. I think you mentioned this was a requirement during our 
> earlier discussions anyway, so that HAL knows which USB devices are 
> supported fingerprint readers.

Our home-made application would do that, yes, we wouldn't do it
"on-the-fly". Any opinions on what I should call the function, and where
I should add it?

> > - Monitor hal inside fprintd, and get told when fingerprint devices are
> > added/removed (graceful failure when removed and in use, make sure that
> > libusb re-reads the full list of usb devices when
> > libusb_get_device_list() is called)
> 
> Yes, libusb re-enumerates the buses. It should also handle disconnected 
> devices OK, but not sure how libfprint deals with that right now.

Well, we'll have to see when I can test that :)

> > - internally, IDs for devices should be gathered from their position on
> > the usb bus, rather than just incrementing (that would mean the path to
> > the devices would stay constant across runs, rather than being
> > reordered). We'd need to modify libfprint to give that to us from
> > libusb.
> 
> This is more tricky, since USB bus topology can completely change in a 
> flash. There have been some recent discussions on the libusb mailing 
> list about this

OK.

> > - DeviceAdded/DeviceRemoved in the manager (path to the object in the
> > signals)
> > 
> > What do you think?
> 
> It sounds like it would work, but the correct solution would be to have 
> libusb provide the backing for this functionality. libusb would offer a 
> callback mechanism to inform library users when USB devices are 
> connected or disconnected. libfprint would bubble up this interface (for 
> recognised devices only) to library users like fprintd.

Yes, most definitely.

> I'm planning this for libusb-1.1. I am planning to use HAL for device 
> notifications, and maybe offer some lightweight options for embedded 
> systems too. I hope that libusb-1.1 isn't too far off in the future - 
> 1.0 is soon to enter beta, and 1.1 will be a fairly small incremental 
> release (only planned features right now are some internal cleanups and 
> device hotplug)

OK. I just wanted to be sure that the problem was well understood. I can
already get started on the HAL fdi file.

> Is hotpluggable device notifications a high priority requirement? Right 
> now we do only get the device list at fprintd startup, but how about if 
> we obtained the device list in fprint_manager_get_devices()?

It doesn't make much difference, given that fprintd is only started up
when someone pokes at its interface, usually to get the list of devices.
So we'd only be pushing the problem a tiny bit further.

_______________________________________________
fprint mailing list
[email protected]
http://lists.reactivated.net/mailman/listinfo/fprint

Reply via email to