Good news on the fix in the next release! Any word on timing for the next release?
In the meantime, I have created a little script to change my MAC addresses if it gets disconnected.
REMOTE_IF_IP is the address of the remote wireless interface
WIRELESS_IF is the out interface for the wireless connection (wlan1 in my case)
MAC_ADDRESS_ONE is the MAC address of the card
MAC_ADDRESS_TWO is the alternate MAC address
/system scheduler
add comment="" disabled=no interval=20s name="fix_registration_problem" \
on-event=":if ([/ping REMOTE_IF_IP interface=WIRELESS_IF count=1]!=1) do {:if \
([/interface wireless get WIRELESS_IF mac-address] = \"MAC_ADDRESS_ONE\") do \
{/interface wireless set WIRELESS_IF mac-address=MAC_ADDRESS_TWO} else \
{/interface wireless set WIRELESS_IF mac-address=MAC_ADDRESS_ONE}}" \
start-date=jan/01/1970 start-time=00:00:00
I know this is not perfect, because I am counting on IP connectivity for the connection when I should be looking at the registration list. But I couldn't figure out how to use :find against the registration list to test if an interface is registered (I was getting odd results).
Also note, in my world, 20 seconds my IP connection restores in about 2 seconds. So just to be safe I am running the script every 20 seconds. I haven't experimented with longer or shorter delays in the running of the script - my worry is that if they start coming too fast, we could end up swapping MAC addresses on a good connection. Maybe a delay would work in the do {} statement. Thoughts?
And don't forget to add both MACs as authorized devices if you do some kind of MAC authentication.
Brian