insmod error could not insert module ... invalid module format [已解决]

这篇具有很好参考价值的文章主要介绍了insmod error could not insert module ... invalid module format [已解决]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自己写了个usb test driver,Makefile相关行如下

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
        $(MAKE) -C $(KDIR) M=$(PWD) modules

运行$make  生成对应的.ko文件,然后加载该模块:

sudo insmod usb_test_drv.ko
[sudo] password for minipc:
insmod: ERROR: could not insert module usb_test_drv.ko: Invalid module format

在网上搜解决方案,说是编译环境的核的版本号必须和现在运行的核的版本号一致。但是我确实是按照这样去make这个.ko文件。运行命令查找该模块信息,$modinfo usb_test_drv.ko

modinfo usb_test_drv.ko
filename:       /home/minipc/linux_usb_driver/usb_test_drv.ko
description:    USB test Driver
author:         Jason Lee
license:        GPL
srcversion:     3A7EC96DAAD77A9F0717507
alias:          usb:v10D6p1101d*dc*dsc*dp*ic*isc*ip*in*
depends:
retpoline:      Y
name:           usb_test_drv
vermagic:       5.19.0-rc3+ SMP preempt mod_unload modversions

注意最后一行vermagic: 5.19.0-rc3+ 是内核版本号,与当前运行的内核版本号一致,我再用同样命令查看已有module的信息,发现vermagic一模一样。

查看dmesg

 dmesg | tail
[   15.398577] wlp2s0: capabilities/regulatory prevented using AP HT/VHT configuration, downgraded
[   15.402385] wlp2s0: send auth to b8:3a:08:95:e6:11 (try 1/3)
[   15.404712] wlp2s0: authenticated
[   15.405197] wlp2s0: waiting for beacon from b8:3a:08:95:e6:11
[   15.489074] wlp2s0: associate with b8:3a:08:95:e6:11 (try 1/3)
[   15.510601] wlp2s0: RX AssocResp from b8:3a:08:95:e6:11 (capab=0x411 status=0 aid=4)
[   15.523525] wlp2s0: associated
[   16.637403] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[   16.715343] rfkill: input handler disabled
[ 2208.432216] usb_test_drv: disagrees about version of symbol module_layout

最后一行:usb_test_drv: disagrees about version of symbol module_layout

看来还是版本不一致。又在网上查了一些方案,发现不仅要内核版本号一致,config也要保持一致。我记起来以前改过config,通过$make menuconfig,但是没有重新编译内核。但是这次make的这个usb_test_drv是用新的config编译出来的,这可能是导致问题的原因。

于是cd到内核source code的根目录,依次运行:

$make
$make modules_install
$make install

然后重启机器,再运行$sudo insmod usb_test_drv.ko, 没有报错 。再查看

$ lsmod | grep usb
usb_test_drv           16384  0
usbhid                 57344  0
usb_storage            73728  0
hid                   143360  2 usbhid,hid_generic

第一行就是该驱动。顺利安装成功。 

 文章来源地址https://www.toymoban.com/news/detail-514420.html

 

