What's new

MerVLAN v0.52.1 (dev 0.52.7) Simple and Powerful VLAN Management **BETA**

In this you don't have boot or cron enabled at all. You try pressing "enable services", copy the file again. Make sure it sticks after a reboot too.

Everytime you uninstall the addon the boot gets disabled. This have happened before when updating too but should be fixed but I'll double check it anyway.

The timing are there to give the unit a little more time to get the SSIDs up. I could move them to the scripts themselves but is doesn't really make any difference for the file. It will just wait 5s/10s then continue. I think the problem is either:

Boot parameter is resetting for some reason. Need to figure out when and where in that case.

Or the manager is executed before the install resulting in missing files and folders. I. Might fix that by making the install always get before the manager. Or doing a guard by making the folder/files creation part of the manager too to guard it. But it should already create the needed parts itself. I'll check in to that.
Hi

One thing is sure, even adding a long 120s sleep in the services-start script before your section at the end of this script does not change anything at all (so the timing issue is not there if there is one)

Each time i do a full uninstall then a complete reinstall, create the vlan manually, put the dry mode at off, saves, apply vlan (that works), and then enable the service. And if i query the service status, it is enabled (when the boot did not reinstall the defined vlan):

before refresh of the log windows:

Code:
2026-02-07 13:20:03 [INFO] Installed service-event with MERV_BASE=/jffs/addons/mervlan (setup-only)
2026-02-07 13:20:03 [INFO] Skipping node propagation for 'setupenable' (MERV_SKIP_NODE_SYNC=1)

after refresh of log window:
Code:
2026-02-07 13:20:03 [INFO] Installed service-event with
MERV_BASE=/jffs/addons/mervlan (setup-only)
2026-02-07 13:20:03 [INFO] Skipping node propagation for 'setupenable'
(MERV_SKIP_NODE_SYNC=1)
2026-02-07 13:25:19 [INFO] === VLAN Client Collection Started ===
2026-02-07 13:25:19 [INFO] Collecting clients from main router (JSON)...
2026-02-07 13:25:19 [INFO] Collecting VLAN clients (MAC-only) on Main
Router
2026-02-07 13:25:19 [INFO] collect_local_clients:
COLLECTDIR='/tmp/mervlan_tmp/client_collection'
OUT='/tmp/mervlan_tmp/client_collection/main.json'
2026-02-07 13:25:20 [INFO] Detected trunk ports: none
2026-02-07 13:25:20 [INFO] No active clients found on Main Router
2026-02-07 13:25:20 [INFO] ✓ Main router collection completed
2026-02-07 13:25:20 [INFO] No nodes configured in settings.json
2026-02-07 13:25:20 [INFO] Merging JSON results...
2026-02-07 13:25:20 [INFO] ✓ Client collection completed - JSON saved to
 /tmp/mervlan_tmp/results/vlan_clients.json
2026-02-07 13:25:20 [INFO] === VLAN Client Collection Finished ===

And if i am just doing a status query:
Code:
2026-02-07 13:27:25 [INFO] Status:
2026-02-07 13:27:25 [INFO] <--- Main Unit --->
2026-02-07 13:27:25 [INFO] RT-AC86U boot=enabled addon=active service-event=active cron=absent is_node=no

So the boot service is enable, but no vlan reinstalled, the cron was not installed. But i made this boot test with a very long 120secs sleep so everything should be settled down i guess once your install script was ran. But if i click to enable the service at this point (it is already enabled according to the status), the cron will install and self-healing will occur shortly to repair the unconfigured vlan at startup...
 
@r80xcore

Is this normal expected script content:

Code:
### >>> MERVLAN START: services-start [tpl=services-start-addon.v2.tpl md5=87a767c5ef943a3116de34dfd2f61566]
# MerVLAN mount addon on boot
sleep 5
/jffs/addons/mervlan/install.sh >/dev/null 2>&1 || :
### <<< MERVLAN END: services-start [tpl=services-start-addon.v2.tpl md5=87a767c5ef943a3116de34dfd2f61566]

