Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Network reception success
HI Holger, HI Michael, HI ALL
Network Packet reception success!
(and some bugs with v4l2)
I tested dvb-ttpci and budget-patch on 2.4 and 2.6,
with focus on dvb_net and with conjunction with tv-capture
saa7134.
Generally, on 2.4 saa7134 can't work with dvb-kernel. v4l2
patches cause dvb-ttpci to crash on insmod
On 2.6, dvb-kernel makelinks breaks in-kernel saa7134,
saa7134 refuses to insmod due to some unresolved ir_* symbols
saa7134: Unknown symbol ir_extract_bits
saa7134: Unknown symbol ir_input_init
saa7134: Unknown symbol ir_input_nokey
saa7134: Unknown symbol ir_input_keydown
OK, leaving saa7134, I turned on to network testing
I have taken into account the recommendations for packet
continuity check. It printed no logs so I conclude that
DMA is working perfect.
However, continuity code counter was long time not modified,
I have to adapt it for the changed structs etc, the patch is here:
+++ dvb_demux.c Sun Oct 26 01:59:31 2003
@@ -136,21 +136,21 @@
{
int count = payload(buf);
int p;
- //int ccok;
- //u8 cc;
+ int ccok;
+ u8 cc;
if (count == 0)
return -1;
p = 188-count;
- /*
+
cc=buf[3]&0x0f;
- ccok=((dvbdmxfeed->cc+1)&0x0f)==cc ? 1 : 0;
- dvbdmxfeed->cc=cc;
+ ccok=((feed->cc+1)&0x0f)==cc ? 1 : 0;
+ feed->cc=cc;
if (!ccok)
printk("missed packet!\n");
- */
+
if (buf[1] & 0x40) // PUSI ?
feed->peslen = 0xfffa;
The discontinuous picture on 2.6.0-test8 with makelinks
on mplayer (jerky motion) is relatated to mplayer/distribution.
Reception from dvb is good and continuous.
The best achievement is the packet reception issue (CRC??),
with the following patch I was able to get 100% packet reception
on budget-patch as far as it could be seen with ethereal!!!!
Without this patch, 10-20% packets are lost!
--- dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_net.c.orig Sun Oct 26 01:27:46 2003
+++ dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_net.c Sun Oct 26 01:28:07 2003
@@ -266,7 +266,7 @@
return ret;
}
- ret = priv->secfeed->set(priv->secfeed, priv->pid, 32768, 0, 1);
+ ret = priv->secfeed->set(priv->secfeed, priv->pid, 32768, 0, 0);
if (ret<0) {
printk("%s: could not set section feed\n", dev->name);
Best regards, Emard
--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index