完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`接着上一章的分享!这次讲到的是如何测试3G?3G测试: Linux3G拨号工具 inux 3G拨号工具,包括pppd与chat,有时甚至需要u***_modeswitch。 pppd PPP(Point to Point Protocol)协议是一种广泛使用的数据链路层协议,在国内广泛使用的宽带拨号协议PPPoE其基础就是PPP协议,此外和PPP相关的协议PPTP,L2TP也常应用于VPN虚拟专用网络。Linux中PPP实现主要分成两大部分:PPPD和PPPK。PPPD是用户态应用程序,负责PPP协议的具体配置,如MTU、拨号模式、认证方式、认证所需用户名/密码等。 PPPK指的是PPP内核部分,包括PPP驱动和PPP线路规程。PPPD通过PPP驱动提供的设备文件接口/dev/ppp来对PPPK进行管理控制,将用户需要的配置策略通过PPPK进行有效地实现,并且PPPD还会负责PPP协议从LCP到PAP/CHAP认证再到IPCP三个阶段协议建立和状态机的维护。 与PPP连接关系密切的有两个脚本是chat和options两个脚本。其中,chat是用来进行AT呼叫和控制的脚本,而options脚本就影响PPP的连接。 chat Chat程序定义了一个计算机和调制解调器之间对话交流,其主要目的是用来在本地PPPD和远端PPPD程序之间建立连接。一个chat脚本都是由字符串对来组成的。前面的字符串都是期望获取的串,紧跟的是发送的字符串。这个脚本每一项的具体含义是这样的: 1) MODEM期望空字符串。这句话的意思直接理解就是MODEM不管收到什么字符串,先发出字符 串AT; 2) 期望收到“OK”字符串,然后发送字符串“ATDT dialnumber” 3) 如果收到“CONNECT”,就不再发送,认为数据链路已建立连接。 u***_modeswitch 越来越多的 u*** 设备(特别是高速广域网连接设备, 基于手机芯片组, 能够改变他们的 u*** 连接模式) 在MSWindows系统上;当第一次插入时, 它们就像闪存存储, 并开始从那里安装驱动程序。安装后 (并在每次连续插入) 驱动程序在内部切换模式, 存储设备将消失 (在大多数情况下), 并且一个新设备(如 USB 调制解调器) 出现。这种特征被无线设备的制造商称其为“免CD”的设备。在Linux上,大多情况下,驱动程序作为内核模块使用,如“USB串口”或“option”。默认情况下,设备为USB存储设备,u***_modeswitch 可以向已知启动模式切换的设备发送提供的批量消息 (最有可能是海量存储命令)。在某些情况下, USB 控制命令用于切换。这些情况由自定义函数处理, 不需要提供批量消息。目前许多3G上网设备工作于两种工作模式,像Linux内核的“USB存储模式”与“option模式”(已优化的串口驱动,一种高速的3G medem标准)。 u***_modeswitch是一个模式切换工具,用于控制含有多个USB子设备的USB设备。具体来说,把3G模块的USB存储模式切换成3G模式。在EVB-P6UL上,不需要切换模式,下文的测试中不涉及u***_modeswitch的使用,在其他设备上如需要此工具,请自行研究使用。 验证modem驱动已经加载 启动已经烧写Linux系统的评估板,在安插3G模块前查看USB的设备ID、设备节点。验证并不是必要操作,如果您需要确认3G模块驱动已经加载。在评估板输入如下指令: root@freescale~$ lsu*** //查看u***设备ID root@freescale ~$ls /dev/ttyUSB* //查看USB串口,MF210模块映射3个ttyUSBx串口 插入3G模块后,调试串口在终端打印检测的USB设备信息,同时可以看到3G模块映射的3个USB串口:ttyUSB0、ttyUSB1、ttyUSB2。再次查看USB的设备ID与设备节点。如下图所示: 注: 在评估板执行“dmesg|grep -i ttyUSB”执行,也能看到挂载的ttyUSB*串口。 如图4-2,安插3G模块后,在/dev目录创建了3个ttyUSB*串口,这3个串口是MF210映射而来的。各个ttyUSB接口的功能不同: ttyUSB0:debug(诊断端口) ttyUSB1:AT(用于发送at指令) ttyUSB2:modem(pppd拨号使用此端口) 此外,USB设备ID多了一行,以“:”分隔,“19d2”为厂商编号(VID), “0117”为模块编号(PID)。在评估板上连接运行minicom(或picocom),连接ttyUSB1用at命令查看获取3G模块的信息: root@freescale~$ picocom -b 115200 -f n /dev/ttyUSB1 或 root@freescale~$minicom -s //初次运行minicom,加“-s”设置串口属性(串口设备号、波特率、数据位、停止位、校验位、流控制),如下图所示: 执行 minicom -s 后出现配置界面 ========================== [configuration] Filename andpaths Filetransfer and protocols Serial portsetup Modem anddialing Screen andkeyboard Save setupas df1 Save setupas…… Exit Exit fromminicom ========================== 使用向下键选择serial port setup(串口设置),按回车出现设置界面 ========================== A — SerialDevice: /dev/ttyUSB1 B — lockfileLocation : /var/lock C — CallingProgram : D — CalloutProgram: E —Bps/par/Bits: 115200 8N1 F — HardwareFlow Control : NO G — SoftwareFlow Control : NO Change withsetting? =========================== 按A,设置串口设备为/dev/ttyUSB1(AT 指令端口,因模块而异) 按E:设置为115200(模块波特率为自适应,推荐值115200) 按F:设置HardwareFlow Control : NO(无硬件流控) 按回车,保存设定,回到主菜单,可以选择Save setup as df1(设为默认配置)。 设置完成后选择 Exit 退出。 连接3G模块映射的ttyUSB1,返回串口属性的值。从minicom的信息中可以看到先按“CTRL-A”再按“z”键调出帮助菜单,帮助菜单下按“Q”或“X”推出minicom返回shell。接着输入at指令测试,入下图所示: 输入at,返回OK,说明3G模块已就绪; 输入ati,返回制造商信息、产品名称、软件版本信息、IMEI 等。 at指令除了获取(或设置)3G模块的信息外,还能设置、获取SIM卡的信息,通过at指令操作SIM就能判断其工作状态。用at+cpbs选择电话本存储位置,选择SIM卡电话薄: t+cpbs=“SM” //设置SIM卡为电话薄存储位置 at+cpbs? //查询SIM存储情况,返回存储条目、电话薄的。 当拔出SIM卡,再次执行【at+cpbs=“SM”】,提示“+CME ERROR: SIM not inserted”。在使用过程中,出现一样的错误,请检查SIM卡是否接触良好(SIM卡兼容MicroSIM、Nano SIM,是通过卡层层嵌套实现的,如下图:)。 注:不同的3G模块,其at测试指令可能不同,以模块官方的说明书为准。3G模块的at指令是不分区大小写的。更多关于at指令的操作,请参考ZTE公司的《模块AT指令手册》。 测试步骤: 如第2章,图2-1所示,3G模块与SIM分别安插在CN15、CN16中,并注意SIM的金属触点朝下。上一节at指令测试3G模块与SIM卡的接着,开始测试3G上网,步骤如下: 1、创建拨号脚本 在评估板上创建/etc/ppp/peers目录(根文件系统中默认无该目录),并在该目录下增加“wcdma”、“chat-wcdma-connect”“chat-wcdma-disconnect”3个脚本,脚本的内容如下: “wcdma”的脚本内容 debug nodetach lock /dev/ttyUSB2 #不同3G模块使用的模拟USB串口不同,根据实际情况更改 115200 user"card" password"card" crtscts show-password usepeerdns noauth noipdefault novj novjccomp noccp defaultroute ipcp-accept-local ipcp-accept-remote connect'/usr/***in/chat -s -v -f /etc/ppp/peers/chat-wcdma-connect' disconnect '/usr/***in/chat -s -v -f/etc/ppp/peers/chat-wcdma-disconnect' “chat-wcdma-connect”的脚本内容 TIMEOUT5 #设置拨号连接的超时时长 ABORT 'NOCARRIER' ABORT'ERROR' ABORT 'NODIALTONE' ABORT 'BUSY' ABORT 'NOANSWER' '' /rAT OK /rATZ OK/rAT+CGDCONT=1,"IP","3gnet",,0,0 OK-AT-OKATDT*99# CONNECT/d/c “chat-wcdma-disconnect”的脚本内容 ABORT"BUSY" ABORT"ERROR" ABORT"NO DIALTONE" SAY"/nSending break to the modem/n" ''"/K" ''"+++ATH" SAY "/nGoodbay/n" 注:若您使用的是CDMA-2000的模块,拨号脚本参考 附录1。 2、拨号连接,执行以下命令: root@freescale ~$pppd call wcdma & 若成功连接,则在调试串口输出如下信息(部分调试信息): 3、测试外网是否连通 ping测试、TFTP下载、或者wget均可以测试外网是否连通,以wget下载与ping测试为例,在评估板上输入如下命令: root@freescale~$ wget -chttp://www.drai***erghof.de/u*** ... ta-20170806.tar.bz2 ping测试: root@freescale~$ pingwww.embedall.com 拨号、获取IP地址成功,网络测试若不通。检查DNS服务器是否已经设置,用文本编译工具打开/etc/resolv.conf,如下图所示: 3G模块成功拨号后,在/etc/resolv.conf中自动生成DNS服务器地址(不拨号时不生成name server),把您需求的ISP的域名服务器添到该配置中。 MF210 的射频天线接口有2 个:一个是主天线接口(标识“MAIN”),一个是分集接收天线接口(标 识“AUX”),如图4-11所示。接上主天线即可正常通信,当不接主天线时,拨号失败,错误如图4-12所示。 |
|
相关推荐
|
|
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-网络编程示例之网络socket程序编程
492 浏览 0 评论
飞凌嵌入式-ELFBOARD-RGB LCD屏接口的PCB设计要点
755 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
848 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验
814 浏览 0 评论
1056 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11697 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-14 13:52 , Processed in 0.644186 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号