适用模块: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
域格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数组中:
编译完成后,通过查询命令:ls /dev/ttyU*,应有ttyUSB0、ttyUSB1、ttyUSB2三个端口,如下图:
interface 2加载成了ttyUSB0,interface 3加载成了ttyUSB1,interface 4加载成了ttyUSB2,对应功能如下
ttyUSB0 → DIAG
ttyUSB1 → AT
ttyUSB2 → Modem
可以通过minicom直接给模块发AT,如给AT口发,输入minicom -D /dev/ttyUSB1
核对以下AT
1、AT+CPIN?
—— 应返回ready。若不是,需要检查SIM卡接触情况。
2、AT+CSQ
—— 一般要在10以上。若不是,需要检查天线。
3、AT^SYSINFO
—— 第一位是2,第二位是2或3(即数据域要注册上)。若不是,需要核对SIM卡状态。
4、AT+CEREG?
—— 第二位参数应返回1或5,如0,1 或 0,5。若不是,需要核对SIM卡状态。
AT+CPIN? 错误码 +CME ERROR: 10 —— 卡不在位 +CME ERROR: 14 —— SIM busy
以上返回值确认无误后,就可以根据需要选择拨号方式进行拨号操作。