Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: dvb-bt8xx and net device



Hi André,

net->addr_len was not initialized. Could you please try again and report if this helps? If not please add some debug messages using printk() in the network code below register_netdev() in order to see which variables are actually not correctly initialized.

thanks,

Holger


André Stein wrote:
Hi,

that's probably the oops point -- please run xconsole or something like this or enable kernel debug messages by tapping 'dmesg -n 8'.


I couldn't rmmod the bt8xx module anymore and every time I tried to run ifconfig -a dvb0_0 the console hung and the process couldn't be killed by either Ctrl + C or kill <pid>. After rebooting the system manually, I
tried
# ifconfig dvb0_0 hw ether 00:01:02:03:04:05
which worked fine. But always when I try to set the IP address I get a fatal segmentation fault.


Please post only the output of the first oops - all the later ones might be meaningless.

Here is the last dmesg output I got after configuring the net device:

bttv0: IRQ lockup, cleared int mask
//*****
Unable to handle kernel paging request at virtual address ffeeeef4
printing eip:
ffeeeef4
*pde = 00003063
*pte = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<ffeeeef4>] Tainted: P
EFLAGS: 00010282
eax: ffeeeef4 ebx: c02f32c0 ecx: caa13120 edx: 00000b00
esi: c02f3334 edi: caa1316c ebp: c546c288 esp: c2e87ea8
ds: 0018 es: 0018 ss: 0018
Process ifconfig (pid: 649, stackpage=c2e87000)
Stack: c021cc14 c546c288 caa13120 c2202780 c02f36fc c22027bc c546c288 caa13120
c02478d0 c546c288 c02f32c0 00000000 c7074ee0 c546c288 bffffb58 c2202760
c0247f22 c546c288 0101000a 00000001 c2e87f6c c02487e6 c546c288 c7074ee0
Call Trace: [<c021cc14>] [<c02478d0>] [<c0247f22>] [<c02487e6>] [<c024ab47>]
[<c02122cf>] [<c0144967>] [<c0106f17>]

Code: Bad EIP value.


I don't know whether this helps you..


you have to use ksymoops to resolve the symbols. Please post the output of

$ dmesg | ksymoops

Read the ksymoops manpage for details and ensure that System.map and the used kernel image match the running kernel.

Okay I followed your advice and I tried to get as much information about the oops as possible. It's a little bit weird because it doesn't happen always while running the same command. I could reproduce it now twice when calling dvbtune to bring the net device up:

# dvbtune -c 0 -f 10773250 -p H -s 22000 -n 251
Using DVB card "Conexant CX24110 with CX24108 tuner, aka HM1221/HM1811"
tuning DVB-S to L-Band:-1073742764, Pol:H Srate=22000000, 22kHz=off
polling....
Getting frontend event
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Bit error rate: 2
Signal strength: 36751
SNR: 355
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
Segmentation fault

The system gets instable after that and can't be shutdown normally. dmesg | ksymoops gives you:

cpu: 0, clocks: 1993384, slice: 996692
Unable to handle kernel paging request at virtual address ffeef438
c021ddac
*pde = 00003063
Oops: 0000
CPU: 0
EIP: 0010:[<c021ddac>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010212
eax: 0000000a ebx: 00000004 ecx: 00000001 edx: 00000008
esi: ffeef438 edi: c005a05c ebp: 00000008 esp: c5db7dd4
ds: 0018 es: 0018 ss: 0018
Process dvbtune (pid: 1025, stackpage=c5db7000)
Stack: c6f575e0 00000000 c02f1c2d c92c0288 c021e235 c6f575e0 0000000a 00000004
ffeef438 c6f575e0 c92c0288 00000005 00000000 c02f1c28 00000202 c02f1c60
00000f14 c005a000 c005a000 00001000 c021e41a c6f575e0 c92c0288 00000010
Call Trace: [<c021e235>] [<c021e41a>] [<c021e892>] [<c0121e5a>] [<c0219ccd>]
[<c01b7bca>] [<cc85a1e2>] [<cc8575be>] [<cc8576ca>] [<cc85319b>] [<c0140e08>]
[<c01370c6>] [<cc85966c>] [<c0137398>] [<c0135ff9>] [<c0135f0e>] [<cc857747>]
[<cc85767c>] [<c0144967>] [<c0106f17>]
Code: f3 a5 f6 c3 02 74 02 66 a5 f6 c3 01 74 01 a4 5b 5e 5f 5d c3


>>EIP; c021ddac <__rta_fill+70/84> <=====

>>esp; c5db7dd4 <_end+5a46550/c4dc7dc>

Trace; c021e235 <rtnetlink_fill_ifinfo+31d/3b8>
Trace; c021e41a <rtmsg_ifinfo+32/7c>
Trace; c021e892 <rtnetlink_event+32/38>
Trace; c0121e5a <notifier_call_chain+1e/38>
Trace; c0219ccd <register_netdevice+151/168>
Trace; c01b7bca <register_netdev+5e/70>
Trace; cc85a1e2 <[dvb-core]__kstrtab_dvb_ringbuffer_avail+d/1d>
Trace; cc8575be <[dvb-core]dvb_net_add_if+126/138>
Trace; cc8576ca <[dvb-core]dvb_net_do_ioctl+4e/ac>
Trace; cc85319b <[dvb-core]dvb_usercopy+b3/129>
Trace; c0140e08 <link_path_walk+888/99c>
Trace; c01370c6 <get_chrfops+5a/15c>
Trace; cc85966c <[dvb-core]dvb_device_open+68/dc>
Trace; c0137398 <chrdev_open+64/98>
Trace; c0135ff9 <dentry_open+e1/188>
Trace; c0135f0e <filp_open+52/5c>
Trace; cc857747 <[dvb-core]dvb_net_ioctl+1f/24>
Trace; cc85767c <[dvb-core]dvb_net_do_ioctl+0/ac>
Trace; c0144967 <sys_ioctl+1bb/1f6>
Trace; c0106f17 <system_call+33/38>

Code; c021ddac <__rta_fill+70/84>
00000000 <_EIP>:
Code; c021ddac <__rta_fill+70/84> <=====
0: f3 a5 repz movsl %ds:(%esi),%es:(%edi) <=====
Code; c021ddae <__rta_fill+72/84>
2: f6 c3 02 test $0x2,%bl
Code; c021ddb1 <__rta_fill+75/84>
5: 74 02 je 9 <_EIP+0x9>
Code; c021ddb3 <__rta_fill+77/84>
7: 66 a5 movsw %ds:(%esi),%es:(%edi)
Code; c021ddb5 <__rta_fill+79/84>
9: f6 c3 01 test $0x1,%bl
Code; c021ddb8 <__rta_fill+7c/84>
c: 74 01 je f <_EIP+0xf>
Code; c021ddba <__rta_fill+7e/84>
e: a4 movsb %ds:(%esi),%es:(%edi)
Code; c021ddbb <__rta_fill+7f/84>
f: 5b pop %ebx
Code; c021ddbc <__rta_fill+80/84>
10: 5e pop %esi
Code; c021ddbd <__rta_fill+81/84>
11: 5f pop %edi
Code; c021ddbe <__rta_fill+82/84>
12: 5d pop %ebp
Code; c021ddbf <__rta_fill+83/84>
13: c3 ret

Hope that helps you this time. It's somehow related with adding the net device but I don't whether it's the card driver or the network code.

Thanks again,
-André.



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index