Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

On Mac OS X, it's easy to use the AirPort GUI to list all WLAN networks (SSIDs) and choose one. But how can I list all access points (base stations) within one network, and manually choose one of them based on its MAC address?

The reason I'm asking is the all-too-common situation in which one of the access points in a network has failed and, e.g., stopped giving IP addresses or routing packets.

On Linux, I could use command line tools like iwlist to list the access points and iwconfig to choose one of them. How can I do something similar on Mac OS X? I'm using a new MacBook Pro and Mac OS X 10.6.4.

share|improve this question
3  
To start: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/air‌​port -s will give you the scan results. sudo networksetup -setairportnetwork en1 "SSID" "Password" joins but does not allow a way to choose a access point based on MAC address. –  Chealion Aug 23 '10 at 23:57

1 Answer 1

up vote 10 down vote accepted
+50

Mac OS X does not provide a way to whitelist or blacklist APs by BSSID or otherwise.

Even if someone were to find/reverse-engineer some private API that could allow a shady tool to specify a BSSID at join time, it still wouldn't help much; since there is no blacklist or whitelist mechanism in the OS, your client could immediately roam to the failing AP if the good AP's signal strength is insufficient, and the failing APs signal strength is enough better.

As @Chealion noted, airport -s lists all the visible APs individually instead of collapsing them by SSID.

I usually do this to put a symlink to the airport command in a directory in my $PATH:

ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport /usr/local/bin/airport

...so that after that I can just issue airport -s.

If you found a third-party 802.11 card, perhaps a USB dongle, that uses its own Mac OS X driver that doesn't leverage any of Apple's AirPort client infrastructure (the IO80211 IOKit family, the Apple80211 private framework, and the "AirPort" GUI pieces), then maybe that product could contain a BSSID whitelist or blacklist feature, but the support for it just isn't there in Mac OS X's built-in 802.11 infrastructure.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.