Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: CAM Support.
> Kenneth Aafløy wrote:
>
> Hi,
>
> I've tested vdr, and was stumped by it complaining about my CAM, so I had a look see at the code, and :
>
> Caps.slot_type is a bitmask, == should be &
>
> line 3131 ci.c vdr-1.2.1:
I assume this should have been line 1313, right?
> if (ioctl(fd_ca, CA_GET_CAP, &Caps) == 0) {
> int NumSlots = Caps.slot_num;
> if (NumSlots > 0) {
> //XXX dsyslog("CAM: found %d CAM slots", NumSlots); // TODO let's do this only once we can be sure that there _really_ is a CAM adapter!
> if (Caps.slot_type == CA_CI_LINK)
> return new cCiHandler(fd_ca, NumSlots);
> else
> isyslog("CAM doesn't support link layer interface");
> }
> else
> esyslog("ERROR: no CAM slots found");
> }
So does this mean that if you change the line
if (Caps.slot_type == CA_CI_LINK)
into
if (Caps.slot_type & CA_CI_LINK)
this works for you?
From the description of 'slot_type'
unsigned int slot_type; /* OR of all supported types */
you are certainly right, but when I look at the places in the DVB driver where
'slot_type' is set:
driver/av7110/av7110.c: cap.slot_type= FW_CI_LL_SUPPORT(av7110->arm_app) ? CA_CI_LINK : CA_CI;
driver/av7110/av7110.c: cap.slot_type=CA_CI;
it doesn't look like that variable ever gets any value other that '1' (CA_CI) or
'2' (CA_CI_LINK). Therefore I wonder why this would make any change for you.
Or are you using a different/modified driver that the DVB driver from the linuxtv.org CVS?
Klaus
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index