2011/3/18 Martin Preuss <[email protected]>:
> Hi,
>
> On Freitag 18 März 2011, Ludovic Rousseau wrote:
> [...]
>> Hotplug is the business of pcsc-lite, not the reader driver.
>> Or you have a special need?
> [...]
>> You driver should not depend on the way pcsc-lite is configured.
> [...]
>
> Yes, with recent versions of pcsc-lite it doesn't. But the version shipped
> with e.g. Ubuntu 9.04 only works if the driver is able to handle a device name
> using the libHAL scheme. It doesn't try again with the libusb path (which,
> granted, later versions do).
>
> [...]
>> Your driver will be called using IFDHCreateChannelByName() [1] (if
>> available, or IFDHCreateChannel()) and the driver will parse the name
>> passed by pcscd. As documented [1] if your driver does not undersand
>> part of the naming scheme it should just ignore the unsupported part.
> [...]
>
> As a driver maintainer I know that of course ;-) but that only holds for more
> recent versions of pcsc-lite (as described above). But unfortunately we also
> have to support Linux distributions even as old as Ubuntu 9.04 ;-)
>
> The constant changing of hotplugging in Linux in fact *does* influence the
> driver since it has to implementent the predominant naming scheme used by
> pcsc-lite.
>
> I really appreciate that current versions of pcsc-lite try again initializing
> the driver with a different naming scheme (e.g. "libusb:") if the driver
> doesn't support the  "libhal:" name, but that's something you added later.

Yes. I added that because some drivers do not follow the specification
(or the specification is not clear enough).

The driver is called with a name like "usb:08e6/3437:libusb:001:042"
or 
"usb:08e6/3437:libhal:/org/freedesktop/Hal/devices/usb_device_8e6_3437_noserial_if0"
or something else.

As written in the specification:
" If the driver does not understand the :libusb: or :libhal: scheme or
if a new scheme is used, the driver should ignore the part it does not
understand instead of failing. "

So if the driver is called with "usb:08e6/3437:foobar:xyz:123" the
driver should just ignore the part it can't parse and just use
"usb:08e6/3437" or even nothing at all. But the driver should not fail
just because it does not know the naming scheme.


So why does your driver fail with the libhal: naming scheme but
succeed with the libusb: one?

Bye

-- 
 Dr. Ludovic Rousseau

_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to