Enigma2 IPTV auto-reconnect

Blackhole your having a laugh right ? worst image there is for streaming with outdated libs and cant even accommodate Serviceapp and Extplayer3 properly.

@r0b

I would try hacking your TCP Stack by moving your eth0 over to core 2 and increasing your E2 TCP buffer size. Google it if your unsure, but most linux sites report is has positive results. This hack has been around for years and I use it still on my VU+ Solo 4K

To do this, issue cat /proc/interrupts and make a note of the IRQ numbers used for eth0 and then edit lines 6 and 8 of the script Ive uploaded accordingly.

Then simply send the script to /etc/rc3.d and chmod to 755 and then reboot, then issue cat /proc/interrupts again to check that your eth0 is now running on core 2

This helps things a lot, but by far the greatest benefits from doing this are the other network tweaks that the script applies. The main one being the increasing of the TCP buffer size. It can help massively when using IPTV or a VPN
Dont worry, if you find its not for you or something else is wrong after applying it, you simply delete the script again from /etc/rc3.d and reboot and your image is back to how it was.

Here's a link to the script because I cannot figure out how to upload files here.

Free File Hosting - Online Storage; Upload Mp3, Videos, Music. Backup Files

Please make a full backup of your image first though. I've never know anything go wrong, but I would hate for me to be the cause of it corrupting your image.
Ian would you mind posting the script again to edit the tcp stack? I tried to find something via google but the commands didn't seem to work.
 
Hi @oottppxx

Would it be possible to add enable and disable time in this plugin, the reason I am asking for it as I currently run a script to download catchup tv during the night. I only have got single subscription so when the script kicks in the live tv will stop and this plugin will restart the live tv that would stop my download.

Any options I can add in my script that would disable this plugin during while my script is downloading the programme and enabled once it's completed?

I am using zgemma and openvix 5.4
 
An easy solution, if you have non-IPTV channels on the box, or other IPTV channels from a different provider, or create a "fake" IPTV channel that never starts, is to zap to one of said channels before you start the catchup download. IIRC you can wget a request to openwebif on localhost to zap to a certain channel.

An intermediate solution would be to add/set config.plugins.quarterpounder.enable=false on /etc/enigma2/settings to disable the plugin at the start, and back to =true (or remove the line) at the end, but to touch that file effectively you need to stop/update/start enigma2 (that can be done, for example, via "telinit 4" to stop, update the settings, and "telinit 3" to (re)start).

The "hard" solution is for me to implement a blackout window on the plugin, or create a more generic plugin to tweak settings on the box based on time, which I feel is a bit unnecessary as there are other means to work around the issue. If it comes to that, I might consider it, but I won't be touching most of anything until mid-January, so please remind me then.

Keep us posted.
 
An easy solution, if you have non-IPTV channels on the box, or other IPTV channels from a different provider, or create a "fake" IPTV channel that never starts, is to zap to one of said channels before you start the catchup download. IIRC you can wget a request to openwebif on localhost to zap to a certain channel.

An intermediate solution would be to add/set config.plugins.quarterpounder.enable=false on /etc/enigma2/settings to disable the plugin at the start, and back to =true (or remove the line) at the end, but to touch that file effectively you need to stop/update/start enigma2 (that can be done, for example, via "telinit 4" to stop, update the settings, and "telinit 3" to (re)start).

The "hard" solution is for me to implement a blackout window on the plugin, or create a more generic plugin to tweak settings on the box based on time, which I feel is a bit unnecessary as there are other means to work around the issue. If it comes to that, I might consider it, but I won't be touching most of anything until mid-January, so please remind me then.

Keep us posted.
Perfect! I have taken an easy route. created a channel and added timer to zap on to that channel just before starting my script.
Thank you very much for your help.
 
I'm hoping someone can help me configure this, I'm having blackouts and would want to know what settings are recommended.

Also a confirmation whether the plugin would support GStreamer (4097) and Exteplayer (5002) streams.

Enable is set to true (so I assume it is configured as on)
I see restart delay (seconds) set to 0 (not sure)
Restart indicator as default (not sure)
Stuck channels hack with no value. (not sure)
Stuck channels hack delay set to 2500. (not sure)

Are these settings ok? Will it automatically re-connect if the stream goes black without requiring a re-zap by going to another channel?

@oottppxx
@claktv

Also a big thank you to @oottppxx for this plugin.
 
Last edited:
I'm hoping someone can help me configure this, I'm having blackouts and would want to know what settings are recommended.

Also a confirmation whether the plugin would support GStreamer (4097) and Exteplayer (5002) streams.

As long as the necessary evEOF (end of file event) is triggered for those streams, it should work.

Enable is set to true (so I assume it is configured as on)
Right, if you set it to false, nothing will happen, even if the plugin gets the event.

I see restart delay (seconds) set to 0 (not sure)
You can increase a bit if you find it difficult zapping around (namely selecting other channels from the EPG list) when the plugin is constantly trying to restart a service; but not too much, or you'll notice a lot more delay in restart, of course. If the current setting didn't bother you, leave it.

