迅为iTOP3399开发板QT系统PCIE 4G移植-测试程序
发布时间:2021-9-23 14:01
发布者:落风
1 ITOP-3399 开发板上预留了一个 Mini PCIE 的 4G 接口,可以连接迅为提供的 EC20 模块。下面我们来演示下如何使用 EC20 4G 模块。 2 首先我们准备一个 EC20 4G 模块连接到 ITOP-3399 开发板的 Mini PCIE 接口上,然后准备一个 4G天线,接到 EC20 模块的天线座上面,然后插入一张能联网的 SIM 卡,如图所示: ![]() 3 然后我们给开发板上电启动,我们通过调试串口登录到开发板上,如下图所示: ![]() 4 待系统启动后,进入/etc 目录,然后创建 ppp 目录,具体命令如下: cd /etc //进入 etc 目录 mkdir ppp //创建 ppp 目录 5 目录创建完后,使用 U 盘将上一节编译的 chat、pppd、pppdump、pppstats 四个可执行文件拷贝 到/etc/ppp 目录下,然后在/etc/ppp 目录下创建 pap-secrets 文件,使用下面命令: touch pap-secrets //创建 pap-secrets 文件 vi pap-secrets //打开 pap-secrets 文件 输入如下内容: # Secrets for authentication using PAP # client server secret IP addresses card * card * 在 4G 信号在通信时候有一个密码的比对,密码对了就可以通信了。上面显示用户是 card,密码是 card。 6 然后在/etc/ppp 目录下创建新文件夹 peers,命令“mkdir peers”。 进入 peers 文件夹,创建 wcdma文件,命令如下: touch wcdma vi wcdma 输入如下内容: # /etc/ppp/peers/wcdma # This is pppd script for China liantong # Usage: root>pppd call wcdma hide-password noauth connect '/etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-connect' disconnect '/etc/ppp/chat -s -v -f /etc/ppp/peers/wcdma-chat-disconnect' debug #logfile ./ppplog /dev/ttyUSB2 115200 defaultroute noipdefault novj novjccomp noccp ipcp-accept-local ipcp-accept-remote local lock dump nodetach user "card" password "card" crtscts remotename 3gppp ipparam 3gppp usepeerdns 需要注意的是使用/dev/ttyUSB2 设备节点文件。“user "card"”和“password "card"”对应了 pap-secrets文件中的用户名和密码。 7 在/etc/ppp/peers 目录下创建 wcdma-chat-connect 文件: touch wcdma-chat-connect vi wcdma-chat-connect 内容如下: ABORT "BUSY" ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" ABORT "NO ANSWER" TIMEOUT 120 "" AT OK ATZ OK AT+CGDCONT=1,"IP","cmnet",,0,0 OK-AT-OK ATDT*98*1# CONNECT \d\c 在这里 OK AT+CGDCONT=1,"IP","cmnet",,0,0 OK-AT-OK ATDT*98*1# 这两句话会根据移动联通或者是电信而变化,这里用的是移动 4G。 注意:如果你换成其他营运商,需要改 apn 和拨号,不然连不上网 APN 设置: 移动: at+cgdcont=1,"ip","cmnet" 联通: at+cgdcont=1,"ip","3gnet" 电信: at+cgdcont=1,"ip","ctnet" 拨号: 移动:*99***1#或*98*1# 联通: *99# 电信: #777 8 在/etc/ppp/peers 目录下创建 wcdma-chat-disconnect 文件: touch wcdma-chat-disconnect vi wcdma-chat-disconnect 内容如下: ABORT "ERROR" ABORT "NO DIALTONE" SAY "INSending break to the modem\n" ""\k" ""+++ATH" SAY "\nGood bye\n" 9 现在所需的文件创建完成了,就可以进行联网测试了。我们提供的 Linux 镜像是配置好 4G 模块的, 烧写后可以直接进行测试。创建文件如下图所示: ![]() 10 开始测试,我们首先关闭 eth0 设备,因为和 EC20 4G 模块有冲突,同时只能使用一个设备。命令如下: ifconfig eth0 down 然后输入“ifconfig”来查看下 eth0 是否关闭。 ![]() 11 在/etc/ppp 目录下输入指令开始联网,&表示后台运行的意思。 ./pppd call wcdma & 结果如下: ![]() ![]() 12 上图表示联网成功后的 IP 地址为 10.65.93.324,使用 ifconfig 命令查看结果如下: ![]() 13.这时使用 ping 命令查看能够 ping 通百度,命令如下 ping www.baidu.com-c 5 “-c”选项指定 ping 网络的次数。 14 如果发现不能 ping 通外网,是因为 DNS 没有设置对,在 etc 下有一个文件 resolv.conf 。这个文件是用来放 DNS 的,是这个里面的域名没有设置对。然而在 eth0 的运行脚本里强制性的把这个文件复制为了 192.168.1.1 。这就造成即便在这里文件里设置上正确的 DNS,再开机后也会发现这个文件里已经是192.168.1.1 了。这是因为 eth0,是开机自启动的。 我们在/etc 目录下新建一个文件 resolv.conf_back: touch resolv.conf_back vi resolv.conf_back 输入如下内容: nameserver 202.99.160.68 nameserver 221.130.33.52 nameserver 221.130.33.60 nameserver 192.168.1.1 nameserver 114.114.114.114 ![]() 然后在新建一个脚本文件 ppp0: touch ppp0 vi ppp0 ![]() 输入如下内容: #!/bin/sh ifconfig eth0 down cp /etc/resolv.conf_back /etc/resolv.conf /etc/ppp/pppd call wcdma& ![]() 修改 ppp0 文件的执行权限: chmod 777 ppp0 这里第一步是将 eth0 关掉,第二步将我们的 DNS 文件覆盖到 resolv.conf 上,第三步运行。然后重新开机,执行 ppp0 脚本,命令如下: /etc/ppp0 脚本执行成功后,重新使用 ping 命令 ping 百度,结果如下图所示: ![]() 我们在调试串口终端输入“ifconfig”命令查看下网络设备信息状态,运行结果如图所示: ![]() 从上图我们可以看到通过 EC20 模块可以联网成功了。 |
网友评论