Good day I have big strange problem I have Sat card Vision DTV-CI (1030A) (5 cards) & also for test I use Twinhan DTV-CI (1030). Kernel 2.6.14 and also try 2.6.17 (problem the same) All of those cards have such problem: From time to time (not constant form 1 minute to 10 minutes) I read from card data that contain errors. So picture in these moments is breaking on boxes and sound is sizzling. I check integrity of data by each PID stream counter (so I detect in this moments error in counter sequence, for information error in all PID that translate in this stream). My test app once tunes to signal after read data and play one channel and check PID streams counter. I try on many signals from different Satellites problem the same (25 M symbol/sec 3/4 FEC mode data not scrambled). For check signal I connect domestic Sat receiver to output (loop) of card tuner and check picture and sound in parallel on TV. So domestic Sat receiver work all time without errors in picture or sound, no picture break or still was detected. So I decide something wrong with card or driver, hw part I think okay because I test 5 Vision DTV-CI and one Twinhan DTV-CI problem the same. So problem I think is in driver or in chip setup sequence. Under windows drivers those cards works okay without such bug. So next my step was opening source code of driver and adding some check with printk messages in detection of error. I add (drivers/media/dvb/dvb-core/dvb_demux.c) in begin of static void dvb_dmx_swfilter_packet(struct dvb_demux *demux, const u8 *buf) such code for check correct PID stream counter fro one of PIDs (6521 video stream) static short counter_val=0; if(pid==6521) { short counter=buf[3]&0x0F; short NextCounter=counter_val+1; short PrevCounter=counter_val-1; if(NextCounter>0xF) NextCounter=0; if(PrevCounter<0) PrevCounter=0xF; if(counter!=NextCounter && counter!=PrevCounter && counter!=counter_val) { printk("DVB:was %d wait [%d;%d] received %d!\n",counter_val,PrevCounter,NextCounter,counter); } counter_val=counter; } And other modification in this file in void dvb_dmx_swfilter(struct dvb_demux *demux, const u8 *buf, size_t count) while (p < count) { if (buf[p] == 0x47) { if (count - p >= 188) { dvb_dmx_swfilter_packet(demux, &buf[p]); p += 188; } else { i = count - p; memcpy(demux->tsbuf, &buf[p], i); demux->tsbufp = i; goto bailout; } } else { printk("Skip sinhro byte!\n"); //I add for print information about that skip one byte p++; } } After modification I reconfigure kernel log system to send message in file. I send you small part listing of this file: Sep 25 03:33:15 localhost kernel: Skip sinhro byte! Sep 25 03:33:15 localhost last message repeated 1271 times Sep 25 03:33:15 localhost kernel: DVB:was 4 wait [3;5] received 8! Sep 25 03:33:15 localhost kernel: Skip sinhro byte! Sep 25 03:33:15 localhost last message repeated 375 times Sep 25 03:33:17 localhost kernel: DVB:was 10 wait [9;11] received 2! Sep 25 03:33:17 localhost kernel: DVB:was 10 wait [9;11] received 3! Sep 25 03:34:52 localhost kernel: DVB:was 15 wait [14;0] received 3! Sep 25 03:34:52 localhost kernel: DVB:was 9 wait [8;10] received 4! Sep 25 03:51:44 localhost kernel: Skip sinhro byte! Sep 25 03:51:44 localhost last message repeated 1283 times Sep 25 03:51:44 localhost kernel: DVB:was 11 wait [10;12] received 1! Sep 25 03:51:44 localhost kernel: Skip sinhro byte! Sep 25 03:51:44 localhost last message repeated 375 times Sep 25 03:51:46 localhost kernel: DVB:was 12 wait [11;13] received 2! Sep 25 03:51:46 localhost kernel: DVB:was 8 wait [7;9] received 6! Sep 25 03:53:21 localhost kernel: DVB:was 10 wait [9;11] received 8! Sep 25 03:57:10 localhost kernel: DVB:was 4 wait [3;5] received 6! Sep 25 03:57:11 localhost kernel: DVB:was 15 wait [14;0] received 4! Sep 25 03:59:53 localhost kernel: DVB:was 14 wait [13;15] received 1! Sep 25 04:10:12 localhost kernel: Skip sinhro byte! Sep 25 04:10:12 localhost last message repeated 1271 times Sep 25 04:10:12 localhost kernel: DVB:was 5 wait [4;6] received 7! Sep 25 04:10:12 localhost kernel: Skip sinhro byte! Sep 25 04:10:12 localhost last message repeated 187 times Sep 25 04:10:12 localhost kernel: DVB:was 11 wait [10;12] received 13! Sep 25 04:10:12 localhost kernel: Skip sinhro byte! Sep 25 04:10:12 localhost last message repeated 187 times Sep 25 04:10:12 localhost kernel: DVB:was 7 wait [6;8] received 9! Sep 25 04:10:14 localhost kernel: DVB:was 4 wait [3;5] received 8! Sep 25 04:10:15 localhost kernel: DVB:was 1 wait [0;2] received 6! Sep 25 04:23:02 localhost kernel: DVB:was 14 wait [13;15] received 0! Sep 25 04:23:03 localhost kernel: DVB:was 8 wait [7;9] received 13! Sep 25 04:24:37 localhost kernel: DVB:was 13 wait [12;14] received 15! Sep 25 04:28:41 localhost kernel: Skip sinhro byte! Sep 25 04:28:41 localhost last message repeated 703 times Sep 25 04:28:41 localhost kernel: DVB:was 2 wait [1;3] received 4! Sep 25 04:28:41 localhost kernel: Skip sinhro byte! Sep 25 04:28:41 localhost last message repeated 567 times Sep 25 04:28:41 localhost kernel: DVB:was 7 wait [6;8] received 10! Sep 25 04:28:41 localhost kernel: Skip sinhro byte! Sep 25 04:28:41 localhost last message repeated 939 times Sep 25 04:28:43 localhost kernel: DVB:was 3 wait [2;4] received 5! Sep 25 04:28:43 localhost kernel: DVB:was 14 wait [13;15] received 1! Sep 25 04:31:53 localhost kernel: DVB:was 7 wait [6;8] received 4! Sep 25 04:31:54 localhost kernel: DVB:was 4 wait [3;5] received 6! Sep 25 04:32:21 localhost kernel: DVB:was 15 wait [14;0] received 7! Sep 25 04:39:47 localhost kernel: DVB:was 11 wait [10;12] received 13! Sep 25 04:39:47 localhost kernel: DVB:was 8 wait [7;9] received 10! Sep 25 04:39:47 localhost kernel: DVB:was 11 wait [10;12] received 3! Sep 25 04:39:47 localhost kernel: DVB:was 11 wait [10;12] received 1! Sep 25 04:39:48 localhost kernel: DVB:was 10 wait [9;11] received 12! Sep 25 04:39:48 localhost kernel: DVB:was 1 wait [0;2] received 3! Sep 25 04:39:48 localhost kernel: DVB:was 3 wait [2;4] received 12! Sep 25 04:39:48 localhost kernel: DVB:was 12 wait [11;13] received 5! Sep 25 04:41:00 localhost kernel: DVB:was 5 wait [4;6] received 7! Sep 25 04:41:00 localhost kernel: DVB:was 3 wait [2;4] received 10! Sep 25 04:41:00 localhost kernel: DVB:was 10 wait [9;11] received 5! Sep 25 04:41:01 localhost kernel: DVB:was 12 wait [11;13] received 14! Sep 25 04:41:02 localhost kernel: DVB:was 3 wait [2;4] received 1! Sep 25 04:41:02 localhost kernel: DVB:was 1 wait [0;2] received 5! Sep 25 04:41:02 localhost kernel: DVB:was 15 wait [14;0] received 1! Sep 25 04:41:03 localhost kernel: DVB:was 15 wait [14;0] received 2! Sep 25 04:41:03 localhost kernel: DVB:was 2 wait [1;3] received 7! Sep 25 04:41:03 localhost kernel: DVB:was 7 wait [6;8] received 4! Sep 25 04:41:03 localhost kernel: DVB:was 14 wait [13;15] received 11! Sep 25 04:41:03 localhost kernel: DVB:was 11 wait [10;12] received 0! Sep 25 04:41:03 localhost kernel: DVB:was 14 wait [13;15] received 0! Sep 25 04:41:03 localhost kernel: DVB:was 1 wait [0;2] received 3! Sep 25 04:41:03 localhost kernel: DVB:was 12 wait [11;13] received 14! Sep 25 04:41:09 localhost kernel: DVB:was 5 wait [4;6] received 11! Sep 25 04:47:10 localhost kernel: Skip sinhro byte! Sep 25 04:47:10 localhost last message repeated 1271 times Sep 25 04:47:10 localhost kernel: DVB:was 15 wait [14;0] received 2! Sep 25 04:47:10 localhost kernel: Skip sinhro byte! Sep 25 04:47:10 localhost last message repeated 375 times Sep 25 04:47:12 localhost kernel: DVB:was 15 wait [14;0] received 6! Sep 25 04:47:12 localhost kernel: DVB:was 10 wait [9;11] received 15! Sep 25 05:03:49 localhost kernel: DVB:was 12 wait [11;13] received 15! Sep 25 05:03:50 localhost kernel: DVB:was 10 wait [9;11] received 5! Sep 25 05:05:39 localhost kernel: Skip sinhro byte! Sep 25 05:05:39 localhost last message repeated 1271 times Sep 25 05:05:39 localhost kernel: DVB:was 1 wait [0;2] received 6! Sep 25 05:05:39 localhost kernel: Skip sinhro byte! Sep 25 05:05:39 localhost last message repeated 939 times Sep 25 05:05:39 localhost kernel: DVB:was 13 wait [12;14] received 15! Sep 25 05:05:41 localhost kernel: DVB:was 8 wait [7;9] received 14! Sep 25 05:05:41 localhost kernel: DVB:was 3 wait [2;4] received 8! Sep 25 05:07:16 localhost kernel: DVB:was 2 wait [1;3] received 8! Sep 25 05:07:43 localhost kernel: DVB:was 12 wait [11;13] received 6! Sep 25 05:07:44 localhost kernel: DVB:was 8 wait [7;9] received 1! Sep 25 05:10:26 localhost kernel: DVB:was 5 wait [4;6] received 3! Sep 25 05:14:16 localhost kernel: DVB:was 12 wait [11;13] received 8! Sep 25 05:15:51 localhost kernel: DVB:was 11 wait [10;12] received 2! Sep 25 05:17:26 localhost kernel: DVB:was 0 wait [15;1] received 3! Sep 25 05:17:26 localhost kernel: DVB:was 13 wait [12;14] received 11! Sep 25 05:24:07 localhost kernel: Skip sinhro byte! Sep 25 05:24:07 localhost last message repeated 1271 times Sep 25 05:24:07 localhost kernel: DVB:was 3 wait [2;4] received 7! Sep 25 05:24:07 localhost kernel: Skip sinhro byte! Sep 25 05:24:07 localhost last message repeated 375 times Sep 25 05:24:07 localhost kernel: DVB:was 8 wait [7;9] received 10! Sep 25 05:24:07 localhost kernel: Skip sinhro byte! Sep 25 05:24:07 localhost last message repeated 563 times Sep 25 05:24:09 localhost kernel: DVB:was 0 wait [15;1] received 12! Sep 25 05:24:10 localhost kernel: DVB:was 11 wait [10;12] received 1! Sep 25 05:25:44 localhost kernel: DVB:was 3 wait [2;4] received 6! Sep 25 05:25:45 localhost kernel: DVB:was 15 wait [14;0] received 11! Sep 25 05:27:19 localhost kernel: DVB:was 0 wait [15;1] received 13! Sep 25 05:27:20 localhost kernel: DVB:was 12 wait [11;13] received 0! Sep 25 05:27:47 localhost kernel: DVB:was 14 wait [13;15] received 10! Sep 25 05:27:48 localhost kernel: DVB:was 11 wait [10;12] received 7! Sep 25 05:28:15 localhost kernel: DVB:was 7 wait [6;8] received 4! Sep 25 05:28:15 localhost kernel: DVB:was 3 wait [2;4] received 8! Sep 25 05:35:27 localhost kernel: DVB:was 5 wait [4;6] received 7! Sep 25 05:39:17 localhost kernel: DVB:was 15 wait [14;0] received 3! Sep 25 05:40:51 localhost kernel: DVB:was 15 wait [14;0] received 1! Sep 25 05:40:52 localhost kernel: DVB:was 12 wait [11;13] received 6! Sep 25 05:42:36 localhost kernel: Skip sinhro byte! Sep 25 05:42:36 localhost last message repeated 1271 times Sep 25 05:42:36 localhost kernel: DVB:was 0 wait [15;1] received 5! Sep 25 05:42:36 localhost kernel: Skip sinhro byte! Sep 25 05:42:36 localhost last message repeated 939 times Sep 25 05:42:38 localhost kernel: DVB:was 9 wait [8;10] received 14! Sep 25 05:42:38 localhost kernel: DVB:was 4 wait [3;5] received 13! Sep 25 05:45:04 localhost kernel: DVB:was 4 wait [3;5] received 6! Sep 25 05:45:04 localhost kernel: DVB:was 1 wait [0;2] received 3! Sep 25 05:45:04 localhost kernel: DVB:was 13 wait [12;14] received 3! Sep 25 05:45:04 localhost kernel: DVB:was 2 wait [1;3] received 4! Sep 25 05:45:10 localhost kernel: DVB:was 4 wait [3;5] received 15! Sep 25 05:45:26 localhost kernel: DVB:was 9 wait [8;10] received 13! Sep 25 05:45:26 localhost kernel: DVB:was 13 wait [12;14] received 11! Sep 25 05:45:26 localhost kernel: DVB:was 10 wait [9;11] received 12! Sep 25 05:45:26 localhost kernel: DVB:was 9 wait [8;10] received 11! Sep 25 05:45:26 localhost kernel: DVB:was 13 wait [12;14] received 15! Sep 25 05:45:26 localhost kernel: DVB:was 14 wait [13;15] received 0! Sep 25 05:45:26 localhost kernel: DVB:was 1 wait [0;2] received 7! Sep 25 05:45:26 localhost kernel: DVB:was 15 wait [14;0] received 8! Sep 25 05:45:26 localhost kernel: DVB:was 13 wait [12;14] received 15! Sep 25 05:45:26 localhost kernel: DVB:was 15 wait [14;0] received 4! And other parts of file look like this one. Strange that to much of Skip sinhro byte messages look like read error bytes from tuner. So I decide that problem in FEC recover system. I look inside of DST driver and fount that this cards all time work in FEC auto mode, driver simply nothing do with FEC mode value. Maybe problem is hire in FEC auto mode. Is present some possibility to tell tuner use given FEC mode and not Auto. Also if some body have some ideas where to find such error please tell. Thanks! Bendyak Evgen -- Евгений Бендяк _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb