From 6425d52623b24f131a3c803f3931d6b44d944840 Mon Sep 17 00:00:00 2001 From: Alejandro Benete Date: Wed, 10 Mar 2021 14:40:04 +0100 Subject: [PATCH] meta-somdevices: Created ppp_2.4.7.bbappend with necessary files to have somdevices configuration. Signed-off-by: Alejandro Benete --- recipes-connectivity/ppp/ppp/3g.template | 40 ++ recipes-connectivity/ppp/ppp/apn | 1 + recipes-connectivity/ppp/ppp/apn.es.yoigo | 1 + recipes-connectivity/ppp/ppp/apn.huawei | 1 + recipes-connectivity/ppp/ppp/chap-secrets | 4 + .../ppp/ppp/chap-secrets.template | 7 + recipes-connectivity/ppp/ppp/ip-down | 54 +++ .../ppp/ppp/ip-down.d/0000usepeerdns | 24 ++ .../ppp/ppp/ip-down.d/000resolvconf | 6 + recipes-connectivity/ppp/ppp/ip-down.local | 17 + recipes-connectivity/ppp/ppp/ip-up | 59 +++ .../ppp/ppp/ip-up.d/0000usepeerdns | 33 ++ .../ppp/ppp/ip-up.d/000resolvconf | 12 + recipes-connectivity/ppp/ppp/ip-up.local | 23 ++ recipes-connectivity/ppp/ppp/ipv6-down | 28 ++ recipes-connectivity/ppp/ppp/ipv6-up | 35 ++ recipes-connectivity/ppp/ppp/mobile-auth | 4 + .../ppp/ppp/mobile-modem.chat | 22 ++ recipes-connectivity/ppp/ppp/mobile-noauth | 2 + .../ppp/ppp/mobile-noauth.wait | 2 + recipes-connectivity/ppp/ppp/mode | 1 + recipes-connectivity/ppp/ppp/mode.2G-only | 1 + recipes-connectivity/ppp/ppp/mode.2G-pref | 1 + recipes-connectivity/ppp/ppp/mode.3G-only | 1 + recipes-connectivity/ppp/ppp/mode.3G-pref | 1 + recipes-connectivity/ppp/ppp/mode.4G-only | 1 + recipes-connectivity/ppp/ppp/mode.4G-pref | 1 + recipes-connectivity/ppp/ppp/mode.NONE | 1 + recipes-connectivity/ppp/ppp/options | 348 ++++++++++++++++++ recipes-connectivity/ppp/ppp/options-mobile | 1 + .../ppp/ppp/options-mobile.base | 24 ++ .../ppp/ppp/options-mobile.base.orig | 16 + recipes-connectivity/ppp/ppp/pap-secrets | 43 +++ .../ppp/ppp/pap-secrets.template | 45 +++ recipes-connectivity/ppp/ppp/pin | 1 + recipes-connectivity/ppp/ppp/pin.CODE | 1 + recipes-connectivity/ppp/ppp/pin.NONE | 1 + recipes-connectivity/ppp/ppp/provider | 2 + recipes-connectivity/ppp/ppp/reset_modem.py | 10 + recipes-connectivity/ppp/ppp/reset_modem.sh | 4 + recipes-connectivity/ppp/ppp/resolv.conf | 2 + recipes-connectivity/ppp/ppp/vodafone | 39 ++ .../ppp/ppp/wait-dialup-hardware | 23 ++ recipes-connectivity/ppp/ppp_2.4.7.bbappend | 76 ++++ 44 files changed, 1019 insertions(+) create mode 100755 recipes-connectivity/ppp/ppp/3g.template create mode 120000 recipes-connectivity/ppp/ppp/apn create mode 100755 recipes-connectivity/ppp/ppp/apn.es.yoigo create mode 100755 recipes-connectivity/ppp/ppp/apn.huawei create mode 100755 recipes-connectivity/ppp/ppp/chap-secrets create mode 100755 recipes-connectivity/ppp/ppp/chap-secrets.template create mode 100755 recipes-connectivity/ppp/ppp/ip-down create mode 100755 recipes-connectivity/ppp/ppp/ip-down.d/0000usepeerdns create mode 100755 recipes-connectivity/ppp/ppp/ip-down.d/000resolvconf create mode 100755 recipes-connectivity/ppp/ppp/ip-down.local create mode 100755 recipes-connectivity/ppp/ppp/ip-up create mode 100755 recipes-connectivity/ppp/ppp/ip-up.d/0000usepeerdns create mode 100755 recipes-connectivity/ppp/ppp/ip-up.d/000resolvconf create mode 100755 recipes-connectivity/ppp/ppp/ip-up.local create mode 100755 recipes-connectivity/ppp/ppp/ipv6-down create mode 100755 recipes-connectivity/ppp/ppp/ipv6-up create mode 100755 recipes-connectivity/ppp/ppp/mobile-auth create mode 100755 recipes-connectivity/ppp/ppp/mobile-modem.chat create mode 100755 recipes-connectivity/ppp/ppp/mobile-noauth create mode 100755 recipes-connectivity/ppp/ppp/mobile-noauth.wait create mode 120000 recipes-connectivity/ppp/ppp/mode create mode 100755 recipes-connectivity/ppp/ppp/mode.2G-only create mode 100755 recipes-connectivity/ppp/ppp/mode.2G-pref create mode 100755 recipes-connectivity/ppp/ppp/mode.3G-only create mode 100755 recipes-connectivity/ppp/ppp/mode.3G-pref create mode 100755 recipes-connectivity/ppp/ppp/mode.4G-only create mode 100755 recipes-connectivity/ppp/ppp/mode.4G-pref create mode 100755 recipes-connectivity/ppp/ppp/mode.NONE create mode 100755 recipes-connectivity/ppp/ppp/options create mode 120000 recipes-connectivity/ppp/ppp/options-mobile create mode 100755 recipes-connectivity/ppp/ppp/options-mobile.base create mode 100755 recipes-connectivity/ppp/ppp/options-mobile.base.orig create mode 100755 recipes-connectivity/ppp/ppp/pap-secrets create mode 100755 recipes-connectivity/ppp/ppp/pap-secrets.template create mode 120000 recipes-connectivity/ppp/ppp/pin create mode 100755 recipes-connectivity/ppp/ppp/pin.CODE create mode 100755 recipes-connectivity/ppp/ppp/pin.NONE create mode 100755 recipes-connectivity/ppp/ppp/provider create mode 100755 recipes-connectivity/ppp/ppp/reset_modem.py create mode 100755 recipes-connectivity/ppp/ppp/reset_modem.sh create mode 100644 recipes-connectivity/ppp/ppp/resolv.conf create mode 100755 recipes-connectivity/ppp/ppp/vodafone create mode 100755 recipes-connectivity/ppp/ppp/wait-dialup-hardware create mode 100644 recipes-connectivity/ppp/ppp_2.4.7.bbappend diff --git a/recipes-connectivity/ppp/ppp/3g.template b/recipes-connectivity/ppp/ppp/3g.template new file mode 100755 index 0000000..ef4bab8 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/3g.template @@ -0,0 +1,40 @@ +# 20120711 by zhuhaiyan +# configuration for a dialup connection authenticated with PAP or CHAP +# +# This is the default configuration used by pon(1) and poff(1). +# See the manual page pppd(8) for information on all the options. + +# MUST CHANGE: replace myusername@realm with the PPP login name given to +# your by your provider. +# There should be a matching entry with the password in /etc/ppp/pap-secrets +# and/or /etc/ppp/chap-secrets. +# user "myusername@realm" +user "__USER__" + +# MUST CHANGE: replace ******** with the apn of your provider. +# The /etc/chatscripts/pap chat script may be modified to change the +# modem initialization string. +connect "/usr/sbin/chat -v -f /etc/3g_modem_connection/3g" + +# Serial device to which the modem is connected. +/dev/__DEVICE__ + +# Speed of the serial line. +115200 + +#debug ppp info +debug + +# Assumes that your IP address is allocated dynamically by the ISP. +noipdefault +# Try to get the name server addresses from the ISP. +usepeerdns +# Use this connection as the default route. +defaultroute + +# Makes pppd "dial again" when the connection is lost. +persist + +# Do not ask the remote to authenticate. +noauth + diff --git a/recipes-connectivity/ppp/ppp/apn b/recipes-connectivity/ppp/ppp/apn new file mode 120000 index 0000000..72f8ec6 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/apn @@ -0,0 +1 @@ +apn.es.yoigo \ No newline at end of file diff --git a/recipes-connectivity/ppp/ppp/apn.es.yoigo b/recipes-connectivity/ppp/ppp/apn.es.yoigo new file mode 100755 index 0000000..45ec2c4 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/apn.es.yoigo @@ -0,0 +1 @@ +AT+CGDCONT=1,"IP","internet" diff --git a/recipes-connectivity/ppp/ppp/apn.huawei b/recipes-connectivity/ppp/ppp/apn.huawei new file mode 100755 index 0000000..53a3137 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/apn.huawei @@ -0,0 +1 @@ +AT diff --git a/recipes-connectivity/ppp/ppp/chap-secrets b/recipes-connectivity/ppp/ppp/chap-secrets new file mode 100755 index 0000000..ccafcb0 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/chap-secrets @@ -0,0 +1,4 @@ +# Secrets for authentication using CHAP +# client server secret IP addresses +vodafone * vodafone * + diff --git a/recipes-connectivity/ppp/ppp/chap-secrets.template b/recipes-connectivity/ppp/ppp/chap-secrets.template new file mode 100755 index 0000000..437c020 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/chap-secrets.template @@ -0,0 +1,7 @@ +# Secrets for authentication using CHAP +# client server secret IP addresses +# for example: +# myuser * mypsw * +__USER__ * __PASSWORD__ * + + diff --git a/recipes-connectivity/ppp/ppp/ip-down b/recipes-connectivity/ppp/ppp/ip-down new file mode 100755 index 0000000..4826c36 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-down @@ -0,0 +1,54 @@ +#!/bin/sh +# +# This script is run by the pppd _after_ the link is brought down. +# It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete +# routes, unset IP addresses etc. you should create script(s) there. +# +# Be aware that other packages may include /etc/ppp/ip-down.d scripts (named +# after that package), so choose local script names with that in mind. +# +# This script is called with the following arguments: +# Arg Name Example +# $1 Interface name ppp0 +# $2 The tty ttyS1 +# $3 The link speed 38400 +# $4 Local IP number 12.34.56.78 +# $5 Peer IP number 12.34.56.99 +# $6 Optional ``ipparam'' value foo + +# The environment is cleared before executing this script +# so the path must be reset + +trap "" SIGTERM + +PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin +export PATH + +# These variables are for the use of the scripts run by run-parts +PPP_IFACE="$1" +PPP_TTY="$2" +PPP_SPEED="$3" +PPP_LOCAL="$4" +PPP_REMOTE="$5" +PPP_IPPARAM="$6" +export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM + +# as an additional convenience, $PPP_TTYNAME is set to the tty name, +# stripped of /dev/ (if present) for easier matching. +PPP_TTYNAME=`/usr/bin/basename "$2"` +export PPP_TTYNAME + +# If /var/log/ppp-ipupdown.log exists use it for logging. +if [ -e /var/log/ppp-ipupdown.log ]; then + exec >> /var/log/ppp-ipupdown.log 2>&1 + echo $0 $@ + echo +fi + +# This script can be used to override the .d files supplied by other packages. +if [ -x /etc/ppp/ip-down.local ]; then + exec /etc/ppp/ip-down.local "$@" +fi + +run-parts /etc/ppp/ip-down.d \ + --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6" diff --git a/recipes-connectivity/ppp/ppp/ip-down.d/0000usepeerdns b/recipes-connectivity/ppp/ppp/ip-down.d/0000usepeerdns new file mode 100755 index 0000000..2740a97 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-down.d/0000usepeerdns @@ -0,0 +1,24 @@ +#!/bin/sh -e + +# exit if the resolvconf package is installed +[ -x /sbin/resolvconf ] && exit 0 + +# follow any symlink to find the real file +if [ -e /etc/resolv.conf ]; then + REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf) +else + REALRESOLVCONF=/etc/resolv.conf +fi + +# if an old resolv.conf file exists, restore it +if [ -e $REALRESOLVCONF.pppd-backup.$PPP_IFACE ]; then + mv -f $REALRESOLVCONF.pppd-backup.$PPP_IFACE $REALRESOLVCONF + + # restart nscd because resolv.conf has changed + if [ -e /var/run/nscd.pid ]; then + /etc/init.d/nscd restart || true + fi +fi + +exit 0 + diff --git a/recipes-connectivity/ppp/ppp/ip-down.d/000resolvconf b/recipes-connectivity/ppp/ppp/ip-down.d/000resolvconf new file mode 100755 index 0000000..b4f26cb --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-down.d/000resolvconf @@ -0,0 +1,6 @@ +#!/bin/sh +# ppp.ip-down hook script for resolvconf +# Written by Roy Marples under the BSD-2 license + +[ -x /sbin/resolvconf ] || exit 0 +/sbin/resolvconf -f -d "$PPP_IFACE" diff --git a/recipes-connectivity/ppp/ppp/ip-down.local b/recipes-connectivity/ppp/ppp/ip-down.local new file mode 100755 index 0000000..13132f1 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-down.local @@ -0,0 +1,17 @@ +#!/bin/sh + +#by zhuhaiyan 201207119, for exe script when disconnect from internet + +trap "" SIGTERM + +killall pppd +killall salestracking +killall salestracking.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/recipes-connectivity/ppp/ppp/ip-up b/recipes-connectivity/ppp/ppp/ip-up new file mode 100755 index 0000000..9cbeb97 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-up @@ -0,0 +1,59 @@ +#!/bin/sh +# +# This script is run by the pppd after the link is established. +# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes, +# set IP address, run the mailq etc. you should create script(s) there. +# +# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named +# after that package), so choose local script names with that in mind. +# +# This script is called with the following arguments: +# Arg Name Example +# $1 Interface name ppp0 +# $2 The tty ttyS1 +# $3 The link speed 38400 +# $4 Local IP number 12.34.56.78 +# $5 Peer IP number 12.34.56.99 +# $6 Optional ``ipparam'' value foo + +# The environment is cleared before executing this script +# so the path must be reset +PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin +export PATH + +# These variables are for the use of the scripts run by run-parts +PPP_IFACE="$1" +PPP_TTY="$2" +PPP_SPEED="$3" +PPP_LOCAL="$4" +PPP_REMOTE="$5" +PPP_IPPARAM="$6" +export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM + +# as an additional convenience, $PPP_TTYNAME is set to the tty name, +# stripped of /dev/ (if present) for easier matching. +PPP_TTYNAME=`/usr/bin/basename "$2"` +export PPP_TTYNAME + +# If /var/log/ppp-ipupdown.log exists use it for logging. +if [ -e /var/log/ppp-ipupdown.log ]; then + exec > /var/log/ppp-ipupdown.log 2>&1 + echo $0 $@ + echo +fi + +# This script can be used to override the .d files supplied by other packages. +if [ -x /etc/ppp/ip-up.local ]; then + exec /etc/ppp/ip-up.local "$@" +fi + +run-parts /etc/ppp/ip-up.d \ + --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6" + +# if pon was called with the "quick" argument, stop pppd +if [ -e /var/run/ppp-quick ]; then + rm /var/run/ppp-quick + wait + kill $PPPD_PID +fi + diff --git a/recipes-connectivity/ppp/ppp/ip-up.d/0000usepeerdns b/recipes-connectivity/ppp/ppp/ip-up.d/0000usepeerdns new file mode 100755 index 0000000..45fbc2e --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-up.d/0000usepeerdns @@ -0,0 +1,33 @@ +#!/bin/sh -e + +# this variable is only set if the usepeerdns pppd option is being used +[ "$USEPEERDNS" ] || exit 0 + +# exit if the resolvconf package is installed +[ -x /sbin/resolvconf ] && exit 0 + +# create the file if it does not exist +if [ ! -e /etc/resolv.conf ]; then + : > /etc/resolv.conf +fi + +# follow any symlink to find the real file +REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf) + +# merge the new nameservers with the other options from the old configuration +{ + cat /etc/ppp/resolv.conf + grep --invert-match '^nameserver[[:space:]]' "$REALRESOLVCONF" || true +} > "$REALRESOLVCONF.tmp" + +# backup the old configuration and install the new one +cp -a "$REALRESOLVCONF" "$REALRESOLVCONF.pppd-backup.$PPP_IFACE" +mv -f "$REALRESOLVCONF.tmp" "$REALRESOLVCONF" + +# restart nscd because resolv.conf has changed +if [ -e /var/run/nscd.pid ]; then + /etc/init.d/nscd restart || true +fi + +exit 0 + diff --git a/recipes-connectivity/ppp/ppp/ip-up.d/000resolvconf b/recipes-connectivity/ppp/ppp/ip-up.d/000resolvconf new file mode 100755 index 0000000..e2963c0 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-up.d/000resolvconf @@ -0,0 +1,12 @@ +#!/bin/sh +# ppp.ip-up hook script for resolvconf +# Written by Roy Marples under the BSD-2 license + +[ -x /sbin/resolvconf ] || exit 0 + +if [ -n "$DNS1" -o -n "$DNS2" ]; then + conf="# Generated by ppp.ip-up for $PPP_IFACE\n" + [ -n "$DNS1" ] && conf="${conf}nameserver $DNS1\n" + [ -n "$DNS2" ] && conf="${conf}nameserver $DNS2\n" + printf "$conf" | /sbin/resolvconf -a "$PPP_IFACE" +fi diff --git a/recipes-connectivity/ppp/ppp/ip-up.local b/recipes-connectivity/ppp/ppp/ip-up.local new file mode 100755 index 0000000..0d97133 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ip-up.local @@ -0,0 +1,23 @@ + +# +# This sample code shows you one way to modify your setup to allow automatic +# configuration of your resolv.conf for peer supplied DNS addresses when using +# the `usepeerdns' option. +# +# In my case I just added this to my /etc/ppp/ip-up.local script. You may need to +# create an executable script if one does not exist. +# +# Nick Walker (nickwalker@email.com) +# + +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/recipes-connectivity/ppp/ppp/ipv6-down b/recipes-connectivity/ppp/ppp/ipv6-down new file mode 100755 index 0000000..3cef511 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ipv6-down @@ -0,0 +1,28 @@ +#!/bin/sh + +# These variables are for the use of the scripts run by run-parts. +PPP_IFACE="$1" +PPP_TTY="$2" +PPP_SPEED="$3" +PPP_LOCAL="$4" +PPP_REMOTE="$5" +PPP_IPPARAM="$6" +export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM + +# The environment is cleared before executing this script. +PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin +export PATH + +# If /var/log/ppp-ipupdown.log exists use it for logging. +if [ -e /var/log/ppp-ipupdown.log ]; then + exec >> /var/log/ppp-ipupdown.log 2>&1 +fi + +# This script can be used to override the .d files supplied by other packages. +if [ -x /etc/ppp/ipv6-down.local ]; then + exec /etc/ppp/ipv6-down.local "$@" +fi + +run-parts /etc/ppp/ipv6-down.d \ + --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6" + diff --git a/recipes-connectivity/ppp/ppp/ipv6-up b/recipes-connectivity/ppp/ppp/ipv6-up new file mode 100755 index 0000000..05c4e75 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/ipv6-up @@ -0,0 +1,35 @@ +#!/bin/sh + +# These variables are for the use of the scripts run by run-parts. +PPP_IFACE="$1" +PPP_TTY="$2" +PPP_SPEED="$3" +PPP_LOCAL="$4" +PPP_REMOTE="$5" +PPP_IPPARAM="$6" +export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM + +# The environment is cleared before executing this script. +PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin +export PATH + +# If /var/log/ppp-ipupdown.log exists use it for logging. +if [ -e /var/log/ppp-ipupdown.log ]; then + exec >> /var/log/ppp-ipupdown.log 2>&1 +fi + +# This script can be used to override the .d files supplied by other packages. +if [ -x /etc/ppp/ipv6-up.local ]; then + exec /etc/ppp/ipv6-up.local "$@" +fi + +run-parts /etc/ppp/ipv6-up.d \ + --arg="$1" --arg="$2" --arg="$3" --arg="$4" --arg="$5" --arg="$6" + +# if pon was called with the "quick" argument, stop pppd +if [ -e /var/run/ppp-quick ]; then + rm /var/run/ppp-quick + wait + kill $PPPD_PID +fi + diff --git a/recipes-connectivity/ppp/ppp/mobile-auth b/recipes-connectivity/ppp/ppp/mobile-auth new file mode 100755 index 0000000..becd174 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mobile-auth @@ -0,0 +1,4 @@ +file /etc/ppp/options-mobile +user "your_usr" +password "your_pass" +connect "/usr/sbin/chat -v -t15 -f /etc/ppp/chatscripts/mobile-modem.chat" diff --git a/recipes-connectivity/ppp/ppp/mobile-modem.chat b/recipes-connectivity/ppp/ppp/mobile-modem.chat new file mode 100755 index 0000000..84b10b4 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mobile-modem.chat @@ -0,0 +1,22 @@ +ABORT 'BUSY' +ABORT 'NO CARRIER' +ABORT 'VOICE' +ABORT 'NO DIALTONE' +ABORT 'NO DIAL TONE' +ABORT 'NO ANSWER' +ABORT 'DELAYED' +REPORT CONNECT +TIMEOUT 6 +#'' 'ATQ0' +'OK-AT-OK' 'ATZ' +TIMEOUT 3 +'OK' @/etc/ppp/chatscripts/pin +'OK\d-AT-OK' 'ATI' +'OK' 'ATZ' +#'OK' 'AT+CFUN=1,1' +#'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0' +'OK' @/etc/ppp/chatscripts/mode +'OK-AT-OK' @/etc/ppp/chatscripts/apn +'OK' 'ATDT*99***1#' +TIMEOUT 30 +CONNECT '' diff --git a/recipes-connectivity/ppp/ppp/mobile-noauth b/recipes-connectivity/ppp/ppp/mobile-noauth new file mode 100755 index 0000000..73fdb27 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mobile-noauth @@ -0,0 +1,2 @@ +file /etc/ppp/options-mobile +connect "/usr/sbin/chat -v -t15 -f /etc/ppp/chatscripts/mobile-modem.chat" diff --git a/recipes-connectivity/ppp/ppp/mobile-noauth.wait b/recipes-connectivity/ppp/ppp/mobile-noauth.wait new file mode 100755 index 0000000..3d83113 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mobile-noauth.wait @@ -0,0 +1,2 @@ +noauth +pty "/etc/ppp/wait-dialup-hardware 10 mobile-noauth" diff --git a/recipes-connectivity/ppp/ppp/mode b/recipes-connectivity/ppp/ppp/mode new file mode 120000 index 0000000..f318a06 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode @@ -0,0 +1 @@ +mode.NONE \ No newline at end of file diff --git a/recipes-connectivity/ppp/ppp/mode.2G-only b/recipes-connectivity/ppp/ppp/mode.2G-only new file mode 100755 index 0000000..04bb02f --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.2G-only @@ -0,0 +1 @@ +AT\^SYSCFG=13,1,3FFFFFFF,2,4 diff --git a/recipes-connectivity/ppp/ppp/mode.2G-pref b/recipes-connectivity/ppp/ppp/mode.2G-pref new file mode 100755 index 0000000..c794a50 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.2G-pref @@ -0,0 +1 @@ +AT\^SYSCFG=2,1,3FFFFFFF,2,4 diff --git a/recipes-connectivity/ppp/ppp/mode.3G-only b/recipes-connectivity/ppp/ppp/mode.3G-only new file mode 100755 index 0000000..f0590e2 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.3G-only @@ -0,0 +1 @@ +AT\^SYSCFG=14,2,3fffffff,2,4 diff --git a/recipes-connectivity/ppp/ppp/mode.3G-pref b/recipes-connectivity/ppp/ppp/mode.3G-pref new file mode 100755 index 0000000..55f4634 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.3G-pref @@ -0,0 +1 @@ +AT\^SYSCFG=2,2,3fffffff,2,4 diff --git a/recipes-connectivity/ppp/ppp/mode.4G-only b/recipes-connectivity/ppp/ppp/mode.4G-only new file mode 100755 index 0000000..ab4a453 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.4G-only @@ -0,0 +1 @@ +AT\^SYSCFGEX="03",3FFFFFF,2,4,7FFFFFFFFFFFFFFF,"","" diff --git a/recipes-connectivity/ppp/ppp/mode.4G-pref b/recipes-connectivity/ppp/ppp/mode.4G-pref new file mode 100755 index 0000000..e969e2e --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.4G-pref @@ -0,0 +1 @@ +AT\^SYSCFGEX="030201",3FFFFFF,2,4,7FFFFFFFFFFFFFFF,"","" diff --git a/recipes-connectivity/ppp/ppp/mode.NONE b/recipes-connectivity/ppp/ppp/mode.NONE new file mode 100755 index 0000000..53a3137 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/mode.NONE @@ -0,0 +1 @@ +AT diff --git a/recipes-connectivity/ppp/ppp/options b/recipes-connectivity/ppp/ppp/options new file mode 100755 index 0000000..706647d --- /dev/null +++ b/recipes-connectivity/ppp/ppp/options @@ -0,0 +1,348 @@ +# /etc/ppp/options +# +# Originally created by Jim Knoble +# Modified for Debian by alvar Bray +# Modified for PPP Server setup by Christoph Lameter +# +# To quickly see what options are active in this file, use this command: +# egrep -v '#|^ *$' /etc/ppp/options + +# Specify which DNS Servers the incoming Win95 or WinNT Connection should use +# Two Servers can be remotely configured +# ms-dns 192.168.1.1 +# ms-dns 192.168.1.2 + +# Specify which WINS Servers the incoming connection Win95 or WinNT should use +# ms-wins 192.168.1.50 +# ms-wins 192.168.1.51 + +# Run the executable or shell command specified after pppd has +# terminated the link. This script could, for example, issue commands +# to the modem to cause it to hang up if hardware modem control signals +# were not available. +#disconnect "chat -- \d+++\d\c OK ath0 OK" + +# async character map -- 32-bit hex; each bit is a character +# that needs to be escaped for pppd to receive it. 0x00000001 +# represents '\x01', and 0x80000000 represents '\x1f'. +asyncmap 0 + +# Require the peer to authenticate itself before allowing network +# packets to be sent or received. +# Please do not disable this setting. It is expected to be standard in +# future releases of pppd. Use the call option (see manpage) to disable +# authentication for specific peers. +auth + +# Use hardware flow control (i.e. RTS/CTS) to control the flow of data +# on the serial port. +crtscts + +# Use software flow control (i.e. XON/XOFF) to control the flow of data +# on the serial port. +#xonxoff + +# Specifies that certain characters should be escaped on transmission +# (regardless of whether the peer requests them to be escaped with its +# async control character map). The characters to be escaped are +# specified as a list of hex numbers separated by commas. Note that +# almost any character can be specified for the escape option, unlike +# the asyncmap option which only allows control characters to be +# specified. The characters which may not be escaped are those with hex +# values 0x20 - 0x3f or 0x5e. +#escape 11,13,ff + +# Don't use the modem control lines. +#local + +# Specifies that pppd should use a UUCP-style lock on the serial device +# to ensure exclusive access to the device. +lock + +# Don't show the passwords when logging the contents of PAP packets. +# This is the default. +hide-password + +# When logging the contents of PAP packets, this option causes pppd to +# show the password string in the log message. +#show-password + +# Use the modem control lines. On Ultrix, this option implies hardware +# flow control, as for the crtscts option. (This option is not fully +# implemented.) +modem + +# Set the MRU [Maximum Receive Unit] value to for negotiation. pppd +# will ask the peer to send packets of no more than bytes. The +# minimum MRU value is 128. The default MRU value is 1500. A value of +# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 +# bytes of data). +#mru 542 + +# Set the interface netmask to , a 32 bit netmask in "decimal dot" +# notation (e.g. 255.255.255.0). +#netmask 255.255.255.0 + +# Disables the default behaviour when no local IP address is specified, +# which is to determine (if possible) the local IP address from the +# hostname. With this option, the peer will have to supply the local IP +# address during IPCP negotiation (unless it specified explicitly on the +# command line or in an options file). +#noipdefault + +# Enables the "passive" option in the LCP. With this option, pppd will +# attempt to initiate a connection; if no reply is received from the +# peer, pppd will then just wait passively for a valid LCP packet from +# the peer (instead of exiting, as it does without this option). +#passive + +# With this option, pppd will not transmit LCP packets to initiate a +# connection until a valid LCP packet is received from the peer (as for +# the "passive" option with old versions of pppd). +#silent + +# Don't request or allow negotiation of any options for LCP and IPCP +# (use default values). +#-all + +# Disable Address/Control compression negotiation (use default, i.e. +# address/control field disabled). +#-ac + +# Disable asyncmap negotiation (use the default asyncmap, i.e. escape +# all control characters). +#-am + +# Don't fork to become a background process (otherwise pppd will do so +# if a serial device is specified). +#-detach + +# Disable IP address negotiation (with this option, the remote IP +# address must be specified with an option on the command line or in +# an options file). +#-ip + +# Disable IPCP negotiation and IP communication. This option should +# only be required if the peer is buggy and gets confused by requests +# from pppd for IPCP negotiation. +#noip + +# Disable magic number negotiation. With this option, pppd cannot +# detect a looped-back line. +#-mn + +# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e. +# 1500). +#-mru + +# Disable protocol field compression negotiation (use default, i.e. +# protocol field compression disabled). +#-pc + +# Require the peer to authenticate itself using PAP. +#+pap + +# Don't agree to authenticate using PAP. +#-pap + +# Require the peer to authenticate itself using CHAP [Cryptographic +# Handshake Authentication Protocol] authentication. +#+chap + +# Don't agree to authenticate using CHAP. +#-chap + +# Disable negotiation of Van Jacobson style IP header compression (use +# default, i.e. no compression). +#-vj + +# Increase debugging level (same as -d). If this option is given, pppd +# will log the contents of all control packets sent or received in a +# readable form. The packets are logged through syslog with facility +# daemon and level debug. This information can be directed to a file by +# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If +# pppd is compiled with extra debugging enabled, it will log messages +# using facility local2 instead of daemon). +#debug + +# Append the domain name to the local host name for authentication +# purposes. For example, if gethostname() returns the name porsche, +# but the fully qualified domain name is porsche.Quotron.COM, you would +# use the domain option to set the domain name to Quotron.COM. +#domain + +# Enable debugging code in the kernel-level PPP driver. The argument n +# is a number which is the sum of the following values: 1 to enable +# general debug messages, 2 to request that the contents of received +# packets be printed, and 4 to request that the contents of transmitted +# packets be printed. +#kdebug n + +# Set the MTU [Maximum Transmit Unit] value to . Unless the peer +# requests a smaller value via MRU negotiation, pppd will request that +# the kernel networking code send data packets of no more than n bytes +# through the PPP network interface. +#mtu + +# Set the name of the local system for authentication purposes to . +# This is a privileged option. With this option, pppd will use lines in the +# secrets files which have as the second field when looking for a +# secret to use in authenticating the peer. In addition, unless overridden +# with the user option, will be used as the name to send to the peer +# when authenticating the local system to the peer. (Note that pppd does +# not append the domain name to .) +#name + +# Enforce the use of the hostname as the name of the local system for +# authentication purposes (overrides the name option). +#usehostname + +# Set the assumed name of the remote system for authentication purposes +# to . +#remotename + +# Add an entry to this system's ARP [Address Resolution Protocol] +# table with the IP address of the peer and the Ethernet address of this +# system. +#proxyarp + +# Use the system password database for authenticating the peer using +# PAP. Note: mgetty already provides this option. If this is specified +# then dialin from users using a script under Linux to fire up ppp wont work. +# login + +# If this option is given, pppd will send an LCP echo-request frame to the +# peer every n seconds. Normally the peer should respond to the echo-request +# by sending an echo-reply. This option can be used with the +# lcp-echo-failure option to detect that the peer is no longer connected. +lcp-echo-interval 30 + +# If this option is given, pppd will presume the peer to be dead if n +# LCP echo-requests are sent without receiving a valid LCP echo-reply. +# If this happens, pppd will terminate the connection. Use of this +# option requires a non-zero value for the lcp-echo-interval parameter. +# This option can be used to enable pppd to terminate after the physical +# connection has been broken (e.g., the modem has hung up) in +# situations where no hardware modem control lines are available. +lcp-echo-failure 4 + +# Set the LCP restart interval (retransmission timeout) to seconds +# (default 3). +#lcp-restart + +# Set the maximum number of LCP terminate-request transmissions to +# (default 3). +#lcp-max-terminate + +# Set the maximum number of LCP configure-request transmissions to +# (default 10). +#lcp-max-configure + +# Set the maximum number of LCP configure-NAKs returned before starting +# to send configure-Rejects instead to (default 10). +#lcp-max-failure + +# Set the IPCP restart interval (retransmission timeout) to +# seconds (default 3). +#ipcp-restart + +# Set the maximum number of IPCP terminate-request transmissions to +# (default 3). +#ipcp-max-terminate + +# Set the maximum number of IPCP configure-request transmissions to +# (default 10). +#ipcp-max-configure + +# Set the maximum number of IPCP configure-NAKs returned before starting +# to send configure-Rejects instead to (default 10). +#ipcp-max-failure + +# Set the PAP restart interval (retransmission timeout) to seconds +# (default 3). +#pap-restart + +# Set the maximum number of PAP authenticate-request transmissions to +# (default 10). +#pap-max-authreq + +# Set the maximum time that pppd will wait for the peer to authenticate +# itself with PAP to seconds (0 means no limit). +#pap-timeout + +# Set the CHAP restart interval (retransmission timeout for +# challenges) to seconds (default 3). +#chap-restart + +# Set the maximum number of CHAP challenge transmissions to +# (default 10). +#chap-max-challenge + +# If this option is given, pppd will rechallenge the peer every +# seconds. +#chap-interval + +# With this option, pppd will accept the peer's idea of our local IP +# address, even if the local IP address was specified in an option. +#ipcp-accept-local + +# With this option, pppd will accept the peer's idea of its (remote) IP +# address, even if the remote IP address was specified in an option. +#ipcp-accept-remote + +# Disable the IPXCP and IPX protocols. +# To let pppd pass IPX packets comment this out --- you'll probably also +# want to install ipxripd, and have the Internal IPX Network option enabled +# in your kernel. /usr/doc/HOWTO/IPX-HOWTO.gz contains more info. +noipx + +# Exit once a connection has been made and terminated. This is the default, +# unless the `persist' or `demand' option has been specified. +#nopersist + +# Do not exit after a connection is terminated; instead try to reopen +# the connection. +#persist + +# Terminate after n consecutive failed connection attempts. +# A value of 0 means no limit. The default value is 10. +#maxfail + +# Initiate the link only on demand, i.e. when data traffic is present. +# With this option, the remote IP address must be specified by the user on +# the command line or in an options file. Pppd will initially configure +# the interface and enable it for IP traffic without connecting to the peer. +# When traffic is available, pppd will connect to the peer and perform +# negotiation, authentication, etc. When this is completed, pppd will +# commence passing data packets (i.e., IP packets) across the link. +#demand + +# Specifies that pppd should disconnect if the link is idle for seconds. +# The link is idle when no data packets (i.e. IP packets) are being sent or +# received. Note: it is not advisable to use this option with the persist +# option without the demand option. If the active-filter option is given, +# data packets which are rejected by the specified activity filter also +# count as the link being idle. +#idle + +# Specifies how many seconds to wait before re-initiating the link after +# it terminates. This option only has any effect if the persist or demand +# option is used. The holdoff period is not applied if the link was +# terminated because it was idle. +#holdoff + +# Wait for up n milliseconds after the connect script finishes for a valid +# PPP packet from the peer. At the end of this time, or when a valid PPP +# packet is received from the peer, pppd will commence negotiation by +# sending its first LCP packet. The default value is 1000 (1 second). +# This wait period only applies if the connect or pty option is used. +#connect-delay + +# Packet filtering: for more information, see pppd(8) +# Any packets matching the filter expression will be interpreted as link +# activity, and will cause a "demand" connection to be activated, and reset +# the idle connection timer. (idle option) +# The filter expression is akin to that of tcpdump(1) +#active-filter + +# ------ diff --git a/recipes-connectivity/ppp/ppp/options-mobile b/recipes-connectivity/ppp/ppp/options-mobile new file mode 120000 index 0000000..2f793bd --- /dev/null +++ b/recipes-connectivity/ppp/ppp/options-mobile @@ -0,0 +1 @@ +options-mobile.base \ No newline at end of file diff --git a/recipes-connectivity/ppp/ppp/options-mobile.base b/recipes-connectivity/ppp/ppp/options-mobile.base new file mode 100755 index 0000000..3d5479a --- /dev/null +++ b/recipes-connectivity/ppp/ppp/options-mobile.base @@ -0,0 +1,24 @@ +ttyUSB0 +115200 +lock +nodetach +nocrtscts +modem +passive +novj +#-pc +novj +nobsdcomp +novjccomp +nopcomp +noaccomp +noccp +defaultroute +noipdefault +usepeerdns +noauth +hide-password +persist +holdoff 10 +maxfail 5 +debug diff --git a/recipes-connectivity/ppp/ppp/options-mobile.base.orig b/recipes-connectivity/ppp/ppp/options-mobile.base.orig new file mode 100755 index 0000000..b6d65a8 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/options-mobile.base.orig @@ -0,0 +1,16 @@ +ttyUSB0 +921600 +lock +crtscts +modem +passive +novj +defaultroute +noipdefault +usepeerdns +noauth +hide-password +persist +holdoff 10 +maxfail 0 +debug diff --git a/recipes-connectivity/ppp/ppp/pap-secrets b/recipes-connectivity/ppp/ppp/pap-secrets new file mode 100755 index 0000000..ab5d8ae --- /dev/null +++ b/recipes-connectivity/ppp/ppp/pap-secrets @@ -0,0 +1,43 @@ +# +# /etc/ppp/pap-secrets +# +# This is a pap-secrets file to be used with the AUTO_PPP function of +# mgetty. mgetty-0.99 is preconfigured to startup pppd with the login option +# which will cause pppd to consult /etc/passwd (and /etc/shadow in turn) +# after a user has passed this file. Don't be disturbed therefore by the fact +# that this file defines logins with any password for users. /etc/passwd +# (again, /etc/shadow, too) will catch passwd mismatches. +# +# This file should block ALL users that should not be able to do AUTO_PPP. +# AUTO_PPP bypasses the usual login program so it's necessary to list all +# system userids with regular passwords here. +# +# ATTENTION: The definitions here can allow users to login without a +# password if you don't use the login option of pppd! The mgetty Debian +# package already provides this option; make sure you don't change that. + +# INBOUND connections + +# Every regular user can use PPP and has to use passwords from /etc/passwd +* hostname "" * + +# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any +# other accounts that should not be able to use pppd! +guest hostname "*" - +master hostname "*" - +root hostname "*" - +support hostname "*" - +stats hostname "*" - + +# OUTBOUND connections + +# Here you should add your userid password to connect to your providers via +# PAP. The * means that the password is to be used for ANY host you connect +# to. Thus you do not have to worry about the foreign machine name. Just +# replace password with your password. +# If you have different providers with different passwords then you better +# remove the following line. + +# * password + + diff --git a/recipes-connectivity/ppp/ppp/pap-secrets.template b/recipes-connectivity/ppp/ppp/pap-secrets.template new file mode 100755 index 0000000..3156c3f --- /dev/null +++ b/recipes-connectivity/ppp/ppp/pap-secrets.template @@ -0,0 +1,45 @@ +# +# /etc/ppp/pap-secrets +# +# This is a pap-secrets file to be used with the AUTO_PPP function of +# mgetty. mgetty-0.99 is preconfigured to startup pppd with the login option +# which will cause pppd to consult /etc/passwd (and /etc/shadow in turn) +# after a user has passed this file. Don't be disturbed therefore by the fact +# that this file defines logins with any password for users. /etc/passwd +# (again, /etc/shadow, too) will catch passwd mismatches. +# +# This file should block ALL users that should not be able to do AUTO_PPP. +# AUTO_PPP bypasses the usual login program so it's necessary to list all +# system userids with regular passwords here. +# +# ATTENTION: The definitions here can allow users to login without a +# password if you don't use the login option of pppd! The mgetty Debian +# package already provides this option; make sure you don't change that. + +# INBOUND connections + +# Every regular user can use PPP and has to use passwords from /etc/passwd +* hostname "" * + +# UserIDs that cannot use PPP at all. Check your /etc/passwd and add any +# other accounts that should not be able to use pppd! +guest hostname "*" - +master hostname "*" - +root hostname "*" - +support hostname "*" - +stats hostname "*" - + +# OUTBOUND connections + +# Here you should add your userid password to connect to your providers via +# PAP. The * means that the password is to be used for ANY host you connect +# to. Thus you do not have to worry about the foreign machine name. Just +# replace password with your password. +# If you have different providers with different passwords then you better +# remove the following line. + +# * password +# for example: +# myuser * mypsw * +__USER__ * __PASSWORD__ * + diff --git a/recipes-connectivity/ppp/ppp/pin b/recipes-connectivity/ppp/ppp/pin new file mode 120000 index 0000000..e73e9e9 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/pin @@ -0,0 +1 @@ +pin.NONE \ No newline at end of file diff --git a/recipes-connectivity/ppp/ppp/pin.CODE b/recipes-connectivity/ppp/ppp/pin.CODE new file mode 100755 index 0000000..6c841e4 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/pin.CODE @@ -0,0 +1 @@ +AT+CPIN=xxxx diff --git a/recipes-connectivity/ppp/ppp/pin.NONE b/recipes-connectivity/ppp/ppp/pin.NONE new file mode 100755 index 0000000..53a3137 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/pin.NONE @@ -0,0 +1 @@ +AT diff --git a/recipes-connectivity/ppp/ppp/provider b/recipes-connectivity/ppp/ppp/provider new file mode 100755 index 0000000..3d83113 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/provider @@ -0,0 +1,2 @@ +noauth +pty "/etc/ppp/wait-dialup-hardware 10 mobile-noauth" diff --git a/recipes-connectivity/ppp/ppp/reset_modem.py b/recipes-connectivity/ppp/ppp/reset_modem.py new file mode 100755 index 0000000..054f6d5 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/reset_modem.py @@ -0,0 +1,10 @@ +import serial + +ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=5) +for i in range(5): + ser.write('AT^RESET\r') + response = 'init' + while (response != '') and ('OK' not in response): + response = ser.readline() + if 'OK' in response: + break \ No newline at end of file diff --git a/recipes-connectivity/ppp/ppp/reset_modem.sh b/recipes-connectivity/ppp/ppp/reset_modem.sh new file mode 100755 index 0000000..e3d8799 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/reset_modem.sh @@ -0,0 +1,4 @@ +#!/bin/bash +/usr/bin/python /etc/ppp/reset_modem.py +sleep 15 +/etc/ppp/wait-dialup-hardware 20 \ No newline at end of file diff --git a/recipes-connectivity/ppp/ppp/resolv.conf b/recipes-connectivity/ppp/ppp/resolv.conf new file mode 100644 index 0000000..d207ef6 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/resolv.conf @@ -0,0 +1,2 @@ +nameserver 217.168.13.34 +nameserver 46.6.113.2 diff --git a/recipes-connectivity/ppp/ppp/vodafone b/recipes-connectivity/ppp/ppp/vodafone new file mode 100755 index 0000000..3dd89d1 --- /dev/null +++ b/recipes-connectivity/ppp/ppp/vodafone @@ -0,0 +1,39 @@ +# 20120711 by zhuhaiyan +# configuration for a dialup connection authenticated with PAP or CHAP +# +# This is the default configuration used by pon(1) and poff(1). +# See the manual page pppd(8) for information on all the options. + +# MUST CHANGE: replace myusername@realm with the PPP login name given to +# your by your provider. +# There should be a matching entry with the password in /etc/ppp/pap-secrets +# and/or /etc/ppp/chap-secrets. +# user "myusername@realm" +user "vodafone" + +# MUST CHANGE: replace ******** with the apn of your provider. +# The /etc/chatscripts/pap chat script may be modified to change the +# modem initialization string. +connect "/usr/sbin/chat -v -f /etc/chatscripts/vodafone" + +# Serial device to which the modem is connected. +/dev/ttyUSB0 + +# Speed of the serial line. +115200 + +#debug ppp info +debug + +# Assumes that your IP address is allocated dynamically by the ISP. +noipdefault +# Try to get the name server addresses from the ISP. +usepeerdns +# Use this connection as the default route. +defaultroute + +# Makes pppd "dial again" when the connection is lost. +persist + +# Do not ask the remote to authenticate. +noauth diff --git a/recipes-connectivity/ppp/ppp/wait-dialup-hardware b/recipes-connectivity/ppp/ppp/wait-dialup-hardware new file mode 100755 index 0000000..2dbb85f --- /dev/null +++ b/recipes-connectivity/ppp/ppp/wait-dialup-hardware @@ -0,0 +1,23 @@ +#!/bin/bash +INTERFACE="/dev/$(head -n 1 /etc/ppp/options-mobile)" +MAX_SECONDS_TIMEOUT=$1 +PEER_NAME=$2 +dsec=$((${MAX_SECONDS_TIMEOUT} * 10)) +for ((retry=0; retry < ${dsec}; retry++)) +do + if [ -c ${INTERFACE} ]; then + logger "$0: OK existing required device ${INTERFACE} (in $((retry / 10)).$((100 * (retry % 10) / 10)) seconds)" + break + else + sleep 0.1 + fi +done +if [ ! -c ${INTERFACE} ]; then + logger "$0: ERROR timeout waiting for required device ${INTERFACE}" + exit 1 +fi +if [ ! -z "${PEER_NAME}" ]; then + logger "$0: starting pppd for ${PEER_NAME}" + setsid nohup pon "${PEER_NAME}" > /dev/null 2>&1 < /dev/null & +fi +exit 0 diff --git a/recipes-connectivity/ppp/ppp_2.4.7.bbappend b/recipes-connectivity/ppp/ppp_2.4.7.bbappend new file mode 100644 index 0000000..57ec9b0 --- /dev/null +++ b/recipes-connectivity/ppp/ppp_2.4.7.bbappend @@ -0,0 +1,76 @@ +RDEPENDS_${PN} += "bash" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI += " \ + file://chap-secrets \ + file://pap-secrets \ + file://ip-down.local \ + file://ip-up.local \ + file://3g.template \ + file://mobile-auth \ + file://mobile-noauth \ + file://mobile-noauth.wait \ + file://vodafone \ + file://apn.es.yoigo \ + file://apn.huawei \ + file://mobile-modem.chat \ + file://mode.2G-only \ + file://mode.2G-pref \ + file://mode.3G-only \ + file://mode.3G-pref \ + file://mode.4G-only \ + file://mode.4G-pref \ + file://mode.NONE \ + file://pin.CODE \ + file://pin.NONE \ + file://mobile-modem.chat \ + file://options-mobile \ + file://options-mobile.base \ + file://options-mobile.base.orig \ + file://options \ + file://provider \ + file://reset_modem.sh \ + file://reset_modem.py \ + file://resolv.conf \ + file://wait-dialup-hardware \ +" + +do_install_append () { + install -m 0664 ${WORKDIR}/chap-secrets ${D}${sysconfdir}/ppp/chap-secrets + install -m 0664 ${WORKDIR}/pap-secrets ${D}${sysconfdir}/ppp/pap-secrets + install -m 0775 ${WORKDIR}/ip-down.local ${D}${sysconfdir}/ppp/ip-down.local + install -m 0775 ${WORKDIR}/ip-up.local ${D}${sysconfdir}/ppp/ip-up.local + install -m 0755 ${WORKDIR}/3g.template ${D}${sysconfdir}/ppp/peers/3g.template + install -m 0664 ${WORKDIR}/mobile-auth ${D}${sysconfdir}/ppp/peers/mobile-auth + install -m 0664 ${WORKDIR}/mobile-noauth ${D}${sysconfdir}/ppp/peers/mobile-noauth + install -m 0664 ${WORKDIR}/mobile-noauth.wait ${D}${sysconfdir}/ppp/peers/mobile-noauth.wait + install -m 0664 ${WORKDIR}/vodafone ${D}${sysconfdir}/ppp/peers/vodafone + install -m 0664 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider + rm ${D}${sysconfdir}/ppp/peers/provider + ln -s -r ${D}${sysconfdir}/ppp/peers/mobile-noauth.wait ${D}${sysconfdir}/ppp/peers/provider + mkdir -p ${D}${sysconfdir}/ppp/chatscripts/ + install -m 0664 ${WORKDIR}/apn.es.yoigo ${D}${sysconfdir}/ppp/chatscripts/apn.es.yoigo + install -m 0664 ${WORKDIR}/apn.huawei ${D}${sysconfdir}/ppp/chatscripts/apn.huawei + install -m 0664 ${WORKDIR}/mobile-modem.chat ${D}${sysconfdir}/ppp/chatscripts/mobile-modem.chat + install -m 0664 ${WORKDIR}/mode.2G-only ${D}${sysconfdir}/ppp/chatscripts/mode.2G-only + install -m 0664 ${WORKDIR}/mode.2G-pref ${D}${sysconfdir}/ppp/chatscripts/mode.2G-pref + install -m 0664 ${WORKDIR}/mode.3G-only ${D}${sysconfdir}/ppp/chatscripts/mode.3G-only + install -m 0664 ${WORKDIR}/mode.3G-pref ${D}${sysconfdir}/ppp/chatscripts/mode.3G-pref + install -m 0664 ${WORKDIR}/mode.4G-only ${D}${sysconfdir}/ppp/chatscripts/mode.4G-only + install -m 0664 ${WORKDIR}/mode.4G-pref ${D}${sysconfdir}/ppp/chatscripts/mode.4G-pref + install -m 0664 ${WORKDIR}/mode.NONE ${D}${sysconfdir}/ppp/chatscripts/mode.NONE + install -m 0664 ${WORKDIR}/pin.CODE ${D}${sysconfdir}/ppp/chatscripts/pin.CODE + install -m 0664 ${WORKDIR}/pin.NONE ${D}${sysconfdir}/ppp/chatscripts/pin.NONE + ln -s -r ${D}${sysconfdir}/ppp/chatscripts/apn.es.yoigo ${D}${sysconfdir}/ppp/chatscripts/apn + ln -s -r ${D}${sysconfdir}/ppp/chatscripts/mode.NONE ${D}${sysconfdir}/ppp/chatscripts/mode + ln -s -r ${D}${sysconfdir}/ppp/chatscripts/pin.NONE ${D}${sysconfdir}/ppp/chatscripts/pin + install -m 0664 ${WORKDIR}/mobile-modem.chat ${D}${sysconfdir}/ppp/mobile-modem.chat + install -m 0664 ${WORKDIR}/options-mobile.base ${D}${sysconfdir}/ppp/options-mobile.base + install -m 0664 ${WORKDIR}/options-mobile ${D}${sysconfdir}/ppp/options + install -m 0775 ${WORKDIR}/reset_modem.sh ${D}${sysconfdir}/ppp/reset_modem.sh + install -m 0775 ${WORKDIR}/reset_modem.py ${D}${sysconfdir}/ppp/reset_modem.py + install -m 0664 ${WORKDIR}/resolv.conf ${D}${sysconfdir}/ppp/resolv.conf + install -m 0775 ${WORKDIR}/wait-dialup-hardware ${D}${sysconfdir}/ppp/wait-dialup-hardware + ln -s -r ${D}${sysconfdir}/ppp/options-mobile.base ${D}${sysconfdir}/ppp/options-mobile +} + -- 2.17.1