stepmr Posted February 12, 2009 Share Posted February 12, 2009 Arg. My university is using some fancy new wireless authentication. It can take me up to 4 hours to get an ip. However, If I spend 10 minutes turning off airport, then reconnecting, it will usually obtain an address. I'm not sure how I'd do this in apple script or a shell script... Basically what I want to have happen is this: connect to a specified ESSID wait 10 seconds check my ip with IFconfig every 5 seconds for 45 seconds to see if I pull in an ip that doesn't start with 169 If I pull down an ip that is not self-assigned close the script, else disconnect then repeat ad infinitum... I'm not sure i can do all of this in a bash script... but this is what I've got... i know it doesn't do anything... #!/bin/bash # Setup and variables AIRPORT_BIN="/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport" MY_ESSID="EXAMPLE" IF_BIN="/sbin/ifconfig" IFACE="en1" # script # I need some conditional statements here, I'm sure how to do it... # basically if my ip starta with 169 I know its self assigned... unless there is a more efficient way of finding this out # to get my IP i figured I;d use this ifconfig $IFACE | grep "inet " | cut -d\ -f2 # disconnect from airport $AIRPORT_BIN -z # I know I don't need this, it's just laggy sleep 15 # Reconnect $AIRPORT_BIN --associate=$MY_ESSID # wait 45 seconds to see if it pulls in a proper ip sleep 45 I know its not much.... but any help would be greatly appreciated... Link to comment Share on other sites More sharing options...
Recommended Posts