Thread (10 messages) 10 messages, 3 authors, 2011-10-03

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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help