There is a terminal airport utility in MacOS that can be used for wireless diagnostics. Detailed here: http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/
It can be used, among other things, to put the wireless card of the Mac in monitor mode.
To do this, I first disassociate from the existing AP:
sudo airport -z
Then bind to the channel I want to monitor:
sudo airport -c3
If you then run sudo airport -I, it will confirm for you that the channel has changed. Channel 3 is shown above as an example. You can now start Wireshark or tcpdump to start capturing packets.
However, on my device, Im not able to bind to channels 12 and 13. That is, the following commands don't work:
sudo airport -c13
sudo airport -c12
In both cases, sudo airport -I does not reflect the change. Wireshark continues to report packets from the channel you were previously monitoring (such as channel 3), rather than the channel you are trying to change to (12 or 13)
Channels 1 through 11 work on the device.
How do I fix this?
Note: About the duplicate tag - although Channels 12-13 are not allowed in the US, I live in India. The router has automatically selected channel 13, and it's working for other devices (Android and iOS). The other question, therefore does not answer mine.
Is there perhaps a configuration change that needs to be performed on the Macbook or is there a fundamental compatibility issue with mid-2014 Macbook Air's which is what I'm using.