admin管理员组

文章数量:1531793

2024年4月1日发(作者:)

芯讯通无线科技(上海)有限公司

Simcom Android ril 适配1.7

2016-06-07

2017-01-20

Histoty

First release

Version 1.7

一 SIMCOM 模块USB相关描述

SIM7100/SIM7200/SIM7230/SIM7250/7500/7600系列模块的USB VID是0x1E0E

PID是0x9001

SIM5360/SIM6320/SIM5320 的USB VID:0x05C6 PID:0x9000

7100系列作为Slave USB设备,配置如下表

Interface number

0 USB serial Diagnostic Interface

1 USB serial GPS NMEA Interface

2 USB serial AT port Interface

3 USB serial Modem port Interface

4 USB serial USB Audio Interface

5 USB Net NDIS wwan interface

6 USB adb Android add debug port

目前7100系列可以支持NDIS方式拨号!但默认的情况下均采用ppp拨号方式。

下面适配的步骤中请依据拨号方式操作!

二 USB串口驱动使用

1 USB Serial的内核配置支持

CONFIG_USB_SERIAL=y

CONFIG_USB_SERIAL_WWAN=y

CONFIG_USB_SERIAL_OPTION=y

如果是适配SIM5360/SIM6320/SIM5320等模块: 因为一般的linux内核都有

预置这些模块的VID 和 PID。 所以。做完这步口可以直接跳到第四步RIL库

应用

芯讯通无线科技(上海)有限公司

2 修改驱动代码增加SIM7100的 VID/PID

找到内核源码文件option.c(一般情况下,路径在drivers/usb/serial/option.c)

 如果是较新的内核版本(V3.2以上)

#define SIMCOM_SIM7100_VID 0x1E0E

#define SIMCOM_SIM7100_PID 0x9001

//for SIM7100 modem for NDIS

static const struct option_blacklist_info simcom_sim7100_blacklist = {

.reserved = BIT(5),

};

在option_ids列表中增加

… …

//for SIM7100 modem for NDIS

{ USB_DEVICE(SIMCOM_SIM7100_VID, SIMCOM_SIM7100_PID),

.driver_info = (kernel_ulong_t)& simcom_sim7100_blacklist t

},

… …

 如果是较低的内核版本,

#define SIMCOM_SIM7100_VID 0x1E0E

#define SIMCOM_SIM7100_PID 0x9001

在option_ids列表中增加

{ USB_DEVICE(SIMCOM_SIM7100_VID, SIMCOM_SIM7100_PID)}, /*SIM7100 */

3. 预留NDIS口:

如果采用PPP拨号方式: 可以不做这一步.

如果采用NDIS拨号方式, 需要这一步步骤:

在option.c 中的option_probe 添加下面一段代码。

/* sim7100 */

if (serial->dev->or == SIMCOM_SIM7100_VID &&

serial->dev->uct == SIMCOM_SIM7100_PID &&

serial->interface->cur_altsetting->faceNumber == 5 )

return -ENODEV;

3 内核调试信息打印

本文标签: 拨号内核方式