3898|5

57

帖子

7

TA的资源

一粒金砂(中级)

楼主
 

NXP-EVB-P6UL(I.mx6ul)的3G网络测试《三》 [复制链接]

3G测试:



Linux 3G拨号工具:
    Linux 3G拨号工具,包括pppd与chat,有时甚至需要usb_modeswitch


pppd
       PPP(Point to Point Protocol)协议是一种广泛使用的数据链路层协议,在国内广泛使用的宽带拨号协议PPPoE其基础就是PPP协议。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”,就不再发送,认为数据链路已建立连接。
usb_modeswitch
       越来越多的 usb 设备(特别是高速广域网连接设备, 基于手机芯片组, 能够改变他们的 usb 连接模式) 在MSWindows系统上;当第一次插入时, 它们就像闪存存储, 并开始从那里安装驱动程序。安装后 (并在每次连续插入) 驱动程序在内部切换模式, 存储设备将消失 (在大多数情况下), 并且一个新设备(如 USB 调制解调器) 出现。这种特征被无线设备的制造商称其为“免CD”的设备。在Linux上,大多情况下,驱动程序作为内核模块使用,如“USB串口”或“option”。默认情况下,设备为USB存储设备,usb_modeswitch 可以向已知启动模式切换的设备发送提供的批量消息 (最有可能是海量存储命令)。在某些情况下, USB 控制命令用于切换。这些情况由自定义函数处理, 不需要提供批量消息。目前许多3G上网设备工作于两种工作模式,像Linux内核的“USB存储模式”与“option模式”(已优化的串口驱动,一种高速的3G medem标准)。
       usb_modeswitch是一个模式切换工具,用于控制含有多个USB子设备的USB设备。具体来说,把3G模块的USB存储模式切换成3G模式。在EVB-P6UL上,不需要切换模式,下文的测试中不涉及usb_modeswitch的使用,在其他设备上如需要此工具,请自行研究使用。

验证modem驱动已经加载

启动已经烧写Linux系统的评估板,在安插3G模块前查看USB的设备ID、设备节点。验证并不是必要操作,如果您需要确认3G模块驱动已经加载。在评估板输入如下指令:
root@freescale~$ lsusb    //查看usb设备ID

root@freescale ~$ls /dev/ttyUSB*   //查看USB串口,MF210模块映射3ttyUSBx串口


插入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卡电话薄:


at+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/sbin/chat -s -v -f /etc/ppp/peers/chat-wcdma-connect'
               disconnect '/usr/sbin/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测试为例,在评估板上输入如下命令:


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所示。












此帖出自ARM技术论坛

最新回复

写的很好,之前用了PCI接口的模块和USB接口的模块,拨号脚本差不多,只要设备可以正确识别  详情 回复 发表于 2017-9-20 14:28
点赞 关注
个人签名欢迎骚扰!!!
QQ:1032626987
TEL:13750587707
 

回复
举报

406

帖子

1

TA的资源

一粒金砂(中级)

沙发
 
写的很好,之前用了PCI接口的模块和USB接口的模块,拨号脚本差不多,只要设备可以正确识别
此帖出自ARM技术论坛

点评

盈鹏飞公众号正式上线了!!! 公众号第一时间为您提供更多行业资讯,产品详情,技术资料分享,产品试用活动 [attachimg]329776[/attachimg]  详情 回复 发表于 2017-11-13 11:34
 
 
 

回复

57

帖子

7

TA的资源

一粒金砂(中级)

板凳
 
青城山下 发表于 2017-9-20 14:28
写的很好,之前用了PCI接口的模块和USB接口的模块,拨号脚本差不多,只要设备可以正确识别

谢谢支持!!!
此帖出自ARM技术论坛
 
个人签名欢迎骚扰!!!
QQ:1032626987
TEL:13750587707
 
 

回复

57

帖子

7

TA的资源

一粒金砂(中级)

4
 
CoM-T335 v1.1



此帖出自ARM技术论坛
 
个人签名欢迎骚扰!!!
QQ:1032626987
TEL:13750587707
 
 

回复

57

帖子

7

TA的资源

一粒金砂(中级)

5
 

1.全场商品最低5折起!
2.买EVB-335x评估套件(含屏)送核心板一块
3.买EVB-P6UL评估套件,同等配置第二块核心板半价或9折优惠!
4.买EVB-335x-II评估套件,同等配置第二块核心板半价或9折优惠!
5.买EVB-T335评估套件,同等配置第二块核心板半价或9折优惠!

优惠多多,放价多多!!!

活动时间:201711月1日至11月11日!
活动地址:https://artcor.taobao.com/
官网地址:http://www.embedall.com/
详情请关注官网信息!!!
此帖出自ARM技术论坛
 
个人签名欢迎骚扰!!!
QQ:1032626987
TEL:13750587707
 
 

回复

57

帖子

7

TA的资源

一粒金砂(中级)

6
 
青城山下 发表于 2017-9-20 14:28
写的很好,之前用了PCI接口的模块和USB接口的模块,拨号脚本差不多,只要设备可以正确识别

盈鹏飞公众号正式上线了!!!
公众号第一时间为您提供更多行业资讯,产品详情,技术资料分享,产品试用活动

此帖出自ARM技术论坛
 
个人签名欢迎骚扰!!!
QQ:1032626987
TEL:13750587707
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表