域格高通平台4G模块 - Linux下驱动加载及拨号前准备
适用模块:CLM920 NC3、CLM920 NC3 2.0、CLM920 TE3、CLM920 TE3 2.0、CLM920 TD3、CLM920 NC5、CLM920 TE5、CLM920 TD5
1、识别模块
2、内核添加相关配置
域格高通模块interface分布如下
interface 0 → DIAG
interface 1 → ADB
interface 2 → Modem
interface 3 → AT
interface 4 → RMNET
一般使用场景,仅需加载AT口及modem口,其他端口可以过滤掉,即interface 0、1、4可以设置为不加载成ttyUSB。
使用GoibNet拨号时必须要过滤interface 4,以免interface 4因加载成ttyUSB而加载不了网卡驱动,导致无法拨号。
端口过滤的方式因kernel版本差异有所不同,可根据kernel版本情况选择以下一种方式对应修改即可。
① kernel 版本支持 RSVD 的,在 option.c(一般位于内核目录下的drivers/usb/serial/option.c)中的 option_ids 中添加 RSVD,可使驱动在加载时自动跳过RSVD指定的interface。
在文件中找到option_ids[]的数组,添加域格模块的VID和PID,VID 0x05C6一般已存在,可根据实际情况,参照以下方法添加VID、PID:
设置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一般已存在,可根据实际情况,参照以下方法添加VID、PID:
设置interface 0、1、4不加载option驱动,添加内容如下:
添加blacklist到option_ids数组中:
3、核对驱动加载情况
编译完成后,通过查询命令:ls /dev/ttyU*,应有ttyUSB0、ttyUSB1两个端口,如下图:
interface 2加载成了ttyUSB0,interface 3加载成了ttyUSB1,对应功能如下
ttyUSB0 → Modem
ttyUSB1 → AT
4、核对模块注册情况
可以通过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+CGREG? —— 第二位参数应返回1或5,如0,1 或 0,5。若不是,需要核对SIM卡状态。
以上返回值确认无误后,就可以根据需要选择拨号方式进行拨号操作。