MacOS – Can a Mac’s airport card run 802.11 N, G, B or A only

macoswifi

Occasionally it's nice to hard code a wired connection network port to not auto negotiate and force things to be 100 half duplex even though a higher speed is configured and negotiable on the switch.

Can I similarly force airport software and thus the hardware to only run one flavor of 802.11? Can I use the airport command to prefer a higher / lower channel rather than join by signal strength? Might alternative drivers be available or some developer testing tool to exert this level of control over the WiFi chipsets in Macs.

I want to force this on the mac end for cases where I can't control the base stations or want to test a specific channel of a simultaneous dual band router that is live with other traffic.

mac:bin mike$ airport --scan
                            SSID BSSID             RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
                     na ala hele 00:26:36:9c:32:23 -59  2       Y  US WPA(PSK/TKIP/TKIP) WPA2(PSK/AES,TKIP/TKIP) 
                     na ala hele 00:26:bb:79:23:1f -59  2       Y  US WPA(PSK/TKIP/TKIP) WPA2(PSK/AES,TKIP/TKIP) 
                fast na ala hele 00:26:bb:79:23:20 -74  149,+1  Y  US WPA(PSK/TKIP/TKIP) WPA2(PSK/AES,TKIP/TKIP) 
mac:bin mike$ airport --getinfo
     agrCtlRSSI: -75
     agrExtRSSI: 0
    agrCtlNoise: -86
    agrExtNoise: 0
          state: running
        op mode: station 
     lastTxRate: 81
        maxRate: 300
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2-psk
          BSSID: 00:26:bb:79:23:20
           SSID: fast na ala hele
            MCS: 4
        channel: 149,1
mac:bin mike$ ls -l /usr/local/bin/airport 
lrwxr-xr-x  1 root  wheel  89 Sep 13 11:40 /usr/local/bin/airport -> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Best Answer

Maybe this help, you can access to the airport command utility with

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport

Then, type

sudo airport en1 prefs JoinMode=Strongest JoinModeFallback=KeepLooking

JoinMode = Ranked and JoinModeFallback = Prompt are the defaults, if you want to switch back