Restart indicator as default (not sure)
This tries to either be the default, when you generally see the InfoBar popup (like it happens when you zap, depending on the system settings), or None, where it tries to avoid the InfoBar popup on restart.

Stuck channels hack with no value. (not sure)
Stuck channels hack delay set to 2500. (not sure)
These 2 you can leave alone, they are a very specific feature I implemented on request: if you add some channel matching strings (matching on the service reference) to the "stuck channel hack" field, for those channels it will always try and restart those after the delay, when you zap to them.
Are these settings ok? Will it automatically re-connect if the stream goes black without requiring a re-zap by going to another channel?
Default settings should be OK, as stated. You can check what happens by activating debug, and checking the contents of the file created at /tmp/quarterpounder-debug.log - if you have a terminal session open on the receiver, you can check in real time by doing "tail -f /tmp/quarterpounder-debug.log" and see what gets logged and what are the differences when you tweak the settings (assuming you have some consistently bad channels you can test with).
@oottppxx
@claktv

Also a big thank you to @oottppxx for this plugin.
No problem, glad it's useful.
 
As long as the necessary evEOF (end of file event) is triggered for those streams, it should work.


Right, if you set it to false, nothing will happen, even if the plugin gets the event.


You can increase a bit if you find it difficult zapping around (namely selecting other channels from the EPG list) when the plugin is constantly trying to restart a service; but not too much, or you'll notice a lot more delay in restart, of course. If the current setting didn't bother you, leave it.


This tries to either be the default, when you generally see the InfoBar popup (like it happens when you zap, depending on the system settings), or None, where it tries to avoid the InfoBar popup on restart.


These 2 you can leave alone, they are a very specific feature I implemented on request: if you add some channel matching strings (matching on the service reference) to the "stuck channel hack" field, for those channels it will always try and restart those after the delay, when you zap to them.

Default settings should be OK, as stated. You can check what happens by activating debug, and checking the contents of the file created at /tmp/quarterpounder-debug.log - if you have a terminal session open on the receiver, you can check in real time by doing "tail -f /tmp/quarterpounder-debug.log" and see what gets logged and what are the differences when you tweak the settings (assuming you have some consistently bad channels you can test with).

No problem, glad it's useful.
I'm still having blackouts with no auto-reconnect, will check log and report back soon.

I enabled log option.

Edit Update: Seems to be working fine right now as i rebooted box, logs are useful will see how it goes now.

As long as the necessary evEOF (end of file event) is triggered for those streams, it should work.


Right, if you set it to false, nothing will happen, even if the plugin gets the event.


You can increase a bit if you find it difficult zapping around (namely selecting other channels from the EPG list) when the plugin is constantly trying to restart a service; but not too much, or you'll notice a lot more delay in restart, of course. If the current setting didn't bother you, leave it.


This tries to either be the default, when you generally see the InfoBar popup (like it happens when you zap, depending on the system settings), or None, where it tries to avoid the InfoBar popup on restart.


These 2 you can leave alone, they are a very specific feature I implemented on request: if you add some channel matching strings (matching on the service reference) to the "stuck channel hack" field, for those channels it will always try and restart those after the delay, when you zap to them.

Default settings should be OK, as stated. You can check what happens by activating debug, and checking the contents of the file created at /tmp/quarterpounder-debug.log - if you have a terminal session open on the receiver, you can check in real time by doing "tail -f /tmp/quarterpounder-debug.log" and see what gets logged and what are the differences when you tweak the settings (assuming you have some consistently bad channels you can test with).

No problem, glad it's useful.
All seems to be fine at the moment, only issue I have encountered is that when I'm on the channel list preview and a channel requires constant restarts (stream wont start at all), it keeps going back to that IPTV channel in channel list view mode, and only way to get through it is if you go back on the channel in full screen and trying something else other than viewing the channel list in the bouquet.

I guess the restart delay can fix the issue (not sure what to though because when i set it from 0 to anything else, it seems like its not restarting the stream at all?) but maybe it would've been nice to have an option to disable restarts in channel list view when in a bouquet if that is possible.

When i refer to channel list view mode, i mean like where you get to see all the channels (with their EPG if downloaded) in a opened bouquet.
 
Last edited:
All seems to be fine at the moment, only issue I have encountered is that when I'm on the channel list preview and a channel requires constant restarts (stream wont start at all), it keeps going back to that IPTV channel in channel list view mode, and only way to get through it is if you go back on the channel in full screen and trying something else other than viewing the channel list in the bouquet.
Yeap, those problematic streams are a pain. Eventually I could think of implementing some exponential back-off.
I guess the restart delay can fix the issue (not sure what to though because when i set it from 0 to anything else, it seems like its not restarting the stream at all?) but maybe it would've been nice to have an option to disable restarts in channel list view when in a bouquet if that is possible.
That probably gets a lot more complicated than I want to make it - specially when accounting for different types of systems, that might do things slightly different - but maybe implementing a (configurable) exponential back-off can take care of it: maybe file a bug on git, so I won't forget? But it's indeed why you'd tune the restart delay, so it gives you some time to go about and move a bit/out of the problematic channel. Check the debug logs if you feel it's not restarting the stream at all, that shouldn't happen, it just takes [restart delay] longer to do it.

