linux下不编译内核加载域格模块驱动(一)

Linux下使用模块一般需要编译内核,需要耗费不少时间,如果只是需要先简单测试下相关功能,可以使用临时加载驱动的方式,需要用到的主要命令是 modprobe

基本操作示例

以域格CLM920_NC5为例,通过lsusb可以看到模块VID、PID分别为05c6、9025,但ls /dev/ttyU*没有端口。
lsusb未加载驱动前的ttyUSB

下面就可以通过modprobe命令对模块进行临时加载,具体指令如下

sudo modprobe usbserial vendor=0x05c6 product=0x9025

加载成功
通过指令可以看出,这种方式就是通过usbserial这个ko识别了模块的VID和PID再完成对模块驱动的加载。

(若系统中usbserial被直接编入了内核,无法操作,可参考《linux下不编译内核加载域格模块驱动(二)》

域格ASR模块命令示例

如果使用的是域格ASR模块,如cat4的CLM920_AC3,cat1的CLM920_RV3等,则只需要将modprobe命令中的vendor和product ID对应替换即可。
域格ASR模块VID、PID分别为1286、4e3c,临时加载对应命令为

sudo modprobe usbserial vendor=0x1286 product=0x4e3c


可能遇到的问题

如果这个usbserial已经被占用,那就可能遇到加载不成功的情况,如下图
加载不成功
这个时候就需要把usbserial先卸载再重新加载来完成对我们需要的模块加载驱动的操作了,需要用到的指令是rmmod

sudo rmmod usbserial

如果usbserial被其他进程占用,则需要依次卸载占用的进程。

如以下提示usbserial被“ch341”使用了,导致不能卸载,则需要先卸载“ch341”,再卸载usbserial,之后再使用modprobe加载就可以成功了。
卸载驱动卸载暂用驱动再加载
Tips: 如果usbserial被多个进程占用 或 占用usbserial的进展也被其他进程占用,则需要依次卸载这些进程后,再卸载usbserial。

附:域格模块interfere&endpoint对照表

模块型号示例:CLM920_NC5 / NC3 / TD5 / TD3;平台:高通9x15、9x07
在这里插入图片描述

模块型号示例:CLM920_AC5 / AC3 / RV3 / RV8;平台:ASR1802S、1601
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值