基于北斗和4G_Cat1模组的华为云智慧物流开发——关于PPP拨号失败的调试经历分享

举报
谢小康 发表于 2021/08/20 14:52:48 2021/08/20
【摘要】 遇到问题,调试就是这样:把各种可能性罗列出来,然后逐个排除,最终就可以定位;定位之后,解决就容易了

基于北斗和4G_Cat1模组的华为云智慧物流开发——关于PPP拨号失败的调试经历分享

问题描述:

使用EVB_HX板对L610进行PPP拨号的时候第一次总是不成功,有时候需要拨很多次才能成功,有时候拨号成功之后又迅速断开,情况不是很稳定。
下面是几张失败时的截图:
image.png
详细问题描述见下面这个网盘链接:
链接:https://pan.baidu.com/s/1vlnp9-ANiUD6yu0BInI26A
提取码:8et3

调试经历

8月17号,我在广和通ADP-L610-Arduino交流群提出我的问题
image.png
在直播中两位老师也是给出了可能的假设,并给出了几种解决方案
image.png
当天晚上我对这些方法一一进行了尝试排查。
首先查询了L610的软件版本为华为云版本:
Fibocom
L610-CN-00-00
16000.1000.00.05.01.12
V1.2
不存在阿里云版本,开机或者网络状况改变时,会自动做内置协议栈拨号的情况,所以排除这一原因。
在拨号脚本中把ttyUSB6改为ttyUSB0测试后并没有改善效果,所以也不是这个原因。但是这里注意的是ttyUSB0口分配的内存资源大,拨号一般都在内存大的口上进行,因为涉及数据传输,内存越大,传输越稳定。所以我这里也推荐使用ttyUSB0,
然后再PPP拨号前首先发送如下AT指令以确认是否具备拨号条件:
ATI //查询模块信息
AT+CSQ //查询信号强度
AT+CGREG? //查询注册情况
AT+MIPCALL=0 //挂断数字拨号
详细的脚本文件会在文章后面以附件的形式上传。
image.png
这里加入这些AT指令之后可以观测到不是信号的原因。
8月17号晚,Jim提出了一种可能性
image.png
由于当晚时间原因,就没有测试。
8月18号经过一上午我对运行失败后抓取了日志,使用dmesg命令。
通过日志分析,最终提出一下几个怀疑的方向

  1. 板子供电不足
  2. MiniPCIE接口不良
  3. L610本身异常重启
    对于L610重启,可以注意看看LPG灯。L610重启后,要重新注册网络,重新注册网络时,LPG是600ms ON/600ms OFF
    7RDH5GA2IMV8WX73SBSMB41.jpg

为了测试L610模组本身没有问题,将EVB_HX上的L610模组取下来换到ADP-L610-Arduino板上,连上虚拟机在Linux环境下面使用和开发板上相同的脚本程序做PPP拨号发现无异常情况。所以排除了L610模组本身的问题。

然后我又突然想到是不是卡的原因,因为在Linux下拨号使用的毕竟不是同一张卡,我又把物联网卡换到了ADP-L610-Arduino板上,切换到外卡拨号,经过测试没有问题,这也就说明了基本上说明了不是物联卡的问题。

然后我又把自己的移动的电话卡给安装到了EVB_HX板上,经过测试拨号居然可以成功,但是好景不长,也会偶尔出现此类问题。
到这个时候广和通-接口人-王海亮建议我使用示波器检测一下L610的供电,看看是否在拨号时,供电电压有大的跌落。
由于板卡上对于L610的供电口,我没有找到,再加上板卡本身比较精密,也不太容易引出线来测电压波形。所以这个时候我就有点犯难。

我又试图从其他地方找原因,比如可能是自己电脑原因,电脑的USB口老化了导致接触不良,借同学的电脑测试了几次,发现没有类似情况(由于测试次数少,所以被现象误导了)。

然后物流课程的阿正大佬给出了建议
image.png
我采用这种供电方式后,似乎拨号失败的问题消失了

8月19号 我在19号测试的时候尝试把QT程序和拨号脚本都放到自启动脚本里面去,做拨号和数据的上传,发现数据总是传不上去,通过和阿正聊了之后发现有可能是
image.png
这个问题到目前为止还没有解决,不过当时我用的方法是在QT中加了一个按键进行PPP拨号,但是通过测试时发现还是依旧会出现那种端口重连的现象。所以我意识到了似乎这个现象还是没有解决。
有些时候换成自己的手机移动卡,稍微好使一点没什么毛病,到19号晚上我都觉得没什么问题,直到快走的时候换回了物联网的那张卡,测试发现无论如何都拨不上号,每次都是端口重连。

8月20号,由于之前出现过电脑的原因,我再次借到了同学的电脑,经过多次尝试还是在同学的电脑上出现了端口重连的现象。所以可以排除我电脑USB不稳导致重连的问题。我总结了一下发生PPP导致拨号失败的原因。
image.png
image.png
广和通王海亮老师提出还是需要加电容,解决供电问题。
我在实验室找到了一个25V2200uF的电容,把他焊接到了电路板上。
image.png
image.png
c5560c02ebe076ba25359281cc701f6.jpg
这里焊接电容需要注意极性千万不要焊错,也不要连很长的先连在电容上,直接像上图那样焊上去就可以了。
经过上午到现在的测试,现在的板卡拨号正常,系统稳定运行。

总结

遇到问题,调试就是这样:把各种可能性罗列出来,然后逐个排除,最终就可以定位;定位之后,解决就容易了——广和通-接口人-王海亮
这次的问题解决了,解决过程中也是一种学习的过程,一点点的排查,定位到错误,然后再去解决,然后就是敢于质疑,我之前就是有个心里暗示好像EVB_HX出问题的可能性小,导致自己走了弯路,跑其他地方找了很多原因。

技术指导:广和通-接口人-王海亮、王城、程工、阿正等

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。