Re: Smart card reader support for Anysee DVB devices
From: Antti Palosaari <hidden>
Date: 2011-08-29 15:23:49
On 08/29/2011 06:13 PM, István Váradi wrote:
2011/8/29 Antti Palosaari[off-list ref]:quoted
On 08/29/2011 05:44 PM, István Váradi wrote:quoted
2011/8/17 Antti Palosaari[off-list ref]:quoted
On 08/15/2011 02:14 PM, Antti Palosaari wrote:quoted
On 08/15/2011 02:51 AM, Antti Palosaari wrote:quoted
Biggest problem I see whole thing is poor application support. OpenCT is rather legacy but there is no good alternative. All this kind of serial drivers seems to be OpenCT currently.I wonder if it is possible to make virtual CCID device since CCID seems to be unfortunately the only interface SmartCard guys currently care.I studied scenario and looks like it is possible to implement way like, register virtual USB HCI (virtual motherboard USB controller) then register virtual PC/SC device to that which hooks all calls to HW via Anysee driver. Some glue surely needed for emulate PC/SC. I think there is not any such driver yet. Anyhow, there is virtual USB HCI driver currently in staging which can be used as example, or even use it to register virtual device. That kind of functionality surely needs more talking...It maybe that smartcard guys care only for CCID, but wouldn't it be an overkill to implement an emulation of that for the driver? It can be done, of course, but I think it would be much more complicated than the current one. Is it really necessary to put such complexity into the kernel? In my opinion, this should be handled in user-space.Only De facto serial smartcard protocol is so called Phoenix/Smartmouse, implementing new protocol is totally dead idea. It will never got any support. There is already such drivers, at least Infinity Unlimited USB Phoenix driver (iuu_phoenix.c). It uses USB-serial driver framework and some small emulation for Phoenix protocol. Look that driver to see which kind of complexity it adds. Anysee have *just* same situation.Phoenix/Smartmouse and CCID are quite different aren't they? So to support Phoenix I would need provide a USB serial device which talks the protocol, but there would be no need for a virtual USB HCI. Is that correct?
Yes, CCID and serial are different interfaces. CCID is new interface specified by USB organization that needs "hardware" level interface profile like mass storage profile. Serial is block device interface (/dev/tty). Since Anysee device itself does not have CCID interface it is needed to make virtual USB device in order to get CCID support. I have never seen virtual USB devices like that, but there is VHCI in current kernel staging that actually does something like that over IP. regards Antti -- http://palosaari.fi/