侧边栏壁纸
  • 累计撰写 4 篇文章
  • 累计收到 4 条评论

4G模块ME909移植指南

pone
2021-03-17 / 0 评论 / 524 阅读 / 正在检测是否收录...

4G模块ME909移植指南

移植 TD-Tech 公司的 ME909s-805p 4G模块

参考资料
《ME909s-805g LTE LGA模块Linux内核驱动集成指南(USB).V1.1.pdf》
《鼎桥 ME909S-805G LTE LGA模块AT命令手册-V100R001_01-CHINESE.V1.0_0225.pdf》

添加AT指令的支持

  1. 添加option.c(drivers/usb/serial/option.c)文件对805p模组的支持。
    static const struct usb_device_id option_ids[]数组中增加模组USB的PID和VID。之后系统已经可以对接4G模块的USB-AT通道,可以和系统进行AT通信了。

    { USB_DEVICE(0x2ECC, 0x3010) }, /* TD TECH ME909S-805P */
  2. 确保Linux的配置arch/arm64/configs/imx_v8_defconfig中加入了关于OPTION的驱动。
    在配置文件中检查是否有如下配置项,有则不作修改,没有则在合适位置加入。

    CONFIG_USB_SERIAL=y
    CONFIG_USB_SERIAL_WWAN=y
    CONFIG_USB_SERIAL_OPTION=y

RNDIS方式上网配置

添加Linux对RNDIS驱动的支持。在配置arch/arm64/configs/imx_v8_defconfig中添加如下配置:

CONFIG_USB_USBNET=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_NET_RNDIS_HOST=y

完成上述工作后编译Linux内核烧录到板卡上即可支持805p模组。
如果是ECM方式则生成的网络设备是rndis_host

(选配)ECM方式上网配置

ECM和RNDIS属于两种上网方式,两种上网方式选择任意一种即可。

添加Linux对ECM驱动的支持。在配置arch/arm64/configs/imx_v8_defconfig中添加如下配置:

CONFIG_USB_USBNET=y
CONFIG_NETDEVICES=y
CONFIG_USB_NET_CDCETHER=y

如果是ECM方式则生成的网络设备是cdc_ether

驻网

完成上述工作后系统即可支持4G模组上网。驻网方式如下:

stty -F /dev/ttyUSB1 -echo #去除tty终端的回显功能,针对805p模组,如果不执行此步骤则会造成模组指令识别问题,陷入死循环
echo -e "AT^SYSINFOEX\r" > /dev/ttyUSB1 #使用-e参数,转义转义字符\r。查询服务状态命令
    #^SYSINFOEX: 2,3,0,1,0,6,"LTE",101,"LTE"
    # PS 分组交换 数据 ;CS 电路交换 语音 ;MO 上行 ;MT 下行
echo -e "AT+CGDCONT?" > /dev/ttyUSB1 #查询PDP上下文
    #+CGDCONT: 1,"IPV4V6","3gnet.MNC001.MCC460.GPRS"
    #+CGDCONT: 2,"IP","3gnet","10.128.130.99",0,0,,,,
    #+CGDCONT: 8,"IPV4V6","IMS","fe80::166c:bca0:9de9:f1ab",0,0,0,2,1,1
    #NDISDUP拨号时用CID2,CID1目前是是作为默认承载用的
echo -e "AT^NDISDUP=2,1,"CTNET"" > /dev/ttyUSB1 #命令拨号
    #3GNET
    #CMNET
    #CTNET
ifconfig eth0 down #关闭其他网络节点,未验证是否有必要这么做
udhcpc -ieth1 #动态获取

之后可以正常上网。

关于805p的专有说明

  • 设备tty端口含义

    ttyUSB0:DIAG 
    ttyUSB1:AT 
    ttyUSB2:MODEM  
  • LTE的信号质量如何查看
    在3/4g下查询当前RSCP/RSRP,当小于-105dBm的时候,数据业务很难成功。^HCSQ: "LTE",31,71,0,13也就是上述的信息中看信号的第二个值。范围如下:

    0  rsrp < -140 dBm 
    1  -140 dBm ≤ rsrp < - 139 dBm 
    2  -139 dBm ≤ rsrp < -138 dBm 
    ... 
    71 -70 dBm ~ -69 dBm
    
    95  -46 dBm ≤ rsrp < -45 dBm 
    96  -45 dBm ≤ rsrp < -44 dBm 
    97  -44 dBm ≤ rsrp 
    255  未知或不可测 

    说明上述 71信号还是不错的

补充

当CREG、CGREG没有注册上时,是无法做相关业务的。
当CSQ、HCSQ信号值过低的时候也是无法做相关业务的。
当业务掉线后,必须重新查询CREG、CGREG、CSQ、HCSQ,当满足做业务的基本要求时,在发起相关操作。

0

评论 (0)

取消