What's new

Diversion Diversion 5.4.8 - the Router Ad-Blocker, February 12, 2026

I recently started having issues with Diversion and Paramount Plus live TV and I'm getting error code 6015. It's only for certain channels (sports channels and some news channels) I get this error code.

When I temporarily disabled Diversion all channels load without issues. I did try logging dnsmasq option 4 and check for blocked domains by IP but nothing populates.

Funny thing is Paramount Plus has been working fine without issues until today. I will try restarting router when time allows.

Any ideas/thoughts?
I always had problem watching live events on Paramount+ if Diversion was enabled. My solution: got another streaming device, and excluded it from adblock
 
It has been a while since the last Diversion update. So here it is:

Diversion 5.4.7 is now available
  • Ignores commented line(s) in dnsmasq.conf when adding Dnsmasq directives. Thanks to @Martinski for reporting and the diff.
  • Ignores local search domain in stats function when configured on router, e.g. home.arpa. Thanks to @dave14305 for reporting.
  • Correctly adds "blocked" to blocked domains in 'The top X blocked ad domains' section of the stats report. It also adds the originating domain when a subdomain is blocked. Again, thanks to @dave14305 for reporting.
  • Correctly handles Skynet V8 lock file. Please update Skynet to the latest version if you are using it along with this Diversion update. Thanks to @Adamm for the hints.
 
Solved: Skynet is now starting correctly after router reboot
Problem: Skynet would complain about no swap despite Entware USB being mounted and the swap file having been there since 2020. If I restarted Skynet, everything would be fine. I think this had been going on for several weeks to months.
Solution: My best guess is the locking fix in Diversion 5.4.7. However, I had also dropped and recreated the swap file, but this seems unlikely to have helped.
 
Is this the new normal?

Greetings from Diversion

Something failed during the blocking list update.
See the output of the Update-blocking-list.log below, look for the word(s) Error.

Diversion blocking list update log Wed, 11 Feb 2026 02:00:00 +0100
____________________________________________________


preparing denylist
writing denylist.conf from denylist

preparing allowlist
preparing temporary allowlist
preserving assembled hardcoded allowlist
updated shared-Diversion-whitelist

refreshing Skynet to whitelist domains in shared-Diversion-whitelist

Skynet lockfile detected, running checks
Error: Unable to refresh Skynet to whitelist domains in shared-Diversion-whitelist.
Restart Skynet manually to immediately include the new whitelisted domains.
including /jffs/addons/shared-whitelists/shared-Skynet-whitelist in Diversion
including /jffs/addons/shared-whitelists/shared-Skynet2-whitelist in Diversion
writing allowlist.conf from temporary allowlist

downloading Standard blocking list, 1 file

utilizing Dnsmasq NXDOMAIN to block domains

processing file 1 of 1
https://small.oisd.nl/dnsmasq2
remote file newer: downloading new file
--> OK, file is in Dnsmasq local or server format, optimal for Diversion
processing file 1 done

writing Standard blocking list

updated Standard blocking list from 1 valid file,
50432 domains are now blocked by Diversion

____________________________________________________
End of blocking list update log.
 
Is this the new normal?

Greetings from Diversion

Something failed during the blocking list update.
See the output of the Update-blocking-list.log below, look for the word(s) Error.

Diversion blocking list update log Wed, 11 Feb 2026 02:00:00 +0100
____________________________________________________


preparing denylist
writing denylist.conf from denylist

preparing allowlist
preparing temporary allowlist
preserving assembled hardcoded allowlist
updated shared-Diversion-whitelist

refreshing Skynet to whitelist domains in shared-Diversion-whitelist

Skynet lockfile detected, running checks
Error: Unable to refresh Skynet to whitelist domains in shared-Diversion-whitelist.
Restart Skynet manually to immediately include the new whitelisted domains.
including /jffs/addons/shared-whitelists/shared-Skynet-whitelist in Diversion
including /jffs/addons/shared-whitelists/shared-Skynet2-whitelist in Diversion
writing allowlist.conf from temporary allowlist

downloading Standard blocking list, 1 file

utilizing Dnsmasq NXDOMAIN to block domains

