目录

域格高通平台4G模块 - Android下模块端口加载

适用模块:CLM920 NC3CLM920 NC3 2.0CLM920 TE3CLM920 TE3 2.0CLM920 TD3CLM920 NC5CLM920 TE5CLM920 TD5


1、内核添加相关配置

域格高通平台4G模块,在Android下,带GPS功能需要使用的VID、PID分别为05C6、9125,其他普通功能VID、PID分别为05C6、9025。

PID不同,interface分布有所差异,具体如下

05C6 9125 05C6 9025
interface 0 → DIAG interface 0 → DIAG
interface 1 → ADB interface 1 → ADB
interface 2 → Modem interface 2 → Modem
interface 3 → AT interface 3 → AT
interface 4 → GPS interface 4 → RMNET
interface 5 → RMNET

使用时,无关端口需要进行过滤。

PID为9125时,需要过滤interface 0、1、5。

PID为9025时,需要过滤interface 0、1、4。

端口过滤的方式因kernel版本差异有所不同,可根据kernel版本情况选择以下一种方式对应修改即可。

① kernel 版本支持 RSVD 的,在 option.c(一般位于内核目录下的drivers/usb/serial/option.c)中的 option_ids 中添加 RSVD,可使驱动在加载时自动跳过RSVD指定的interface。

在文件中找到option_ids[]的数组,添加域格模块的VID和PID。

VID 0x05C6一般已存在,需调试GPS功能请使用PID 0x9125,其他普通功能PID为0x9025。可根据实际情况,参照以下方法添加VID、PID:

PID 9125(需调试GPS)设置interface 0、1、5不加载option驱动,PID 9025(不调试GPS)设置interface 0、1、4不加载option驱动,添加内容如下:

② kernel 版本支持 blacklist 的,在 option.c(一般位于内核目录下的drivers/usb/serial/option.c)中的 option_ids 中直接添加blacklist,让驱动在加载时自动跳过blacklist指定的interface。

在文件中找到option_ids[]的数组,添加域格模块的VID和PID。VID 0x05C6一般已存在,需调试GPS功能请使用PID 0x9125,其他普通功能PID为0x9025。可根据实际情况,参照以下方法添加VID、PID:

PID 9125(需调试GPS)设置interface 0、1、5不加载option驱动,PID 9025(不调试GPS)设置interface 0、1、4不加载option驱动,添加内容如下:

添加blacklist到option_ids数组中:

③ 不支持以上两种方式的,先在option_ids[]数组中添加模块的VID和PID。VID 0x05C6一般已存在,需调试GPS功能请使用PID 0x9125,其他普通功能PID为0x9025。可根据实际情况,参照以下方法添加VID、PID:

再在option_probe函数内判断当前interface号进行过滤:

3、核对驱动加载情况

编译完成后,通过查询命令:ls /dev/ttyU*。

PID 9025(不调试GPS)应有ttyUSB0、ttyUSB1两个端口。

PID 9125(需调试GPS)应有ttyUSB0、ttyUSB1、ttyUSB2三个端口。