Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Force wifi to specific BBSID. (force 5ghz)

Hello,

I've been trying to find a solution for last two days about a problem I found using Yosemite on my Macbook Air.

I'm sometimes in conferences where there are a lot of people connected to the same router (which is probably the closest determined by every OS) and this router has the same name where ever you go in the building, so anywhere you go you get instant connected to it. Problem is that in conference rooms everyone seems to be connected to the same router which becomes really slow.


There I decided to think: What if I force my mac to connect to another router (others are not that far) maybe I will get a better connection and will not get my VPN disconnected every 5 minutes.


So I did search over the internet and first found the following commands:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport --associate=XXX --bssid=YYY

xxx= SSID/network name yyy= BSSID

The problem is that this command won't work on OS X versions before OS X 10.6, I get an error like (invalid command --associate)... (alright......)


So I found another guy who talked about forcing to connect to a specific canal using this command (let's start some annoying fixing ok..):

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport --channel=num

num= the canal number (ex: 6, 12, 1)

I did try that last one, without any success.


I'm currently at home, my ISP is Orange and we get a router that supports 2.4 and 5ghz at the same time on different canals but both use the same SSID/network name. When I get close to my router and restart wifi my mac will connect to 5ghz, but when I will go farer and get a -70 RSSI (or more) it will automatically connect to 2.4ghz.

Some people said that they contacted Apple support and this one said that there was no way to connect to connect to the BSSID you want, this is like that.

Can someone confirm?





What came in my mind is: Am I safe?

What annoys me on my macbook is that when I open it, it wakes up and immediately connect to Wifi routers I previously logged on, but ONLY using SSID (network name)!!!

(ex: I can connect to McDonalds public wifi hotspot from one place, if I go to another McDonald it will automatically connect to that one!)

So immediately you think: What if a hacker creates a fake wifi hotspot with name "Company XXX Wifi", my macbook will probably get connected to it (my company has no wifi password) and what if that hacker is rooting this hotspot to the real company one which gets internet/intranet, I will open safari and browse personal informations without even knowing I'm on the fake hotspot! and all my data will go clearly through the hacker)


I can understand it is easier to make it work this way, but what about enterprises?

Is there is a way first, to disable that insecure "auto-connect to known SSID" feature but BSSID instead? (even if it is spoof-able but it makes a layer of protection against hackers kiddies)

Or even to have to choose to connect back or not when you open your computer from sleep?


And of course: How the **** do you select a specific network that has the same name?!

MacBook Air, OS X Yosemite (10.10.1)

Posted on Jan 18, 2015 7:12 AM

Reply
Question marked as Best reply

Posted on Feb 1, 2017 1:51 AM

Hi,


Just tried it and it worked brilliantly with macOS Sierra (10.12.3).


A few tips:

1 - make sure to download the binary file.

2 - grant execution permissions in Terminal (chmod a+x /path/to/airport-bssid)

3 - the interface name to use in the command should be en0, not eth0

4 - if you execute './airport-bssid en0' first, it will scan the network for you, so you can copy-and-paste the BSSID

5 - when executing './airport-bssid en0 BSSID password', make sure to enclose the password in quotation marks.


Hope this helps,

Fabrizio

24 replies
Question marked as Best reply

Feb 1, 2017 1:51 AM in response to rccharles

Hi,


Just tried it and it worked brilliantly with macOS Sierra (10.12.3).


A few tips:

1 - make sure to download the binary file.

2 - grant execution permissions in Terminal (chmod a+x /path/to/airport-bssid)

3 - the interface name to use in the command should be en0, not eth0

4 - if you execute './airport-bssid en0' first, it will scan the network for you, so you can copy-and-paste the BSSID

5 - when executing './airport-bssid en0 BSSID password', make sure to enclose the password in quotation marks.


Hope this helps,

Fabrizio

Sep 22, 2017 10:53 AM in response to fabric73

The command to connect to a particular BSSID works great for me, but it doesn’t seem to maintain after sleep. I have to run it again. Mind you, I did not use quotation marks for the password. Could this be the issue? It would be nice to permanently associate a particular BSSID with an SSID ( that is tell it never to connect at 2.4GHz for a particular wifi router). I am using OSX 10.12.x. This is for an iMac that really flies on 5GHz but crawls at 2.4GHz, so I am trying to have it never use 2.4.


Philip

Sep 22, 2017 8:53 PM in response to pmcdunnough

pmcdunnough wrote:


The command to connect to a particular BSSID works great for me, but it doesn’t seem to maintain after sleep. I have to run it again. Mind you, I did not use quotation marks for the password. Could this be the issue? It would be nice to permanently associate a particular BSSID with an SSID ( that is tell it never to connect at 2.4GHz for a particular wifi router). I am using OSX 10.12.x. This is for an iMac that really flies on 5GHz but crawls at 2.4GHz, so I am trying to have it never use 2.4.


Philip

You could maybe write an AppleScript or Automator app and put it in your System Preferences -> Users & Groups -> Login Items, so it runs after you boot and login to your Mac. If you auto-login, then it will run as it is bring up your desktop after boot.

Sep 23, 2017 9:40 AM in response to pmcdunnough

pmcdunnough wrote:


I did make an Automator app and put it into the login items. That works but the moment the iMac sleeps it seems to revert to channel 11. I then have to run the app again. Not difficult but not ideal.

SleepWatcher

<http://www.bernhard-baehr.de>

can run shell code when your Mac wakes up. I a few weeks ago, I tested it on Sierra for another reply that needed to perform a tasks at sleep or wake

Aug 31, 2016 1:10 AM in response to benmorrow

You will find your answer to that question here. If you scroll down on that page, you will find an article how to connect to networks, Use Multiple Network Locations with your Mac, the principle that I use to connect in a big building with one of our deployments to connect to specific networks.


When used correctly, it will connect to the specific network every time, even with stronger signals present.


Ideally, one should start an own threat with your own problem.


HTH


Leo

Sep 1, 2016 10:02 AM in response to Leopardus

Hi Leo, unfortunately, that doesn't resolve the problem we're facing. For vwssl, Greg, and myself, we're all facing the same concern: all the access points have the same SSID name. They run in both 2.4 GHz and 5 GHz so there isn't a way to differentiate speed by SSID name. In addition each access point has its own performance limitations based on the number of active connections and the download speed of the cable connection. In my case, its even more drastic because access point nearest to me broadcasts its SSID but the internet connection doesn't work at all. We want to connect to a different access point by BSSID (MAC address) but can't figure out how to do that. Your link about locations seems like it would be good if you need to connect to a different SSID name. That doesn't work for us because all the access points have the same SSID. If I'm missing something from the link, please let me know.

Nov 28, 2016 3:41 PM in response to talktozee2

You could try this open source solution:

https://github.com/qpSHiNqp/airport-bssid


Use google translate to check out.


In Nihongo (also a little propaganda)

Recent Mac airport command can not connect to AP with BSSID specification. qpSHiNqp the Interop Tokyo when had participated as STM in 2013, it has created a tool that can be Assoc in BSSID is specified because this it was troubled by the cause.

Interop Tokyo has a huge huge exhibition network called ShowNet and a huge number of APs used by visitors and exhibitors etc. are installed.These APs are blowing WiFi of several different policies Of course, things of the same policy are offered with the same ESSID (usually called SSID) ESSID is a type of hidden / encapsulation that allows users to use WiFi without being aware of individual AP settings Meanwhile, since the task of conducting the connectivity test at the individual AP level also occurs as in the case of the network construction unit, the Association at the BSSID level is carried out from the relation between the AP and the BSSID obtained beforehand It is desirable that communication checking is possible at the AP level.

From such circumstances, I raised the tools I made in 2013 to github, but for some time over the past few months, issue reports from foreign users got up and finally the network construction period of Interop Tokyo 2016 also started I thought that I will maintain it for a long time, so I think that there are incomplete parts, but if you find a bug, please report Issue, if you like it, Star will be my best pleasure, especially , Issue report from Makuhari group responds as much as possible on the same day. Please do your best this year as well.

Force wifi to specific BBSID. (force 5ghz)

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.