到了这里,关于insmod error could not insert module ... invalid module format [已解决]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决 Centos 安装 Python 3.10 的报错: Could not import runpy module

    操作环境 : CentOS 7 、 Gcc 4.8.5 、 Python 3.10.0 系统上已经有 2.x , 3.6 版本的 Python 了,但是还是想装一个 3.10 的。因为刚写的脚本文件是较高版本的,在 3.6 上无法正常运行, Python 语法不是很了解,只能从环境上下手了。 【注】Python 其他版本也适用,毕竟是编译器的问题,并

    2024年02月03日
    浏览(60)
  • Proxy error: Could not proxy request 解决方法

    1.后端相应的被代理服务器没有开启 2.代理规则写错,前后端部署的域名应一致; 3.没有把 vue.config.js 中的 before: require(\\\'./mock/mock-server.js\\\'), 注释掉,导致走代理前走了mockjs 4.URL前面不完整,没有http:// 5.dns解析有问题,可以把target:\\\'http://xxx\\\' 里面的网址换成ip 6.npm install portf

    2024年01月21日
    浏览(60)
  • 彻底解决Could not switchto this profile! invalid dns enhanced-mode:redir-host EditinText Mode

    Could not switchto this profile! invalid dns enhanced-mode:redir-host EditinText Mode 原因: 已经不支持redir-host了, 需要使用fake-ip,一种方法是直接修改文本,将 enhanced-mode 修改为 fake-ip ,不过现在订阅都是链接形式,更新后会重新被覆盖,需要反复修改。 一种有效得多解决方案是利用 预处理配

    2024年02月11日
    浏览(25)
  • VUE报错解决Could not find a declaration file for module ‘xxx‘.

    Github上下载的代码,导入后出现以下报错。    错误代码 Could not find a declaration file for module \\\'element-plus/dist/locale/zh-cn.mjs\\\'. \\\'c:/Users/Lenovo/typescript/hotel/hotel-system-web-main/node_modules/element-plus/dist/locale/zh-cn.mjs\\\' implicitly has an \\\'any\\\' type. If the \\\'element-plus\\\' package actually exposes this module, try ad

    2024年02月12日
    浏览(45)
  • linux使用tar解压出现 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not 的解决方法

    当你看到这篇文章的时候,不是一种治根的方法,甚至不能给你帮助 但多少给你提示,文件格式一开始就错了,不要在尝试解决方法,直接换方式下载正确的格式文件 通过scp从window上传一个zookeeper的压缩包,之后再linux进行tar解压,出现如下错误 截图如下所示: 先查看它所

    2024年02月09日
    浏览(47)
  • Invalid keystore format 报错解决

    最近下载新版本的Android Studio,并配置使用jdk 11作为Java环境,创建签名证书提供给合作伙伴签名报以下错误: com.android.ide.common.signing.KeytoolException:Failed to read key dscg from store \\\"D:DirKeydscg.jks\\\":Invalid keystore format  经过排查问题分析,我方创建证书采用Android studio中配置的jdk版本

    2024年02月11日
    浏览(39)
  • ubuntu: acpi bios error (bug) could not resolve symbol解决

    联想拯救者R9000P ubuntu20.04 + windows11 ubuntu内核版本:5.15.0.97 开机时报错,然后疯狂重启: ` 链接: link ACPI(高级配置和电源接口)是一种电源管理技术,用于控制计算机的硬件设备和节能。ACPI+BIOS错误是指在计算机的BIOS配置中存在一些问题,导致ACPI无法正常工作。 个人猜测(

    2024年04月23日
    浏览(34)
  • docker:invalid reference format 原因及解决办法

    本文只介绍生产环境中遇到的问题,为docker拉取、下载、推送镜像相关内容的问题,现根据情况列出解决办法之一! shell脚本中定义变量给docker,出现invalid reference format [上面脚本仅为提供测试,该脚本中在执行到docker pull的过程中会报错invalid reference format];在命令行执行d

    2024年02月16日
    浏览(39)
  • 解决【ERROR: Could not install packages due to an OSError: HTTPSConnectionPool...】

    PIP安装软件总是报错,报错提示如下: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(’pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001EBE06BB4F0: Failed to establish a new connection: [Errno 11002] getaddrinfo failed’)\\\': /packages/59/e

    2024年02月07日
    浏览(64)
  • 区块链报错7 | invalid address | Error: [ethjs-query] while formatting outputs from RPC: “message“

    初学记录 · 欢迎交流 区块链DApp从零开始学 (一) | DApp抓包 区块链DApp从零开始学 (二) | 超详细 DApp创建 | 发行代币token |宠物领养 区块链知识(一) | 实例化合约Contract 区块链报错1 | npm run dev 无法解析json格式 | npm ERR JSON.parse Failed to parse json 区块链报错2 | 区块链npm run dev失败

    2023年04月08日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包