博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LC5730 3G模块在ARM板上的调试&GPRS拨号上网
阅读量:4603 次
发布时间:2019-06-09

本文共 2229 字,大约阅读时间需要 7 分钟。

 最近一两个星期一直在ARM板上调试LC5730,今天终于可以GPRS拨号上网了。

        我板子上的linux内核版本是2.6.14

        ARM板上有MiniPCI接口,LC5730 3G模块就插在MiniPCI接口上;虽说是MiniPCI接口,但却不是用PCI总线进行通信的,而是采用的USB总线进行通信,有的3G模块还带有串口,LC5730上没有串口。

        既然用的是USB,所以在linux下和3G模块进行通信用到usbserial.ko也不奇怪了。

首先插入这个模块(注意usbserial.ko依赖于usbcore.ko,请确保usbcore.ko已经插入到内核):

#insmod usbserial.ko vendor=0x1ab7 product=0x5730

按 道理说就会看到出现ttyUSB0, ttyUSB1, ttyUSB2,ttyUSB3四个设备,不过我的板子不是出现这四。个设备,而是/dev/usb/tts/0,/dev/usb /tts/1,/dev/usb/tts/2,/dev/usb/tts/3四个设备,害得我手动mknod了四个设备节点。。。。。。。。

        既然linux已经识别了3G模块,我们就要发送AT命令给3G模块试试了,不过我不想自己写linux串口程序区测试,这样出了问题很难定位是我程序的 问题还是3G模块的问题,所以我移植了minicom到ARM板上,这里就不详述移植过程了,稍微提一下,除了把minicom这个应用程序拷贝到ARM 板上的文件系统上外,还要把minicom的默认配置文件minirc.dfl也拷贝过去,内容如下:

# Machine-generated file - use "minicom -s" to change parameters.

pr port /dev/usb/tts/0
pu baudrate 9600
pu minit
pu rtscts No

         还要在/usr/share/terminfo建一个目录,取决于你的终端类型,我这里是v,然后将PC机上linux的vt102(也取决与你的终端类型)拷贝到该目录下。

       然后直接敲minicom,也可以minicom -s设置你的串口。然后打开回显。输入AT,立刻看到一个OK,说明ARM板与3G模块通信正常;然后插入SIM卡(不要带电操作,我忘记了也会带电插拔 SIM卡),输入AT+CPIN?来检查3G模块和SIM卡的通信是否正常,如果看到READY就说明OK。

       接下来测试了发短信,打电话,收短信等命令都可以正常执行。不过每当发短信,打电话时ARM板就会重启,怀疑与电源不稳定有关,因为3G模块在发射或接 受信号时功率比较大,LC5730大约要1.1A的电流,我看了下ARM板上MiniPCI上3.3V电源上的电解电容只有可怜的22uF,立马并了两个 470uF的电容上去,重启现象就没有了。

      接下来就是GPRS拨号上网了,到这里我有两个方案,主要是关于拨号软件的,我一开始想移植wvdial这个拨号软件的,移植到最后,发现 getcontext(),setcontext()这两个函数没有在ARM上实现,只能放弃,还有就是我使用的C库是uclibc也导致了一些问题,所 以到最后还是放弃了wvdial。

     还是老老实实的采用ppp拨号吧。ppp比较麻烦的就是写配置脚本,这里我移植的是ppp-2.4.5,然后将交叉编译的 pppd,chat,pppstats,pppdump拷贝到/usr/sbin目录下,接下来写配置脚本,我在/etc/ppp/peers下增加了个 options文件如下:

noauth

connect "/usr/sbin/chat -v -f /etc/ppp/connect"
disconnect "/usr/sbin/chat -v -f /etc/ppp/disconnect"
debug
/dev/usb/tts/0
115200
defaultroute
nodetach
usepeerdns

      在/etc/ppp/下添加connect,disconnet文件,connect文件如下:

ABORT 'BUSY'

ABORT 'ERROR'
ABORT 'NO CARRIER'
ABORT 'NO ANSWER'
ABORT 'NO DIALTONE'
ABORT 'RINGING'
SAY 'start connect script/n'
SAY 'send AT.../n'
"" 'AT'
SAY 'seng AT+CFUN=1.../n'
OK 'AT+CFUN=1'
TIMEOUT 60
SAY 'Setting APN.../n'
OK 'AT+CGDCONT=1,"IP","CMNET"'
SAY 'Dialing.../n'
OK 'ATD*99***1#'
CONNECT

      当然还有其他一些文件,就不详述了。

      准备好以后,直接pppd call options就可以啦

这时用ifconfig 命令就可看到多了一个ppp0,然后ifconfig eht0 down关掉eth0,接着就可ping www.baidu.com即可。

       今天先写到这里。。。

转载于:https://www.cnblogs.com/lifan3a/articles/4980453.html

你可能感兴趣的文章
Android群英传》读书笔记 (3) 第六章 Android绘图机制与处理技巧 + 第七章 Android动画机制与使用技巧...
查看>>
关于微信公众平台测试号配置失败的问题
查看>>
【NOIP2001】统计单词个数
查看>>
linux常用端口
查看>>
异常处理
查看>>
/proc/uptime详解
查看>>
如何建立合适的索引?
查看>>
acwing 651. 逛画展
查看>>
(待完成)qbxt2019.05 总结12 - 趣味题目 鹰蛋
查看>>
[2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
查看>>
关于WPF程序只运行一个实例的方法
查看>>
图论:点分治
查看>>
mysql
查看>>
C/C++ 知识点---sizeof使用规则及陷阱分析(网摘)
查看>>
java小程序 示例
查看>>
前端开发在线小工具
查看>>
有关cookies使用方法
查看>>
Hadoop 使用Combiner提高Map/Reduce程序效率
查看>>
前言 转录组
查看>>
局域网内访问机器时出现“未授予在次计算机上的请求登陆类型”
查看>>