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;
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:
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 linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb