[linux-dvb] KNC1 DVB-S CI?

P. van Gaans w3ird_n3rd at gmx.net
Sat Jul 7 06:18:55 CEST 2007

P. van Gaans wrote:
> Oliver Endriss wrote:
>> P. van Gaans wrote:
>>> http://linuxtv.org/wiki/index.php/KNC1_TV-Station_DVB-S
>>> The wiki says "The card has a CI connector but it most probably isn't 
>>> supported by Linux.". I've got the card and indeed, it doesn't seem to 
>>> work. There is a ca0 in /dev/dvb/adapter0 but in Kaffeine the encrypted 
>>> channels are still black.
>>> But I wonder, with the DVB-C version of this card, the CI works without 
>>> a hitch (and I should know, I own one). According to the wiki the DVB-T 
>>> version also has a working CI. I somehow can't imagine the CI on the 
>>> DVB-S version is so much different. Or am I wrong and is the CI not 
>>> supported because it requires a lot of reverse engineering nobody feels 
>>> like doing for this card?
>> Maybe it is not supported because the driver developer did not have the
>> hardware to play with...
>>> Is there anything I could try?
>> If you have some programming skills you could try to debug budget-av.c
>> and try to find out what's going wrong...
>> CU
>> Oliver
> I put the card back in my machine (I was also trying a TT S-1500 but I
> guess that's broken or something), praying the KNC1 would at least give
> me some clue. And it did, dmesg shows an infinite loop when a CAM is
> inserted:
> [  327.100000] budget-av: cam inserted A
> [  327.356000] budget-av: cam ejected 5
> [  327.456000] budget-av: cam inserted A
> [  327.712000] budget-av: cam ejected 5
> [  327.812000] budget-av: cam inserted A
> [  328.068000] budget-av: cam ejected 5
> [  328.168000] budget-av: cam inserted A
> Goes on all the time. When I get the card out of the cineview (fysical), 
> it stops.
> More stuff I figured out: the ca is not "open" and times out. I tried 
> simply commenting out all the "if" thingies that can eject the CAM 
> (because after commenting out ejected 5 that means CA not open, it would 
> just give me ejected 1 that means -ETIMEDOUT). Now I got "dvb_ca adaptor 
> 0: PC card did not respond :(" after trying to watch.
> My personal guess is the KNC1 needs more time to initialize. I'll look 
> at it some more, but I'm not sure I can figure it out all by myself, so 
> if anybody can tell me some more...
> By the way, I'm not really a programmer, but I can do a little PHP and 
> this looks somewhat similar :P.
> Tia,
> P.
> _______________________________________________
> linux-dvb mailing list
> linux-dvb at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Some more news. I'm now looking at dvb_ca_en50221.c and I'm pretty sure
the solution is in here and not in budget-av.c. Somewhere around line
270 is a thing that loops in a while and breaks after timeout. I removed
the break (so it keeps looping). Now I see the following when I insert a

[   71.764000] budget-av: cam inserted A
[   82.144000] dvb_ca adaptor 0: PC card did not respond :(

So at least there's no more infinite loop with ejected-inserted-ejected
and so on. But it doesn't work either. It reaches 
DVB_CA_SLOTSTATE_WAITREADY and times out there. From there it should 
automatically change state, but it doesn't. Now I'm getting a little 
stuck, because I don't really know what it's doing and what piece really 
gets stuck.

I also removed the timeout from slotstate_waitready, now I don't get 
errors anymore, but it (of course) doesn't work. And I broke the ability 
to eject the CAM, I'm guessing it's stuck in a loop after I ejected and 
re-inserted the CAM.

More information about the linux-dvb mailing list