SIM7500_SIM7600系列
_LINUX
NDIS驱动调试文档
LTE 模组
芯讯通无线科技(上海)有限公司
上海市长宁区金钟路633号晨讯科技大楼B座6楼
电话:86-21-31575100
技术支持邮箱:support@simcom.com
官网:www.simcom.com
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
SIM7500_SIM7600系列_Linux NDIS驱动调试文档
2.00
应用文档
已发布
名称:
版本:
类别:
状态:
版权声明
本手册包含芯讯通无线科技(上海)有限公司(简称:芯讯通)的技术信息。除非经芯讯通书面许可,任何
单位和个人不得擅自摘抄、复制本手册内容的部分或全部,并不得以任何形式传播,违反者将被追究法律责
任。对技术信息涉及的专利、实用新型或者外观设计等知识产权,芯讯通保留一切权利。芯讯通有权在不通
知的情况下随时更新本手册的具体内容。
本手册版权属于芯讯通,任何人未经我公司书面同意进行复制、引用或者修改本手册都将承担法律责任。
芯讯通无线科技(上海)有限公司
上海市长宁区金钟路 633 号晨讯科技大楼 B 座 6 楼
电话:86-21-31575100
邮箱:simcom@simcom.com
官网:www.simcom.com
了解更多资料,请点击以下链接:
http://cn.simcom.com/download/list-230-cn.html
技术支持,请点击以下链接:
http://cn.simcom.com/ask/index-cn.html 或发送邮件至 support@simcom.com
版权所有 © 芯讯通无线科技(上海)有限公司2020,保留一切权利。
www.simcom.com
2 / 10
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
关于文档
版本历史
版本
2.00
日期
2020.8.6
作者
备注
更新文档格式
www.simcom.com
3 / 10
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
目录
版权声明................................................................................................................................................................. 2
关于文档................................................................................................................................................................. 3
版本历史....................................................................................................................................................................3
1
目录......................................................................................................................................................................... 4
.本文目的........................................................................................................................................................5
.SIM7500_SIM7600 USB 相关描述............................................................................................................6
.USB 串口驱动使用....................................................................................................................................... 7
USB Serial 的内核配置支持......................................................................................................................7
3.1
3.2 修改驱动代码增加 SIM7500_SIM7600 的 VID/PID 并且跳过 Interface 5.....................................7
2
3
4
.USB NDIS NET 使用.......................................................................................................................................9
4.1 内核配置支持............................................................................................................................................... 9
4.2 使用 ifconfig 查看网卡信息,默认处于 down 状态.......................................................................... 10
SIM7500_SIM7600 拨号指令.................................................................................................................10
4.3
4.4 利用 DHCP 给 Linux 网卡获取 IP...................................................................................................... 10
www.simcom.com
4 / 10
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
1.本文目的
本文档介绍了如何在 Linux OS 中为 SIMCOM 模块生成 USB 驱动程序,以及如何加载使用 SIMCOM
WWAN 驱动。
www.simcom.com
5 / 10
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
2.SIM7500_SIM7600 USB 相关描述
SIM7500_SIM7600 系列模块的 USB VID 是 0x1E0E PID 是 0x9001。
作为 Slave USB 设备,配置如下表
Interface number Driver
0
1
2
3
4
5
6
USB Serial
USB Serial
USB Serial
USB Serial
USB Serial
USB RMNet
adb
Description
Diagnostic Interface
GPS NMEA Interface
AT port Interface
Modem port Interface
USB Audio Interface
wwan interface
Android adb debug port
※ 特别注意
在 Linux 系统中要防止 USB Serial 驱动把 Net interface 枚举占用
www.simcom.com
6 / 10
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
3.USB 串口驱动使用
3.1 USB Serial 的内核配置支持
在 linux 内核配置中,请确保
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
3.2 修改驱动代码增加 SIM7500_SIM7600 的 VID/PID 并且跳过 Interface 5
找到内核源码文件 option.c(一般情况下,路径在 drivers/usb/serial/option.c)
如果是较新的内核版本,一般可以跳过对于 option.c 驱动文件的修改
可以跳过 option.c 驱动文件修改的特征,option_ids 列表中包含下列语句块之一
1.
2.
3.
4.
{ USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
.driver_info = RSVD(5) | RSVD(6) },
{ USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
.driver_info = (kernel_ulong_t)&simcom_sim7100e_blacklist },
在 option_ids 列表中增加
5. … …
6. static const struct usb_device_id option_ids[] = {
7. //for SIM7600 modem for NDIS
8. #if 1 //Added by Simcom
9.
10. #endif
11. … …
{ USB_DEVICE(0x1e0e, 0x9001) },
www.simcom.com
7 / 10
并且在 option_probe 里过滤掉 interface 5
SIM7500_SIM7600系列_Linux NDIS驱动调试文档 V2.00
static int option_probe(struct usb_serial *serial,
const struct usb_device_id *id)
1.
2.
3. {
4. ……
5. /* sim7600 */
6. #if 1 //Added by Simcom`
7.
if (serial->dev->descriptor.idVendor == cpu_to_le16(0x1E0E) &&
serial->dev->descriptor.idProduct == cpu_to_le16(0x9001)
&& serial->interface->cur_altsetting->desc.bInterfaceNumber >=5)
return -ENODEV;
8.
9.
10. #endif
11. ……
12.
内核调试信息打印
如果驱动正确编译到内核,内核开机找到模块后,会打印如下信息
usb 1-1: new high speed USB device using rt3xxx-ehci and address 2
option 1-1:1.0: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
option 1-1:1.1: GSM modem (1-port) converter detectedSmart Machine Smart Decision
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
option 1-1:1.2: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
option 1-1:1.3: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB3
option 1-1:1.4: GSM modem (1-port) converter detected
usb 1-1: GSM modem (1-port) converter now attached to ttyUSB4
dev/ttyUSB0~4 就会生成,上层应用就可以通过这些设备和模块交互了(发送 AT 命令等)
www.simcom.com
8 / 10