On Friday 30 June 2006 10:04, Andrew de Quincey wrote: > Hi, I have found a glitch in the saa7146 when booting from cold. I'm not > entirely sure how to fix it. It affects the budget and budget-ci cards I > have tested, so it may affect others. > > Test: > > 1) unplug a machine for 30 seconds > 2) boot it up > 3) run dvbtraffic > 4) tune to a valid frequency (and ensure it _only_ tunes and does not open > the demux again) > > Step 4 will lock fine, but dvbtraffic will never see any data. To fix the > problem, you have to start+stop dvbtraffic (i.e. close+open the demux). > > After that, _everything_ works as normal; the same test can now be > repeated, and dvbtraffic will get data finie. This also only affects cold > boots; warm boots are fine. > > Testing with debug on shows that when step 4 above locks, the saa7146 > simply stops sending VPE interrupts. Closing+reopening the demux causes the > SAA7146 ts stream receive configuration to be reconfigured and that seems > to fix the problem. > > Simply initialising the frontend and/or tuning to an invalid frequency is > not enough; I have to tune to a valid frequency and wait till it locks > before I can guarantee everything works correctly. > > Note: if I tune, and then open the demux _before_ it has completely locked > on a cold boot, I see this same issue. > > Anyone have any ideas? I've not tried a budget-av card yet, but I have a > suspicion they may be affected as well. Forgot to mention: as a workaround I can override the frontend get_status function op in _all_ the drivers which use saa7146, and reinitialise the demux when a lock is gained for the very first time; seems a bit hacky, but its the only thing I can think of. Can anyone think of a cleaner method? _______________________________________________ linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb