加载Linux驱动程序时出现如上提示的原因是因为:驱动签名或需要的密钥找不到,导致驱动module认证失败。
方式一、重新配置内核
默认不推荐
方式二、修改驱动Makefile文件,在第一行增加以下语句:
CONFIG_MODULE_SIG=n
以CH341SER_LINUX驱动包为例,修改driver目录下的Makefile文件:
CONFIG_MODULE_SIG=n
ifeq ($(KERNELRELEASE), )
KERNELDIR := /lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD)
clean:
rm -rf *.mk .tmp_versions Module.symvers *.mod.c *.o *.ko .*.cmd Module.markers modules.order *.a *.mod
load:
insmod ch341.ko
unload:
rmmod ch341
install: default
rmmod ch341 || true
insmod ch341.ko || true
mkdir -p /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ || true
cp -f ./ch341.ko /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ || true
depmod -a
uninstall:
rmmod ch341 || true
rm -rf /lib/modules/$(shell uname -r)/kernel/drivers/usb/serial/ch341.ko || true
depmod -a
else
obj-m := ch341.o
endif
修改后重新执行make编译生成驱动文件ch341.ko,执行:sudo make load加载驱动。此时kernel log不再有警告提示: