Thursday 11 July 2013

Work around to fix the wifi issue on OS X Mavericks (DP versions)


Since Apple released the developer preview of the next OS X system Mavericks I cannot wait to try it on my old Mac Book Pro (2010 version). Although lots of people complaining that they constantly keep dropping wifi connection I had no issues at all until I upgraded the system to the DP 3 - wifi connection keeps dropping on my Mac.

There isn't a solution to fix the wifi issue after searching google for the solutions and I definitely don't want to rollback to Mountain Lion because the new memory compression feature works great on my machine with 8G memory. Usually I don't switch off the Mac but only put it to sleep mode and over time the 8G memory will be 100% used plus over 2.5G swap space used. This never happend again after it upgraded to Mavericks.

After the WIFI dropped I have to reconnect to the wifi point so I can access the network. As there isn't a proper solution to fix the issue and reconnect the wifi network will work the trick, why not automate it?

The easiest way to reconnect the wifi is run the command 

ipconfig set en1 DHCP

We can use the cron job to run this command automatically every minute, however, we only want to run it after the connection dropped. So we need some intelligent to do that


# replace 10.0.0.1 to your router ip address
count=`ping -c 2 10.0.0.1 | grep icmp | grep timeout | wc -l`; if [ $count != 0 ]
then
    ipconfig set en1 DHCP
 # it tells you when the network was reset
    osascript -e 'tell app "Finder" to display dialog "Reset Wifi Connection From cron Job."'
fi

You can either put the code into one script and configure the cron to execute it every minute or just compile the code to one single line and past it on the cron job. I chose the second option:


# temperary fix the wifi dropping issue on OSX Mavericks
# replace 10.0.0.1 to your router ip address
* * * * * count=`ping -c 2 10.0.0.1 | grep icmp | grep timeout | wc -l`; if [ $count != 0 ]; then ipconfig set en1 DHCP;osascript -e 'tell app "Finder" to display dialog "Reset Wifi Connection From cron Job."' ; fi

the osascript -e 'tell app "Finder" to display dialog "Reset Wifi Connection From cron Job."' will notify you the network was reset with a popup message on the Finder window so you will remember to delete the job from cron once that's fixed by Apple.

6 comments:

  1. Nice article. I like Apple technology. In fact all the technologies made by Apple. It is quite sophisticated in the market and develop the things for the customers' point of view.

    Regards,
    Silvester Norman
    Change MAC Address

    ReplyDelete
  2. Oh wow, what a great workaround. Funnily enough, Mavericks seems to have fixed the wifi problems I was having before on my 2009 macbook pro, but I've bookmarked this in case it comes up again.

    ReplyDelete
  3. Modex - same here! I have a 2009 imac that dropped many times a day. The only way to get it back was to manually click turn wifi off and then click wifi on. Really annoying if streaming. Made some game unplayable. With Mavericks I can see it drops sometimes but it picks up again within a second and doesn't disrupt my streaming/life.

    ReplyDelete
  4. Damn...we're on the same boat..ever since I upgraded to Mavericks this stupid wifi keeps dropping :(

    ReplyDelete
  5. bookmarking the blog hope to find this kind of solutions for other problems

    wifi en eventos

    ReplyDelete
  6. Where am I supposed to know where to edit/type this stuff? You don't explain anything in this article, and on top of it, the "code" that looks like what I'm supposed to copy/paste, has your own writing in it -.-

    ReplyDelete