processing file 1 of 1
https://small.oisd.nl/dnsmasq2
remote file newer: downloading new file
--> OK, file is in Dnsmasq local or server format, optimal for Diversion
processing file 1 done

writing Standard blocking list

updated Standard blocking list from 1 valid file,
50432 domains are now blocked by Diversion

____________________________________________________
End of blocking list update log.
Odd I got a similar message this morning.
 
Is this the new normal?
Odd I got a similar message this morning.
Look in the system log around the time of the Diversion list update. It will log any Skynet lock messages there instead of the update log.

Edit: I suppose it should be in both places, but double-check in the system log.
Edit2: No, it won’t make it to the update log, because logger -st uses stderr, but the tee -a that captures the update messages doesn’t read stderr. So please look in the system log for more evidence. 🤓
 
Last edited:
Look in the system log around the time of the Diversion list update. It will log any Skynet lock messages there instead of the update log.

Edit: I suppose it should be in both places, but double-check in the system log.
Edit2: No, it won’t make it to the update log, because logger -st uses stderr, but the tee -a that captures the update messages doesn’t read stderr. So please look in the system log for more evidence. 🤓

Code:
Greetings from Diversion

 Something failed during the blocking list update.
 See the output of the Update-blocking-list.log below, look for the word(s) Error.

Diversion blocking list update log Thu, 12 Feb 2026 02:00:00 +0800
____________________________________________________


 preparing denylist
 writing denylist.conf from denylist

 preparing allowlist
 preparing temporary allowlist
 preserving assembled hardcoded allowlist
 updated shared-Diversion-whitelist

 refreshing Skynet to whitelist domains in shared-Diversion-whitelist

 Skynet lockfile detected, running checks
 Error: Unable to refresh Skynet to whitelist domains in shared-Diversion-whitelist.
 Restart Skynet manually to immediately include the new whitelisted domains.
 including /jffs/addons/shared-whitelists/shared-Skynet-whitelist in Diversion
 including /jffs/addons/shared-whitelists/shared-Skynet2-whitelist in Diversion
 writing allowlist.conf from temporary allowlist

 downloading Standard blocking list, 1 file

 utilizing Dnsmasq NXDOMAIN to block domains

 processing file 1 of 1
 https://small.oisd.nl/dnsmasq2
 remote file newer: downloading new file
 --> OK, file is in Dnsmasq local or server format, optimal for Diversion
 processing file 1 done

 writing Standard blocking list

 updated Standard blocking list from 1 valid file,
 50657 domains are now blocked by Diversion

____________________________________________________
 End of blocking list update log.

 Very truly yours,
 Your SmurfRouter router (Model type RT-AX88U_Pro)

