diff options
Diffstat (limited to 'mageia/network-scripts')
-rw-r--r-- | mageia/network-scripts/cellular.d/.keep | 0 | ||||
-rw-r--r-- | mageia/network-scripts/hostname.d/.keep | 0 | ||||
-rwxr-xr-x | mageia/network-scripts/ifdown-hso | 57 | ||||
-rwxr-xr-x | mageia/network-scripts/ifup-hso | 78 | ||||
-rwxr-xr-x | mageia/network-scripts/ifup.d/vpn/vpn-ifdown | 8 | ||||
-rwxr-xr-x | mageia/network-scripts/ifup.d/vpn/vpn-ifup | 8 | ||||
-rw-r--r-- | mageia/network-scripts/wireless.d/.keep | 0 |
7 files changed, 151 insertions, 0 deletions
diff --git a/mageia/network-scripts/cellular.d/.keep b/mageia/network-scripts/cellular.d/.keep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mageia/network-scripts/cellular.d/.keep diff --git a/mageia/network-scripts/hostname.d/.keep b/mageia/network-scripts/hostname.d/.keep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mageia/network-scripts/hostname.d/.keep diff --git a/mageia/network-scripts/ifdown-hso b/mageia/network-scripts/ifdown-hso new file mode 100755 index 00000000..0cedb00e --- /dev/null +++ b/mageia/network-scripts/ifdown-hso @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/init.d/functions + +cd /etc/sysconfig/network-scripts +. ./network-functions + +CONFIG=${1} + +source_config + +[ -z "$CELLULAR_CID" ] && CELLULAR_CID=1 +[ "${DEBUG}" = "yes" ] && CHATDBG="-v" + +CHATSCRIPT=`mktemp /tmp/chatXXXXXX` +cat > $CHATSCRIPT <<EOF +ABORT ERROR +TIMEOUT 5 +"" ATZ +OK "AT_OWANCALL=${CELLULAR_CID},0,0" +OK "" +EOF + +if ! /usr/sbin/chat ${CHATDBG} -s -f ${CHATSCRIPT} < $MODEMPORT > $MODEMPORT; then + echo $"Disconnect script failed (HSO)" +fi + +# ask status (it also waits for device state to be cleaner) +# do not fail if status querying fail +cat > $CHATSCRIPT <<EOF +ABORT ERROR +TIMEOUT 2 +"" ATZ +OK "AT_OWANDATA=${CELLULAR_CID}" +EOF +/usr/sbin/chat ${CHATDBG} -s -f ${CHATSCRIPT} < $MODEMPORT > $MODEMPORT + +rm -f $CHATSCRIPT + +ip addr flush dev ${DEVICE} 2>/dev/null +ip link set dev ${DEVICE} down 2>/dev/null +retcode=$? + +# wait up to 5 seconds for device to actually come down... +waited=0 +while ! check_device_down ${DEVICE} && [ "$waited" -lt 50 ] ; do + usleep 10000 + waited=$(($waited+1)) +done + +if [ "$retcode" = 0 ] ; then + /etc/sysconfig/network-scripts/ifdown-post $CONFIG + # do NOT use $? because ifdown should return whether or not + # the interface went down. +fi + +exit $retcode diff --git a/mageia/network-scripts/ifup-hso b/mageia/network-scripts/ifup-hso new file mode 100755 index 00000000..859e5bf9 --- /dev/null +++ b/mageia/network-scripts/ifup-hso @@ -0,0 +1,78 @@ +#! /bin/bash + +. /etc/init.d/functions + +cd /etc/sysconfig/network-scripts +. ./network-functions + +CONFIG=$1 +[ -f "${CONFIG}" ] || CONFIG=ifcfg-${1} +source_config + +if [ "${2}" = "boot" -a "${ONBOOT}" = "no" ]; then + exit +fi + +[ -z "$CELLULAR_CID" ] && CELLULAR_CID=1 +[ "${DEBUG}" = "yes" ] && CHATDBG="-v" + +CHATSCRIPT=/etc/sysconfig/network-scripts/chat-${DEVNAME} +[ -f ${CHATSCRIPT} ] || { + CHATSCRIPT=/etc/sysconfig/network-scripts/chat-${PARENTDEVNAME} +} +[ -f ${CHATSCRIPT} ] || { + echo $"/etc/sysconfig/network-scripts/chat-${DEVNAME} does not exist" + echo $"ifup-hso for ${DEVNAME} exiting" + logger -p daemon.info -t ifup-hso \ + $"/etc/sysconfig/network-scripts/chat-${DEVNAME} does not exist for ${DEVICE}" + exit 1 +} + +CELLULAR_PIN=$(cat pin-${DEVICE} 2>/dev/null) +if [ -n "$CELLULAR_PIN" -a -x /usr/sbin/comgt ]; then + COMGTPIN=$CELLULAR_PIN comgt PIN -d $MODEMPORT +fi + +if ! /usr/sbin/chat ${CHATDBG} -s -f ${CHATSCRIPT} < $MODEMPORT > $MODEMPORT; then + echo $"Connect script failed" + exit 1 +fi + +CHATSCRIPT=`mktemp /tmp/chatXXXXXX` +CHATRESULT=`mktemp /tmp/chatXXXXXX` +cat > $CHATSCRIPT <<EOF +ABORT ERROR +TIMEOUT 10 +"" ATZ +OK "AT_OWANCALL=${CELLULAR_CID},1,0" +OK "AT_OWANDATA=${CELLULAR_CID}" +OK "" +EOF +TRIES=10 +BOOTARG=$2 + +while [ "$TRIES" -gt 0 ]; do + if /usr/sbin/chat ${CHATDBG} -s -V -f ${CHATSCRIPT} < $MODEMPORT > $MODEMPORT 2> ${CHATRESULT}; then + DATA=$(grep ^_OWANDATA $CHATRESULT) + if [ -n "$DATA" ]; then + set $(echo $DATA | cut -d ',' -f 2,4,5 --output-delimiter ' ') + IPADDR=$1 + DNS1=$2 + DNS2=$3 + break + fi + fi + sleep 2 + let TRIES=$TRIES-1 +done +rm -f $CHATSCRIPT $CHATRESULT + +if [ "$TRIES" = 0 ]; then + echo $"Connect script failed (HSO)" + exit 1 +fi + +ifconfig $DEVICE $IPADDR up +route add default dev $DEVICE ${METRIC:+metric $METRIC} +export DNS1 DNS2 +exec /etc/sysconfig/network-scripts/ifup-post ${CONFIG} $BOOTARG diff --git a/mageia/network-scripts/ifup.d/vpn/vpn-ifdown b/mageia/network-scripts/ifup.d/vpn/vpn-ifdown new file mode 100755 index 00000000..466e54fd --- /dev/null +++ b/mageia/network-scripts/ifup.d/vpn/vpn-ifdown @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ -r /etc/sysconfig/network-scripts/ifcfg-$1 ]; then + . /etc/sysconfig/network-scripts/ifcfg-$1 + if [ -n "$VPN_TYPE" ] && [ -n "$VPN_NAME" ]; then + /usr/sbin/vpn-stop $VPN_TYPE $VPN_NAME + fi +fi diff --git a/mageia/network-scripts/ifup.d/vpn/vpn-ifup b/mageia/network-scripts/ifup.d/vpn/vpn-ifup new file mode 100755 index 00000000..4425d154 --- /dev/null +++ b/mageia/network-scripts/ifup.d/vpn/vpn-ifup @@ -0,0 +1,8 @@ +#!/bin/sh + +if [ -r /etc/sysconfig/network-scripts/ifcfg-$1 ]; then + . /etc/sysconfig/network-scripts/ifcfg-$1 + if [ -n "$VPN_TYPE" ] && [ -n "$VPN_NAME" ]; then + /usr/sbin/vpn-start $VPN_TYPE "$VPN_NAME" + fi +fi diff --git a/mageia/network-scripts/wireless.d/.keep b/mageia/network-scripts/wireless.d/.keep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/mageia/network-scripts/wireless.d/.keep |