mirror of
https://github.com/sixfab/Sixfab_PPP_Installer
synced 2024-11-14 23:24:55 +00:00
aa16dae4f6
My freshly installed raspbian lacked the gpio tool used in the reconnect script. Please also include this installation (part of the wiringpi package)
195 lines
6.2 KiB
Bash
Executable File
195 lines
6.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
BLUE='\033[1;34m'
|
|
SET='\033[0m'
|
|
|
|
echo "${YELLOW}Please choose your Sixfab Shield/HAT:${SET}"
|
|
echo "${YELLOW}1: GSM/GPRS Shield${SET}"
|
|
echo "${YELLOW}2: 3G, 4G/LTE Base Shield${SET}"
|
|
echo "${YELLOW}3: Cellular IoT App Shield${SET}"
|
|
echo "${YELLOW}4: Cellular IoT HAT${SET}"
|
|
echo "${YELLOW}5: Tracker HAT${SET}"
|
|
echo "${YELLOW}6: 3G/4G Base HAT${SET}"
|
|
|
|
|
|
read shield_hat
|
|
case $shield_hat in
|
|
1) echo "${YELLOW}You chose GSM/GPRS Shield${SET}";;
|
|
2) echo "${YELLOW}You chose Base Shield${SET}";;
|
|
3) echo "${YELLOW}You chose CellularIoT Shield${SET}";;
|
|
4) echo "${YELLOW}You chose CellularIoT HAT${SET}";;
|
|
5) echo "${YELLOW}You chose Tracker HAT${SET}";;
|
|
6) echo "${YELLOW}You chose 3G/4G Base HAT${SET}";;
|
|
*) echo "${RED}Wrong Selection, exiting${SET}"; exit 1;
|
|
esac
|
|
|
|
if [ $shield_hat -eq 3 ] || [ $shield_hat -eq 4 ]; then
|
|
echo "${YELLOW}Please choose LTE Technology:${SET}"
|
|
echo "${YELLOW}1: GPRS/EDGE${SET}"
|
|
echo "${YELLOW}2: CATM1${SET}"
|
|
echo "${YELLOW}3: NB-IoT${SET}"
|
|
|
|
read network_technology
|
|
case $network_technology in
|
|
1) echo "${YELLOW}You chose GPRS/EDGE${SET}"
|
|
EXTRA='OK AT+QCFG="band",F,400A0E189F,A0E189F,1\nOK AT+QCFG="nwscanseq",01,1\nOK AT+QCFG="nwscanmode",1,1\nOK AT+QCFG="iotopmode",2,1';;
|
|
2) echo "${YELLOW}You chose CATM1${SET}"
|
|
EXTRA='OK AT+QCFG="band",F,400A0E189F,A0E189F,1\nOK AT+QCFG="nwscanseq",02,1\nOK AT+QCFG="nwscanmode",3,1\nOK AT+QCFG="iotopmode",0,1';;
|
|
3) echo "${YELLOW}You chose NB-IoT${SET}"
|
|
EXTRA='OK AT+QCFG="band",F,400A0E189F,A0E189F,1\nOK AT+QCFG="nwscanseq",03,1\nOK AT+QCFG="nwscanmode",3,1\nOK AT+QCFG="iotopmode",1,1';;
|
|
*) echo "{RED}Wrong Selection, exiting${SET}"; exit 1;
|
|
esac
|
|
fi
|
|
|
|
echo "${YELLOW}Downloading setup files${SET}"
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/chat-connect -O chat-connect
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "${RED}Download failed${SET}"
|
|
exit 1;
|
|
fi
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/chat-disconnect -O chat-disconnect
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "${RED}Download failed${SET}"
|
|
exit 1;
|
|
fi
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/provider -O provider
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "${RED}Download failed${SET}"
|
|
exit 1;
|
|
fi
|
|
#' # not required an more.
|
|
#while [ 1 ]
|
|
#do
|
|
# echo "${YELLOW}Do you have updated kernel? [Y/n] ${SET}"
|
|
# read kernelUpdate
|
|
|
|
# case $kernelUpdate in
|
|
# [Yy]* ) break;;
|
|
|
|
# [Nn]* ) echo "${YELLOW}rpi-update${SET}"
|
|
# rpi-update
|
|
# break;;
|
|
# *) echo "${RED}Wrong Selection, Select among Y or n${SET}";;
|
|
# esac
|
|
#done
|
|
#'
|
|
echo "${YELLOW}ppp and wiringpi (gpio tool) install${SET}"
|
|
apt-get install ppp wiringpi
|
|
|
|
echo "${YELLOW}What is your carrier APN?${SET}"
|
|
read carrierapn
|
|
|
|
while [ 1 ]
|
|
do
|
|
echo "${YELLOW}Does your carrier need username and password? [Y/n]${SET}"
|
|
read usernpass
|
|
|
|
case $usernpass in
|
|
[Yy]* ) while [ 1 ]
|
|
do
|
|
|
|
echo "${YELLOW}Enter username${SET}"
|
|
read username
|
|
|
|
echo "${YELLOW}Enter password${SET}"
|
|
read password
|
|
sed -i "s/noauth/#noauth\nuser \"$username\"\npassword \"$password\"/" provider
|
|
break
|
|
done
|
|
|
|
break;;
|
|
|
|
[Nn]* ) break;;
|
|
*) echo "${RED}Wrong Selection, Select among Y or n${SET}";;
|
|
esac
|
|
done
|
|
|
|
echo "${YELLOW}What is your device communication PORT? (ttyS0/ttyUSB3/etc.)${SET}"
|
|
read devicename
|
|
|
|
mkdir -p /etc/chatscripts
|
|
if [ $shield_hat -eq 3 ] || [ $shield_hat -eq 4 ]; then
|
|
sed -i "s/#EXTRA/$EXTRA/" chat-connect
|
|
else
|
|
sed -i "/#EXTRA/d" chat-connect
|
|
fi
|
|
|
|
mv chat-connect /etc/chatscripts/
|
|
mv chat-disconnect /etc/chatscripts/
|
|
|
|
mkdir -p /etc/ppp/peers
|
|
sed -i "s/#APN/$carrierapn/" provider
|
|
sed -i "s/#DEVICE/$devicename/" provider
|
|
mv provider /etc/ppp/peers/provider
|
|
|
|
if ! (grep -q 'sudo route' /etc/ppp/ip-up ); then
|
|
echo "sudo route del default" >> /etc/ppp/ip-up
|
|
echo "sudo route add default ppp0" >> /etc/ppp/ip-up
|
|
fi
|
|
|
|
if [ $shield_hat -eq 2 ]; then
|
|
if ! (grep -q 'max_usb_current' /boot/config.txt ); then
|
|
echo "max_usb_current=1" >> /boot/config.txt
|
|
fi
|
|
fi
|
|
|
|
while [ 1 ]
|
|
do
|
|
echo "${YELLOW}Do you want to activate auto connect/reconnect service at R.Pi boot up? [Y/n] ${SET}"
|
|
read auto_reconnect
|
|
|
|
case $auto_reconnect in
|
|
[Yy]* ) echo "${YELLOW}Downloading setup file${SET}"
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_service -O reconnect.service
|
|
|
|
if [ $shield_hat -eq 1 ]; then
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_gprsshield -O reconnect.sh
|
|
|
|
elif [ $shield_hat -eq 2 ]; then
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_baseshield -O reconnect.sh
|
|
|
|
elif [ $shield_hat -eq 3 ]; then
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_cellulariot_app -O reconnect.sh
|
|
|
|
elif [ $shield_hat -eq 4 ]; then
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_cellulariot -O reconnect.sh
|
|
|
|
elif [ $shield_hat -eq 5 ]; then
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_tracker -O reconnect.sh
|
|
|
|
elif [ $shield_hat -eq 6 ]; then
|
|
|
|
wget --no-check-certificate https://raw.githubusercontent.com/sixfab/Sixfab_PPP_Installer/master/ppp_installer/reconnect_basehat -O reconnect.sh
|
|
|
|
fi
|
|
|
|
mv reconnect.sh /usr/src/
|
|
mv reconnect.service /etc/systemd/system/
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable reconnect.service
|
|
|
|
break;;
|
|
|
|
[Nn]* ) echo "${YELLOW}To connect to internet run ${BLUE}\"sudo pon\"${YELLOW} and to disconnect run ${BLUE}\"sudo poff\" ${SET}"
|
|
break;;
|
|
*) echo "${RED}Wrong Selection, Select among Y or n${SET}";;
|
|
esac
|
|
done
|
|
|
|
read -p "Press ENTER key to reboot" ENTER
|
|
reboot
|