qpSHiNqp / airport-bssid

If you want to get associated to a specific bssid with Mac OS, use this one.
107 stars 34 forks source link

Doesn't work with El Capitan #3

Open engintekin opened 8 years ago

engintekin commented 8 years ago

It associates the wifi with the network but somehow El Capitan doesn't respect that. In my case before associating with the network I'm first changing the wifi channel to the network's channel that I want to connect (e.g. if it's channel 1 airport -c1) and it's working this way.

Thanks for this repo.

qpSHiNqp commented 8 years ago

Thanks for your report. It's my pleasure if my work would be helpful to you. Though the program in this repo is not fully tested with El Capitan at this moment, I'll look into the issue.

therealssj commented 8 years ago

In my case it doesn't work even after changing the channel :(

MoritzFago commented 8 years ago

For me it works fine, just sometimes it doesn't find the right network, but if i scan than with /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport scan it works fine. OS: El Capitan 10.11.4 on a MacBook Pro Retina late 2013.

EDIT: corrected typo from 10.10 to 10.11

engintekin commented 8 years ago

@therealssj I guess it was just a coincidence for that day because it stopped working for me too.

qsub commented 8 years ago

Sorry for the dumb question but I downloaded the build file airport-bssid and tried executing it in terminal, it just says command not found.

I assume I am doing something wrong?

therealssj commented 8 years ago

@qsub ./airport-bssid not airport-bssid

weltonrodrigo commented 8 years ago

Worked for me with sudo.

OS X 10.11.1 (15B42) MacBook Pro (15-inch, Early 2011)

drummwill commented 8 years ago

exactly what did you have to punch in to make it work?

terminal says it ran successfully, but when i hold down alt and click on the wifi in the menu bar it's still connecting to the old BSSID

weltonrodrigo commented 8 years ago

I'm sorry. It do not always work.

What I think make my chances better was to manually disconnect from any ap, and run with sudo.

I think osx has influence here, maybe it will disconnect if the ap faild to respond in time, bit I'm just guessing here.

I do not have the means to try it now, but when I have, I'll let you know.

Em seg, 16 de mai de 2016 19:06, Will notifications@github.com escreveu:

exactly what did you have to punch in to make it work?

terminal says it ran successfully, but when i hold down alt and click on the wifi in the menu bar it's still connecting to the old BSSID

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/qpSHiNqp/airport-bssid/issues/3#issuecomment-219562991

qpSHiNqp commented 8 years ago

Hi, I updated my OS to El Capitan and I'm digging into airport-bssid bugs. I'm just confused about what are the problems, so please let me sort them out.

  1. AP scan does not always succeed
  2. New trial of association fails or stays in old BSSID even when airport-bssid command says success That's it? or something else?

After I tried airport-bssid on El Capitan, I feel like that problem 1 is not what we can debug, because the problem seems to come from AP beacon interval spec or something like that. Problem 2 is now under investigation, but I can't reproduce the problem so far.

Some methods are deprecated in new OS, so I updated codes a little and committed it.

benmorrow commented 8 years ago

I'm trying to run this on El Capitan. In terminal I try:

./airport-bssid xfinitywifi 20:...

I trimmed the MAC address here for privacy. The result I get back is:

The interface is down. Please activate the interface before connecting to network!

My WiFi connection is turned on and that network is available:

screen_shot_2016-08-28_at_9_36_23_pm

Any ideas?

mnadel commented 8 years ago

This is what I'm seeing on El Capitan.

First I disassociate, then connect to a specific BSSID. It reports I'm connected to it, but the status shows differently.

$ sudo airport -z
$ airport -I
     agrCtlRSSI: 0
     agrExtRSSI: 0
    agrCtlNoise: 0
    agrExtNoise: 0
          state: init
        op mode:
     lastTxRate: 0
        maxRate: 0
lastAssocStatus: 65535
    802.11 auth: open
      link auth: wpa2-psk
          BSSID: 0:0:0:0:0:0
           SSID:
            MCS: -1
        channel: 1
$ sudo airport-bssid en0 bc:ae:...
Notice: The interface en0 is in none phyMode.
***** Scanned networks *****
                   ESSID,             BSSID,  Ch, RSSI(dBm)
                Rancilio, 0c:51:...,   6, -52
                Rancilio, bc:ae:...,  11, -59
                Rancilio, 0c:51:..., 132, -65
****************************
Associated to network "Rancilio" (BSSID: bc:ae:...)
$ airport -I
     agrCtlRSSI: -69
     agrExtRSSI: 0
    agrCtlNoise: -93
    agrExtNoise: 0
          state: running
        op mode: station
     lastTxRate: 264
        maxRate: 1300
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2-psk
          BSSID: c:51:...
           SSID: Rancilio
            MCS: 2
        channel: 132,80
adamurban commented 8 years ago

I am seeing the same issues.. running El Capitan 10.11.6 currently. I downloaded + copied the latest source from here without issue. When I run it, like this:

`$ sudo ./airport-bssid en0 BB:BB:BB:BB:BB:BB XXXXXXXX Notice: The interface en0 is in 802.11n phyMode. * Scanned networks * ESSID, BSSID, Ch, RSSI(dBm) Hotel, AA:AA:AA:AA:AA:AA, 2, -69 Hotel, BB:BB:BB:BB:BB:BB, 2, -73


Associated to network "Hotel" (BSSID: BB:BB:BB:BB:BB:BB)`

However, when I hold the option key and click the Wifi icon in my menu bar, I still see my computer associated with the old AA:AA:AA:AA:AA:AA BSSID. (in addition, this connection fluctuates, so it likes to switch frequently.. how can I make it only ever connect to the one I specify and ignore all others until I say otherwise?)

koppenhoefer commented 7 years ago

Here are my 2cents worth... I have sporadically succeeded to 'connect' to an 11ac BSSID with option-click on the WIFI showing the expected TxRate despite it saying the PHYmode was 802.11n. However it was unusable to me... configured as I am as a DHCP client; The router would not give me an appropriate IP Address and all that jazz. I wonder if it is because this WPA Enterprise? hmm.

danjargold commented 7 years ago

anyone come right with this or find an alternative?

kopfpolster commented 7 years ago

Same issue here. always

The interface is down. Please activate the interface before connecting to network!

does someone have a solution?

BenjaminJon commented 7 years ago

Per @weltonrodrigo comment, I did the following on Sierra (10.12.6)

Cloned the repo cd .../Build Alt-Click on WiFi Icon, turn off WiFi run ./sudo ./airport-bssid en0 MyBSSID MyPassword Alt-Click on WiFi Icon, verified that I am connected to the desired BSSID

Moorviper commented 7 years ago

yes, compiled it today and tested on eduroam AP's and it works again :D MBP ret late 2015 10.11.6

vinodc commented 6 years ago

Same issue on El Capitan even after compiling from source and stepping through it in XCode. associateToNetwork appears to entirely ignore the BSSID provided for some reason, if there is an SSID with the same name and a stronger signal that is preferred.

@qpSHiNqp Since you updated to El Capitan, were you able to reproduce that issue?

ui-ben-buckley commented 6 years ago

I've actually found the operation to be intermittent. Sometimes it works, sometimes not. When it does work, the setting will only persist for a period of a few minutes. My guess is that macOS is just overwriting the setting with it's own WiFi manager. Would probably need a way to disable it all-together in order to get this to work reliably and consistently.

vwade commented 4 years ago

For many here, it seems that they are likely using the WPS easy <password> method.

I would like to know and understand if anyone using WPA2, which requires <username> and <password>, has gotten airport-bssid to work with it. The password option alone doesn't allow me to connect with my credentials. New method requested, please. Thanks!!

Airport info for one of the access points.

Command $ airport -I

     agrCtlRSSI: -63
     agrExtRSSI: 0
    agrCtlNoise: -83
    agrExtNoise: 0
          state: running
        op mode: station
     lastTxRate: 300
        maxRate: 300
lastAssocStatus: 0
    802.11 auth: open
      link auth: wpa2
          BSSID: 0:f6:63:cd:4b:2f