[SOLVED]Kernel/DKMS errors...

Archived topics about LMDE 1 and LMDE 2
Locked
SirSelim

[SOLVED]Kernel/DKMS errors...

Post by SirSelim »

Hi all,

First off I'd like to say hello, I've been using LMDE (and lurking around the forums...) for nearly 2 years but have never found the need to post... until now. :D

I appear to have stumbled into a little issue that my limited knowledge and searching powers are struggling to get to the bottom of. :oops: I've been running LMDE pointing at unstable for the last ~6months and haven't had any major issues, but I think a recent update must have put an end to my good run. I can't recall anything out of the ordinary in terms of updated packages, however yesterday when I booted my laptop I was greeted with a failed X boot. No problem I thought, I'll just rebuild the nvidia drivers against the kernel (have been testing 3.6.0-5.dmz.1-liquorix-amd64). Well that worked to a point, but upon getting to the login screen I had no mouse/keyboard. So I tried dropping back to 3.2.0-4, same issue.

Right now I'm typing this from within 3.2.0-3, and everything is working A-OK, however I would really like to get to the bottom of this issue.

Here are a few pieces of the puzzle:

Code: Select all

Preparing to replace linux-image-3.6.0-5.dmz.1-liquorix-amd64 3.6.0-4 (using .../linux-image-3.6.0-5.dmz.1-liquorix-amd64_3.6.0-4_amd64.deb) ...
Unpacking replacement linux-image-3.6.0-5.dmz.1-liquorix-amd64 ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.6.0-5.dmz.1-liquorix-amd64 /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.6.0-5.dmz.1-liquorix-amd64 /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
Preparing to replace linux-headers-3.6.0-5.dmz.1-liquorix-amd64 3.6.0-4 (using .../linux-headers-3.6.0-5.dmz.1-liquorix-amd64_3.6.0-4_amd64.deb) ...
Unpacking replacement linux-headers-3.6.0-5.dmz.1-liquorix-amd64 ...
Setting up linux-image-3.6.0-5.dmz.1-liquorix-amd64 (3.6.0-4) ...
Running depmod.
ERROR: failed to load symbols from /lib/modules/3.6.0-5.dmz.1-liquorix-amd64/kernel/drivers/video/nvidia.ko: Invalid argument
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 3.6.0-5.dmz.1-liquorix-amd64 /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
Error! Bad return status for module build on kernel: 3.6.0-5.dmz.1-liquorix-amd64 (x86_64)
Consult /var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/make.log for more information.
Error! Bad return status for module build on kernel: 3.6.0-5.dmz.1-liquorix-amd64 (x86_64)
Consult /var/lib/dkms/ndiswrapper/1.57/build/make.log for more information.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.6.0-5.dmz.1-liquorix-amd64 /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
update-initramfs: Generating /boot/initrd.img-3.6.0-5.dmz.1-liquorix-amd64
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.6.0-5.dmz.1-liquorix-amd64 /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.6.0-5.dmz.1-liquorix-amd64 /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
Generating grub.cfg ...
using custom appearance settings
Found background image: /home/miles/Pictures/mint_dew_ii.png
Found linux image: /boot/vmlinuz-3.6.0-5.dmz.1-liquorix-amd64
Found initrd image: /boot/initrd.img-3.6.0-5.dmz.1-liquorix-amd64
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
Found linux image: /boot/vmlinuz-3.2.0-3-amd64
Found initrd image: /boot/initrd.img-3.2.0-3-amd64
Found linux image: /boot/vmlinuz-3.2.0-2-amd64
Found initrd image: /boot/initrd.img-3.2.0-2-amd64
Found Windows 7 (loader) on /dev/sda1
done
Setting up linux-headers-3.6.0-5.dmz.1-liquorix-amd64 (3.6.0-4) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.6.0-5.dmz.1-liquorix-amd64
Error! Bad return status for module build on kernel: 3.6.0-5.dmz.1-liquorix-amd64 (x86_64)
Consult /var/lib/dkms/ndiswrapper/1.57/build/make.log for more information.
Error! Bad return status for module build on kernel: 3.6.0-5.dmz.1-liquorix-amd64 (x86_64)
Consult /var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/make.log for more information.
make.logs:

Code: Select all

DKMS make.log for alps-driver-psmouse-maverick-2.6.35.22 for kernel 3.6.0-5.dmz.1-liquorix-amd64 (x86_64)
Wed Nov  7 10:50:16 NZDT 2012
make -C /lib/modules/3.6.0-5.dmz.1-liquorix-amd64/build M=/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build modules
make[1]: Entering directory `/usr/src/linux-headers-3.6.0-5.dmz.1-liquorix-amd64'
  CC [M]  /var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.o
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c:47:1: error: ‘param_ops_proto_abbrev’ undeclared here (not in a function)
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c: In function ‘__check_smartscroll’:
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c:59:1: warning: return from incompatible pointer type [enabled by default]
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c: In function ‘psmouse_attr_set_protocol’:
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c:1586:14: error: ‘struct serio’ has no member named ‘child’
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c: At top level:
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c:1683:12: warning: ‘psmouse_set_maxproto’ defined but not used [-Wunused-function]
/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.c:1700:12: warning: ‘psmouse_get_maxproto’ defined but not used [-Wunused-function]
make[2]: *** [/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build/psmouse-base.o] Error 1
make[1]: *** [_module_/var/lib/dkms/alps-driver-psmouse-maverick/2.6.35.22/build] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.6.0-5.dmz.1-liquorix-amd64'
make: *** [all] Error 2

DKMS make.log for ndiswrapper-1.57 for kernel 3.6.0-5.dmz.1-liquorix-amd64 (x86_64)
Wed Nov  7 10:50:16 NZDT 2012
make: Entering directory `/usr/src/linux-headers-3.6.0-5.dmz.1-liquorix-amd64'
  LD      /var/lib/dkms/ndiswrapper/1.57/build/built-in.o
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/crt_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/hal_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/ndis_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/ntoskernel_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/ntoskernel_io_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/rtl_exports.h
  MKEXPORT /var/lib/dkms/ndiswrapper/1.57/build/usb_exports.h
  MKSTUBS /var/lib/dkms/ndiswrapper/1.57/build/win2lin_stubs.h
  CC [M]  /var/lib/dkms/ndiswrapper/1.57/build/crt.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.57/build/hal.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.57/build/iw_ndis.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.57/build/loader.o
  CC [M]  /var/lib/dkms/ndiswrapper/1.57/build/ndis.o
