HAL 0.1 release

Bryan W. Headley bwheadley at earthlink.net
Sat Oct 11 01:06:17 EEST 2003

David Zeuthen wrote:
> On Fri, 2003-10-10 at 22:13, Bryan W. Headley wrote:
>>On the other hand, let's consider my multi-function printer: it's a 
>>printer, fax, copier, scanner, AND it has a slot to plug in those camera 
>>memory cards. (And yes, it does let me mount the cards from there, 
>>although the intent was more to have a 'camera printer')
>>So what you are looking at is this:
>><interface_point bus="USB" path="2-2:1.0">
>>   <devices>
>>     <device type="Printer">
>>       <printer-capacities> ... </printer-capacities>
>>     </device>
>>     <device type="Scanner">
>>       <scanner-capacities> ... </scanner-capacities>
>>      <!-- ... -->
>>     </devices>
> USB device with multiple interfaces, yes.. I thought the only example
> was USB speakers (audio and HID). So basically, I suspect that the
> device info file would assign (please shoot this down if it is not
> efficient enough).

Keyboards with built in mice & joysticks...

>  Capability = Printer, Modem, Copier, Scanner, Storage

Are you describing that grayish box as a single entity. Then yes, it has 
Capability = Printer, Scanner, etc.

If you are unconcerned that all those hardware capabilities are 
contained in a single grayish box, or a single USB endpoint, then it's 5 
entries, each with one capability (of equal importance to one another)

> The thing is really that HAL doesn't need to care. No matter what, you
> will still need use a ''capability'' specific library to do the hard
> magic (and as Joe points out CUPS would do this).

Well, it's a question of where the single-source information about 
hardware & available attributes/capacities are kept. Looking at the 
current situation, CUPS seems to know about printers. XFree seems to 
know about keyboards, mice, video cards. Neither of them know anything, 
but someone TOLD THEM what they have, and they keep it in a config file 
for safekeeping.

Mind you, people like RedHat make little hardware-recognizing programs 
to write out those config files, and that confuses us to the abilities 
CUPS and XFree seem to have, and the abilities they truly have. It also 
blurs the line over what capacities they should have.

> ps. Does this device exist? Does it show up as a single USB device with
> multiple interfaces? My USB keyboard with hub shows up as two devices
> actually. Either way, you make a good point!

It's an HP OfficeJet PSC-2200. It looks like a hub with several things 
hardwired into it. The kernel recognizes it as several devices when 
plugged in, including usblp and usbscanner.

>>1. The responsibility to broadcast availability rests with each element 
>>of 'devices'.
> Depends - your device may be a single object with multiple capabilities.
> Or multiple devices with single capabilities; that's really vendor
> choices.

I think we agree: if I have one device with an array of 6 capacities, 
and you have a device with an array of one capacity, we both agree with 
our devices should announce each of their capacities.

If I were the writer for a multi-"Capacity" device, then I know it's my 
responsibility to announce each Capacity individually. As in, "here's a 
camera; here is a memory card reader"

>>2. We're not overly concerned that all these devices come from the same 
>>interface point. Or, physically, from the same box. Maybe the OS is, 
>>especially if you try to copy while scanning, but that is its issue.

> So we could show each USB interface as a single device?

No. You show it as being as many Capacities as that endpoint says it 
has. A card reader, printer, refridgerator and a dangerous poker player...

Lovely little btree, huh?

____               .:.                 ____
Bryan W. Headley - bwheadley at earthlink.net

More information about the xdg mailing list