Neither you or
@Huevos seems to be getting the point. As regards the hardware timer mentioned (
@Huevos), none of my boxes, apart from one (mbtwin), ever had an issue waking up at the correct time after a period in deep standby, so the countdown timer (ticker) worked ok.
The issue with the schedule timer code in ABM and OpenTV EPG modules seems to be that the calculation of the relative timer is done by subtracting the box/system time (which is in the past) from a stored scheduled epoch time when the ABM/EPG should run and, occasionally, instead of getting the correct interval of x minutes to trigger the job is getting an interval of x + (the time elapsed since the box was last shut down).
Here's a worked example:
The schedule for ABM on my test box says it is to trigger today at 18:00 local. That's 7 September 2025 at 18:00, which is 1757264400 seconds in unix epoch time. The box was last shut down on 6 September 2025 at 18:05 local which is 1757178300 seconds unix epoch time at which point the clock is correct from the transponder or NTP and that time is stored in the fake-hwclock. A PowerTimer is set to boot the box at 17:45 every day and shut it down at 18:05.
If all goes well and the box gets the correct local time from NTP when it boots today 7 September at 17:45 the box will have a system time of 1757263500 seconds epoch time plus some elapsed seconds. The ABM schedule code is run just before any transponder is tuned and an relative timer is set for (1757264400 - ~1757263500 = ~900 seconds which is 15 minutes). All correct because the box time had been set correctly before schedule evaluation.
If the box fails to get NTP time before the ABM schedule code is run and before any transponder is tuned the box will have fake-hwclock time and the calculation is (1757264400 - ~1757178300 = ~86100 seconds which is 23 hours and 55 minutes). So, in this case, a relative timer is set which will never elapse unless the box is left active or in normal standby for almost 24 hours.
The problem (as I see it) is that the ABM/EPG schedule code is run once at system start (when it determines the next run time)
before any transponder is tuned and I don't see any examples of it running again until the system is put into shutdown. 99.9% of the time, the box has the correct time from either NTP or once a transponder is tuned (from a reliable tuner source), so - within a minute of enigma start. Recording or zap timers don't seem to be affected as (again - assumption on my part) they seem to use absolute timers.
It's not a widespread problem as most users just have their boxes in normal standby or are using them for long periods. In the case of the OP (
@CRMS) or my particular test box setup the issue occasionally arises, but it is an error and has been happening on Vix since the introduction of fake-hwclock some seven or eight years ago. Before that, I think
any timer evaluation was held off until the box got a time from either transponder or NTP.