Skip to content

Kernel Issues

This page collects kernel module loading and runtime troubleshooting notes.

vermagic Mismatch

Typical error pattern:

disagrees about version of symbol
invalid module format

Check:

modinfo ./mydriver.ko | grep vermagic
uname -r

The module must be built against headers that match the running kernel.

Related page:

Module Loads but Device Node Is Missing

Check:

dmesg | tail -50
ls /dev
ls /sys/class

Possible causes:

  • device_create() was not called.
  • class_create() failed.
  • The probe function was never called.
  • The Device Tree compatible string does not match the driver.

Related pages:

Interrupt Does Not Fire

Check:

cat /proc/interrupts
sudo dmesg -w

Possible causes:

  • Wrong GPIO pin.
  • Wrong interrupt parent.
  • Wrong IRQ trigger type.
  • Pinmux or pull configuration is incorrect.
  • The hardware signal is not toggling.