Can';不要插入一些Linux模块。各种错误

Can';不要插入一些Linux模块。各种错误,linux,module,kernel,Linux,Module,Kernel,我正在尝试插入W1_ds2431.ko模块,它是Linux内核驱动程序的一部分。我确信它是根据正确的内核(4.9.0)构建的,因为它也是使用相同的工具构建的 到目前为止,我已经设法插入其他模块,如w1_therm.ko和DMA模块,但我就是无法插入我想要的模块 联阿援助团-a: Linux zynq 4.9.0-xilinx-v2017.2 #1 SMP PREEMPT Tue Aug 7 20:15:30 CEST 2018 armv7l armv7l armv7l GNU/Linux dm

我正在尝试插入W1_ds2431.ko模块,它是Linux内核驱动程序的一部分。我确信它是根据正确的内核(4.9.0)构建的,因为它也是使用相同的工具构建的

到目前为止,我已经设法插入其他模块,如w1_therm.ko和DMA模块,但我就是无法插入我想要的模块

联阿援助团-a:

Linux zynq 4.9.0-xilinx-v2017.2 #1 SMP PREEMPT Tue Aug 7 20:15:30 CEST 2018 armv7l armv7l armv7l GNU/Linux
dmesg:

    [    1.194791] Driver for 1-wire Dallas network protocol.
    [    2.830092] w1_gpio: disagrees about version of symbol module_layout
    [    2.836798] w1_ds2431: disagrees about version of symbol module_layout

    [  641.626862] w1_therm: no symbol version for module_layout
sudo modprobe w1 gpio:(与w1_ds2431相同)

modinfo w1_ds2431.ko:

alias:          w1-family-0x2D
description:    w1 family 2d driver for DS2431, 1kb EEPROM
author:         Bernhard Weirich <bernhard.weirich riedel.net>
license:        GPL
depends:        wire
intree:         Y
vermagic:       4.9.0-xilinx-v2017.2 SMP preempt mod_unload modversions ARMv7 p2v8 

我不知道该怎么解决这个问题。我尝试了各种方法来插入这些模块。

记录在案,以及遇到此问题的任何其他人;该问题是由于错误的设备树实现造成的。内核调试有些误导

我的dts文件条目现在看起来像:

    onewire_tm: onewire@0 {
            compatible = "w1-gpio";
            gpios = <&gpio0 9 0>;

            eeprom1: eeprom@0 {
                     compatible ="maxim,w1_ds2431";
            };
回顾:

cat /sys/bus/w1/devices/2d-000004375e73/eeprom
这将为您提供:

222

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。您的问题看起来像这样:谢谢两位的建议。@关于错误地点的jww。。在同一个网站的背景下有必要吗?否则,版主可能会将其转移到正确的位置?请检查模块是否存在。此外,您还需要确保您的内核映像和模块应该只使用相同的配置和版本构建。你清楚地说你的模块是用不同的内核版本构建的。[2.830092]w1_gpio:对符号模块_布局的版本有异议您是仅使用image.ub还是从第二个分区中选取rootfs。谢谢Sanjai Sahu
echo 222 > /sys/bus/w1/devices/2d-000004375e73/eeprom
cat /sys/bus/w1/devices/2d-000004375e73/eeprom
222