catalinii / minisatip

minisatip is an SATIP server for linux using local DVB-S2, DVB-C, DVB-T or ATSC cards
https://minisatip.org
330 stars 81 forks source link

DVB Tuner requires to improve when LOCK fails #919

Open lars18th opened 2 years ago

lars18th commented 2 years ago

Hi @catalinii ,

With my Enigma2 STB running minisatip I see this problem: When some request doesn't arrives to LOCK the signal, the minisatip doesn't tries to recover for this. For example: if you request a transponder that implies a change in the diseqc and it fails to arrive to the correct LNB, then the tuner never receives the correct signal. In this case the DVB adapter handle never gets the LOCK. But the minisatip process continues with the session opened. My idea is to close the session if this fails, or retune the transponder. This will also applies if the LOCK is lost, to try to recover fro this case instead of continue streaming nothing.

You have any idea to improve this? Regards.

lars18th commented 2 years ago

Hi @catalinii ,

No ideas?

catalinii commented 2 years ago

Hey @lars18th,

so there are 2 issues here: 1) a client that does not have a LOCK on a particular TP because the signal is bad.

lars18th commented 2 years ago

Hi @catalinii ,

Thank you for the response. To be more concise... the problem of a failing tuner (==no LOCK), and sssuming that the signal is good, could pass in two circunstances:

  1. When the driver or the physical tuner has some trouble. Sometimes this pass with some low end hardware. In this case a reopening (close and open) of the frontend solves the problem. And in case of remote SAT>IP servers, the satipc can TEARDOWN the session and SETUP a new one. In both cases, the entire chain will be reset and the signal will normally be locked.
  2. The other case is when the diseqc/jess fails in the operation to set the changes to provide the correct signal over the incomming wire. In this case, a resending of the commands will certainly solve the problem.

The idea is to provide a method to improve the robustness when minisatip detects that the signal is not locked. You think that you could improve this? Regards.

catalinii commented 2 years ago

I think we can try to improve it but basically deal with each source separately.

lars18th commented 2 years ago

Hi @catalinii ,

Here two scenarios that I've discovered:

From my point of view, in general the timeout could be at adapter level: if the adapter can't receive anything until a short period, then the minisatip process (user selectable) could trigger a reopening. What you think?