使用 modprobe/insmod 时“不允许操作”

使用 modprobe/insmod 时“不允许操作”

我正在尝试为专用 PCIe 板安装驱动程序模块。我使用数据表中所述的相同操作系统和内核版本,但Operation not permitted在将模块添加到内核时遇到错误。

我尝试过的事情:

  1. 禁用安全启动和其他可能干扰的 BIOS 选项。我也用过mokutil --sb-statwhich returns SecureBoot disabled

  2. 在启动期间对模块进行签名并使用 MOK 管理(如所解释的这里)。

  3. 以 root 身份运行 modprobe/insmod。

  4. lsmod检查模块是否已经以某种方式添加,但事实并非如此。

编辑:sudo modprobe -vvv输出如下:

modprobe: INFO: ../libkmod/libkmod.c:365 kmod_set_log_fn() custom logging function 0x559b6c01fc70 registered
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.13.0-28-generic/modules.dep.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.13.0-28-generic/modules.alias.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.13.0-28-generic/modules.symbols.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.13.0-28-generic/modules.builtin.alias.bin
modprobe: DEBUG: ../libkmod/libkmod-index.c:755 index_mm_open() file=/lib/modules/5.13.0-28-generic/modules.builtin.bin
modprobe: DEBUG: ../libkmod/libkmod-module.c:556 kmod_module_new_from_lookup() input alias=CsE16bcd, normalized=CsE16bcd
modprobe: DEBUG: ../libkmod/libkmod-module.c:562 kmod_module_new_from_lookup() lookup modules.dep CsE16bcd
modprobe: DEBUG: ../libkmod/libkmod.c:598 kmod_search_moddep() use mmaped index 'modules.dep' modname=CsE16bcd
modprobe: DEBUG: ../libkmod/libkmod.c:403 kmod_pool_get_module() get module name='CsE16bcd' found=(nil)
modprobe: DEBUG: ../libkmod/libkmod.c:411 kmod_pool_add_module() add 0x559b6d4f1d50 key='CsE16bcd'
modprobe: DEBUG: ../libkmod/libkmod-module.c:202 kmod_module_parse_depline() 0 dependencies for CsE16bcd
modprobe: DEBUG: ../libkmod/libkmod-module.c:589 kmod_module_new_from_lookup() lookup CsE16bcd=0, list=0x559b6d4f9410
modprobe: DEBUG: ../libkmod/libkmod.c:500 lookup_builtin_file() use mmaped index 'modules.builtin' modname=CsE16bcd
modprobe: DEBUG: ../libkmod/libkmod-module.c:1760 kmod_module_get_initstate() could not open '/sys/module/CsE16bcd/initstate': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:1770 kmod_module_get_initstate() could not open '/sys/module/CsE16bcd': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_pcsp mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_audio mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=cx88_alsa mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_atiixp_modem mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_intel8x0m mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_via82xx_modem mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=bt87x mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=cx88_alsa mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=saa7134_alsa mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_atiixp_modem mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_intel8x0m mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_via82xx_modem mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_audio mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_caiaq mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_ua101 mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_us122l mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_usx2y mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_cmipci mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_pcsp mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=snd_usb_audio mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=bonding mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=dummy mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1404 kmod_module_get_options() modname=vt mod->name=CsE16bcd mod->alias=(null)
modprobe: DEBUG: ../libkmod/libkmod-module.c:1760 kmod_module_get_initstate() could not open '/sys/module/CsE16bcd/initstate': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:1770 kmod_module_get_initstate() could not open '/sys/module/CsE16bcd': No such file or directory
modprobe: DEBUG: ../libkmod/libkmod-module.c:750 kmod_module_get_path() name='CsE16bcd' path='/lib/modules/5.13.0-28-generic/kernel/drivers/misc/CsE16bcd.ko'
modprobe: DEBUG: ../libkmod/libkmod-module.c:750 kmod_module_get_path() name='CsE16bcd' path='/lib/modules/5.13.0-28-generic/kernel/drivers/misc/CsE16bcd.ko'
insmod /lib/modules/5.13.0-28-generic/kernel/drivers/misc/CsE16bcd.ko 
modprobe: DEBUG: ../libkmod/libkmod-module.c:750 kmod_module_get_path() name='CsE16bcd' path='/lib/modules/5.13.0-28-generic/kernel/drivers/misc/CsE16bcd.ko'
modprobe: INFO: ../libkmod/libkmod-module.c:892 kmod_module_insert_module() Failed to insert module '/lib/modules/5.13.0-28-generic/kernel/drivers/misc/CsE16bcd.ko': Operation not permitted
modprobe: ERROR: could not insert 'CsE16bcd': Operation not permitted
modprobe: DEBUG: ../libkmod/libkmod-module.c:468 kmod_module_unref() kmod_module 0x559b6d4f1d50 released
modprobe: DEBUG: ../libkmod/libkmod.c:419 kmod_pool_del_module() del 0x559b6d4f1d50 key='CsE16bcd'
modprobe: INFO: ../libkmod/libkmod.c:332 kmod_unref() context 0x559b6d4f14e0 released`

感谢任何帮助!谢谢!

答案1

Operation not permitted是运行期间来自内核的insmod。鉴于内核环形缓冲区输出GageDrv module initialization failed, error -1,错误可能来自内核模块初始化函数,因此模块无法加载。

该消息Operation not permitted可能会产生误导,驱动程序返回 -1 ( -EPERM),这通常是过于通用的错误返回代码。

该问题没有更多信息可以解释为什么模块无法初始化,您需要向该作者寻求CsE16bcd支持。

相关内容