My MacBook Pro will not automatically connect to a Wireless network with a hidden SSID. It makes me select the "Join Other Network..." in the Airport menu (in the system tray), where I need to input the name of the network, then security type, password and wait for it to connect. This is becoming increasingly annoying to have to do every time I come back to my desk.

I'm running Mac OS X 10.5 and there doesn't seem to be an option to connect to a specific network, but rather "Preferred Networks." The only network I have set as Preferred that's in range is my home network, and it still doesn't automatically connect. Making the network publicly visible isn't under my control, so I'm stuck with what's currently in place.

Reader's Digest version: How do I make my MacBook Pro automatically connect to a WiFi Network with a hidden SSID without having to "configure" it every time I want to connect?

link|improve this question

feedback

7 Answers

up vote 12 down vote accepted

Automatically connecting to a network with a hidden SSID is a bad idea.

Since your computer cannot passively listen for the SSID broadcast and automatically connect when it sees the SSID (which will not show in the beacon broadcast, since that is how hiding the SSID works), it has to actively send probe packets with the network's SSID, even if it is nowhere near the access point, and wait for a response. This means that, instead of the access point broadcasting its name all the time, you have all computers configured to automatically connect to it broadcasting its name all the time, no matter where they are.

Not to mention that, to be able to roam between several access points with the same SSID, the computer has to know their BSSID (essentially, the AP's MAC address). Usually they do this by listening to the beacons broadcast by the access points. Since the beacons do not have the SSID (hey, it's hidden!), the computer has to periodically send probe requests even if it is already connected to the access point. Making it laughably easy for an intruder to find out the SSID if even one computer is connected to the network. Not to mention the desassociation attacks.

So, it gains almost zero security (it is still way too easy to find the SSID) and loses a bit more security (the client computers constantly announcing to the world "hey, I am a computer belonging to someone who works at company XYZ!" even when nowhere near company XYZ). The net result is negative.

The only way to reduce or even avoid the security loss is to have it connect manually instead of automatically. Which seems to be what Apple is doing. (Windows Vista, from what I recall, warns you of the security issues when you try to set it to automatically connect. The NetworkManager used by most Linux distributions also seems to make you chose the saved connection from a dropdown manually.)

In theory, it would be possible to save the known BSSIDs for each ESSID and only send the probe request when a beacon for one of them is received (that is, when you are near an access point which has in the past been used for that SSID). I do not know why nobody seems to have tried that yet.

link|improve this answer
Related blog post: blogs.technet.com/steriley/archive/2007/10/16/… – CesarB Sep 29 '09 at 3:33
Thank you very much for this, it really opened my eyes. – Zack Sep 29 '09 at 22:25
+1 well put & good info – rennat Apr 20 at 15:05
feedback

I googled, and there are apparently many people in you situation. A promised fix by Apple has never materialized. It seems like the only solution is to unhide the SSID on the router. Please note that nowadays hiding the SSID doesn't protect you from anything.

link|improve this answer
It's sad that Apple would -remove- a feature like that--doesn't make any sense to me. Ah well, time to petition for unhiding the SSID. – Zack Sep 19 '09 at 17:36
feedback

If you "want" you can use a command script and put it to startup or as launch file in the dock: just go to your terminal and save with the following command (with your SSID and key) /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --associate=yourSSID --password=yourkey

Hope this helps some people. If you want to "do" more have a look at: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -h

link|improve this answer
feedback

Hey this is the easiest way to do this Open script editor if you know the network ssid name type this :

do shell script "networksetup -setairportnetwork {server SSID name} {password} | /bin/bash"

. Between the colon and the period is all you need to have in the applescript.

Then save it as an application that is run only. Your done. Now you have an app that will automatically connect to the network when it is opened. If you want to edit the application save a script version as well. Hope that helps.

link|improve this answer
How is this different from selecting the network from the pull-down menu for the airport/wireless? It's still a step that needs to be done "by hand". No? – irrational John Jul 5 '10 at 18:04
feedback

not sure how to respond specifically to irrational John's comment on Jordan Cataldo's answer, so apologies for the new answer. but -- no, iJohn, you can save this applescript, via Script Editor, to an .app that can be placed in the user's Login Items (under Accounts in System Prefs). then, you'll be logged into the hidden network automatically on startup.

based on Jordan's example, i wrote the following script to login to a hidden network that may not be available yet, for the (admittedly rare) case when the server is on the same power strip as the client, and takes a while to start up. museum exhibits have unusual needs ;)

set networkResult to false
repeat while not networkResult
    try

        do shell script "networksetup -setairportnetwork NetworkName networkPassword | /bin/bash"

        -- network found and joined.
        set networkResult to true

    on error errorMsg

        -- network not yet available;
        -- wait five seconds and try again.
        set networkResult to false
        delay 5

    end try
end repeat
link|improve this answer
I still don't see it. This approach might help so long as the MacBook only needs to access this one network. What happens if the owner suspends the MacBook, opens & uses it out of the range of the home network, then suspends again and brings it back home? The script has completed so he'll have to use the Airport menu again, no? Worse, suppose he powers off, travels, then powers up and attempts to connect to a network. This script will be constantly attempting to connect to the "home" network, which I expect disconnects him from any other network. I'm not seeing the value add. – irrational John Jul 16 '10 at 22:15
feedback

All users are right about that hidden SSIDs does not provide major security. However, the point is that this feature does not work in OS X when it works for all other major operating systems: Linux (all kind of distros), all flavors of Windows (2000,XP SP1..3, W7, VISTA, etc) android and so on.

There may be personal preferences to have a hidden SSID or simply an enterprise policy that dictates that SSIDs should be hidden. In the last case the poor users (like me) have to manually configure the network every time they need a wireless connection.

The request is really simple and is to have a feature that should work and it is part of a recognized standard. This reminds me the long time that Apple took to allow Airports AP to have a secured WAP option while forcing all users to use WEP.

Why cant the engineers in Apple provide a simple solution and let the users and companies choose their own connection policies or preferences?

link|improve this answer
feedback

Same problem, same behavior, and worked just as desired a few OSX updates previously (albeit with a debatable net loss of total security exposure - non-issue for me as a private MacBookPro user and security professional, not corporate so disclosure of my wlan SSID is not a target).

The 'real' irritation here is that I can see my network config listed multiple times in advanced network config, but I cannot get OSX to just f'ing connect to one of the saved configs. I must re-enter my full wlan config and WPA2 key each time I restart ... pretty idiotic net result for such a supposedly user-friendly OS. Just one of many retardations re: Apple upgrades breaking functionality.

And this does not address the foolishness of allowing Apple's engineers to determine your best security posture; I'd rather trust my personal info to Microsoft Internet Explorer than Safari!

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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