/var/lib/dkms/ndiswrapper/1.57/build/ndis.c: In function ‘NdisGetCurrentProcessorCounts’:
/var/lib/dkms/ndiswrapper/1.57/build/ndis.c:2657:24: error: ‘struct kernel_stat’ has no member named ‘cpustat’
/var/lib/dkms/ndiswrapper/1.57/build/ndis.c:2658:31: error: ‘struct kernel_stat’ has no member named ‘cpustat’
/var/lib/dkms/ndiswrapper/1.57/build/ndis.c:2659:17: error: ‘struct kernel_stat’ has no member named ‘cpustat’
make[1]: *** [/var/lib/dkms/ndiswrapper/1.57/build/ndis.o] Error 1
make: *** [_module_/var/lib/dkms/ndiswrapper/1.57/build] Error 2
make: Leaving directory `/usr/src/linux-headers-3.6.0-5.dmz.1-liquorix-amd64'
Other potentially useful info:
Laptop: Dell Latitude E6520

Code: Select all

System:    Host miles_lappy Kernel 3.2.0-3-amd64 x86_64 (64 bit) Distro Linux Mint Debian Edition
CPU:       Dual core Intel Core i7-2620M (-HT-MCP-) cache 4096 KB flags (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips 10776.3 
           Clock Speeds: (1) 2701.00 MHz (2) 800.00 MHz (3) 800.00 MHz (4) 800.00 MHz
Graphics:  Card NVIDIA GF119 [Quadro NVS 4200M] X.Org 1.12.4 Res: 1920x1080@60.0hz 
           GLX Renderer NVS 4200M/PCIe/SSE2 GLX Version 4.2.0 NVIDIA 304.60 Direct Rendering Yes
Current sources:

Code: Select all

Repos:     Active apt sources in file: /etc/apt/sources.list
           deb http://mirror.aarnet.edu.au/pub/linuxmint-packages/ debian main upstream import backport romeo incoming
           deb http://ftp.nz.debian.org/debian unstable main contrib non-free
           deb http://mirror.optus.net/debian-multimedia/ unstable main non-free
           deb http://mozilla.debian.net/ experimental iceweasel-aurora
           deb http://liquorix.net/debian/ sid main future
           Active apt sources in file: /etc/apt/sources.list.d/google-talkplugin.list
           deb http://dl.google.com/linux/talkplugin/deb/ stable main
Wondering if anyone else has come across something similar before. I've found a few bug reports that look about the same, but I can't really glean much from them in terms of a solution.
In the mean time I'll keep bashing away for potential answers, at least I've still got a working fall back kernel!
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
SirSelim

Re: Kernel/DKMS errors...

Post by SirSelim »

Well after days of frustration and seemingly endless trips down the rabbit hole I've got my newer kernel's working once more (currently typing from within 3.6.0-6.dmz.1-liquorix-amd64).

I thought I'd reply with my solution in case others ever come across this issue.

First step after a bit of reading was the removal of:
1) alps-driver-psmouse-maverick-2.6.35.22 - I had installed this way back when my laptop was brand new and the kernels didn't support certain touchpad features. Now that it's >1 year on this is a non-issue, so removed.
2) ndiswrapper-1.57 - as far as I could gather (from searching and reading) I had no hardware relying on this and made the assumption it must have been pulled in from the mint repos at some stage (I haven't done a fresh install of LMDE since April 2011, probably time to do so...).

I then attempted to reinstall the latest liquorix kernel, without success. I kept receiving the same error message:

Code: Select all

ERROR: failed to load symbols from /lib/modules/3.6.0-6.dmz.1-liquorix-amd64/kernel/drivers/video/nvidia.ko: Invalid argument
Upon investigation, the nvidia.ko file in the /lib/modules/3.6.0-6.dmz.1-liquorix-amd64/kernel/drivers/video/ dir was 0bytes in size...? I checked the nvidia.ko file in my 3.2.0-3 dir and it was ~13MB, something fishy was a foot.

Trying numerous keyword searches I started piecing together bits of information, which lead me to a thorough read of the Nvidia drivers --advanced-options manual:

Code: Select all

sudo sh ./NVIDIA-Linux-x86_64-310.14.run --advanced-options
I then came across this pdf: http://developer.download.nvidia.com/co ... t_RDMA.pdf, and thought section 3.4 looked interesting:

3.4 LINKING A KERNEL MODULE AGAINST NVIDIA.KO
1. Run the extraction script:

Code: Select all

./NVIDIA-Linux-x86_64-<version>.run –x
This extracts the NVIDA driver and kernel wrapper.

2. Navigate to the output directory:

Code: Select all

cd <output directory>/kernel/
3. Within this directory, build the NVIDIA module for your kernel:

Code: Select all

make module
After this is done, the Module.symvers file under your kernel build directory
contains symbol information for nvidia.ko.

4. Modify your kernel module build process with the following line:

Code: Select all

KBUILD_EXTRA_SYMBOLS := <path to kernel build directory>/Module.symvers

In light of this I booted into the currently installed liquorix kernel and followed the above through to step 3. I then rebooted into my working fallback kernel and copied the newly built nvidia.ko file into /lib/modules/3.6.0-6.dmz.1-liquorix-amd64/kernel/drivers/video/
Next step was to attempt a reinstall of the liquorix kernel:

Code: Select all

sudo apt-get update
sudo apt-get -t sid install --reinstall linux-image-3.6.0-6.dmz.1-liquorix-amd64 linux-headers-3.6.0-6.dmz.1-liquorix-amd64
I crossed my fingers, and low and behold the re-installation went without a hitch (no failed loading of symbols!). I rebooted, selected the liqourix kernel from grub (half expecting either a freeze, or manual install of drivers) and was greeted with my usual Cinnamon login screen. Hooray! I repeated the above for the 3.2.0-4 kernel, and everything is A-OK there again as well.

Sorry for the wall of text, but I thought I'd document a solution in case anyone else might find it useful. I'm not sure if this is a 'legit' solution (I'm still very green in my Linux knowledge), but things are up and running again so I'm calling it [SOLVED].
Monsta
Level 10
Level 10
Posts: 3071
Joined: Fri Aug 19, 2011 3:46 am

Re: Kernel/DKMS errors...

Post by Monsta »

SirSelim wrote:ndiswrapper-1.57 - as far as I could gather (from searching and reading) I had no hardware relying on this and made the assumption it must have been pulled in from the mint repos at some stage (I haven't done a fresh install of LMDE since April 2011, probably time to do so...).
No, it hasn't been pulled from Debian repos. It's there, it's just not fixed to build correctly for newer kernels. The fix most probably won't be there until after Wheezy is released.
SirSelim

Re: Kernel/DKMS errors...

Post by SirSelim »

Monsta wrote:No, it hasn't been pulled from Debian repos. It's there, it's just not fixed to build correctly for newer kernels. The fix most probably won't be there until after Wheezy is released.
Thanks for pointing that out Monsta, I've got a lot of learning to do.
Locked

Return to “LMDE Archive”