[linux-dvb] Possible patch for CAM/CI issues
Andrew de Quincey
adq_dvb at lidskialf.net
Mon Nov 7 22:05:28 CET 2005
On Monday 07 Nov 2005 20:44, irk wrote:
> From: "Andrew de Quincey" <adq_dvb at lidskialf.net>
> >> I wonder if it would be possible to simple have some form of
> >> retransmission
> >> at the application level... I'll have a look at en50221.
> > Hmm, I've had a look. Unfortunately, even though the CAM control protocol
> > is
> > massively overdesigned for what is needed, it doesn't seem to provide any
> > support for error detection or retransmission of corrupt messages!! :(
> So again the question posed before: How the set-top folks do this that
> there are no
> visible problems?
I suspect they use dedicated CI interface chips - for example the Atmel
T90-FJR. Since they're dedicated, they can have workarounds to "fix" common
CAM specific-problems. Or else they develop their own interface using custom
logic (e.g. an ASIC or CPLD); either way they will have far more flexibility
than the design currently used on the budget cards (see below).
The budget cards are really _budget_. The ones I have dealt with both use the
DEBI bus of the SAA7146 chip. This is a 16 bit general purpose digital
expansion bus. The timing requirements of DEBI don't precisely match that
required by EN50221 style CI interfaces.. although for many CAMs they are
fine. It is likely not very tolerant of larger problems with the signals
though, and as Georg reported, the matrix cards are pretty bad.
Assuming it is a hardware problem (and it looks that way since other CAMs work
flawlessly), there's not really much more I can do - beyond getting the basic
data transfer routines up and running, there is virtually no configuration
possible... Robert Schlabbach and I tried many times to get one of these
non-functional cards working with no success. Even TT could not as I
One thing you could try is to install the Hauppauge/TT/whatever windows
software and see if the CAM is reliable in that. If so, then a workaround
must be feasible, whether at a driver or application level.
More information about the linux-dvb