I spent four hours trying to connect to the WiFi router to do some work to no avail. With my Android Phone, I had the option of using WiFi Analyzer to do some trouble shooting.
My router was on Channel 13
It seemed there were many access points (AP) stacked on channel 13 of the 2.4 GHz WiFi band, which was where my router was also broadcasting as an AP. I thought this overcrowding on one channel was the reason my Mac could not see my router even though my phone and Nexus 7 tablet had no problems picking it up.
A few days later, I had to connect again to the router but encountered the same problem, even though I managed to connect in the afternoon previously. I then clued in that I was actually unable to connect only when the router happened to be on channel 13. My afternoon connection was possible because my router was on another channel.
There is no way to manually set a country code
After some research, I discovered that the problem was with my WiFi card’s country code. If the country code was set to a US code, then it would prohibit connection to channels over 11.
The Wi-Fi regulatory domain (country code) is set by polling the first access point within range, whether connected or not.
According to the Apple discussion forum, “the Wi-Fi regulatory domain (country code) is set by polling the first access point within range, whether connected or not. You don’t have any direct control over it on the client.”
If you would like to see more information on the AP your MacBook’s WiFi card is viewing, use the command
(all on one line)
A US Country Code won’t allow connections to channels above 11
In my case, even though I am in Thailand, the first router my MacBook saw was one with a US country code, thus rendering my MacBook unable to access channels higher than 11.
I found some tips on Google that suggest changing your locale, via the language and region setting, and rebooting. I did change it to Thailand and Singapore to no avail. I even changed it to Japan which allows channels 1 through 14 with no positive results.
It would seem the idea that the WiFi country code is changed to the first AP that the WiFi card detects is correct.
I Just confirmed that the first country code that the WiFi card detects is the code it uses for itself.
I am currently set to GB (Great Britain) as that’s the first code it detected and I’m connected on channel 13!
The fact that I connected now confirms two things.
- My card in fact can access channel 13.
Indeed the problem is with setting the WiFi card to the first country code it detects.
This has to be the most retarded way of setting a WiFi country code that would restrict you from using WiFi. Given that the telecommunication bands are already a pain to deal with when traveling – US/Canada uses 850/1900 while most of the rest of the world uses 900/2100 – giving us more trouble with WiFi … needless trouble … is ridiculous.
Meanwhile, my US purchased Nexus 7 tablet doesn’t seem to have a problem connecting.
There are some solutions to this problem that might help you. Unfortunately I can use none of them.
- Change the channel on the AP. If you have access to the AP, force it to broadcast on channel 11 or below instead of using the auto setting.
- Eliminate the US based router. Again, this only works if you can turn off the router or replace it.
Essentially my situation requires a solution on the MacBook end, and not by making the AP compliant with the MacBook.
Apple dropped the ball on this one. Please fix this, OSX people!
Have you encountered the same problem? How did you solve your “Channel 13” MacBook problem?