I have few Tasmota IOT devices running on ESP8266 chips. They have some compatibility problem with Asus AiMesh they keep going in loop trying to connect and failing to connect (no error in Asus side, but device thinks it couldn't find the access point.
What I have noticed is if I stop and start the access point, they connect just fine. So I moved them to a guest network so its very easy for me to disable/enable the guest network. Now I want to try doing that every day at a specific time (proactively instead of doing it reactively after seeing the device failures). SO I started looking if there a command I can run in the shell (so it can be added to crontab) which is equivalent of GuestNetwork->Remove/Enable?
Looking at github code, its calling a en_dis_guest_unit (https://github.com/RMerl/asuswrt-me...release/src/router/www/Guest_network.asp#L903). Which is updating some qos based on the guest network number (e.g. second guest network is wl0.2). But my reverse engineering skills aren't deep enough to figure how dis_qos_enable function is actually dealing with interfaces.
Is it ultimately as simple as toggling that interface?
wlceventd_proc_event(491): wl0.2: Deauth_ind 98:F4:AB:EA:CA:6F, status: 0, reason: Deauthenticated because sending station is leaving (or has left) IBSS or ESS (3), rssi:0
wlceventd_proc_event(527): wl0.2: Auth 98:F4:AB:EA:BB:AA, status: Successful (0), rssi:0
What I have noticed is if I stop and start the access point, they connect just fine. So I moved them to a guest network so its very easy for me to disable/enable the guest network. Now I want to try doing that every day at a specific time (proactively instead of doing it reactively after seeing the device failures). SO I started looking if there a command I can run in the shell (so it can be added to crontab) which is equivalent of GuestNetwork->Remove/Enable?
Looking at github code, its calling a en_dis_guest_unit (https://github.com/RMerl/asuswrt-me...release/src/router/www/Guest_network.asp#L903). Which is updating some qos based on the guest network number (e.g. second guest network is wl0.2). But my reverse engineering skills aren't deep enough to figure how dis_qos_enable function is actually dealing with interfaces.
Is it ultimately as simple as toggling that interface?
Code:
merlin@RT-AC86U:/tmp/home/root# ifconfig | grep wl
wl0.1 Link encap:Ethernet HWaddr 0C:9D:92:AA:DD:B1
wl0.2 Link encap:Ethernet HWaddr 0C:9D:92:AA:DD:B2
merlin@RT-AC86U:/tmp/home/root# ifconfig wl0.2 down
merlin@RT-AC86U:/tmp/home/root# ifconfig | grep wl
wl0.1 Link encap:Ethernet HWaddr 0C:9D:92:AA:DD:B1
merlin@RT-AC86U:/tmp/home/root# ifconfig wl0.2 up
merlin@RT-AC86U:/tmp/home/root# ifconfig | grep wl
wl0.1 Link encap:Ethernet HWaddr 0C:9D:92:AA:DD:B1
wl0.2 Link encap:Ethernet HWaddr 0C:9D:92:AA:DD:B2
merlin@RT-AC86U:/tmp/home/root#