目录

域格5G RedCap模块 - Linux下驱动加载及拨号前准备

1、识别模块

域格5G RedCap模块VID、PID分别为12d1、1506。确认使用lsusb可以找到模块。


2、USB端口说明

端口说明 Linux说明名称 PC 设备管理器中名称
Modem 端口 /dev/ttyUSB4 IOT Connect - 3G Modem
3G 数据调试端口 /dev/ttyUSB1 IOT Connect - 3G Application Interface
AT 端口 /dev/ttyUSB0 IOT Connect - PC UI Interface
LTE 数据调试端口 /dev/ttyUSB3 IOT Connect - Application Interface
数据调试端口 /dev/ttyUSB2 IOT Connect - GPS Interface

3、ARM-Linux 环境下内核源码文件相关配置

3.1 添加usb识别

步骤 1   在/drivers/usb/serial/option.c 中增加宏定义

#define HUAWEI_VENDOR_ID 0x12d1
#define HW_USB_DEVICE_AND_INTERFACE_INFO(vend, cl, sc, pr) \
.match_flags = USB_DEVICE_ID_MATCH_INT_INFO \
| USB_DEVICE_ID_MATCH_VENDOR, \
.idVendor = (vend), \
.bInterfaceClass = (cl), \
.bInterfaceSubClass = (sc), \
.bInterfaceProtocol = (pr)

步骤 2   在 static const struct usb_device_id option_ids[ ] id 列表中增加 USB 识别,设备 ID 如下:

{ HW_USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0xff, 0xff) },
{ HW_USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x01) },
{ HW_USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, 0xff, 0x01, 0x02) },
...略

每种型号实际会用到其中几个 ID,不过为了支持后面的扩展产品,建议添加以下附件里的全部 id 代码《USB 设备识别 ID_option_ids.txt》。

3.2 添加零包机制

步骤 1   修改文件 drivers/usb/serial/usb_wwan.c 增加对 bcdUSB 值的定义:

#define HW_bcdUSB 0x1506

增加对华为 vid 值的定义:

#define HUAWEI_VENDOR_ID 0x12d1

步骤 2   在 usb_wwan_write 函数内增加定义:struct usb_host_endpoint *ep;

             在usb_wwan_write 函数增加对零包的判断 增加部分如图所示:

增加零包判断

if((HUAWEI_VENDOR_ID == port->serial->dev->descriptor.idVendor)&&(HW_bcdUSB != port->serial->dev->descriptor.bcdUSB)){ 
    ep = usb_pipe_endpoint(this_urb->dev, this_urb->pipe); 
    if(ep && (0 != this_urb->transfer_buffer_length)&&(0 == this_urb->transfer_buffer_length % ep->desc.wMaxPacketSize)){
       this_urb->transfer_flags |= URB_ZERO_PACKET;
    }
}

3.3 USB 串口驱动集成配置

在内核源码下执行 make menuconfig,打开如图所示并选中配置。

内核 make menuconfig:

检查 .config 里面 USB 串口驱动相关的配

CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_WWAN=y

4、检查串口

ls /dev/ttyUSB* 查看是否有如下串口:

/dev/ttyUSB0

/dev/ttyUSB1

/dev/ttyUSB2

/dev/ttyUSB3

/dev/ttyUSB4

—— 一般情况下,默认 ttyUSB0 是 at 口,ttyUSB4 modem 口。

5、测试串口

使用 microcom 命令测试:

microcom -t 5000 -s 115200 /dev/ttyUSB0

microcom -t 5000 -s 115200 /dev/ttyUSB4

使用minicom命令测试:

minicom -D /dev/ttyUSB0

再输入 AT,返回 ok,串口正常,否则可能有异常

至此,Linux环境搭建成功,可以进行拨号等操作。

域格5G RedCap模块 - Linux下RNDIS拨号

域格5G RedCap模块 - Linux下pppd拨号

域格5G RedCap模块 - Linux下ECM拨号

< 回到NM28 BRA3资料大全