[linux-dvb] SAA7146 glitch on cold boot

Andrew de Quincey adq_dvb at lidskialf.net
Fri Jun 30 11:04:53 CEST 2006

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.


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 

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.

More information about the linux-dvb mailing list