Evgen, all,
I'm only a stupid newbie in the linuxtv world,
but from my experience with CAM cards it seems to me that Eugen's observation
is correct but not precious:
IMHO, the sequence should be (from the DVB-CI standard):
1) "host now tells the module to use this buffer size by writing a '1' to the
SW bit in the Command Register"
2) "waiting until the FR bit is set"
3) "writing the size as 2 bytes of data, most significant byte first..."
4) "At the end of the transfer the host sets the SW bit to '0'. "
this is actually what is coded in dvb_ca_en50221.c, but I GUESS - I HAVEN'T
TESTED IT!!
that the problem is that one have to introduce some delay between writing the
buffer size
and setting the SW bit to zero - since according to the standard we have to
wait until the transfer (and not
simply the write operation) is finished
if ((ret = dvb_ca_en50221_write_data(ca, slot, buf, 2)) != 2)
return -EIO;
/*
WE NEED DELAY HERE ... ?
*/
if ((ret = ca->pub->write_cam_control(ca->pub, slot,
CTRLIF_COMMAND, IRQEN)) != 0)
return ret;
=======================
Now my question:
I'm writing the DVB-CI driver for customer made HW developed by the firm I'm
working for.
I'm going to use the dvb-core infrastructure.
Is there any card which driver already uses the dvb_ca part of the dvb-core ?
I put an eye on Twinhan 1030 card, but it has the vendor-specific driver
which has nothing in common
with dvb-core
Thanks in advance,
Akiva Sadovski
Scopus Video Networks
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb