Hi, Can you please try the attached patch and tell me if it fixes your segfault? On Wed, 14 Dec 2005, Fraser White wrote: > Hi Guy, > Nice work patrick, the firmware now loads, however now I have new problems. > The fernel module still isn't loading properly. See the syslog snippet > below.... > > > Dec 14 01:08:19 localhost kernel: usb 1-1: new high speed USB device using > ehci_hcd and address 3 > Dec 14 01:08:20 localhost kernel: dvb-usb: found a 'Nebula Electronics > uDigiTV DVB-T USB2.0)' in cold state, will try to load a firmware > Dec 14 01:08:20 localhost kernel: dvb-usb: downloading firmware from file > 'dvb-usb-digitv-02.fw' > Dec 14 01:08:20 localhost kernel: Unable to handle kernel NULL pointer > dereference at virtual address 000002d2 > Dec 14 01:08:20 localhost kernel: printing eip: > Dec 14 01:08:20 localhost kernel: d0c73816 > Dec 14 01:08:20 localhost kernel: *pde = 062ce067 > Dec 14 01:08:20 localhost kernel: Oops: 0000 [#1] > Dec 14 01:08:20 localhost kernel: Modules linked in: dvb_usb_digitv(U) > nxt6000(U) mt352(U) dvb_usb(U) dvb_core(U) dvb_pll(U) smbfs parport_pc lp > parport autofs4 rfcomm l2cap bluetooth sunrpc ipt_REJECT ipt_state > ip_conntrack nfnetlink iptable_filter ip_tables video button battery ac ipv6 > ohci1394 ieee1394 ohci_hcd ehci_hcd i2c_nforce2 i2c_core shpchp emu10k1_gp > gameport snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul > snd_emu10k1 snd_rawmidi snd_ac97_codec snd_seq_dummy snd_seq_oss > snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm > snd_timer snd_ac97_bus snd_page_alloc snd_util_mem snd_hwdep snd soundcore > sk98lin floppy dm_snapshot dm_zero dm_mirror ext3 jbd dm_mod sata_nv libata > sd_mod scsi_mod > Dec 14 01:08:20 localhost kernel: CPU: 0 > Dec 14 01:08:20 localhost kernel: EIP: 0060:[<d0c73816>] Not tainted > VLI > Dec 14 01:08:20 localhost kernel: EFLAGS: 00010292 (2.6.14-1.1644_FC4) > Dec 14 01:08:20 localhost kernel: EIP is at dvb_usb_generic_rw+0x16/0x184 > [dvb_usb] > Dec 14 01:08:20 localhost kernel: eax: 00000000 ebx: 00000266 ecx: > 00000007 edx: c5efcebd > Dec 14 01:08:20 localhost kernel: esi: 00000007 edi: c5efcec4 ebp: > c5efcebd esp: c5efce58 > Dec 14 01:08:20 localhost kernel: ds: 007b es: 007b ss: 0068 > Dec 14 01:08:20 localhost usb.agent[7525]: ... can't load module > dvb-usb-digitv > Dec 14 01:08:20 localhost kernel: Process modprobe (pid: 7546, > threadinfo=c5efc000 task=c6b4b570) > Dec 14 01:08:20 localhost usb.agent[7525]: missing kernel or user mode driver > dvb-usb-digitv > Dec 14 01:08:20 localhost kernel: Stack: 00000000 00000000 000000ff 00000286 > 0000d8a0 00000286 00000000 00000000 > Dec 14 01:08:20 localhost kernel: c5efceec c5efcec4 00000000 d0c739a6 > 00000000 00000000 00000000 d0c62098 > Dec 14 01:08:20 localhost kernel: fffffff4 c03883a0 d0c73749 00000000 > 00000266 c5efcec8 d0c63a00 00008600 > Dec 14 01:08:20 localhost kernel: Call Trace: > Dec 14 01:08:20 localhost kernel: [<d0c739a6>] > dvb_usb_generic_write+0x22/0x26 [dvb_usb] > Dec 14 01:08:20 localhost kernel: [<d0c62098>] digitv_ctrl_msg+0x98/0xef > [dvb_usb_digitv] > Dec 14 01:08:20 localhost kernel: [<d0c73749>] > dvb_usb_device_init+0x159/0x1bb [dvb_usb] > Dec 14 01:08:21 localhost kernel: [<d0c62401>] digitv_probe+0x5d/0x95 > [dvb_usb_digitv] > Dec 14 01:08:21 localhost kernel: [<c0276f9f>] usb_probe_interface+0x4c/0x5e > Dec 14 01:08:21 localhost kernel: [<c023a8cd>] driver_probe_device+0x35/0x9e > Dec 14 01:08:21 localhost kernel: [<c023a9f2>] __driver_attach+0x4a/0x4c > Dec 14 01:08:21 localhost kernel: [<c023a164>] bus_for_each_dev+0x3d/0x5b > Dec 14 01:08:21 localhost kernel: [<c023aa0a>] driver_attach+0x16/0x1a > Dec 14 01:08:21 localhost kernel: [<c023a9a8>] __driver_attach+0x0/0x4c > Dec 14 01:08:21 localhost kernel: [<c023a51f>] bus_add_driver+0x63/0xa9 > Dec 14 01:08:21 localhost kernel: [<c0277065>] usb_register+0x54/0xb0 > Dec 14 01:08:21 localhost kernel: [<d0c65000>] digitv_module_init+0x0/0x2b > [dvb_usb_digitv] > Dec 14 01:08:21 localhost kernel: [<d0c6500e>] digitv_module_init+0xe/0x2b > [dvb_usb_digitv] > Dec 14 01:08:21 localhost kernel: [<c01344bf>] sys_init_module+0xc5/0x1c9 > Dec 14 01:08:21 localhost kernel: [<c0102edd>] syscall_call+0x7/0xb > Dec 14 01:08:21 localhost kernel: Code: 7a 4a ef 83 c4 08 5b c3 90 90 90 90 > 90 90 90 90 90 90 90 90 90 55 57 56 53 83 ec 1c 89 c3 89 d5 89 ce 8b 44 24 34 > 66 89 44 24 12 <8b> 4b 6c 85 c9 0f 84 ab 00 00 00 85 d2 74 05 66 85 f6 75 0f > bf > > > > > > _______________________________________________ > > linux-dvb@xxxxxxxxxxx > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb > Patrick. -- Mail: patrick.boettcher@xxxxxxx WWW: http://www.wi-bw.tfh-wildau.de/~pboettch/ -------------- next part -------------- Index: linux/drivers/media/dvb/dvb-usb/digitv.c =================================================================== RCS file: /cvs/video4linux/v4l-dvb/linux/drivers/media/dvb/dvb-usb/digitv.c,v retrieving revision 1.13 diff -u -3 -p -r1.13 digitv.c --- linux/drivers/media/dvb/dvb-usb/digitv.c 20 Nov 2005 02:05:41 -0000 1.13 +++ linux/drivers/media/dvb/dvb-usb/digitv.c 16 Dec 2005 13:33:10 -0000 @@ -175,11 +175,13 @@ static int digitv_probe(struct usb_inter if ((ret = dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE,&d)) == 0) { u8 b[4] = { 0 }; - b[0] = 1; - digitv_ctrl_msg(d,USB_WRITE_REMOTE_TYPE,0,b,4,NULL,0); + if (d != NULL) { /* do that only when the firmware is loaded */ + b[0] = 1; + digitv_ctrl_msg(d,USB_WRITE_REMOTE_TYPE,0,b,4,NULL,0); - b[0] = 0; - digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0); + b[0] = 0; + digitv_ctrl_msg(d,USB_WRITE_REMOTE,0,b,4,NULL,0); + } } return ret; } @@ -194,7 +196,7 @@ static struct dvb_usb_properties digitv_ .caps = DVB_USB_IS_AN_I2C_ADAPTER, .usb_ctrl = CYPRESS_FX2, - .firmware = "dvb-usb-digitv-01.fw", + .firmware = "dvb-usb-digitv-02.fw", .size_of_priv = 0,