From 2ff83b8dc72aa3d6d10134ed63d6d80c025dbcd1 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Fri, 22 Dec 2023 18:59:56 +0800 Subject: [PATCH] Update yocto build shell script --- yocto/meta-igkboard/recipes-misc/ifup-ppp/files/ifup-ppp | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 175 insertions(+), 0 deletions(-) diff --git a/yocto/meta-igkboard/recipes-misc/ifup-ppp/files/ifup-ppp b/yocto/meta-igkboard/recipes-misc/ifup-ppp/files/ifup-ppp new file mode 100755 index 0000000..156a18c --- /dev/null +++ b/yocto/meta-igkboard/recipes-misc/ifup-ppp/files/ifup-ppp @@ -0,0 +1,175 @@ +#!/bin/sh +# FILE:/usr/sbin/ifup-ppp +# Copyright (C) 2011 GuoWenxue <guowenxue@gmail.com> +# This file used to do PPP dial up. + +#-------------------------------------------------- +# Function definition here +#-------------------------------------------------- +usage() +{ + prog=`basename $0` + echo "$prog Usage: $prog [-d /dev/ttyUSB0] [-a apn] [-u username] [-p password] [-v chap/pap] [-i ipaddr] pppXX" + echo "" + echo " This shell script used to do pppd dial up on GPRS/3G modem, if no options gived, it" + echo "will use the default configure file \"$network_cfg_dir/ifcfg-pppXX\". If get options" + echo "in this command, it will use the option from the command line, and be careful the -d" + echo "option must be given to specify the modem device." + echo "" + + echo "pppXX: Required, specify the dial up generated PPP device, such as ppp10." + echo "-d: Required, if use command line options, specify the modem TTY device." + echo "-a: Option, APN(Access Point Name) for the SIM card provider." + echo "-u: Option, username for the GPRS login if needed." + echo "-p: Option, password for the GPRS login if needed." + echo "-v: Option, authenticate method, pap or chap." + echo "-i: Option, <local_IP_address>:<remote_IP_address> such as 0.0.0.0:0.0.0.0 " + echo "Example: ifup-ppp -d /dev/ttyUSB0 -a 3gnet -u uid -p pwd ppp10" + + echo "" + echo "Copyright (C) 2011 GuoWenxue <guowenxue@gmail.com>" + exit +} + +#=============================== +# Global variable declare = +#=============================== +modem= +inf= +apn= +uid= +pwd= + + +# Configure file +if [ -z "$network_cfg_dir" ]; then + export network_cfg_dir=/apps/etc/network +fi + +#=============================== +# Shell body start here = +#=============================== + +if [ $# -lt 1 ] ; then + usage; +elif [ $# -eq 1 ] ; then + inf=$1 + conf=ifcfg-$inf + + cd $network_cfg_dir + + if [ ! -f $conf ]; then + echo "=================================================================================" + echo "ERROR: $inf dial up configure file \"$network_cfg_dir/$conf\" not found!" + echo "=================================================================================" + echo "" + usage; + exit; + fi + + . $conf + modem=$MODEM + apn=$APN + uid=$USERNAME + pwd=$PASSWORD + vrfy=$VERIFY + ipaddr=$IPADDR + cd - +else + while getopts "a:d:u:p:v:hi:" Option + do + case $Option in + d) modem=$OPTARG ;; + i) ipaddr=$OPTARG ;; + a) apn=$OPTARG ;; + u) uid=$OPTARG ;; + p) pwd=$OPTARG ;; + v) vrfy=$OPTARG ;; + h) pwd=$OPTARG; usage ;; + esac + done + shift $(($OPTIND - 1)) + inf=$* +fi + +if [ -z "$modem" ] ; then + usage; + exit; +fi + +if [ ! -c "$modem" ] ; then + echo "ERROR: Modem device $modem doesn't exist!" + exit +fi + +inf=$( echo $inf | tr -cd '[0-9]\n' ) + + +# Chat script need these two variable +export APN=$apn +export DIALNUM="*99***1#" +chat_script="/etc/ppp/gprs-chat" + +#====================== +# The pppd options # +#====================== + +options="$modem 115200" + +if [ -n "$uid" -a -n "pwd" ]; then + options=$options" name $uid" + options=$options" password $pwd" +fi + +if [ -n "$inf" ] ; then + options=$options" unit $inf" +fi + +if [ "$vrfy" == "chap" ] ; then + options=$options" require-chap" +else + options=$options" require-pap" +fi + +# Restart after idle X second +options=$options" idle 86400" + +options=$options" refuse-mschap refuse-mschap-v2 refuse-eap" + +options=$options" nodefaultroute updetach" +options=$options" debug" + +options=$options" lcp-echo-failure 3 lcp-echo-interval 5" +options=$options" ipcp-accept-local ipcp-accept-remote ipcp-restart 50" + +options=$options" modem crtscts" + + +if [ -n "$ipaddr" ] ; then + options=$options" $ipaddr" +fi + +# Let the phone figure out all the IP addresses +options=$options" noipdefault" + +options=$options" noauth" + +# No ppp compression +options=$options" novj noccp novjccomp" + +# For sanity, keep a lock on the serial line +options=$options" lock" + +#================================= +# PPP dial up command start up # +#================================= +set -x + +#chat option should can be: -v -E -V -f +pppd $options connect "/usr/sbin/chat -v -E -f $chat_script" + +if [ -d /sys/class/net/ppp$inf ] ; then + ip route add default dev ppp$inf metric 10 + #ip route add default dev ppp$inf + /apps/tools/gatewayD > /dev/null 2>&1 +fi -- Gitblit v1.9.1