Mailing List archive

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

[linux-dvb] Re: Demux stops to work when tuning too many time



Valsecchi Patrick wrote:
> Everything runs fine for around 2000 iterations (not a constant number).
> Then, things start to go wrong. The DVB card is able to tune
> (FE_HAS_LOCK), but nothing comes back from the demux filter. I can
> try to tune to another frequency successfully (FE_HAS_LOCK), but I'll never
> get any data back from the demux anymore. I tried to get data with both
> DMX_SET_FILTER and DMX_SET_PES_FILTER (redirect to
> /dev/dvb/adapter0/dvr0) and both are showing no packet comming. It's like
> the demux has been disconnected from the frontend.

That bug is well known (epscially for vdr users with multiple cards,
because vdr tunes all the time for background EPG scan).
Unfortunately there is no fix in sight.

> Once the card/drivers is in this state, the only way to recover is to
> reboot the machine.

Can you recover by reloading the drivers, including saa7146?
If that doesn't work, can you try to enable the (commented out)
master rest in saa7146_core.c?
(saa7146_write(dev, MC1, MASK_31); in saa7146_init_one())

> This happens only with my WinTV NOVA-C. The same code (appart from the
> tuning) works perfectly for hours on the same machine with a WinTV NOVA-S
> card. I have both card at the same time connected. When the cable is dead,
> the satellit card is still working. So I guess it's a problem with the
> modules handling the tuner.

My guess is a problem in budget-core.c:start_ts_capture() which upsets the
saa7146 so much that is needs a reset (it could also be a hardware
bug in the saa7146).

One way to test this hypothesis would be to modify the driver so
that start_ts_capture() is only called once during initialization,
and never disabled; you will get some invalid data during tuning
but you could determine if start_ts_capture() is the source of the problem.

Johannes




Home | Main Index | Thread Index