When i refer to channel list view mode, i mean like where you get to see all the channels (with their EPG if downloaded) in a opened bouquet.
Yes, I know what you mean, I mentioned that before when describing the restart delay configuration parameter.
 
Yeap, those problematic streams are a pain. Eventually I could think of implementing some exponential back-off.

That probably gets a lot more complicated than I want to make it - specially when accounting for different types of systems, that might do things slightly different - but maybe implementing a (configurable) exponential back-off can take care of it: maybe file a bug on git, so I won't forget? But it's indeed why you'd tune the restart delay, so it gives you some time to go about and move a bit/out of the problematic channel. Check the debug logs if you feel it's not restarting the stream at all, that shouldn't happen, it just takes [restart delay] longer to do it.


Yes, I know what you mean, I mentioned that before when describing the restart delay configuration parameter.
I do like keeping the restart delay set to 0 for minimal interruptions if the stream is most of the time working, so if there's anything that can be done about this in a future update that would be great.

Thank you.

This happens when I set the restart delay from 0 to any other value:
> evEOF
handling...
Ignoring: not enabled and/or still backing off...
 
This happens when I set the restart delay from 0 to any other value:
> evEOF
handling...
Ignoring: not enabled and/or still backing off...
You need some more context on the log, before and after... That should mean evEOF was received on a stream, QP is going to restart not immediately but in X seconds, and another evEOF is received before X seconds have elapsed (why?). Anyway, if 0 works for you for now, use it, I'll look into it again in January.
 
@oottppxx

Hi buddy I hope your well. I've sent you a PM with a link to some code, perhaps you wouldn't mind taking a quick look at the code to see if you can spot why your Quarterpounder auto reconnect plugin wont work with it ? I've not tried your first Auto Reconnect plugin yet though. I was thinking of maybe adding the code to Xtreamity when its finished, as your plugin works perfectly with that, but at the moment the code is still using the Enigma2 Player, I dont think this is the reason your plugin wont work with it, but it could be ?

Cheers.
 
Last edited:
Big thanks to oottppxx for the QP 6.2.0k plugin that I use with OpenATV6.4, WooshBuild Infinity, SkyQ V3.500 skin on Zgemma H.2H, H5 & H9.2H boxes. It is an excellent plugin that quickly restarts 'frozen' streams, and makes a huge difference when watching IPTV channels.
 
@oottppxx slightly off topic, but what stream type/settings would you recommend for IPTV? 5002 with ext3player seems the most stable, but causes difficulty zapping around, whereas 4097 drops out and causes restarts quite a lot. Surely some combination of player settings is best?

Would you use serviceapp or not?
thanks for the excellent plugin once again.
 
@oottppxx slightly off topic, but what stream type/settings would you recommend for IPTV? 5002 with ext3player seems the most stable, but causes difficulty zapping around, whereas 4097 drops out and causes restarts quite a lot. Surely some combination of player settings is best?

Would you use serviceapp or not?
thanks for the excellent plugin once again.
I personally use serviceapp, of course, but don't change the default players for stream types.

I also prefer to use stream type 1/DVB if your provider supports MPEG-TS streams; if not, I'll generally use type 5002/EXTEPLAYER3.
 
All seems to be fine at the moment, only issue I have encountered is that when I'm on the channel list preview and a channel requires constant restarts (stream wont start at all), it keeps going back to that IPTV channel in channel list view mode, and only way to get through it is if you go back on the channel in full screen and trying something else other than viewing the channel list in the bouquet.

I guess the restart delay can fix the issue (not sure what to though because when i set it from 0 to anything else, it seems like its not restarting the stream at all?) but maybe it would've been nice to have an option to disable restarts in channel list view when in a bouquet if that is possible.

When i refer to channel list view mode, i mean like where you get to see all the channels (with their EPG if downloaded) in a opened bouquet.

The latest version of QuarterPounder, 6.2.0n, should solve that particular issue, as it refuses to restart the service if the GUI is active (in any menu, not only bouquets); caveat, this was only tested on OpenATV 6.2, YMMV.
 
The latest version of QuarterPounder, 6.2.0n, should solve that particular issue, as it refuses to restart the service if the GUI is active (in any menu, not only bouquets); caveat, this was only tested on OpenATV 6.2, YMMV.
I use openvix, not tested yet.
 
Updated to 6.2.0o, it has several options for GUI check, including disabling it to get exactly the same behaviour as before.
What would you say the best settings are for the GUI check?
Also I have my restart delay on 30, but sometimes a stream is down then takes a while to change to next zap and kind of freezes to go to next channel, is that quarterpounder or because the streams are 4097? Any suggestions for this?
 
Last edited:
Back
Top