Mailing List archive

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

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



Hi Holger,

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.

Unfortunately it doesn't really help. I tried it three times and the first
time I thought everything would be fine because I could use dvbtune to setup the
network device. I could also set the IP and the mac address but when I tried tcpdump, the whole system simply hung. I couldn't do anything more. The second time, I could bring the net device up, but I got the typical seg fault when trying to set the ip address. The third time, I couldn't even bring the net device up with dvbtune (seg fault like always).

This strange behaviour seems to be related with some uninitialized variable so I will check that.

If you're interested, I have added the ksymoops for the both seg faults. I couldn't get any info when tcpdump crashed the system.
Okay I have some more information now.. First you should forget what I told you about the seg faults in the last mail. I got the network device configured twice in a row and it always showed the same strange behaviour: first everything is doing fine when the net device is setup with dvbtune. Then I set the mac address with
ifconfig dvb0_0 hw ether <mac_addr>
and finally I start the net device with
ifconfig dvb0_0 10.0.1.1

Either the computer hangs when I wait some time (1/2 - 1 minute) or it directly hangs after some seconds when I run tcpdump -ni dvb0_0. Because of this behaviour I would think there is a buffer overflow or something similar that totally crashes the whole kernel.

I have also some output from the code you added during the last CVS update:
Jun 23 16:16:53 sandra kernel: dvb0_0: filter mac=00 00 00 00 00 00
Jun 23 16:16:53 sandra kernel: dvb0_0: filter mask=ff ff ff ff ff ff
Jun 23 16:16:53 sandra kernel: dvb_net_feed_start: mode 0
Jun 23 16:16:53 sandra kernel: dvb0_0: set_mc_list, 1 entries
Jun 23 16:16:53 sandra kernel: dvb0_0: filter mac=00 00 00 00 00 00
Jun 23 16:16:53 sandra kernel: dvb0_0: filter mask=ff ff ff ff ff ff
Jun 23 16:16:53 sandra kernel: dvb_net_feed_start: mode 1
Jun 23 16:16:53 sandra kernel: dvb0_0: filter mac=01 00 5e 00 00 01
Jun 23 16:16:53 sandra kernel: dvb0_0: filter mask=ff ff ff ff ff ff
Jun 23 16:17:20 sandra kernel: bt878(0): irq FBUS risc_pc=0aaf7070
Jun 23 16:17:52 sandra kernel: dvb0_0: filter mac=30 8d 00 03 30 00
Jun 23 16:17:52 sandra kernel: dvb0_0: filter mask=ff ff ff ff ff ff
Jun 23 16:17:52 sandra kernel: dvb_net_feed_start: mode 1
Jun 23 16:17:52 sandra kernel: dvb0_0: filter mac=01 00 5e 00 00 01
Jun 23 16:17:52 sandra kernel: dvb0_0: filter mask=ff ff ff ff ff ff

I also added some lines that check both dev_addr and addr_len of the net_device when the device has been inited and when the mac address has changed.
after register_netdev()
net->dev_addr =
net->addr_len = 6
mac-addr change
dev->dev_addr = 0
dev->addr_len = 6

Thanks,
-André.

--
http://www.steinsoft.net
cout << "Happy Coding!" << endl;



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



Home | Main Index | Thread Index