【米尔-瑞萨RZ/G2UL开发板-试用评测】4G模组使用与测试
<div class='showpostmsg'><div> </div><h1>1 Gobinet/QMI-WWAN/PPP拨号概述</h1>
<div><strong>1.Gobinet</strong><strong>拨号</strong></div>
<div>GOBI 高通Gobi无线宽带芯片技术,只需一个模块即可支持多种移动宽带网络和众多移动运营商。高通公司称全新的芯片将基于Gobi 4G LTE无线基带、MDM9615和MDM9215。这种技术可以在FDD和TDD网络下进行LTE连接,同时支持HSPA+和EV-DO网络、2G/3G网络。这意味着用户可以在本地使用高速4G LTE网络,在其他地方使用3G网络。Gobi平台在MDM芯片组的基础上还提供了软件增强层,这样可以使用不同技术下的无线连接更简单。</div>
<div><strong>2.QMI-WWAN</strong><strong>协议拨号</strong></div>
<div>QMI: Qualcom Message Interface</div>
<div>MSM: Mobile station mode</div>
<div>AP: Application Procesor</div>
<div>高通平台目前都是非对称多核心,最主要的是AP和Modem。</div>
<div>两个处理器怎么进行通信呢,我们把AP和Modem当作两个主机,问题就变得了很简单,TCP/IP协议不是一种非常成功的进程间跨主机通信方式。高通没有采用这种方式,但是借鉴了TCP/IP的框架设计。</div>
<div>Qualcomm MSM Interface,作用用于AP和BP侧的交互,通俗说法就是让设备终端TE(可以是手机,PDA,计算机)</div>
<div>对高通BP侧的AMSS系统进行操作,如调用函数,读取数据,设置其中的NV项等。</div>
<div><strong>3.</strong><strong>PPP</strong><strong>协议拨号</strong><strong>:</strong><strong>点对点协议</strong></div>
<div>PPP(点到点协议)在拨号过程中用于MS和PC间数据交互、协商。在拨号流程的初期首先开启的就是PC和MS直接的PPP过程,在拨号成功后,还需要依靠PPP协议对IP包进行封装传输数据。</div>
<div>官网源码:<a href="https://ppp.samba.org" target="_blank">https://ppp.samba.org</a></div>
<h1>2 驱动检查</h1>
<div>MYD-YG2UL驱动已经支持4G和5G了,笔者这里使用的EC20 4G模组,其接口如下:</div>
<div></div>
<div>可以看到,M2接的是USB,因此如果有USB转M2的转接板,可以直接使用家USB接口即可。</div>
<div>插入4G模组后,会有一下信息:</div>
<div></div>
<div>首先检查是否有USB设备信息。</div>
<div></div>
<div>然后在dev目录下查看USB设备。</div>
<div></div>
<div>另外在dev下还有一个cdc-wdm0。</div>
<div></div>
<div>说驱动已经集成了QMI。</div>
<h1>3 quectel-CM拨号上网</h1>
<div>拨号程序使用移远提供的quectel-CM,这是一个4G连接管理程序,这里没什么说的,交叉编译后得到可执行bin“quectel-CM”,</div>
<div>将quectel-CM下的Makefile文件修改成如下,然后 make</div>
<div>CC:= ${CC}</div>
<div></div>
<div>把这个bin放到板卡上启动后上述一、二驱动没有问题的情况下直接执行该bin就可以。将quectel-CM可执行程序拷贝到板子中。</div>
<div>【注】移动式,电信是。</div>
<div>$ ./quectel-CM -s ctnet &</div>
<div>或者</div>
<div>$ ./quectel-CM &</div>
<div>root@myir-rzg2ul:~# ./quectel-CM -s ctnet</div>
<div> Quectel_Linux_ConnectManager_SR01A01V30</div>
<div> ./quectel-CM profile = ctmet///0, pincode = (null)</div>
<div> Find /sys/bus/usb/devices/2-1.1 idVendor=2c7c idProduct=0125</div>
<div> Find /sys/bus/usb/devices/2-1.1:1.4/net/wwan0</div>
<div> Find usbnet_adapter = wwan0</div>
<div> Find /sys/bus/usb/devices/2-1.1:1.4/usbmisc/cdc-wdm0</div>
<div> Find qmichannel = /dev/cdc-wdm0</div>
<div> cdc_wdm_fd = 7</div>
<div> Get clientWDS = 20</div>
<div> Get clientDMS = 1</div>
<div> Get clientNAS = 4</div>
<div> Get clientUIM = 1</div>
<div> Get clientWDA = 1</div>
<div> requestBaseBandVersion EC20CEFAGR06A08M4G</div>
<div> requestGetSIMStatus SIMStatus: SIM_READY</div>
<div> requestSetProfile ctmet///0</div>
<div> requestGetProfile ctmet///0</div>
<div> requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE</div>
<div> requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED</div>
<div> requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE</div>
<div> requestSetupDataCall WdsConnectionIPv4Handle: 0x871698d0</div>
<div> requestQueryDataCall IPv4ConnectionStatus: CONNECTED</div>
<div> ifconfig wwan0 up</div>
<div> busybox udhcpc -f -n -q -t 5 -i wwan0</div>
<div>udhcpc: started, v1.30.1</div>
<div>udhcpc: sending discover</div>
<div>udhcpc: sending select for 10.21.127.53</div>
<div>这就是拨号成功了,当然也可查看IP信息。</div>
<div></div>
<div>如果拨号失败可以关闭wwan0,然后再次拨号。</div>
<div># ifconfig wwan0 down</div>
<div># echo Y > /sys/class/net/wwan0/qmi/raw_ip</div>
<div># ifconfig wwan0 up</div>
<div># busybox udhcpc -f -n -q -t 5 -i wwan0</div>
<div>接下来就是ping一下看是否可以联网。</div>
<div># ping 211.149.226.120</div>
<div></div>
<div>【注1】由于要使用网络通讯,所以不可避免的要用到dhcp。理想的网络通讯方式是下面3种都要支持:</div>
<div>1.接入已有网络。这便要求可以作为dhcp客户端。</div>
<div>2.作为DHCP服务器,动态分配IP。</div>
<div>3.指定固定IP</div>
<div> </div>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]