at the end of this line with content "mervlan/install.sh", there are these ending characters " || :"?
I was just not sure this is correct script behavior with the following content. It just looks something is missing visually...

Thanks
 
@r80xcore

Is this normal expected script content:

Code:
### >>> MERVLAN START: services-start [tpl=services-start-addon.v2.tpl md5=87a767c5ef943a3116de34dfd2f61566]
# MerVLAN mount addon on boot
sleep 5
/jffs/addons/mervlan/install.sh >/dev/null 2>&1 || :
### <<< MERVLAN END: services-start [tpl=services-start-addon.v2.tpl md5=87a767c5ef943a3116de34dfd2f61566]

at the end of this line with content "mervlan/install.sh", there are these ending characters " || :"?
I was just not sure this is correct script behavior with the following content. It just looks something is missing visually...

Thanks
the "|| :" means that we continue on errors. This is to prevent the addon from stalling the services-start if there are other inserts here.

But why i wanted to see the full file was so see the order thing have been injected.
Is install.sh first or last?
 
the "|| :" means that we continue on errors. This is to prevent the addon from stalling the services-start if there are other inserts here.

But why i wanted to see the full file was so see the order thing have been injected.
Is install.sh first or last?
At the end of the script, i posted the full content a few posts ago. There is a single other line at the beginning that install a cron job ran each hour that was there before mervlan was installed...

see: https://www.snbforums.com/threads/m...werful-vlan-management-beta.95936/post-983950

i will make a test and disable the other line, just in case at boot time it creates an error that makes the script aborts...
 
At the end of the script, i posted the full content a few posts ago. There is a single other line at the beginning that install a cron job ran each hour that was there before mervlan was installed...

see: https://www.snbforums.com/threads/m...werful-vlan-management-beta.95936/post-983950

i will make a test and disable the other line, just in case at boot time it creates an error that makes the script aborts...

I'm currently fixing the last stuff in the new update.

I have tried to fix the boot issues by using a wrapper instead. This way we have clear rules on what needs to be present when we boot but keep the services-start clean.
Hopefully this will fix this for you.

I'll post when it's up.
 
"i will make a test and disable the other line, just in case at boot time it creates an error that makes the script aborts..."

This does not change anything to mervlan behavior, it does not start. I may say that i think it is worst than v0.52.7 for this specific behavior: i never see v0.52.8 started correctly at boot time. The previous version was around 50% failure. So i guess with enough traces to follow the normal script operation behavior in the logs, we could see between what points it is going bad as it is never working each boot now?
 
"i will make a test and disable the other line, just in case at boot time it creates an error that makes the script aborts..."

This does not change anything to mervlan behavior, it does not start. I may say that i think it is worst than v0.52.7 for this specific behavior: i never see v0.52.8 started correctly at boot time. The previous version was around 50% failure. So i guess with enough traces to follow the normal script operation behavior in the logs, we could see between what points it is going bad as it is never working each boot now?
I have updated the addon and the boot now correctly runs and creates full logs when i reboot (i also suffered the bug before, i just realized too late). Sorry for this pesky boot issue.

I had a problem with the mervlan_update not running correctly on 0.52.8. This can be due to the test enviroment but if you have any issues with that update with this command :
Code:
/usr/sbin/curl -fsL --retry 3 "https://raw.githubusercontent.com/r80xcore/mervlan/dev/functions/update_mervlan.sh" -o "/jffs/addons/mervlan/functions/update_mervlan.sh" && \
chmod 0755 /jffs/addons/mervlan/functions/update_mervlan.sh && \
/jffs/addons/mervlan/functions/update_mervlan.sh update dev

Or just update via the tarball in install.sh


This update also improves the already half implemented STP feature to a full STP that can handle more complex configurations like nodes and trunks.

I have removed the deprecated "persistent" feature and have put the STP option there instead .

The trunk feature has been improved but needs heavy testing. But thats also why it's labeled as an experimental feature. Fun to test, but i would not rely on it yet.

