diff options
author | Robbie Smith <zoqaeski@gmail.com> | 2013-04-03 07:15:33 +0200 |
---|---|---|
committer | Robbie Smith <zoqaeski@gmail.com> | 2013-04-08 06:47:37 +0200 |
commit | 7cd83d3db74606f6a7a881e123b0c3e49f497ed8 (patch) | |
tree | 1e2f81c80ae6bbc710881f208f85f46d51741d9f /src/lib/connections/ppp | |
parent | e34538b84fee1ba1b98952bb07f2343ea88141c1 (diff) | |
download | netctl-7cd83d3db74606f6a7a881e123b0c3e49f497ed8.tar.gz netctl-7cd83d3db74606f6a7a881e123b0c3e49f497ed8.tar.xz |
Code tidying up. Renamed mobile connection to mobile-ppp.
Also:
- Replaced echos with invocations of cat, where possible.
- Fixed PIDFILE to point to the file ppp creates. This ensures the
interface can be brought down.
- Fixed setting of InterfaceRoot.
- Removed vim syntax highlighting from ethernet connection.
Diffstat (limited to 'src/lib/connections/ppp')
-rw-r--r-- | src/lib/connections/ppp | 148 |
1 files changed, 0 insertions, 148 deletions
diff --git a/src/lib/connections/ppp b/src/lib/connections/ppp deleted file mode 100644 index 54bedba..0000000 --- a/src/lib/connections/ppp +++ /dev/null @@ -1,148 +0,0 @@ -# Contributed by Robbie Smith <zoqaeski@gmail.com> -# Based on Thomas Bächler’s <thomas@archlinux.org> pppoe script -# Also see <https://wiki.archlinux.org/index.php/3G_and_GPRS_modems_with_pppd> for more information. - -: ${PPPD:=pppd} - -_quotestring() { - echo "\"${1/\"/\\\"}\"" -} - -mobile_up() { - local cfg - local chat - - mkdir -p "$STATE_DIR/mobile.${Interface}.${Profile}/" - chmod 700 "$STATE_DIR/mobile.${Interface}.${Profile}/" - cfg="$STATE_DIR/mobile.${Interface}.${Profile}/options" - chat="$STATE_DIR/mobile.${Interface}.${Profile}/modem.chat" - : > "${cfg}" - chmod 600 "${cfg}" - - echo "linkname $(_quotestring "${Profile}")" >> "${cfg}" - - # Set device - if [ -n "${Device}" ]; then - echo "${Device}" >> "${cfg}" - else - echo "ttyUSB0" >> "${cfg}" - fi - - echo "921600" >> "${cfg}" - echo "lock" >> "${cfg}" - echo "crtscts" >> "${cfg}" - echo "modem" >> "${cfg}" - echo "passive" >> "${cfg}" - echo "novj" >> "${cfg}" - echo "holdoff 10" >> "${cfg}" - echo "maxfail 5" >> "${cfg}" - - # Debug pppd output separately from netcfg - if is_yes "${PPPDebug:-yes}"; then - echo "debug" >> "${cfg}" - fi - - # Sets up route - if is_yes "${DefaultRoute:-yes}"; then - echo "defaultroute" >> "${cfg}" - else - echo "nodefaultroute" >> "${cfg}" - fi - if is_yes "${UsePeerDNS:-yes}"; then - echo "usepeerdns" >> "${cfg}" - fi - - # Writes username and password - echo "noauth" >> "${cfg}" - echo "hide-password" >> ${cfg} - [[ -n ${User} ]] && echo "user $(_quotestring "${User}")" >> "${cfg}" - [[ -n ${Password} ]] && echo "password $(_quotestring "${Password}")" >> "${cfg}" - - # Now that we’ve got the ppp configuration set up, write the chat script - echo "ECHO ON" >> "${chat}" - echo "ABORT 'BUSY'" >> "${chat}" - echo "ABORT 'NO CARRIER'" >> "${chat}" - echo "ABORT 'VOICE'" >> "${chat}" - echo "ABORT 'NO DIALTONE'" >> "${chat}" - echo "ABORT 'NO DIAL TONE'" >> "${chat}" - echo "ABORT 'NO ANSWER'" >> "${chat}" - echo "ABORT 'DELAYED'" >> "${chat}" - echo "ABORT '\nRINGING\r\n\r\nRINGING\r'" >> "${chat}" - echo "REPORT CONNECT" >> "${chat}" - echo "TIMEOUT 6" >> "${chat}" - echo "'' 'ATQ0'" >> "${chat}" - echo "'OK-AT-OK' 'ATZ'" >> "${chat}" - echo "TIMEOUT 3" >> "${chat}" - - #echo "'OK' @/etc/ppp/chatscripts/pin" >> "${chat}" - if [ -n "${Pin}" ]; then - echo "'OK' 'AT+CPIN=${Pin}'" >> "${chat}" - else - echo "'OK' 'AT'" >> "${chat}" - fi - - echo "'OK\d-AT-OK' 'ATI'" >> "${chat}" - echo "'OK' 'ATZ'" >> "${chat}" - echo "'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'" >> "${chat}" - - # Mode can be one of 3Gpref, 3Gonly, GPRSpref, GPRSonly, None - # Only works for Huawei modems - #echo "'OK' @/etc/ppp/chatscripts/mode" >> "${chat}" - case "${Mode}" in - 3Gonly) - echo "'OK' 'AT\^SYSCFG=14,2,3fffffff,0,1'" >> "${chat}" - ;; - 3Gpref) - echo "'OK' 'AT\^SYSCFG=2,2,3fffffff,0,1'" >> "${chat}" - ;; - GPRSonly) - echo "'OK' 'AT\^SYSCFG=13,1,3fffffff,0,0'" >> "${chat}" - ;; - GPRSpref) - echo "'OK' 'AT\^SYSCFG=2,1,3fffffff,0,0'" >> "${chat}" - ;; - *) - echo "'OK' 'AT'" >> "${chat}" - ;; - esac - - # Set up Access Point Name - echo "'OK-AT-OK' AT+CGDCONT=1,\"IP\",\"${AccessPointName}\"" >> "${chat}" - - echo "'OK' 'ATDT*99#'" >> "${chat}" - echo "TIMEOUT 30" >> "${chat}" - echo "CONNECT ''" >> "${chat}" - - # Add the chat script line to the configuration - echo "connect \"/usr/sbin/chat -v -t15 -f ${chat}\"" >> "${cfg}" - - ip link set dev "${Interface}" up - #$PPPD call "$Peer" updetach child-timeout "$PPPTimeout" linkname "$Peer" - $PPPD file "${cfg}" - - if [[ $? -ne 0 ]]; then - rmdir "$STATE_DIR/mobile.${Interface}.${Profile}/" - report_error "Couldn't make pppd connection." - return 1 - fi -} - -mobile_down() { - local cfg - local chat - cfg="$STATE_DIR/mobile.${Interface}.${Profile}/options" - chat="$STATE_DIR/mobile.${Interface}.${Profile}/modem.chat" - PIDFILE="/var/run/mobile-${Profile}.pid" - - if [[ -e $PIDFILE ]]; then - read PID < "$PIDFILE" - [[ "$PID" ]] && kill "$PID" - fi - - rm "${cfg}" - rm "${chat}" - rmdir "$STATE_DIR/mobile.${Interface}.${Profile}/" -} - - -# vim: ft=sh ts=4 et sw=4: |