Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Still getting segmentation faults when I modprobe bttv
On 7 Dec, Michael Hunold wrote:
> Hello Luke,
>
> > I've just finished my new attempt, starting again from scratch, mostly
> > following advice from Vincenzo Di Massa and Michael Hunold.
> >
> > This is what I did:
> >
> > 1. Unpacked 2.4.23 kernel, configured with video4linux, i2c, etc.
> > 2. Build kernel & modules & installed both
> > 3. cvs co dvb-kernel
> > 4. ran getlinks script in dvb-kernel
> > 5. make in dvb-kernel/build-2.4
> > 6. install in dvb-kernel/build-2.4
> > 7. Booted up the new 2.4.23 TV kernel
> > 8. Run dvb-nebula script to start modules.
> >
> > BTW, I assume you don't have to be running the new kernel when you
> > "make install" in dvb-kernel/build-2.4? I.e., steps 5 & 6 can be done
> > before step 7?
>
> You need to boot the new kernel before doing anything with "dvb-kernel",
> ie. move step 7 up to before step 3.
>
> "dvb-kernel" always compiles its modules against the currently running
> kernel by resolving the /lib/modules/<kernel-version>/build/ link.
>
> So you have compiled the driver against your old running kernel and most
> likely some driver structures have changed, so bttv and the dvb-bt8x8
> parts use different sizes for their basic structures.
Ah, thanks, that's important to know.
> > (It's also possible that Vincenzo meant I should also do the extra steps
> > of unpacking bttv and patching it, and getting video4linux (2) and
> > making and installing that too. But I did not unpack, build and install
> > video4linux-20031201.tar.gz - I just relied on what was in the released
> > 2.4.23 kernel.)
>
> The documentation is a little bit misleading, I admit. You definately
> need the "video4linux-xxxxyyzz.tar.gz" package from www.bytesex.org. You
> need to compile in all requirements for the in-kernel 2.4.23 bttv driver
> (that is i2c interface and i2c bitbanging stuff), so that the external
> driver can be compiled and run, too.
Thanks. I made clean in video4linux-20031201 and rebuilt. This time I
happened to use the default gcc on RH7.2, and found that I need gcc3.x
to compile it. So I pointed PATH at my gcc3.2 version, and made clean
and recompiled again, this time with no trouble. Then made install,
again with no errors or warnings.
> > I also get this error from "make install" in dvb-kernel/build-2.4
> > depmod: *** Unresolved symbols in /lib/modules/2.4.23-tv/misc/dvb-bt8xx.o
>
> That's not good. "depmod -ae" will show you the symbols that are
> missing. If everything fits together, no symbols should be unresolved,
> of course.
Thanks. depmod is now fine, following your advice.
> > # ./dvb-nebula start
> > Inserting DVB modules into kernel./dvb-nebula: line 41: 1773 Segmentation fault
> > modprobe bttv
> >
> > And modprobe appears to have hung, so I'll need to reboot after I send
> > this email.
>
> > But the dvb-nebula script doesn't appear to pass the card parameter (I
> > note that 104 = 0x68). Does that matter? If such a parameter is
> > needed for the modprobe, I think it would have to be added to
> > /etc/modules.conf, wouldn't it?
>
> If you have "make install"ed the driver, you don't have to use the
> insmod script. Try it manually, so you can monitor the syslog to see
> what's actually happening.
I made clean in dvb-kernel/build-2.4 and made and then made install,
all with no warnings or errors.
> Simply load the basic modules via modprobe:
>
> > modprobe bttv card=0x68 i2c_hw=1
I tried that and got this error, followed by a segfault:
# modprobe bttv card=0x68 i2c_hw=1
Warning: ignoring i2c_hw=1, no such parameter in this module
Segmentation fault
I'm puzzled by the fact that this bttv driver didn't accept the i2c_hw
option. I've just used the bttv driver in dvb-kernel.
I'm glad to see that the modprobe didn't hang, as before, leaving a
locked-up process that forced a reboot (and in fact a reset, since the
shutdown process couldn't shut down the kernel because it couldn't
terminate the syslogd process.)
Here's what lsmod shows after the above modprobe:
]# lsmod
Module Size Used by Not tainted
bttv 99968 1 (initializing)
i2c-algo-bit 8204 1 [bttv]
i2c-core 17024 0 [bttv i2c-algo-bit]
videodev 7872 0 [bttv]
es1371 28000 0 (autoclean)
ac97_codec 14944 0 (autoclean) [es1371]
soundcore 5604 4 (autoclean) [bttv es1371]
nfsd 75520 8 (autoclean)
parport_pc 21480 1 (autoclean)
lp 7744 0 (autoclean)
parport 30816 1 (autoclean) [parport_pc lp]
autofs 11076 0 (autoclean) (unused)
nfs 72284 1 (autoclean)
lockd 55232 1 (autoclean) [nfsd nfs]
sunrpc 75380 1 (autoclean) [nfsd nfs lockd]
8139too 13856 1
mii 3460 0 [8139too]
ne2k-pci 5728 0 (unused)
8390 7848 0 [ne2k-pci]
crc32 3592 0 [8139too 8390]
ipchains 46888 13
nls_iso8859-1 3488 2 (autoclean)
nls_cp437 5120 2 (autoclean)
vfat 11580 2 (autoclean)
fat 35128 0 (autoclean) [vfat]
usb-uhci 24452 0 (unused)
usbcore 70144 1 [usb-uhci]
> > modprobe dvb-bt8xx
> > modprobe nxt6000
Ah. I went ahead and tried the modprobe dvb-bt8xx anyway, since
it looked like the bttv driver may have loaded (stupid, really), and
that process locked up. So I'll need to reboot again, shortly.
Michael, thanks very much for your help. I feel I'm getting much
closer now.
Anyway, here's the oops output. I'm still puzzled and concerned by the
warnings in the oops output.
ksymoops 2.4.1 on i686 2.4.23. Options used
-v /usr/src/linux-2.4.23/vmlinux (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.23-tv (specified)
-m /boot/System.map-2.4.23 (specified)
Warning (compare_maps): ksyms_base symbol GPLONLY___ide_do_rw_disk not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_add_generic_settings not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_build_dmatable not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_destroy_dmatable not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_dma_intr not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_get_best_pio_mode not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_pci_register_driver not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_pci_unregister_driver not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_pio_timings not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_set_xfer_rate not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_setup_dma not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_setup_pci_device not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ksyms_base symbol GPLONLY_ide_setup_pci_devices not found in vmlinux. Ignoring ksyms_base entry
Warning (compare_maps): ac97_codec symbol GPLONLY_ac97_register_driver not found in /lib/modules/2.4.23-tv/kernel/drivers/sound/ac97_codec.o. Ignoring /lib/modules/2.4.23-tv/kernel/drivers/sound/ac97_codec.o entry
Warning (compare_maps): ac97_codec symbol GPLONLY_ac97_unregister_driver not found in /lib/modules/2.4.23-tv/kernel/drivers/sound/ac97_codec.o. Ignoring /lib/modules/2.4.23-tv/kernel/drivers/sound/ac97_codec.o entry
Warning (compare_maps): mismatch on symbol nlmsvc_ops , lockd says d08792f0, /lib/modules/2.4.23-tv/kernel/fs/lockd/lockd.o says d08785cc. Ignoring /lib/modules/2.4.23-tv/kernel/fs/lockd/lockd.o entry
Warning (compare_maps): mismatch on symbol nfs_debug , sunrpc says d08a0664, /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o says d08a0364. Ignoring /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o entry
Warning (compare_maps): mismatch on symbol nfsd_debug , sunrpc says d08a0668, /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o says d08a0368. Ignoring /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o entry
Warning (compare_maps): mismatch on symbol nlm_debug , sunrpc says d08a066c, /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o says d08a036c. Ignoring /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o entry
Warning (compare_maps): mismatch on symbol rpc_debug , sunrpc says d08a0660, /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o says d08a0360. Ignoring /lib/modules/2.4.23-tv/kernel/net/sunrpc/sunrpc.o entry
Warning (compare_maps): mismatch on symbol usb_devfs_handle , usbcore says d08331b0, /lib/modules/2.4.23-tv/kernel/drivers/usb/usbcore.o says d0832c10. Ignoring /lib/modules/2.4.23-tv/kernel/drivers/usb/usbcore.o entry
Dec 8 21:57:18 posh kernel: CPU: 0
Dec 8 21:57:18 posh kernel: EIP: 0010:[usbcore:usb_devfs_handle+922667/12172112] Not tainted
Dec 8 21:57:18 posh kernel: EIP: 0010:[<d09145db>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
Dec 8 21:57:18 posh kernel: EFLAGS: 00010246
Dec 8 21:57:18 posh kernel: eax: 00000001 ebx: d0922f44 ecx: 00003a80 edx: 00000000
Dec 8 21:57:18 posh kernel: esi: d09271c0 edi: d09271c0 ebp: 00000001 esp: ce75be74
Dec 8 21:57:18 posh kernel: ds: 0018 es: 0018 ss: 0018
Dec 8 21:57:18 posh kernel: Process modprobe (pid: 8094, stackpage=ce75b000)
Dec 8 21:57:18 posh kernel: Stack: d09271c0 d09271c0 ffffffff d09271c0 d09271c0 c12d3c00 d09198b2 d09271c0
Dec 8 21:57:18 posh kernel: 00000001 d09271c0 d09271c0 d09271c0 d09271c0 ffffffff 00000000 d091a30a
Dec 8 21:57:18 posh kernel: d09271c0 00000003 0000429c 2011a2db d0922980 d09229e0 c12d3c00 00000000
Dec 8 21:57:18 posh kernel: Call Trace: [usbcore:usb_devfs_handle+999440/12095339] [usbcore:usb_devfs_handle+999440/12095339] [usbcore:usb_devfs_handle+999440/12095339] [usbcore:usb_devfs_handle+999440/12095339] [usbcore:usb_devfs_handle+943874/12150905]
Dec 8 21:57:18 posh kernel: Call Trace: [<d09271c0>] [<d09271c0>] [<d09271c0>] [<d09271c0>] [<d09198b2>]
Dec 8 21:57:18 posh kernel: [<d09271c0>] [<d09271c0>] [<d09271c0>] [<d09271c0>] [<d09271c0>] [<d091a30a>]
Dec 8 21:57:18 posh kernel: [<d09271c0>] [<d0922980>] [<d09229e0>] [<c01d6a7c>] [<d0922980>] [<d09229e0>]
Dec 8 21:57:18 posh kernel: [<c01d6ae2>] [<d09229e0>] [<d091a41e>] [<d09229e0>] [<c011b1d5>] [<d0920ef4>]
Dec 8 21:57:18 posh kernel: [<d0914060>] [<c0108903>]
Dec 8 21:57:18 posh kernel: Code: f7 34 19 89 d5 89 54 24 04 3b 96 08 03 00 00 75 24 8b 96 20
>>EIP; d09145db <[bttv]bt848_muxsel+6b/1a0> <=====
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09198b2 <[bttv]init_bt848+4e2/500>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d091a30a <[bttv]bttv_probe+2ea/370>
Trace; d09271c0 <[bttv]__ksymtab_bttv_read_gpio+0/2>
Trace; d0922980 <[bttv]bttv_pci_tbl+38/8c>
Trace; d09229e0 <[bttv]bttv_pci_driver+0/40>
Trace; c01d6a7c <pci_announce_device+3c/60>
Trace; d0922980 <[bttv]bttv_pci_tbl+38/8c>
Trace; d09229e0 <[bttv]bttv_pci_driver+0/40>
Trace; c01d6ae2 <pci_register_driver+42/60>
Trace; d09229e0 <[bttv]bttv_pci_driver+0/40>
Trace; d091a41e <[bttv]bttv_init_module+8e/e0>
Trace; d09229e0 <[bttv]bttv_pci_driver+0/40>
Trace; c011b1d5 <sys_init_module+595/660>
Trace; d0920ef4 <[bttv].rodata.end+34f5/4aa1>
Trace; d0914060 <[bttv]rvmalloc+0/90>
Trace; c0108903 <system_call+33/38>
Code; d09145db <[bttv]bt848_muxsel+6b/1a0>
00000000 <_EIP>:
Code; d09145db <[bttv]bt848_muxsel+6b/1a0> <=====
0: f7 34 19 divl (%ecx,%ebx,1) <=====
Code; d09145de <[bttv]bt848_muxsel+6e/1a0>
3: 89 d5 mov %edx,%ebp
Code; d09145e0 <[bttv]bt848_muxsel+70/1a0>
5: 89 54 24 04 mov %edx,0x4(%esp,1)
Code; d09145e4 <[bttv]bt848_muxsel+74/1a0>
9: 3b 96 08 03 00 00 cmp 0x308(%esi),%edx
Code; d09145ea <[bttv]bt848_muxsel+7a/1a0>
f: 75 24 jne 35 <_EIP+0x35> d0914610 <[bttv]bt848_muxsel+a0/1a0>
Code; d09145ec <[bttv]bt848_muxsel+7c/1a0>
11: 8b 96 20 00 00 00 mov 0x20(%esi),%edx
21 warnings issued. Results may not be reliable.
luke
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index