域格ASR平台模块 - Android下模块端口加载
适用模块:CLM920 JC3/CLM920 JC3 3.0/CLM920 JC3E、CLM920 JD3、CLM920 JC5/CLM920 JC5 3.0、CLM920 JD5、CLM920 CV9、CLM920 HV9、CLM920 HV9 V2、CLM920 HV9 G、CLM920 HE9、CLM920 HV5、CLM920 MV9、CLM920 LV9、CLM920 KV5、CLM920 KV3
1、识别模块
2、内核添加相关配置
域格ASR模块interface分布如下
interface 0 → RNDIS
interface 1 → CDC-DATA
interface 2 → DIAG
interface 3 → AT
interface 4 → Modem
其中的RNDIS端口需要加载成网卡,不能加载成ttyUSB,因此需要将interface 0、1过滤。
端口过滤的方式因kernel版本差异有所不同,可根据kernel版本情况选择以下一种方式对应修改即可。
① kernel 版本支持 RSVD 的,在 option.c(一般位于内核目录下的drivers/usb/serial/option.c)中的 option_ids 中添加 RSVD,可使驱动在加载时自动跳过RSVD指定的interface。
在文件中找到option_ids[]的数组,添加域格模块的VID和PID:
设置interface 0、1不加载option驱动,添加内容如下:
② kernel 版本支持 blacklist 的,在 option.c(一般位于内核目录下的drivers/usb/serial/option.c)中的 option_ids 中直接添加blacklist,让驱动在加载时自动跳过blacklist指定的interface。
在文件中找到option_ids[]的数组,添加域格模块的VID和PID:
设置interface 0、1不加载option驱动,添加内容如下:
添加blacklist到option_ids数组中:
3、核对驱动加载情况
编译完成后,通过查询命令:ls /dev/ttyU*,应有ttyUSB0、ttyUSB1、ttyUSB2三个端口,如下图:
interface 2加载成了ttyUSB0,interface 3加载成了ttyUSB1,interface 4加载成了ttyUSB2,对应功能如下
ttyUSB0 → DIAG
ttyUSB1 → AT
ttyUSB2 → Modem