Code:
Feb 11 15:25:06 Diversion: restarted Dnsmasq to apply settings
Feb 11 17:20:00 Diversion: updated ads counter: 1,246,712 total, 45,319 this week, 6,094 new since last count
Feb 12 02:00:00 Diversion: Skynet Lock File Detected (/jffs/scripts/firewall save) (pid=13393, runtime=0s) - Exiting
Feb 12 02:00:00 Diversion: Unable to refresh Skynet to whitelist domains in shared-Diversion-whitelist.
Feb 12 02:00:10 Diversion: updated Standard blocking list from 1 valid file, 50657 domains are now blocked
Feb 12 02:00:11 Diversion: restarted Dnsmasq to apply settings
Feb 12 02:00:14 Diversion: updated and reset weekly ads counter: 1,249,647 total, 48,254 this week, 2,935 new since last count
Feb 12 02:00:14 Diversion: reset dnsmasq log files (weekly cron job)
Feb 12 04:10:11 Skynet: [i] Restarting Firewall Service
Feb 12 04:10:14 Skynet: [i] Startup Initiated... ( skynetloc=/tmp/mnt/DIVEXT4/skynet )
Feb 12 04:10:21 Diversion: restarted Dnsmasq to apply settings
Feb 12 04:10:26 Skynet: [✘] WebUI Integration Requires Logging To Be Enabled
Feb 12 04:13:09 Diversion: restarted Dnsmasq to apply settings
Feb 12 04:14:13 Skynet: [i] Restarting Firewall Service
Feb 12 04:14:17 Skynet: [i] Startup Initiated... ( skynetloc=/tmp/mnt/DIVEXT4/skynet )
Feb 12 04:14:24 Diversion: restarted Dnsmasq to apply settings
Feb 12 04:14:28 Skynet: [✘] WebUI Integration Requires Logging To Be Enabled
Feb 12 04:14:37 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 0 Inbound -- 0 Outbound Connections Blocked! [start] [20s]
Feb 12 05:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 221 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 05:20:00 Diversion: rotated dnsmasq log files
Feb 12 06:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 562 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 07:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 897 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 08:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 1416 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 09:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 1894 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 10:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 2443 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 11:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 2927 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
Feb 12 12:00:01 Skynet: [#] 30706 IPs (+0) -- 2643 Ranges Banned (+0) || 3422 Inbound -- 0 Outbound Connections Blocked! [save] [1s]
 
Code:
Greetings from Diversion

 Something failed during the blocking list update.
 See the output of the Update-blocking-list.log below, look for the word(s) Error.

Diversion blocking list update log Thu, 12 Feb 2026 02:00:00 +0800
____________________________________________________

 refreshing Skynet to whitelist domains in shared-Diversion-whitelist

 Skynet lockfile detected, running checks
 Error: Unable to refresh Skynet to whitelist domains in shared-Diversion-whitelist.
 Restart Skynet manually to immediately include the new whitelisted domains.

Code:
Feb 12 02:00:00 Diversion: Skynet Lock File Detected (/jffs/scripts/firewall save) (pid=13393, runtime=0s) - Exiting
Feb 12 02:00:00 Diversion: Unable to refresh Skynet to whitelist domains in shared-Diversion-whitelist.
Feb 12 02:00:10 Diversion: updated Standard blocking list from 1 valid file, 50657 domains are now blocked
Feb 12 02:00:11 Diversion: restarted Dnsmasq to apply settings
Feb 12 02:00:14 Diversion: updated and reset weekly ads counter: 1,249,647 total, 48,254 this week, 2,935 new since last count
Feb 12 02:00:14 Diversion: reset dnsmasq log files (weekly cron job)
I suppose it is an inevitable conflict with Skynet’s hourly save and Diversion updating at exactly 00 minutes. Someone has to budge. :)
 
I suppose it is an inevitable conflict with Skynet’s hourly save and Diversion updating at exactly 00 minutes. Someone has to budge. :)
Lol, I must admit I never checked the update times of each, just installed as set it and forget it (a long time ago for Diversion...).
I will see if one can stay fixed ... the other can sleep in.

[EDIT] Couldn't see any update times in Skynet (didn't look that deeply in the menu via amtm) but the 2am Thursday was clearly a flag (see email above), so will shift Diversion to the 3am slot.
It gets to sleep in 1 more hr.

Thu2am.jpg
 
Last edited:
I suppose it is an inevitable conflict with Skynet’s hourly save and Diversion updating at exactly 00 minutes. Someone has to budge. :)
I‘ll shift mine a bit just to keep the peace. Glad the lock file detection works though ;)
 
Diversion 5.4.8 is now available
  • Changes the cron job time for the blocking file(s) update to 12 minutes past the hour, before it was at the full hour. This is to avoid Skynet lock file interruptions.
  • Some other cron jobs were slightly adjusted to not interfere with the above change.
  • Some logic changes for a coming new feature. More about that when we're all ready ;)
  • Changed the logging output for the blocking file update to how it was before in Diversion 5.4.6. Thanks to @dave14305 for the keen eye.
 
If I'm not mistaken, spdMerlin defaults to 12 and 42 minutes past the hour for speed tests. Not that the two can't coexist but just thought I'd point this out.
The issue, I believe, was tied to updating Diversion and Skynet "signature" files at the same time.
 
If I'm not mistaken, spdMerlin defaults to 12 and 42 minutes past the hour for speed tests. Not that the two can't coexist but just thought I'd point this out.
For every hour?
 
For every hour?
Just checked, spdMerlin by default runs twice an hour at 12 and 42 minutes. That is insane. 48 times a day, who needs that many tests. It will not improve your speed at all.
I admit my excellent ISP consistently delivers the same results that I pay for whenever I occasionally run an Ookla test.
But 48 tests a day?
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top