Author: justin
Date: 2005-08-11 17:16:51 -0600 (Thu, 11 Aug 2005)
New Revision: 567
Modified:
x86/trunk/scripts/net-setup
Log:
Added GPRS modem configure, dial and hangup options to net-setup script. Next
up is normal modem ppp setup.
Modified: x86/trunk/scripts/net-setup
===================================================================
--- x86/trunk/scripts/net-setup 2005-08-11 16:57:06 UTC (rev 566)
+++ x86/trunk/scripts/net-setup 2005-08-11 23:16:51 UTC (rev 567)
@@ -120,7 +120,66 @@
fi
}
-#
+# GPRS Device options
+set_gprs_cfg(){
+ # Default values (only apply on first run-through, meaning GPRS_OK
doesn't exist)
+ if [ -z "$GPRS_OK" ] ; then
+ F_DEVICE=\/dev\/ttyS1
+ F_SPEED=115200
+ F_SETTING=1
+ fi
+
+ DLG_COMMAND="dialog --title \"GPRS Device Configuration\" --no-cancel \
+ --form \"Please enter the GPRS device details below. The default value
for the setting number is 1.\" 0 0 4 \
+ \"APN:\" 1 1 \"$F_APN\" 1 25 30 0 \
+ \"Device:\" 2 1 \"$F_DEVICE\" 2 25 20 0 \
+ \"Speed:\" 3 1 \"$F_SPEED\" 3 25 10 0 \
+ \"Setting Number:\" 4 1 \"$F_SETTING\" 4 25 4 0"
+ SELECTION=`eval $DLG_COMMAND 3>&2 2>&1 1>&3`
+
+ STATUS=$?
+ if [ "$STATUS" -ne 0 ] ; then
+ exit 1
+ fi
+
+ unset F_APN F_DEVICE F_SPEED F_SETTING
+ eval "`echo "$SELECTION" | sed -e '1s,^,F_APN=",' -e
'2s,^,F_DEVICE=",' \
+ -e '3s,^,F_SPEED=",' -e '4s,^,F_SETTING=",' | sed -e 's,$,",'`"
+
+ # Validate entries (All values are required.)
+ GPRS_OK=1
+ if [ -z "$F_APN" -o -z "$F_DEVICE" -o -z "$F_SPEED" -o -z "$F_SETTING"
] ; then
+ GPRS_OK=0
+ GPRS_ERRMSG="All fields are required to setup your GPRS device."
+ fi
+
+ if [ "$GPRS_OK" -eq 1 ] ; then
+ # Make a backup and restore before changes, so the sed's work
correctly.
+ [ -f /etc/ppp/peers/gprs.orig ] || cp /etc/ppp/peers/gprs
/etc/ppp/peers/gprs.orig
+ [ -f /etc/ppp/gprs.chat.orig ] || cp /etc/ppp/gprs.chat
/etc/ppp/gprs.chat.orig
+ cp /etc/ppp/peers/gprs.orig /etc/ppp/peers/gprs
+ cp /etc/ppp/gprs.chat.orig /etc/ppp/gprs.chat
+
+ # Alter /etc/ppp/peers/gprs file.
+ sed -i -e "[EMAIL PROTECTED]@[EMAIL PROTECTED]" -e
"s@/dev/[EMAIL PROTECTED]@g" \
+ -e "[EMAIL PROTECTED]@[EMAIL PROTECTED]"
/etc/ppp/peers/gprs
+
+ # Alter /etc/ppp/gprs.chat (advanced setting)
+ sed -i -e "[EMAIL PROTECTED]@[EMAIL PROTECTED]" \
+ -e "[EMAIL PROTECTED]@[EMAIL PROTECTED]"
/etc/ppp/gprs.chat
+
+ unset F_APN F_DEVICE F_SPEED F_SETTING DLG_COMMAND STATUS
+ unset SELECTION GPRS_OK GPRS_ERRMSG
+ else
+ DLG_COMMAND="dialog --title \"GPRS Validation Error\" \
+ --msgbox \"$GPRS_ERRMSG\" 6 60"
+ eval $DLG_COMMAND
+ set_gprs_cfg;
+ fi
+}
+
+
+# Main Menu for Network Devices
net_service_menu(){
# Remove previous config, so ifup won't get confused.
rm -f $ETHXCFG
@@ -168,11 +227,54 @@
adsl-setup
;;
*)
- exit 0;
+ exit 0
;;
esac
}
+# Main Menu for ppp modem devices
+ppp_modem_menu(){
+ echo "Modems will be supported soon."
+}
+
+# Main Menu for ppp gprs devices
+ppp_gprs_menu(){
+ unset ARGS
+ ARGS="$ARGS configure \"Configure your GPRS device.\""
+ ARGS="$ARGS dial \"Dial GPRS device and exit.\""
+ ARGS="$ARGS hangup \"Hang up GPRS device and exit.\""
+
+ DLG_COMMAND="dialog --title \"GPRS Device - Actions\" --default-item
configure \
+ --menu \"Select the action to perform for your GPRS device:\" \
+ 0 0 0 $ARGS"
+ SERVICE=`eval $DLG_COMMAND 3>&2 2>&1 1>&3`
+
+ unset DLG_COMMAND ARGS
+
+ case "$SERVICE" in
+
+ configure)
+ set_gprs_cfg;
+ ;;
+
+ dial)
+ [ -e /dev/ppp ] || mknod /dev/ppp c 108 0
+ modprobe ppp-generic ; pppd call gprs
+ exit 0
+ ;;
+
+ hangup)
+ killall pppd
+ exit 0
+ ;;
+ *)
+ exit 0
+ ;;
+ esac
+
+ ppp_gprs_menu;
+}
+
# Script starts here. Check for root user.
if [ `whoami` != "root" ] ; then
echo "You must be root to use $0"
@@ -193,7 +295,8 @@
EDEVSTATUS="DOWN"
fi
DEVLIST="$DEVLIST `basename $EDEV` \"$EDEVSTATUS\""
-done
+done
+DEVLIST="$DEVLIST ppp-modem \"Configure a dial-up Modem\" ppp-gprs \"Configure
a GPRS Modem\""
DLG_COMMAND="dialog --title \"Network Configuration\" --default-item eth0 \
--timeout 20 --menu \"Select the network device to configure:\"
\
@@ -203,6 +306,16 @@
# Continue if device was selected, exit if otherwise.
if [ -n "$DEV" ] ; then
+ if [ "$DEV" == "ppp-modem" ] ; then
+ ppp_modem_menu;
+ exit 0
+ fi
+ if [ "$DEV" == "ppp-gprs" ] ; then
+ ppp_gprs_menu;
+ exit 0
+ fi
+
+ # If not ppp-modem or ppp-gprs, then network device to configure
set_devvars;
if [ -n "$LINKTEST" ] ; then
--
http://linuxfromscratch.org/mailman/listinfo/livecd
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page