<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">I’m seeing problems with our wifi driver. If I stop, start, change modes, etc, etc, after a while it just seems unwilling to connect to access points. Even ‘wifi scan’ seems to stop working. A ‘module reset’ resolves the problem.</div><div class=""><br class=""></div><div class="">I think the issue may be our use of init/deinit to continually load and unload the driver (and the associated two tasks), in a similar way to the mdns issues we had.</div><div class=""><br class=""></div><div class="">I suggest to change as follows:</div><div class=""><br class=""></div><div class=""><ol class="MailOutline"><li class="">Use the power control not-off / off to init / deinit the driver. Whenever the wifi mode is set (client, ap, scan, etc), power it on automatically. But don’t stop it unless explicitly told to by the user (power wifi off). Even ‘wifi mode off’ won’t unload the driver.<br class=""><br class=""></li><li class="">Then use the existing commands ‘mode, scan, client, apclient, ap, etc’ to start / stop the actual wifi.</li></ol></div><div class=""><br class=""></div><div class="">This will mean that we will take a memory hit when we first start the wifi, and even ‘wifi mode off’ won’t free that memory. You would need to do a ‘power wifi off’ to do that. But, the upside is that we won’t be continually loading and unloading the wifi driver (which seems to be causing the issues).</div><div class=""><br class=""></div><div class="">I’ll try it tonight, as my home is one of the areas I’m having the most problems with wifi. If it looks like it might break things, I’ll put it in a branch.</div><div class=""><br class=""></div><div class="">Any comments / suggestions are welcome.</div><div class=""><br class=""></div><div class="">Regards, Mark.</div><div class=""><br class=""></div></body></html>