Monday, April 04, 2011

OpenBSD NC4200: .profile script for easy Celcom 3G dialing / disconnecting.

Ok. I'm still testing to get auto proxy setting script. But in the mean time, you can copy and use this simple script to dial/disconnect your Celcom 3G. Feel free to alter the script if you use other telco. I put this one under my ~/.profile, but you can also create a file, paste the script and chmod the script executable.

# This is to dial celcom3g
function celcom3g {
 # Some internal functions
 function celcom3gConnect {
  sudo ifconfig ppp0 create
  pppd call celcom3g
 }
 function celcom3gDisconnect {
  pkill -9 pppd
  sudo ifconfig ppp0 destroy
 }
 # Dialing function
 if [[ $1 = "connect" ]];
  then
   echo "Connecting to Celcom3G...";
   celcom3gConnect;
 elif [[ $1 = "disconnect" ]];
  then
   echo "Disconnect from Celcom3G...";
   celcom3gDisconnect;
 elif [[ $1 = "restart" ]];
  then
   echo "Restarting Celcom3G connection...";
   celcom3gDisconnect;
   celcom3gConnect;
 else
  echo "Usage: $0 [connect|disconnect|restart]";
 fi
}


So if I want to dial to Celcom 3G, I just type celcom3g connect in the console, celcom3g disconnect will disconnect the connection and celcom3g restart will disconnect and connect. Currently celcom3g restart doesn't work properly as I need to implement some pausing after disconnect before reconnecting. So, for the time being, to restart the connection, I disconnect, wait a few seconds (until the USB modem light stop blinking) then connect. I'll update this post with other enhancement if I found any. Also, make sure your pppd script is named celcom3g in your /etc/ppp/peers/ folder. Find my previous post regarding this. Enjoy. Later.

2 comments:

nurgoogle said...

Hi Karl,
Very nice posts.
I am a malaysian needing a crash course in Openbsd. Will you be interested in conducting training sessions?

Nur Ilahi
(nuribnu2001@yahoo.com, 012 2541486)

Karl said...

Unfortunately conducting training is best left to people or organizations which is more knowledgable. This blog is from a newbie.