4G 拨号脚本及模块有效性验证方法(N720 Neoway)
2020-08-24
tuwei
439
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?\r\n" > /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\r\n" > /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\r\n" > /dev/ttyUSB2 sleep 1 echo -e "ATI+CCID\r\n" > /dev/ttyUSB2 sleep 1 echo -e "ATI+CREG?\r\n" > /dev/ttyUSB2 sleep 1 echo -e "ATI+CSQ\r\n" > /dev/ttyUSB2
sleep 5 #运行拨号,如返回$QCRMCALL: 1 V4则正常 echo -e "AT\$QCRMCALL=1,1\r\n" > /dev/ttyUSB2 sleep 1 echo -e "AT\$QCRMCALL=1,1\r\n" > /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\r\n" > /dev/ttyUSB2 #sleep 3 #如下为关闭模块和飞行模式操作方法,供参考 #--- turn off radio and fly mode #echo -e "AT+CFUN=4,0\r\n" > /dev/ttyUSB2 #sleep 1 #--- turn off radio and SIM power #echo -e "AT+CFUN=0,0\r\n" > /dev/ttyUSB2 #sleep 1 #--- turn on radio and full function (default) #echo -e "AT+CFUN=1\r\n" > /dev/ttyUSB2 #sleep 10 #--- Check CFUN state #echo -e "AT+CFUN?\r\n" > /dev/ttyUSB2
以上脚本适用于T600/T100/T101/T200等型号,但需root 执行
参考文档:
Neoway_N720_AT命令手册(标准版)
Neoway_N720_Linux集成用户手册
4G 模块验证方法(有方Neoway N720)
步骤1、查看是否识别到4G 模块(数据通讯采用的是USB2.0),若无则硬件连接或4G 模块有问题排查硬件
步骤2、查看ttyUSB设备(拨号通过虚拟Serial),若无但步骤1 正常则Nano T100固件可能未升级
步骤3、输入如下脚本指令进行模块验证及拨号(root 用户),并另外开启一个终端查看输出信息
$sudo su
$./twork/4g_dial.sh
步骤4、运行udhcp 获取IP 地址
$udhcpc -i eth1 (此处4G 模块对应eth1,通过命令ifconfig 查看设备号 )
问题解决:
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\r\n" > /dev/ttyUSB2 sleep 1 echo -e "ATI+CCID\r\n" > /dev/ttyUSB2 sleep 1 echo -e "ATI+CREG?\r\n" > /dev/ttyUSB2 sleep 1 echo -e "ATI+CSQ\r\n" > /dev/ttyUSB2 sleep 1 echo -e "AT\$QCRMCALL=1,1\r\n" > /dev/ttyUSB2 sleep 1
作者:秦风_无衣
链接:https://www.jianshu.com/p/f22e6483fec8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。