You can set NetworkManager to have a default connection. For me I need this to be ppp0.
So in order to do this, first go first into System/Preferences/Network Connections and open the "Wired" tab, and untick the "Connect Automatically" box. Next, go into "Mobile Broadband", in this case edit Verizon connection, and tick the "Connect Automatically" box.
At this point as soon as the default user logs in (assuming you have set a null password for the key ring) NetworkManager fires off this connection.
The problem arises when the connection is dropped. NetworkManager dosen't keep checking the wireless connection to see if it becomes available again. So, issue the command "killall NetworkManager". To test this disconnect from your default wireless connection and issue this command from the prompt, you'll see that NetworkManager automatically reconnects.
So, I wrote the following script to be run from CRON every 10 minutes to have networkmanager autoreconnect;
#!/bin/bash
#This script will restart network manager if it is down.
#It should be attached to a cron job to run every 15 minutes
#determine if we have a non-local IP address. If we do, returns a 1.
isup=`ifconfig | grep inet\ addr | grep -v 127.0.0.1 | wc -l`;
#if no IP, then refresh the connection.
if [ $isup -lt "1" ]; then
{
echo "disconnected...restarting connection";
killall NetworkManager
}
else
{
exit;
}
fi
exit;