best way to determine devices with drivers

David Zeuthen david at
Thu Jun 24 03:13:16 PDT 2004

On Thu, Jun 24, 2004 at 10:38:28AM +0100, Jono Bacon wrote:
> Andrew Luecke wrote:
> >Actually, turns out i was worried about nothing.. phew. for a very
> >short time i was starting to think that some software, like digital
> >cameras didn't use a kernel module.. luckily, i'm wrong. I found out
> >stuff like digital cameras use the Mass storage module in the kernel,
> >so, luckily, it will work like I want it to (when the linux.driver
> >works again) ;)
> All digital camera's pretty much use USB mass storage.

libgphoto2 supports some 400 cameras not using USB mass storage - IIRC
most new cameres uses the PTP protocol which is not the same as USB mass

> The challenge is 
> distinguishing that a device is a camera as opposed to a Nokia phone 
> with an MP3 player, as opposed to a card reader, as opposed to a PDA. 

Or a phone that is a MP3 player and got PDA features?

This is covered in HAL today, we have the info.category and
info.capabilites properties. The 'info.category' is _what the device
is_, if it's this metal thing with a lens we set it to 'camera', if
it's a card reader we set it to 'storage'. And info.capabilities is
_what the device does_.

This is much more finegrained than relying on whatever kernel-space
driver or user-space library is used to access the device. It's a
seperation of function from mechanism.

> These different devices need to appear in GNOME 

And KDE, XFCE etc:

> with an icon that 
> indicates the type of device - just displaying a hard drive icon will be 
> confusing because the user will not see the device as a storage device 
> and instead as a gadget.

Yeah, what kind of operating system would just show a dull grey icon :-)

> >By the way, has anyone here thought of extending HAL to work over
> >network, like recording the networked devices.. It's always handy to
> >know what capabilities your toaster has when you plug it into the
> >network ;)
> This would be incredible. Imagine if you could access a digital camera 
> plugged into a Windows box across the network. I imigine this is nigh on 
>  impossible though. It would be incredibly cool to see other devices 
> attached to other machines on your desktop and access them though. This 
> would also be really handy for things such as wireless access points, 
> printers etc. How viable is this?

Maybe the Zeroconf/Rendezvous/UPNP stuff is more suitable for this?
Let's not try to extend the scope of HAL too much, otherwise we'll
never hit 1.0 :-)


hal mailing list
hal at

More information about the Hal mailing list