Page 1 of 1

Driver compatibility for kernels 2.39+ (also 3.0)

PostPosted: Wed Jul 06, 2011 8:14 am
by piotrekfronc
Hi, Is there possible support for the higher kernels numbers?

Just received my QBox CI and during compilation (kernel 3.0rc6) I have objects error:

make -C /home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l
make[1]: Wejście do katalogu `/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l'
creating symbolic links...
make -C firmware prep
make[2]: Entering directory `/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/firmware'
make[2]: Leaving directory `/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/firmware'
make -C firmware
make[2]: Entering directory `/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/firmware'
make[2]: Nothing to be done for `default'.
make[2]: Leaving directory `/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/firmware'
Kernel build directory is /lib/modules/3.0.0-rc6-full/build
make -C /lib/modules/3.0.0-rc6-full/build SUBDIRS=/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l CFLAGS="-I../linux/include -D__KERNEL__ -I/include -DEXPORT_SYMTAB" modules
make[2]: Entering directory `/usr/src/linux-3.0-rc6'
CC [M] /home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/tuner-xc2028.o
/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/tuner-xc2028.c: In function 'xc2028_set_params':
/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/tuner-xc2028.c:1178: error: 'T_DIGITAL_TV' undeclared (first use in this function)
/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/tuner-xc2028.c:1178: error: (Each undeclared identifier is reported only once
/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/tuner-xc2028.c:1178: error: for each function it appears in.)
make[3]: *** [/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l/tuner-xc2028.o] Błąd 1
make[2]: *** [_module_/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-3.0-rc6'
make[1]: *** [default] Błąd 2
make[1]: Opuszczenie katalogu `/home/piotr/bin/TBS/linux-tbs-sources_110531/linux-tbs-sources/v4l'
make: *** [all] Błąd 2

In a midtime I'm making egg 2.38.8 :-)

Re: Driver compatibility for kernels 2.39+ (also 3.0)

PostPosted: Fri Jul 08, 2011 6:58 pm
by piotrekfronc
2.39 doesnt compile but 2.38.8 works fine. Bow, problem with CAM module :( The annoying code:

1041 case DVB_CA_SLOTSTATE_VALIDATE:
1042 if (dvb_ca_en50221_parse_attributes(ca, slot) != 0) {
1043 /* we need this extra check for annoying interfaces like the budget-av */
1044 if ((!(ca->flags & DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE)) &&
1045 (ca->pub->poll_slot_status)) {
1046 status = ca->pub->poll_slot_status(ca->pub, slot, 0);
1047 if (!(status & DVB_CA_EN50221_POLL_CAM_PRESENT)) {
1048 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_NONE;
1049 dvb_ca_en50221_thread_update_delay(ca);
1050 break;
1051 }
1052 }
1053
1054 printk("dvb_ca adapter %d: Invalid PC card inserted :(\n",
1055 ca->dvbdev->adapter->num);
1056 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID;
1057 dvb_ca_en50221_thread_update_delay(ca);
1058 break;
1059 }
1060 if (dvb_ca_en50221_set_configoption(ca, slot) != 0) {
1061 printk("dvb_ca adapter %d: Unable to initialise CAM :(\n",
1062 ca->dvbdev->adapter->num);
1063 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID;
1064 dvb_ca_en50221_thread_update_delay(ca);
1065 break;
1066 }
1067 if (ca->pub->write_cam_control(ca->pub, slot,
1068 CTRLIF_COMMAND, CMDREG_RS) != 0) {
1069 printk("dvb_ca adapter %d: Unable to reset CAM IF\n",
1070 ca->dvbdev->adapter->num);
1071 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_INVALID;
1072 dvb_ca_en50221_thread_update_delay(ca);
1073 break;
1074 }
1075 dprintk("DVB CAM validated successfully\n");
1076
1077 ca->slot_info[slot].timeout = jiffies + (INIT_TIMEOUT_SECS * HZ);
1078 ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_WAITFR;
1079 ca->wakeup = 1;
1080 break;
1081


Anyone think that forcing this check to be valid for any casde will help solving CAM CI problem?

Kernel message "dvb_ca adapter 0: Invalid PC card inserted"

Re: Driver compatibility for kernels 2.39+ (also 3.0)

PostPosted: Wed Aug 31, 2011 5:17 pm
by bob
HI,
Kernel message "dvb_ca adapter 0: Invalid PC card inserted"
Please open the file tbs-qboxs2ci.c,find the following function,change the delay time.

static int tbsqbox2ci_slot_reset(struct dvb_ca_en50221 *ca, int slot)
{
struct dvb_usb_device *d = (struct dvb_usb_device *)ca->data;
struct tbsqbox2ci_state *state = (struct tbsqbox2ci_state *)d->priv;
u8 buf[2];
int ret;

if (0 != slot) {
return -EINVAL;
}

buf[0] = 1;
buf[1] = 0;

mutex_lock (&state->ca_mutex);

ret = tbsqbox2ci_op_rw(d->udev, 0xa6, 0, 0,
buf, 2, TBSQBOX_WRITE_MSG);

msleep (400);

buf[1] = 1;

ret = tbsqbox2ci_op_rw(d->udev, 0xa6, 0, 0,
buf, 2, TBSQBOX_WRITE_MSG);

msleep (600);// Please change for 2000 or high,some CAMs need much more time for intialiase.

mutex_unlock (&state->ca_mutex);

if (ret < 0)
return ret;

return 0;
}

Re: Driver compatibility for kernels 2.39+ (also 3.0)

PostPosted: Wed Aug 31, 2011 5:28 pm
by okbet
TBS is working on Linux driver for kernel 3.x and estimated release time will be late September. The new release will support Linux kernel 3.x also older kernels down to version 2.6.31.

Re: Driver compatibility for kernels 2.39+ (also 3.0)

PostPosted: Mon Sep 26, 2011 5:06 am
by piotrekfronc
Later September is here ... ;-)

Cheers