Is there any way to get Mac OS X to connect to a specific access point by BSSID? I have a network with the same SSID for multiple access points, and I would sometimes like to specify which specific access point to connect to. Is this something Mac OS X can do natively, or is there a third party tool that can do this?
-
If the APs are on the same network, you should be connecting automatically to any in range, right?– Nathan GreensteinJan 26, 2011 at 1:04
-
@Nathan Connecting to the network isn't the problem, it's just one is a G network and one is an N network, and I want to use the N one whenever possible. Changing the SSID is, unfortunately, not an option.– Kyle CroninJan 26, 2011 at 1:06
-
Gotcha. I was missing the g/n bit.– Nathan GreensteinJan 26, 2011 at 1:14
-
Maybe if you dig into the preferences file and try to edit manually . I know for an old powerbook G4 (Mac 10.4.11) I have the airport command line tool "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport" with the --associate and --bssid options available but it seems to be removed from newer releases.– phwdJan 26, 2011 at 23:55
-
1I have the same issue. I solved it from the other end, blocking my Mac's MAC from the undesirable router.– Jamie KitsonJan 1, 2013 at 19:42
4 Answers
What OS X version do you have?
In older versions this is possible:
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -A'NETWORKNAME' BSSID='00:11:22:33:44:55' password='PASSWORD'
But on OS X 10.6 it doesn't work anymore.
I've searched high and low for a solution for this, but haven't found anything yet. The only solution is going closer to your base station. So that the n -signal is stronger.
-
on osx 10.14.1 (mojave) is located in "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport" Nov 19, 2018 at 10:20
-
@AsimRazaKhan But it doesn't fulfill the same function. At least I can't find a way to actually connect to something– deigaNov 26, 2019 at 16:59
An updated version of the airport-bssid tool mentioned in the answer by @Lil'Monster works on OS X El Capitan (10.11). A description of the tool is as follows:
Connect to a specific wifi network, based off BSSID (mac address of Access Point).
usage: ./Build/Release/airport-bssid <ifname> [<bssid>] [<password>]
Connect to specific wireless network on interface, provided by the access point with and password .
If and are excluded, a scan of wireless networks from interface is performed and a list of wireless networks are returned with ssid, bssid, channel, and signal strength details.
-
1Solves my problems on Mojave. It doesn't switch to the BSSID you specify but it does trigger a switch, to the best BSSID in the same ESSID. And it does this much faster than
networksetup
or disable/re-enable wifi to try to achieve the same result (namely, make wifi work when Mac is stubbornly ignoring the strong AP right next to you in favour of the one in the back of the house). Sep 9, 2019 at 23:38
You can use that tool:
-
1
-
@Annhydrium Please add some instructions. Most of the information contained in the README file on that GitHub project is in Japanese. Aug 29, 2016 at 4:17
-
-
The readme is in japanese, and you have to compile it from source, but once you've figured it out, it works as advertised– tbodtOct 8, 2017 at 2:33
-
@tbodt I couldn't get it to work. There may be something I am missing. I downloaded it and compiled it both using the makefile and xcode, neither worked. It claims to have connected to the bssid I want, but macos still doesn't care and tries to connect to the other network May 13, 2018 at 2:53
Short answer - you can not. All hail Apple!
Long answer - https://blog.actorsfit.com/a?ID=01800-0b706cf1-c87d-4514-b3e6-0bcc10d08eb5
-
3Welcome to Ask Different! Hello, yegorov-p. This is considered a "link-only" answer. It would be helpful for future visitors to this question if you would edit in a summary of that page. Links can become broken or outdated so a summary would still provide the necessary information.– agarzaOct 11, 2022 at 17:37