Mailing List archive

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

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



Hi,

/proc/ksyms contains the symbols of all loaded modules
I checked again.. yes it contains symbols of all loaded modules but after a reboot the call addresses from the last trace don't match those found in ksyms. They have to be converted in some way using the data from the oops trace..

hmmm. Does this only occur with the bt8xx cards or also with the old Nova cards?
I don't know. I just have a bt8xx card. You have a nova card so you should try the code out but if tcpdump works that doesn't necessarily mean everything is fine.. As I said in my last mail I can use tcpdump alone too, but as soon as I start the ipviasky proxy, the kernel's life will be short ;) Your new additions unfortunately didn't help. Still same crash..

I suppose this oops occurs because the software demux is called with invalid buffer pointers or buffer length arguments. Thus the memcpy function crashes when it's trying to read after the end of the buffer. Or there is a serious undiscovered bug in the software demultiplexer.

I added some more restricted locking and an additional sanity check in the synchronizer code, could you please add some printk()'s in the dvb_dmx_swfilter(), dvb_dmx_swfilter_section_packet() and dvb_dmx_memcopy() functions in order to find out what exactly is going wrong?

Please print the actual line number (remember that you must not insert new lines in order to maintain the original line numbers), the requested number of copied bytes, the copy start offset and whether the bytes are copied from demux->tsbuf in dvb_dmx_swfilter() or from card->bt->buf_cpu[] through the tasklet processing function (dvb_bt8xx_task() in dvb-bt8xx.c)?
I will try that out soon..

First I have some questions/remarks.. As I already said, the problems seem to appear when more than only one multi_secfilter is selected. When starting tcpdump, I have a message like dvb_net_feed_start: set multi_secfilter[0]. Like this I don't get any problem. But when I additionally start the proxy, I get output like this:

dvb0_0: set_mc_list, 1 entries
dvb_net_feed_start: rx_mode 1
dvb_net_feed_start: alloc secfeed
dvb_net_feed_start: set secfilter
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: set multi_secfilter[0]
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: start filtering
dvb_net_feed_stop
dvb_net_feed_stop: stop secfeed
dvb_net_feed_stop: release secfilter
dvb_net_feed_stop: release multi_filter[0]
dvb0_0: set_mc_list, 2 entries
dvb_net_feed_start: rx_mode 1
dvb_net_feed_start: alloc secfeed
dvb_net_feed_start: set secfilter
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: set multi_secfilter[0]
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: set multi_secfilter[1]
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: start filtering
dvb_net_feed_stop
dvb_net_feed_stop: stop secfeed
dvb_net_feed_stop: release secfilter
dvb_net_feed_stop: release multi_filter[0]
dvb_net_feed_stop: release multi_filter[1]
dvb0_0: set_mc_list, 1 entries
dvb_net_feed_start: rx_mode 1
dvb_net_feed_start: alloc secfeed
dvb_net_feed_start: set secfilter
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: set multi_secfilter[0]
dvb0_0: filter mac=30 8d 00 03 30 00
dvb0_0: filter mask=ff ff ff ff ff ff
dvb_net_feed_start: start filtering

There are several multi_filter's setup and I am very sure that the problem must be here, either directly in the network code or in the underlying bt8xx code. To get an idea where the problems actually lies, it would be best to have someone with a _normal_ card like a siemens that are usually proven to work fine with dvb-kernel. After my opinion the multicasting code starts in some way the fatal crash. But that's only my opinion..

Thanks again,
-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