Martin Cap wrote: > Hi everybody, Hi Manu, > > I tried your patchset for Twinhan-based DVB-cards, but they give me > kernel-oops. > > The card I have is a Twinhan-clone dvb-t card, named "Hama DVB-T PCI > Card" (it's an exact clone of Twinhan cards) and I use the CVS > dvb-kernel tree dated Feb. 17th 2005, kernel is 2.6.10. Applying your > patchset and compiling was successfull. > > So after loading the corresponding drivers namely these here, > " dvb-core > bttv i2c_hw=1 card=0x71 > dvb-bt8xx > dst" > > I get the following output from dmesg (which is still fine, besides the > last line!): > > "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). > PCI: Enabling device 0000:00:12.0 (0100 -> 0102) > PCI: Found IRQ 5 for device 0000:00:12.0 > PCI: Sharing IRQ 5 with 0000:00:12.1 > bttv0: Bt878 (rev 17) at 0000:00:12.0, irq: 5, latency: 64, mmio: > 0xf4102000 > bttv0: detected: Twinhan VisionPlus DVB-T [card=113], PCI subsystem ID > is 1822:0001 > bttv0: using: Twinhan DST + clones [card=113,insmod option] > bttv0: enabling ETBF (430FX/VP3 compatibilty) Which motherboard are you having ? > bttv0: gpio: en=00000000, out=00000000 in=00fb90fe [init] > bttv0: using tuner=4 > bttv0: add subdevice "dvb0" > bt878: AUDIO driver version 0.0.0 loaded > bt878: Bt878 AUDIO function found (0). > PCI: Enabling device 0000:00:12.1 (0100 -> 0102) > PCI: Found IRQ 5 for device 0000:00:12.1 > PCI: Sharing IRQ 5 with 0000:00:12.0 > bt878(0): Bt878 (rev 17) at 00:12.1, irq: 5, latency: 64, memory: > 0xf4103000 > DVB: registering new adapter (bttv0). > DVB: registering frontend 0 (<NULL>)..." > Can you please load the modules with the debug and verbose options ? > This is the point where I start an dvb-application eg. vdr or femon, > dmesg then gives me the kernel oops: > > "Unable to handle kernel NULL pointer dereference at virtual address > 000001ec > printing eip: > ccb1eb13 > *pde = 00000000 > Oops: 0000 [#1] > PREEMPT SMP > Modules linked in: dvb_bt8xx nxt6000 mt352 sp887x dst_ca dst bt878 > cx24110 or51211 tuner bttv video_buf firmware_class v4l2_common > btcx_risc videodev dvb_core ipv6 thermal fan button processor ac battery > em8300 i2c_algo_bit soundcore adv717x i2c_core tsdev mousedev 3c59x > joydev usbhid usbkbd evdev uhci_hcd usbcore genrtc unix xfs ide_generic > ide_disk piix ide_core > CPU: 0 > EIP: 0060:[<ccb1eb13>] Not tainted VLI > EFLAGS: 00010286 (2.6.10) > EIP is at dvb_frontend_ioctl+0x46/0x4a3 [dvb_core] > eax: 00000000 ebx: ca4d3900 ecx: 80a86f3d edx: 00000000 > esi: ffffffa1 edi: 80a86f3d ebp: c9368da0 esp: c961fe98 > ds: 007b es: 007b ss: 0068 > Process femon (pid: 3076, threadinfo=c961e000 task=cbee7ae0) > Stack: 00000000 caee3420 cad3daf8 00000000 c117a620 c013bb52 00000000 > c124cd94 > b7f80bc0 cad3daf8 cb733940 00000001 cb733940 c9368da0 80a86f3d > fffffff2 > c9368da0 bffff990 ccb186f8 c9368da0 c9368da0 caee3420 cb0e5910 > b7f80bc0 > Call Trace: > [<c013bb52>] do_no_page+0x27f/0x2bf > [<ccb186f8>] dvb_usercopy+0x99/0xf3 [dvb_core] > [<c0112946>] do_page_fault+0x187/0x4ce > [<c014e34c>] chrdev_open+0x160/0x176 > [<c01467d6>] dentry_open+0x11e/0x1e8 > [<c01466b2>] filp_open+0x36/0x3c > [<ccb182a5>] dvb_generic_ioctl+0x2f/0x38 [dvb_core] > [<ccb1eacd>] dvb_frontend_ioctl+0x0/0x4a3 [dvb_core] > [<c0155c37>] sys_ioctl+0x1e0/0x1fd > [<c0102b57>] syscall_call+0x7/0xb > Code: 00 83 3d 90 a3 b2 cc 00 8b 58 28 8b 43 0c 89 04 24 74 11 68 aa 17 > b2 cc 68 45 1b b2 cc e8 a7 9e 5f f3 58 5a 85 db 74 0c 8b 14 24 <83> ba > ec 01 00 00 00 74 0a b8 ed ff ff ff e9 42 04 00 00 8b 44" > > The application I started here was 'femon', as you can see. 'femon' > itself gives me a segfault. > The problem occured since no frontend was registered. > If you need more verbose output, please tell me. > Really require that to see what happened during dst_probe.. Manu