6

As of today I experience random wifi connection drops on my MacBook Air 2012 that force me to reselect the network every ten minutes. The only recent change to the system was an upgrade to Yosemite. A google search indicated that others have the problem as well, yet as of yet I could not find a solution.

How to fix this issue?

  • Apple released OS X 10.10.1 today which is expected to fix Wi-Fi issues (which was the first entry in the changelog). You might want to give that a try (after updating your backup, of course). – TJ Luoma Nov 17 '14 at 21:24
3

Apple released the 10.10.1 update today, which is supposed to fix many wifi issues.

  • 1
    I have it installed and experienced yet another connection drop today. So wile it may fix it for some, I consider this not a solution for me. – k0pernikus Nov 24 '14 at 14:31
2
+50

Unfortunately I think only Apple can fix this, hopefully with an update to Yosemite (which is reportedly already being tested, but a release date is unknown).

Until then, all I can offer is a workaround.

Find Your WiFi "port"

First you need to find your Wi-Fi port. On a MacBook Air this is probably en0.

On a Mac with built-in Ethernet and Wi-Fi, the Wi-Fi is probably en1.

If you aren't sure, you can use this:

WIFI=`/usr/sbin/networksetup -listnetworkserviceorder |\
egrep Device |\
fgrep Wi-Fi |\
sed 's#.*(Hardware Port: Wi-Fi, Device: ##g ; s#)##g'`

and then do

echo "$WIFI" 

to see what it is.

Use the airport command

Since Snow Leopard (at least) there has been an airport tool at:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Let's call that $AIRPORT for short:

AIRPORT='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport'

So if we put that together, this should be the proper command to tell your Mac to join the strongest Wi-Fi signal available:

${AIRPORT} ${WIFI} prefs JoinMode=Strongest JoinModeFallback=KeepLooking

which is just another way of writing this:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 prefs JoinMode=Strongest JoinModeFallback=KeepLooking

Use launchd

You can automatically run that airport command periodically with launchd.

I have put together the necessary files at https://github.com/tjluoma/airport-autojoin but the idea is this:

  • Use launchd plist in /Library/LaunchDaemons/ (which must be owned by root:wheel)

  • Have that launchd plist watch /Library/Preferences/SystemConfiguration/ for changes

  • Run the above command whenever changes occur.

I am not experiencing this problem in Yosemite, so I cannot guarantee that this will fix it, but it's what I would do to fix it if it kept happening to me.

See the GitHub page for more detailed instructions, including removal.

  • I am not able at the moment to walk myself through this in-depth workaround (I found one myself: use a LAN cable over network USB hub). In case no better answer will come in, I grant you the bounty, yet will not accept this answer for now. – k0pernikus Nov 17 '14 at 14:17
  • +1 to both question and answer - I feel that it will need 10.10.1 to fix. – Tetsujin Nov 17 '14 at 18:58
0

I was having issues all the way through 10.10.4, the following fixed the issue on my Early 2013 MBP.

  • Disable WiFi
  • Open Finder
  • Press Cmd+Shft+G to go to the folder /Library/Preferences/SystemConfiguration/
  • Delete (or move) the following files:
    • com.apple.airport.preferences.plist
    • NetworkInterfaces.plist
    • preferences.plist
  • Restart your computer
  • Re-enable WiFi

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .