- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
dmesg "disagrees about version of symbol module_layout" modprobe fails with self compiled cdc_acm
Hello,
I try to compile cdc_acm kernel driver to make out of NAS a zwave control center (USB Zwave stick). First I've tried to compile ftdi_sio und succeded, modprobe can load this driver.
what've I done:
took the info on how to compile from hier: community.netgear.com/t5/Community-Add-ons/HOW-TO-Compile-Custom-Kernel-Modules/td-p/864234 but with fresh 6.6.0 OS Version (as on my NAS).
for
.config
copied
linux-4.1.30-armada/arch/arm/configs/readynas_defconfig
I can compile modules. Vermagic
vermagic: 4.1.30.armada.1 SMP mod_unload modversions ARMv7 p2v8
of my modules are the same, but sill, cdc_acm fails, the other one not.
Apropos I could have compiled soundcore.ko, and modprobe loads it! (the usb audio is still not working, but that is subject for another question )
As I understand this error have something to do with kernel config, the supplied defconfig seems to be not the same as the production version.... Am I right? or it is a copmletly different problem?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compiled cdc...
Hi vbif,
Let me try to inquire about this logs message.
Regards,
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Starting with I believe ReadyNAS OS 6.5.0 I found that the only way to successfully compile kernel modules is to do it directly on the ReadyNAS. All other ways I tried (using VMs, cross compiling and dedicated hardware) simply failed because of the symbol mismatches you're experiencing.
-Stefan
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
hm, I hope NetGear tries to fix this, the VM is realy nice. In the mean time, I've failed to compile directly on NAS, the headers are missing. have had tried the obvious
apt-get install linux-headers-$(uname -r) or
apt-get install linux-headers or
apt-get install linux-headers-generic.... there are no such packeges available. Should I mess with apt sources to install headers? Or is there some other possibilities to compile kernel drivers?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Huh? You don't need the kernel headers. Everything you need is in the GPL archive provided by NETGEAR. This includes the complete kernel sources.
-Stefan
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Ok, I've found the header files in ../linux-4.1.30-armada/include, but there are slightly differnt from those under /usr/include
and so make, or make modules fails with lot of errors such
root@NAS:/DATA/kernel/linux-4.1.30-armada# make modules CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h make[1]: 'include/generated/mach-types.h' is up to date. CC kernel/bounds.s In file included from include/linux/page-flags.h:8:0, from kernel/bounds.c:9: include/linux/types.h:16:9: error: unknown type name ‘__kernel_ino_t’ typedef __kernel_ino_t ino_t; ^ include/linux/types.h:20:9: error: unknown type name ‘__kernel_off_t’ typedef __kernel_off_t off_t; ^ include/linux/types.h:21:9: error: unknown type name ‘__kernel_pid_t’ typedef __kernel_pid_t pid_t; ^ include/linux/types.h:22:9: error: unknown type name ‘__kernel_daddr_t’ typedef __kernel_daddr_t daddr_t; ^ include/linux/types.h:24:9: error: unknown type name ‘__kernel_suseconds_t’ typedef __kernel_suseconds_t suseconds_t; ^ include/linux/types.h:25:9: error: unknown type name ‘__kernel_timer_t’ typedef __kernel_timer_t timer_t;
and so on....
EDIT:
found the problem, include/ lacks an asm/ so
ln uapi/asm-generic/ include/asm -s
does the trick and 'make' runs smoothly now!
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
I'm not sure that's the way it's supposed to work. Did you run "make" without any other parameters first before building the modules? Anyway, if i works for that's cool.
-Stefan
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Yep, I've tried 'make', 'make modules', but without asm/posix_types.h compile fails.... I also think, that this isn't the way to work, but it works for now
In the mean time, make have maked the new modules, and I tried to load the new cdc-acm. It's fails, with the different error message:
root@NAS:/DATA/kernel/linux-4.1.30-armada# modprobe cdc-acm modprobe: ERROR: could not insert 'cdc_acm': Exec format error
and
root@NAS:/DATA/kernel/linux-4.1.30-armada# dmesg | tail -n 1 [467201.562240] cdc_acm: no symbol version for module_layout
Ok, I am a total noob to kernel compiling, but this seems to be the problem with Netgear sources. I hope FramerV will clear out the situation... may be next year so 🙂
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Either you used the wrong sources or the .config file supplied with the sources wasn't corrent. Check the arch/... directories for a kernel config file that has a name that sounds like created by NETGEAR. Sorry, can't be more specific for I'm currently at work. Copy the file over the .config file in the kernel source directory and try again.
-Stefan
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Yep, did it at my first try, as for .config I was using
linux-4.1.30-armada/arch/arm/configs/readynas_defconfig
CONFIG_CROSS_COMPILE was set to "" and of course CONFIG_USB_ACM=m
those are the only changes to original readynas_defconfig that I've made
root@NAS:/DATA/kernel/linux-4.1.30-armada# diff .config arch/arm/configs/readynas_defconfig 31c31 < CONFIG_CROSS_COMPILE="" --- > CONFIG_CROSS_COMPILE="arm-marvell-linux-gnueabi-" 2410c2410 < CONFIG_USB_ACM=m --- > # CONFIG_USB_ACM is not set
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
What ReadyNAS model are you compiling on/for?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
RN102
root@NAS:/DATA/kernel/linux-4.1.30-armada# uname -a Linux NAS 4.1.30.armada.1 #1 SMP Thu Sep 22 16:39:49 PDT 2016 armv7l GNU/Linux
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Too bad, my RN102 is broken so I can't try myself. I'll check whether I can revive it or get hold of one over the next week.
-Stefan
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
thank you for your support, Stefan ....
I could have compiled the whole kernel without any errors, it tooked about 3 hours. My cdc-acm module won't load (used to it) but the message is differnt from those using make modules.
So, using 'make' brings us to
cdc_acm: disagrees about version of symbol module_layout
'make modules' get us to
cdc_acm: no symbol version for module_layout
PS for the successfull compile I've needed to mess with directorys one more time:
mv include/asm/kvm_para.h include/asm/kvm_para_.h cp include/asm-generic/kvm_para.h include/asm/kvm_para.h
Happy New Year, Frohes Neues, С Новым Годом!
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Something happend with GPL Server, I think.
I can't find the 6.6.0 version on GPL Site http://www.readynas.com/download/GPL/index.php?dir=readynasos
and today there is a 6.6.1 avialable on a regular download site
I'm still trying to compile the drivers with older version of 6.6.0 kernel (it was available for some time, but not now) so I think, it was some how corrupted.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Do you still have this problem?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Yes, I couldn't fixed it. Right now there is a new Firmware Version 6.6.1 (?) available, but I couldn't test it ... I've tried a couple of weeks ago and the source codes were not available there, or I could not find it.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Hi vbif,
Let me have this case checked for you.
Regards,
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: dmesg "disagrees about version of symbol module_layout" modprobe fails with self compi
Do you still have this issue?