Linux 4G模块通信

4G模块大都是采用了MiniPCIE接口,实际上通信接口都是USB,4G模块驱动对应的就是USB驱动。4G模块厂商都提供了详细的文档讲解如何在linux下使用4G模块,以及如何修改Linux内核加入4G模块驱动。

一、硬件原理图

在这里插入图片描述
在这里插入图片描述
4G模块MiniPCIE接口的HUB_DP2 HUB_DM2 连接到了GLL850 USB控制器芯片,然后HUB_OTG2_DP HUB_OTG2_DN 连接到核心板接口,也就和IMX6UL芯片的USB建立硬件连接。U11是SIM卡槽,SMF05C是防静电芯片。

  • 我们要使用的是高新兴物联的ME3630模块
    在这里插入图片描述
  • 开发板连接4G模块
    在这里插入图片描述

二,4G模块驱动修改

  1. 添加USB信息
    打开 Linux 源码的 drivers/usb/serial/option.c 文件,添加 ME3630 的 PID 和 VID
    在这里插入图片描述
  2. 添加ECM接口支持程序
    ME3630可以通过ECM接口轻松联网,打开 Linux 源码的 drivers/usb/serial/option.c 文件,在option_probe函数中添加信息
    在这里插入图片描述
  3. 配置linux内核
    执行make menuconfig,弹出配置界面
  • 使能USBNET功能
    在这里插入图片描述
  • 使能 USB 串口 GSM、 CDMA 驱动
    在这里插入图片描述
  • 使能 USB 的 CDC ACM 模式
    在这里插入图片描述
    编译内核,生成使用新的zImage启动开发板
  1. 移植pppd软件
  • 在移植之前先删除掉/usr/sbin/chat 这个软件