diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2010-07-19 10:49:49 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2010-07-19 10:49:49 +0200 |
commit | 7907e3ee7302ac3fd428989a07b0df74f0c52853 (patch) | |
tree | e6de18488a687707667927065724372b40510d65 /package/ppp/files | |
parent | b70fdbfbf1139605c22083b647337f2b16f62fc3 (diff) | |
parent | 61355d1f054c15673adeb62d32dfd4563f89c165 (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'package/ppp/files')
-rwxr-xr-x | package/ppp/files/etc/ppp/ip-down | 2 | ||||
-rw-r--r-- | package/ppp/files/etc/ppp/ip-down.d/01-resolver | 8 | ||||
-rwxr-xr-x | package/ppp/files/etc/ppp/ip-down.d/umts | 7 | ||||
-rwxr-xr-x | package/ppp/files/etc/ppp/ip-up | 2 | ||||
-rw-r--r-- | package/ppp/files/etc/ppp/ip-up.d/01-resolver | 12 | ||||
-rw-r--r-- | package/ppp/files/etc/ppp/ip-up.d/02-ntp | 10 | ||||
-rwxr-xr-x | package/ppp/files/etc/ppp/ip-up.d/umts | 7 | ||||
-rw-r--r-- | package/ppp/files/etc/ppp/templates/pppoe | 1 | ||||
-rw-r--r-- | package/ppp/files/hso.if-down | 12 | ||||
-rw-r--r-- | package/ppp/files/hso.if-up | 66 | ||||
-rwxr-xr-x | package/ppp/files/ppp.pre-up | 85 |
11 files changed, 149 insertions, 63 deletions
diff --git a/package/ppp/files/etc/ppp/ip-down b/package/ppp/files/etc/ppp/ip-down index 334bcb885..a4756b768 100755 --- a/package/ppp/files/etc/ppp/ip-down +++ b/package/ppp/files/etc/ppp/ip-down @@ -1,6 +1,4 @@ #!/bin/sh -[ -z "$6" ] || env -i ACTION="ifdown" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface" - [ -d /etc/ppp/ip-down.d ] && { for SCRIPT in /etc/ppp/ip-down.d/* do diff --git a/package/ppp/files/etc/ppp/ip-down.d/01-resolver b/package/ppp/files/etc/ppp/ip-down.d/01-resolver new file mode 100644 index 000000000..78eaea035 --- /dev/null +++ b/package/ppp/files/etc/ppp/ip-down.d/01-resolver @@ -0,0 +1,8 @@ +#!/bin/sh +if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then + if [ -f /etc/ppp/resolv.prev ]; then + cp -f /etc/ppp/resolv.prev /etc/resolv.conf + else + rm -f /etc/resolv.conf + fi +fi diff --git a/package/ppp/files/etc/ppp/ip-down.d/umts b/package/ppp/files/etc/ppp/ip-down.d/umts deleted file mode 100755 index 6c812a782..000000000 --- a/package/ppp/files/etc/ppp/ip-down.d/umts +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -[ "$IF_USE_TEMPLATE" == "umts" ] || exit 0 - -# enable bit 3, disable bit 4 - i.e. UMTS-LED from blue to green -LED=$(cat /proc/sys/diag) -echo $(((LED | 16) ^ 16 | 8)) > /proc/sys/diag diff --git a/package/ppp/files/etc/ppp/ip-up b/package/ppp/files/etc/ppp/ip-up index 34b4b50e1..2ccefc01c 100755 --- a/package/ppp/files/etc/ppp/ip-up +++ b/package/ppp/files/etc/ppp/ip-up @@ -1,6 +1,4 @@ #!/bin/sh -[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface" - [ -d /etc/ppp/ip-up.d ] && { for SCRIPT in /etc/ppp/ip-up.d/* do diff --git a/package/ppp/files/etc/ppp/ip-up.d/01-resolver b/package/ppp/files/etc/ppp/ip-up.d/01-resolver new file mode 100644 index 000000000..0a980bde6 --- /dev/null +++ b/package/ppp/files/etc/ppp/ip-up.d/01-resolver @@ -0,0 +1,12 @@ +#!/bin/sh +if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then + rm -f /etc/ppp/resolv.prev + if [ -f /etc/resolv.conf ]; then + cp /etc/resolv.conf /etc/ppp/resolv.prev + grep domain /etc/ppp/resolv.prev > /etc/resolv.conf + grep search /etc/ppp/resolv.prev >> /etc/resolv.conf + cat /etc/ppp/resolv.conf >> /etc/resolv.conf + else + cp /etc/ppp/resolv.conf /etc + fi +fi diff --git a/package/ppp/files/etc/ppp/ip-up.d/02-ntp b/package/ppp/files/etc/ppp/ip-up.d/02-ntp new file mode 100644 index 000000000..ac25dd567 --- /dev/null +++ b/package/ppp/files/etc/ppp/ip-up.d/02-ntp @@ -0,0 +1,10 @@ +#!/bin/sh + +. /etc/rc.conf + +# get time via ntpclient if available +[ -x /usr/sbin/ntpclient ] && ntpclient -s -h pool.ntp.org +# get time via rdate if available +[ -x /usr/sbin/rdate ] && rdate -nv pool.ntp.org +# restart ntpd when enabled +test x"${ntpd:-NO}" = x"NO" || /etc/init.d/ntpd restart diff --git a/package/ppp/files/etc/ppp/ip-up.d/umts b/package/ppp/files/etc/ppp/ip-up.d/umts deleted file mode 100755 index 0c18970e0..000000000 --- a/package/ppp/files/etc/ppp/ip-up.d/umts +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -[ "$IF_USE_TEMPLATE" == "umts" ] || exit 0 - -# enable bit 4 i.e. UMTS-LED blue -LED=$(cat /proc/sys/diag) -echo $((LED | 16)) > /proc/sys/diag diff --git a/package/ppp/files/etc/ppp/templates/pppoe b/package/ppp/files/etc/ppp/templates/pppoe index 2ad285ede..de5dd3bef 100644 --- a/package/ppp/files/etc/ppp/templates/pppoe +++ b/package/ppp/files/etc/ppp/templates/pppoe @@ -4,6 +4,7 @@ usepeerdns lcp-echo-interval 10 lcp-echo-failure 3 #IDLEOPTIONS# +#NETWORKOPTIONS# user #USERNAME# password #PASSWORD# #DEVICE# diff --git a/package/ppp/files/hso.if-down b/package/ppp/files/hso.if-down new file mode 100644 index 000000000..6e4b4d655 --- /dev/null +++ b/package/ppp/files/hso.if-down @@ -0,0 +1,12 @@ +#!/bin/sh + +[ "$IFACE" == "hso0" ] || exit 0 + +[ -f /tmp/hso-connect ] || exit 0 + +PID=$(cat /tmp/hso-connect) +ps | grep "$PID" | grep -q hso-connect.sh && kill "$PID" +comgt -s -d /dev/ttyHS0 /etc/comgt/hsodisconnect.comgt +rm -f /tmp/hso-connect +ip address flush hso0 +ip link set hso0 down diff --git a/package/ppp/files/hso.if-up b/package/ppp/files/hso.if-up new file mode 100644 index 000000000..d08beda31 --- /dev/null +++ b/package/ppp/files/hso.if-up @@ -0,0 +1,66 @@ +#!/bin/sh + +[ "$IFACE" == "hso0" ] || exit 0 + +TTY=${IF_HSO_DEVICE:-/dev/ttyHS0} +# wait for card to initialize +COUNT=0 +while [ $((COUNT++)) -lt 20 ]; do + [ -c "$TTY" ] && break + [ $COUNT -eq 20 ] && { + logger "$0: '$TTY' not found" + exit 1 + } + sleep 1 +done + +if [ "$IF_PIN" ]; then + COMGTPIN="$IF_PIN" comgt -d "$TTY" PIN +fi + +if [ "$IF_APN" ]; then + COMGTAPN="$IF_APN" comgt -d "$TTY" APN +fi + +# only run once! +[ -f /tmp/hso-connect ] && exit 0 + +while : +do + # get connection status + STATUS=$(comgt -s -d "$TTY" /etc/comgt/hsostatus.comgt | + tr -d " " | + grep -v ^$ | + cut -d , -f 2) + # dial if connection status is disabled + if [ "$STATUS" -eq "0" ] ; then + comgt -s -d "$TTY" /etc/comgt/hsoconnect.comgt + DATA=$(comgt -s -d "$TTY" /etc/comgt/hsodata.comgt) + if [ "$?" -ne 0 ] ; then + continue + fi + DATA=$(echo $DATA | + tr -d " " | + grep -v ^$) + IP=$(echo $DATA | cut -d , -f 2) + NS1=$(echo $DATA | cut -d , -f 4) + NS2=$(echo $DATA | cut -d , -f 5) + ip address flush dev hso0 2> /dev/null + ip address add "$IP/32" dev hso0 + ip link set hso0 up + def=$(ip route show |grep default | wc -l) + [ $def -eq 1 ] && ip route del default + ip route add default dev hso0 + echo "nameserver $NS1" > /etc/resolv.conf + echo "nameserver $NS2" >> /etc/resolv.conf + . /etc/rc.conf + # get time via ntpclient if available + [ -x /usr/sbin/ntpclient ] && ntpclient -s -h pool.ntp.org + # get time via rdate if available + [ -x /usr/sbin/rdate ] && rdate -nv pool.ntp.org + # restart ntpd when enabled + test x"${ntpd:-NO}" = x"NO" || /etc/init.d/ntpd restart + fi + sleep 10 +done & +echo $! > /tmp/hso-connect diff --git a/package/ppp/files/ppp.pre-up b/package/ppp/files/ppp.pre-up index c83a09177..7f28f32da 100755 --- a/package/ppp/files/ppp.pre-up +++ b/package/ppp/files/ppp.pre-up @@ -19,6 +19,9 @@ if [ "$IF_PPP_MTU" -gt 0 ] ; then NETWORKOPTIONS="mtu $IF_PPP_MTU\nmru $IF_PPP_MTU" fi +[ "$IF_PPP_VPI" ] || IF_PPP_VPI=1 +[ "$IF_PPP_VCI" ] || IF_PPP_VCI=32 + REPLACE=" s,#IDLEOPTIONS#,$IDLEOPTIONS, s,#ENCAPS#,$IF_PPP_ENCAPS, @@ -33,39 +36,40 @@ REPLACE=" sed "$REPLACE" < /etc/ppp/templates/$IF_USE_TEMPLATE > /etc/ppp/peers/$IF_PROVIDER -[ "$IF_PPP_ENCAPS" ] || encap=0 -[ "$IF_PPP_PAYLOAD" ] || payload=1 -[ "$IF_PPP_VPI" ] || $IF_PPP_VPI=1 -[ "$IF_PPP_VCI" ] || $IF_PPP_VCI=32 - -case "$IF_PPP_PAYLOAD" in -bridged) - payload=1 - ;; -routed) - payload=0 - ;; -*) - echo "Wrong payload, use either bridged or routed" - exit 1 +case "$IF_PPP_DEVICE" in +eth*) + ip link set up dev $IF_PPP_DEVICE ;; -esac +nas*) + [ "$IF_PPP_ENCAPS" ] || encap=0 + [ "$IF_PPP_PAYLOAD" ] || payload=1 + + case "$IF_PPP_PAYLOAD" in + bridged) + payload=1 + ;; + routed) + payload=0 + ;; + *) + echo "Wrong payload, use either bridged or routed" + exit 1 + ;; + esac -case "$IF_PPP_ENCAPS" in -llc) - encap=0 - ;; -vc) - encap=1 - ;; -*) - echo "Wrong Encapsulation use either llc or vc" - exit 1 - ;; -esac + case "$IF_PPP_ENCAPS" in + llc) + encap=0 + ;; + vc) + encap=1 + ;; + *) + echo "Wrong Encapsulation use either llc or vc" + exit 1 + ;; + esac -case "$IF_PPP_DEVICE" in -nas*) count=$(echo $IF_PPP_DEVICE|sed -e "s/nas//") br2684ctl -b -c $count -e $encap -p $payload -a $IF_PPP_VPI.$IF_PPP_VCI ip link set up dev $IF_PPP_DEVICE @@ -74,10 +78,6 @@ esac case "$IF_USE_TEMPLATE" in umts) - # set UMTS-LED to green (bit 3) - LED=$(cat /proc/sys/diag) - echo $((LED | 8)) > /proc/sys/diag - # wait for card to initialize COUNT=0 while [ $((COUNT++)) -lt 20 ]; do @@ -93,27 +93,22 @@ umts) comgt -s /etc/comgt/waitready.comgt -d $IF_PPP_DEVICE || exit 1 # set pincode - if [ "$IF_UMTS_PINCODE" ]; then - COMGTPIN="$IF_UMTS_PINCODE" comgt PIN -d $IF_PPP_DEVICE || ERROR=1 + if [ "$IF_PIN" ]; then + COMGTPIN="$IF_PIN" comgt PIN -d $IF_PPP_DEVICE || exit 1 fi # set APN - COMGTAPN="$IF_UMTS_APN" comgt APN -d $IF_PPP_DEVICE || ERROR=1 + COMGTAPN="$IF_APN" comgt APN -d $IF_PPP_DEVICE || exit 1 # set umts/gprs mode if available (Option cards only) - case "$IF_UMTS_MODE" in + case "$IF_MODE" in gprs_only) comgt 2G -d $IF_PPP_DEVICE ;; umts_only) comgt 3G -d $IF_PPP_DEVICE ;; umts_first) comgt 3G2G -d $IF_PPP_DEVICE ;; "") ;; - *) echo "unknown umts-mode, exiting" - ERROR=1 + *) echo "unknown mode, exiting" + exit 1 ;; esac - - if [ "$ERROR" == "1" ]; then - echo "$LED" > /proc/sys/diag - exit 1 - fi ;; esac |