common problem

4G 拨号脚本及模块有效性验证方法(N720 Neoway)

2020-11-04 11:35:31 tuwei 12
4g_dial.sh内容
#!/bin/bash

string='Gobi'
info_eth1=$(ethtool -i eth1 | grep 'driver')

#监查当前4G模块对应的网口设备号
if[[ $info_eth1 == *$string* ]]
then
echo 'eth1 as 4g eth node'
eth_no='eth1'
else
echo 'eth0 as 4g eth node'
eth_no='eth0'
fi

#echo -e "AT+CGATT?
" > /dev/ttyUSB2;
#res1=$(head -n3 /dev/ttyUSB2 | grep "CGATT: 1")
#echo $res1

echo 'Power up 4G module and dial, please wait'

#--- turn off radio and SIM power
echo -e "AT+CFUN=0,1
" > /dev/ttyUSB2
sleep 20

for i in {1..20}
do
if [ -c /dev/ttyUSB2 ];then
#AT 指令参考 Neoway_N720_AT命令手册
cat /dev/ttyUSB2 &
echo -e "ATI
" > /dev/ttyUSB2
sleep 1
echo -e "ATI+CCID
" > /dev/ttyUSB2
sleep 1
echo -e "ATI+CREG?
" > /dev/ttyUSB2
sleep 1
echo -e "ATI+CSQ
" > /dev/ttyUSB2
sleep 5

#运行拨号,如返回$QCRMCALL: 1 V4则正常
echo -e "AT$QCRMCALL=1,1
" > /dev/ttyUSB2
sleep 1
echo -e "AT$QCRMCALL=1,1
" > /dev/ttyUSB2
sleep 5

udhcpc -i $eth_no
sleep 1
ipaddr=$(/sbin/ifconfig $eth_no|grep inet|grep -v 127.0.0.1|grep -v inet6 | awk '{print $2}' | tr -d "addr:")
for j in {1..5}#check ip get or not
do 
if [ -z "$ipaddr" ]; then
echo 'can not get ip re-dhcp'
udhcpc -i $eth_no
sleep 1
else
echo $ipaddr
exit 
fi
done

exit

else 
echo '4G Module reset, just waiting '
sleep 1
fi
done 


#PS: 其他AT 指令参考
#断开拨号
#echo -e "AT$QCRMCALL=0,1
" > /dev/ttyUSB2
#sleep 3

#如下为关闭模块和飞行模式操作方法,供参考
#--- turn off radio and fly mode
#echo -e "AT+CFUN=4,0
" > /dev/ttyUSB2
#sleep 1
#--- turn off radio and SIM power
#echo -e "AT+CFUN=0,0
" > /dev/ttyUSB2
#sleep 1
#--- turn on radio and full function (default)
#echo -e "AT+CFUN=1
" > /dev/ttyUSB2
#sleep 10
#--- Check CFUN state
#echo -e "AT+CFUN?
" > /dev/ttyUSB2

以上脚本适用于T600/T100/T101/T200等型号,但需root 执行
参考文档:
Neoway_N720_AT命令手册(标准版)
Neoway_N720_Linux集成用户手册

4G 模块验证方法(有方Neoway N720)

步骤1、查看是否识别到4G 模块(数据通讯采用的是USB2.0),若无则硬件连接或4G 模块有问题排查硬件

图为科技
image

步骤2、查看ttyUSB设备(拨号通过虚拟Serial),若无但步骤1 正常则Nano T100固件可能未升级

图为科技
image

步骤3、输入如下脚本指令进行模块验证及拨号(root 用户),并另外开启一个终端查看输出信息

$sudo su

$./twork/4g_dial.sh

步骤4、运行udhcp 获取IP 地址

$udhcpc -i eth1 (此处4G 模块对应eth1,通过命令ifconfig 查看设备号 )

图为科技
image

问题解决:

1、运行./4g_dial 后,查看$cat /dev/ttyUSB2 如接收到NO CARRIER ?

问题:4G 没有信号

排查:试着通过其他手机拨打当前机器中的号码确认是否网络链接正常

2、udhcpc:无法获取IP 地址

问题:命令提示如下udhcpc:sending discover

排查:检查 eth设备号是否正确? 是否有添加 “-i” 参数?

3、4g_dial.sh 脚本包含指令如下

#!/bin/bash

clear

echo -e "ATI
" > /dev/ttyUSB2

sleep 1

echo -e "ATI+CCID
" > /dev/ttyUSB2

sleep 1

echo -e "ATI+CREG?
" > /dev/ttyUSB2

sleep 1

echo -e "ATI+CSQ
" > /dev/ttyUSB2

sleep 1

echo -e "AT$QCRMCALL=1,1
" > /dev/ttyUSB2

sleep 1



作者:秦风_无衣
链接:https://www.jianshu.com/p/f22e6483fec8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。