I have improved the help section to include a more detailed help flow. Still under construction, but most of the features are covered there now.
 
@r80xcore
Hi!

Fully install from clean dev v0.52.9. I reconfigured everything from scratch, as usual. 1st boot attemp, it works correctly installed the cron, reapplied the defined vlan, etc. 2nd boot attempt, it did not work with similar behavior as previously. Now searching through syslog in an attempt to identfy the last mervlan related trace i found outside of the event manager...

Thanks
 
@r80xcore
Hi

It looks like this of a fail boot of v0.52.9 for syslog mervlan traces:
Code:
Dec 31 19:00:26 mervlan: Mounting mervlan as user1.asp
Dec 31 19:00:26 mervlan: Logs & folder structure complete!
Dec 31 19:00:26 mervlan: Backup directory created successfully
Dec 31 19:00:26 mervlan: SSH public key not present yet, skipping publish
Dec 31 19:00:26 mervlan: Symlinks created successfully
Dec 31 19:00:26 mervlan: Installed tab 'MerVLAN' under LAN -> user1.asp

Dec 31 19:00:27 mervlan: addon setupenable completed (post-install)
Dec 31 19:00:27 mervlan: Nodeenable skipped (no nodes configured or SSH keys not installed)

and mervlan log looks like trhis after a status request:

Code:
2023-12-31 19:00:27 [INFO] Installed service-event with
MERV_BASE=/jffs/addons/mervlan (setup-only)
2023-12-31 19:00:27 [INFO] Skipping node propagation for 'setupenable'
(MERV_SKIP_NODE_SYNC=1)
2026-02-07 17:26:17 [INFO] Status:
2026-02-07 17:26:17 [INFO] <--- Main Unit --->
2026-02-07 17:26:17 [INFO] RT-AC86U boot=enabled addon=active
service-event=active cron=absent is_node=no
2026-02-07 17:41:25 [INFO] === VLAN Client Collection Started ===
2026-02-07 17:41:25 [INFO] Collecting clients from main router (JSON)...
2026-02-07 17:41:25 [INFO] Collecting VLAN clients (MAC-only) on Main
Router
2026-02-07 17:41:25 [INFO] collect_local_clients:
COLLECTDIR='/tmp/mervlan_tmp/client_collection'
OUT='/tmp/mervlan_tmp/client_collection/main.json'
2026-02-07 17:41:25 [INFO] Detected trunk ports: none
2026-02-07 17:41:26 [INFO] No active clients found on Main Router
2026-02-07 17:41:26 [INFO] ✓ Main router collection completed
2026-02-07 17:41:26 [INFO] No nodes configured in settings.json
2026-02-07 17:41:26 [INFO] Merging JSON results...
2026-02-07 17:41:26 [INFO] ✓ Client collection completed - JSON saved to
 /tmp/mervlan_tmp/results/vlan_clients.json
2026-02-07 17:41:26 [INFO] === VLAN Client Collection Finished ===
2026-02-07 17:41:48 [INFO] Status:
2026-02-07 17:41:48 [INFO] <--- Main Unit --->
2026-02-07 17:41:48 [INFO] RT-AC86U boot=enabled addon=active
service-event=active cron=absent is_node=no


boot_wrap.log

Code:
2023-12-31 19:00:26 [INFO] === boot_wrap invoked: mode=install ===
2023-12-31 19:00:26 [INFO] Flag not found — running install.sh
[install] Mounting web UI page: user1.asp
[install] Creating runtime directories and logs
[install] Runtime symlinks created
[install] Web UI tab installed: LAN -> MerVLAN (user1.asp)
[install] Installing service-event hooks
[install] Service-event hooks installed
[install] Installation complete!
2023-12-31 19:00:27 [INFO] install.sh completed successfully (rc=0)
2023-12-31 19:00:27 [INFO] Flag written: /tmp/mervlan_tmp/flags/.install_ok
2023-12-31 19:00:27 [INFO] === boot_wrap finished: mode=install ===
Thanks
 
Last edited:

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