Recently I found an issue with my asus wl-500w wi-fi router that I wasn’t able to change the channel on which it was transmitting. I moved to a new location which was totally jam-packed with other wi-fi networks using same channel as mine which was hampeing my connection. I tried for umpteen number of times. Changing the channel through the web configuration did not give any error but I found that it was still transmitting at channel 1. I confirmed by checking on the “Status & Log” page, checking the logs, and running “wl status” command through ssh and they all confirmed that it was transmitting at channel 1 only, no matter what I set it to in the configuration. I even opened an issue in the firmware project for the custom firmware (by oleg and lly) that I am using but they weren’t able to help me as the wi-fi drivers are binary only.
But by sheer chance, I stumbled upon the solution finally by trial and error. The solution is that you should set the “Bandwidth” to 20 MHz in wi-fi configuration if you are using 802.11 G. If you set it to 40 MHz then it gets stuck somehow but as soon as I changed it to 20 MHz, I was able to see the channel change immediately after reboot. Here is the screenshot of the page where you can find this setting.