Hi all, After some problems, I got the hybrid analog and dvb-t budget card working with a stock 2.6.13.1 kernel plus one patch with _older_ video4linux drivers. Besides that kernel I'm using a fairly updated debian/testing system. Kudos go to user "neweb" on the german gentoo forum for the idea and the pointer to the older drivers. You can find it all described (in german) here: http://www.gentooforum.de/thread.php?threadid=6579 http://de.gentoo-wiki.com/Pinnacle_300i Short summary in English: 2.6.13.1 ships with video4linux 0.2.14. These drivers introduce a problem with the 300i card. Symptom is that the "scan" utility (debian package dvb-utils) can not tune to any frequency: # scan /home/cfi/channels.conf -v [...] >>> tune to: 198500000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_NONE:QAM_16:TRANSMISSI ON_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE >>> tuning status == 0x00 [...] >>> tuning status == 0x00 WARNING: >>> tuning failed!!! [...] To workaround # cd /usr/src # wget http://www.linuxtv.org/downloads/video4linux/video4linux-20050627.tar.gz # tar xzvf video4linux-20050627.tar.gz # cd video4linux In theory and with older kernels (~2.6.11 era, but not sure) you could now just proceed with # make # make install # modprobe -r saa7134_dvb video_buf_dvb saa7134 videodev video_buf mt352 dvb_core tda1004x i2c_nforce2 tuner tda9887 i2c_core v4l2_common v4l1_compat # modprobe saa7134_dvb Now you would see in /var/log/messages: Sep 15 20:21:01 localhost kernel: saa7130/34: v4l2 driver version 0.2.13 loaded instead of the 0.2.14 release coming with the kernel. Unfortunately the API changed a little, so the newer kernel headers are incompatible with the older v4l drivers. So the make step will yield compilation errors. But it's an easy change to remedy that (see patch below). Only three files need a small change each. Note that the change of Make.config will prevent CX88 based cards from working. If you have one of those in addition to the 300i, leave Make.config as it is and fix the remaining compilation errors yourself :-p Note that the "make install" will overwrite the installed dvb related modules in /lib/modules/<kernel-version>. If you later test a newer kernel, and the card can still not tune with that, rerun the "make install" step. Have fun! Ingo *** /usr/src/video4linux_20050627/msp3400.c Thu Sep 15 20:16:33 2005 --- /usr/src/video4linux_20050627/msp3400.c.orig Thu Sep 15 20:13:07 2005 *************** static int msp34xx_sleep(struct msp3400c *** 755,761 **** } } if (current->flags & PF_FREEZE) ! refrigerator(/*PF_FREEZE*/); remove_wait_queue(&msp->wq, &wait); return msp->restart; } --- 755,761 ---- } } if (current->flags & PF_FREEZE) ! refrigerator(PF_FREEZE); remove_wait_queue(&msp->wq, &wait); return msp->restart; } *** /usr/src/video4linux_20050627/video-buf-dvb.c Thu Sep 15 20:17:44 2005 --- /usr/src/video4linux_20050627/video-buf-dvb.c.orig Thu Sep 15 20:17:12 2005 *************** static int videobuf_dvb_thread(void *dat *** 63,69 **** if (kthread_should_stop()) break; if (current->flags & PF_FREEZE) ! refrigerator(/*PF_FREEZE*/); /* feed buffer data to demux */ if (buf->state == STATE_DONE) --- 63,69 ---- if (kthread_should_stop()) break; if (current->flags & PF_FREEZE) ! refrigerator(PF_FREEZE); /* feed buffer data to demux */ if (buf->state == STATE_DONE) *** /usr/src/video4linux_20050627/Make.config Thu Sep 15 20:19:08 2005 --- /usr/src/video4linux_20050627/Make.config.orig Thu Sep 15 21:47:44 2005 *************** CONFIG_VIDEO_SAA7134 := m *** 6,17 **** CONFIG_VIDEO_IR := m CONFIG_VIDEO_TUNER := m CONFIG_VIDEO_TVAUDIO := m ! CONFIG_VIDEO_CX88 := n # doesn't build on kernels older than 2.6.10 CONFIG_VIDEO_CX88_DVB := n CONFIG_VIDEO_SAA7134_DVB := n if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)) ! CONFIG_VIDEO_CX88_DVB := n if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)) CONFIG_VIDEO_SAA7134_DVB := m --- 6,17 ---- CONFIG_VIDEO_IR := m CONFIG_VIDEO_TUNER := m CONFIG_VIDEO_TVAUDIO := m ! CONFIG_VIDEO_CX88 := m # doesn't build on kernels older than 2.6.10 CONFIG_VIDEO_CX88_DVB := n CONFIG_VIDEO_SAA7134_DVB := n if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)) ! CONFIG_VIDEO_CX88_DVB := m if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)) CONFIG_VIDEO_SAA7134_DVB := m