Hi,

On Freitag 18 März 2011, Ludovic Rousseau wrote:
[...]
> 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. "
[...]

Yeah right... But the driver can't just ignore what it doesn't understand 
because in that case the driver has no way of determining which reader pcscd 
exactly meant. 

Your specs might work well if only one reader is installed, but how should the 
driver determine which reader the daemon meant if it can't derive that 
information from the device name? 

The driver could of course manage its own list of currently active readers, 
but I really believe this is the job of the resource manager. And if the 
resource manager introduces new ways of naming devices it should at least 
provide a fallback for existing drivers, which the current pcscd does. And for 
this to work the pcscd needs some kind of feedback from the driver which tells 
it to try another naming scheme. That's only possible by returning an error 
code.

So everything is fine now. Except for old distributions which ship a pcscd 
which only tries the libHAL naming scheme and aborts if the driver doesn't 
understand the name.


[...]
> 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.
[...]

Yes, but in that case the driver only knows what *type* of reader is 
connected, but it doesn't know from that name which reader exactly is supposed 
to be connected.

As described above: If the pcscd has another method for naming the exact 
device it wants the driver to connect then it wouldn't be the best solution if 
the driver just ignored the address part it doesn't understand and instead try 
to connect any device which matches the product id/vendor id...

At any rate, the way your daemon works nowadays is the best possible solution 
so I consider this matter closed. 

For those old distributions which only support the libhal naming scheme we 
still have support for libhal and for newer distributions where libhal is 
deprecated we don't.


Regards
Martin


-- 
"Things are only impossible until they're not"

Martin Preuss - http://www2.aquamaniac.de/
AqBanking - http://www.aqbanking.de/
LibChipcard - http://www.libchipcard.de/

_______________________________________________
Muscle mailing list
Muscle@lists.musclecard.com
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to