在许多领域,4G模块已成为现代通信技术的重要组成部分,如移动通信、车联网、物联网等,4G技术的应用越来越广泛。 如今,很多客户都需要用到4G模块来实现各种应用。为了帮助客户更好的使用4G模块,我司提供以下4G模块调试指导。 我司提供的SML750、320以及N720 4G模块都有现成的测试脚本,用户直接使用即可,本文档就不过多赘述。 本文档主要目的是帮助用户自主调试其它4G模块。 实现4G功能分为两步: 第一步:产生USB节点; 第二步:实现拨号上网。 调试前的准备本文档以广和通的L610 4G模块为例。测试4G模块的文件主要有三个,分别是 主测试脚本:4G_XXX_TQ3568.sh, 拨号脚本:XXX_init, 连接脚本:tq_XXX_connect, 用户可直接在我司提供的4G测试脚本基础上进行修改。 首先,在开发板终端,进入/test_utils/4G目录: · cd /test_utils/4G 如下图所示: 可以看到本目录下主要放着4G模块的主测试脚本,我们随便拷贝一份,取名为4G_L610_TQ3568.sh · cp 4G_slm320_TQ3568.sh 4G_L610_TQ3568.sh 进入 /etc/ppp/peers目录 · cd /etc/ppp/peers 可以看见,此目录下有着许多模块的拨号脚本以及连接脚本,(注:4G模块的拨号脚本以及连接脚本必须放在/ppp/peers目录下,用户不能随意更改此脚本位置) 随便拷贝一份4G模块的拨号脚本以及连接脚本,并取名为L610_init,tq_L610_connect · · cp slm320_init L610_init cp tq_slm320_connect tq_L610_connect 前期准备已经完成,接下来我们开始按照对应4G模块对脚本进行修改。 一、产生USB节点1、查看L610模块的PID、VID断电之后,把模块插到开发板上,重新上电进入系统后执行以下语句查看USB设备情况: · lsusb 由上图标红框的部分可知L610模块PID: 1782 ,VID:4d10 2、进入/test_utils/4G目录,打开4G_L610_TQ3568.sh文件· · cd /test_utils/4G vi 4G_L610_TQ3568.sh 上图标红框的部分为产生USB节点的代码,以下给出代码解释 · · · · · · · · · modalias=$(cat /sys/bus/usb/devices/7-1:1.1/modalias) #从7-1:1.1目录下的modalias文件中获取 #L610模块的PID、VID,modalias文件内容如图1所示。v=${modalias#*v} p=${modalias#*p} pid=${v:0:4} #截取'v'后的四位,即1782 vid=${p:0:4} #截取'p'后的四位,即4D10 echo $pid $vid > /sys/bus/usb-serial/drivers/option1/new_id #将L620模块的PID、VID写入此目录 #用于生成ttyUSB节点 echo 1782 4d10 > /sys/bus/usb-serial/drivers/option1/new_id 图一:7-1:1.1目录下的modalias文件内容 上图标红部分与lsusb查看的PID、VID相同,为了能让脚本自动取出正确的PID、VID,确定/sys/bus/usb/devices/7-1:1.1/modalias文件是关键。其中7-1:1.1设备目录由硬件决定。 因此,不同的开发板,该设备目录也会不同。而在TQ3568开发板中,此目录大概率为7-1:x.x或5-1:x.x。 若用户使用的不是TQ3568开发板,则该设备目录很大几率不是7-1:x.x或5-1:x.x,不过也不用担心,以下方法会帮助您精确找到对应目录。 ①查看内核打印信息 断电,将4G模块插到开发板上。上电时,串口终端会打印出内核相关信息,可以判断4G模块对应的设备节点位于哪个设备目录。 由上图可知,在TQ3568开发板上,其4G模块对应的usb设备目录为7-1。 进入/sys/bus/usb/devices目录 · cd /sys/bus/usb/devices 可以看见,有(7-1:1.0至7-1:1.6)七个关于4G模块的USB设备。值得注意的是,“:" 前的数字表示总线号,":"后表示设备号。 我们打开这七个设备目录下的modalias文件,可以发现其modalias文件内容(PID、VID)都为1782、4D10。 那么我们只需从这七个目录选择一个来获取PID、VID即可。本文档选择的是7-1:1.1。 若是T507平台,确定USB设备目录的方法与上文相同。 ①查看内核打印信息 ②进入/sys/bus/usb/devices目录 · cd /sys/bus/usb/devices 标红的目录内的modalias文件都完全相同,我们任选其一即可。例如选择2-1:1.1,则将原7-1:1.1更改为2-1:1.1如下图所示: 综上,就是产生USB节点的方法。 若用户使用的不是TQ3568平台,请按照以上方法确定并修改USB设备目录,以此来获取对应4G模块的PID、VID,进而产生USB节点。 二、实现拨号上网1、拨号上网需要在L610_init拨号脚本文件中指明USB设备,进入/etc/ppp/peers,打开L610_init文件如下图所示:· · cd /etc/ppp/peers vi L610_init 此文件由SLM320_init拷贝而来,由上图可知,原SLM320拨号使用的是ttyUSB5。至于为什么是使用ttyUSB5进行拨号,这由4G模块厂家决定。 2、通过查看SLM320对应手册可知对应模块使用的是哪个USB设备,如下图所示:用于拨号的端口一般为Modem端口,故SLM320拨号使用的USB设备为ttyUSB5。 查看本例的L610模块的端口信息如下图所示: 故,L610拨号使用的ttyUSB设备为ttyUSB0。 3、因此,我们需要将ttyUSB5修改为ttyUSB0,如下图所示:4、最后,我们将下图标红的部分,改为L610对应的连接文件。更改前:更改后:三、测试4G模块成功产生USB节点和配置号拨号文件后,接下来测试4G模块功能是否正常 进入/test_utils/4G目录,执行4G_L610_TQ3568.sh文件 · · cd /test_utils/4G sh 4G_L610_TQ3568.sh 上方红框为产生的USB节点打印信息,下方红框表示4G模块功能正常! 综上所述,调试4G模块总体来说只需要修改两个文件,分别为 1.主测试文件:4G_XXX_TQ3568.sh, 2.拨号脚本文件:XXX_init。 用户在实际开发中可能会遇到以下两种情况: ①用户使用的是TQ3568开发板 第一步:查看主测试文件,确认USB设备目录是否为7-1:XX(是:无需修改,否:修改为7-1:XX或5-1:XX)具体修改为哪个,请根据上文进入/sys/bus/usb/devices目录查看后自行修改。 第二步:自行查看对应模块的手册,确定拨号使用的USB序号并修改拨号脚本文件。 ②用户使用的不是TQ3568开发板 第一步:通过上文确定USB设备目录,并修改主测试文件。 第二步:自行查看对应模块的手册,确定拨号使用的USB序号并修改拨号脚本文件。 |
|