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