Hi Manu, I applied your latest patches on dvb-kernel cvs of Feb 24th: --- # patch -p5 <patch-17-Feb-05-Twinhan/17-Feb-05-Twinhan-1.diff patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/bt878.c patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/bt878.h patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/dst.c patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/dst_priv.h patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c Hunk #6 succeeded at 420 (offset 14 lines). Hunk #7 succeeded at 463 (offset 14 lines). Hunk #8 succeeded at 626 (offset 21 lines). Hunk #9 succeeded at 773 (offset 27 lines). patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.h Hunk #1 succeeded at 31 with fuzz 1. patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/Makefile # patch -p5 <patch-17-Feb-05-Twinhan/17-Feb-05-Twinhan-Diseqc-2.diff patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/dst.c patching file dvb-kernel/linux/drivers/media/dvb/bt8xx/dst_common.h --- I used makelinks on my kernel (2.6.10-gentoo-r6, kernel.org's 2.6.11-rc5-patch seems to be broken right now) gcc 3.4.3 20050110 (Gentoo) On "make modules" (gcc 3.4.3 20050110) I got one warning: CC [M] drivers/media/dvb/bt8xx/dst.o drivers/media/dvb/bt8xx/dst.c:1325: Warnung: Initialisierung von inkompatiblem Zeigertyp (incompatible pointer type) which is: .diseqc_send_burst = dst_set_tone, in "static struct dvb_frontend_ops dst_dvbs_ops" --------------------------------- btw: I needed to change that: --- drivers/media/dvb/frontends/or51211.h-orig 2005-02-24 15:41:44.104610672 +0100 +++ drivers/media/dvb/frontends/or51211.h 2005-02-24 15:41:56.264762048 +0100 @@ -24,7 +24,7 @@ #include <linux/dvb/frontend.h> #include <linux/firmware.h> -#include "bt878.h" +#include "../bt8xx/bt878.h" struct or51211_config { --- drivers/media/dvb/bt8xx/bt878.h-orig 2005-02-24 15:43:43.765419464 +0100 +++ drivers/media/dvb/bt8xx/bt878.h 2005-02-24 15:44:00.388892312 +0100 @@ -25,8 +25,8 @@ #include <linux/pci.h> #include <linux/sched.h> #include <linux/spinlock.h> -#include "bt848.h" -#include "bttv.h" +#include "../../video/bt848.h" +#include "../../video/bttv.h" #define BT878_VERSION_CODE 0x000000 --------------------------------- otherwise it compiled fine. --- # modprobe bttv i2c_hw=1 card=0x71 # modprobe dst dst_verbose=1 dst_debug=1 # modprobe dvb_bt8xx debug=1 Speicherzugriffsfehler --- (segmentation fault?) the modules are stuck now - cant rmmod them anymore. I only got demux0, dvr0 and net0 - no frontend0. Without the patches i can tune my card (VP 1022A) only occasionally, best chance after a reboot. And then I only get a few channels, most frequencies wont lock. Under Windows the card behaves similar btw, but with careful use of Progdvb (not the software that came with the box!) all channels work. -Stefan dmesg: Linux video capture interface: v1.00 bttv: driver version 0.9.15 loaded bttv: using 8 buffers with 2080k (520 pages) each for capture bttv: Host bridge needs ETBF enabled. bttv: Bt8xx card found (0). ACPI: PCI interrupt 0000:00:10.0[A] -> GSI 9 (level, low) -> IRQ 9 bttv0: Bt878 (rev 17) at 0000:00:10.0, irq: 9, latency: 132, mmio: 0xe8002000 bttv0: detected: Twinhan VisionPlus DVB [card=113], PCI subsystem ID is 1822:0001 bttv0: using: Twinhan DST + clones [card=113,insmod option] bttv0: enabling ETBF (430FX/VP3 compatibilty) bttv0: gpio: en=00000000, out=00000000 in=00f5ffff [init] bttv0: using tuner=4 bttv0: add subdevice "dvb0" bt878: AUDIO driver version 0.0.0 loaded bt878: Bt878 AUDIO function found (0). ACPI: PCI interrupt 0000:00:10.1[A] -> GSI 9 (level, low) -> IRQ 9 bt878(0): Bt878 (rev 17) at 00:10.1, irq: 9, latency: 64, memory: 0xe8003000 dvb_bt8xx: identified card0 as bttv0 DVB: registering new adapter (bttv0). rdc_8820_reset: Resetting DST dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000] dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004] dst_comm_init: Initializing DST.. dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000] rdc_reset_state: Resetting state machine dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000] dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002] write_dst writing 00 06 00 00 00 00 00 fa dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000] read_dst reply is 0xff dst_wait_dst_ready: dst wait ready after 0 read_dst: read_dst error (err == -5, len == 0x08, b0 == 0x00) dst_error_recovery: Trying to recover from previous errors... rdc_8820_reset: Resetting DST dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000] dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004] dst_comm_init: Initializing DST.. dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000] rdc_reset_state: Resetting state machine dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000] dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002] dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000] read_dst: read_dst error (err == -5, len == 0x08, b0 == 0x00) dst_error_recovery: Trying to recover from previous errors... rdc_8820_reset: Resetting DST dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000] dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004] dst_comm_init: Initializing DST.. dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000] rdc_reset_state: Resetting state machine dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000] dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002] dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000] read_dst: read_dst error (err == -5, len == 0x08, b0 == 0x00) dst_error_recovery: Trying to recover from previous errors... rdc_8820_reset: Resetting DST dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000] dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004] dst_comm_init: Initializing DST.. dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000] rdc_reset_state: Resetting state machine dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000] dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002] dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000] read_dst: read_dst error (err == -5, len == 0x08, b0 == 0x00) dst_error_recovery: Trying to recover from previous errors... rdc_8820_reset: Resetting DST dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000] dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004] dst_comm_init: Initializing DST.. dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000] rdc_reset_state: Resetting state machine dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000] dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002] dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000] dst_error_recovery: Trying to recover from previous errors... rdc_8820_reset: Resetting DST dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0000] dst_gpio_outb: mask=[0004], enbb=[0004], outhigh=[0004] dst_comm_init: Initializing DST.. dst_gpio_outb: mask=[ffffffff], enbb=[0001], outhigh=[0000] rdc_reset_state: Resetting state machine dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0000] dst_gpio_outb: mask=[0002], enbb=[0002], outhigh=[0002] dst_gpio_outb: mask=[ffffffff], enbb=[0000], outhigh=[0000] dst_get_device_id: Trying to recover.. Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: d10130dc *pde = 00000000 Oops: 0000 [#1] PREEMPT Modules linked in: dvb_bt8xx nxt6000 mt352 sp887x dst_ca dvb_core cx24110 or51211 dst bt878 tuner bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc i2c_core videodev lirc_dev rtc pcspkr nvidia emu10k1 ac97_codec CPU: 0 EIP: 0060:[<d10130dc>] Tainted: P VLI EFLAGS: 00010286 (2.6.10-gentoo-r6) EIP is at dst_get_device_id+0x13c/0x390 [dst] eax: 00000000 ebx: 00000000 ecx: ffffffff edx: ffffffff esi: c581a124 edi: 00000000 ebp: d1015f58 esp: c9e37e48 ds: 007b es: 007b ss: 0068 Process modprobe (pid: 10222, threadinfo=c9e36000 task=c92b75e0) Stack: c581a124 00000007 00000008 0000000a 00000000 c581a124 00000002 0000000e ff81a000 c581a000 ccc7dc00 00000000 ccc7de80 d1013364 c581a000 00000007 c581a000 d10141fb c581a000 00000000 d106946e 00000000 d1069466 00000292 Call Trace: [<d1013364>] dst_probe+0x34/0xb0 [dst] [<d10141fb>] dst_attach+0x1b/0xb0 [dst] [<d1018a82>] frontend_init+0x192/0x200 [dvb_bt8xx] [<d1018000>] dvb_bt8xx_task+0x0/0x80 [dvb_bt8xx] [<d101f1f1>] dvb_bt8xx_load_card+0x191/0x280 [dvb_bt8xx] [<d1018c39>] dvb_bt8xx_probe+0x149/0x270 [dvb_bt8xx] [<c029f6df>] driver_probe_device+0x2f/0x80 [<c029f822>] driver_attach+0x52/0xa0 [<c029fda9>] bus_add_driver+0x99/0xe0 [<c02a040f>] driver_register+0x2f/0x40 [<d101f2f8>] dvb_bt8xx_init+0x18/0x1c [dvb_bt8xx] [<c012f3e7>] sys_init_module+0x167/0x230 [<c010311f>] syscall_call+0x7/0xb Code: c6 87 2b 01 00 00 00 89 44 24 1c 8d 74 26 00 8b 45 04 89 d1 8b 74 24 38 01 c6 8b 45 00 81 c6 24 01 00 00 89 44 24 10 89 c7 89 d8 <f2> ae f7 d1 49 8b 7c 24 10 49 78 08 ac ae 75 08 84 c0 75 f5 31