Kernel Modules with Unknown Parameters Failing to Load

  • 7005765
  • 17-Apr-2010
  • 08-Nov-2012

Environment

Novell Open Enterprise Server 2 (OES 2) Linux
Novell Open Enterprise Server 1 (OES 1) Linux
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Server 9

Situation

Attempting to load a kernel module (usbcore in this example) fails with the following error:

# modprobe usbcore
FATAL: Error inserting usbcore (/lib/modules/$(uname -r)/kernel/drivers/usb/core/usbcore.ko): Unknown symbol in module, or unknown parameter (see dmesg)

The dmesg output shows:

# dmesg | grep usbcore
usbcore: Unknown parameter `usbfs_sn00p'

Resolution

Remove the invalid parameter from the module configuration files and retest.
1. Edit the /etc/modprobe.conf, /etc/modprobe.conf.local or /etc/modproble.d/usbcore file(s)
2. Find the parameter listed in the dmesg output (ie usbfs_sn00p)
3. Edit or change the parameter to a valid setting
4. Save and load the module

If the module is required in the ram disk (/boot/initrd), after making the appropriate changes in the modprobe configuration files, you will need complete these additional steps:
1. Rebuild the ram disk with mkinitrd
2. Reboot the server

Additional Information

Use the modinfo command to determine a list of valid module parameters. In this example, usbfs_snoop was spelled with zeros "0" instead of o's "o".

# modinfo usbcore
filename:       /lib/modules/2.6.27.19-5-pae/kernel/drivers/usb/core/usbcore.ko
license:        GPL
srcversion:     F52A6E4608E159449A1E8C0
alias:          usb:v*p*d*dc*dsc*dp*ic09isc*ip*
alias:          usb:v*p*d*dc09dsc*dp*ic*isc*ip*
depends:
supported:      yes
vermagic:       2.6.27.19-5-pae SMP mod_unload modversions 586
parm:           usbfs_snoop:true to log all usbfs traffic (bool)
parm:           blinkenlights:true to cycle leds on hubs (bool)
parm:           old_scheme_first:start with the old device initialization scheme (bool)
parm:           use_both_schemes:try the other device initialization scheme if the first one fails (bool)
parm:           autosuspend:default autosuspend delay (int)

To identify some modules that will be included in a ram disk, check the kernel configuration file.

# cat /etc/sysconfig/kernel | grep INITRD_MODULES
INITRD_MODULES="processor thermal mptspi ata_piix ata_generic piix ide_pci_generic fan jbd ext3 edd"

To see all modules included in your current ram disk, extract the ram disk and list the modules.

sle11:~ # mkdir -p /boot/tmp
sle11:~ # cd /boot/tmp
sle11:/boot/tmp # zcat /boot/initrd | cpio -id
24100 blocks
sle11:/boot/tmp # find /boot/tmp/lib/modules | grep 'ko$'
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/lib/crc-t10dif.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/fs/ext3/ext3.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/fs/mbcache.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/fs/jbd/jbd.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/firmware/edd.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/ide/pci/ide-pci-generic.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/ide/pci/piix.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/ide/ide-core.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/ata/ata_generic.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/ata/ata_piix.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/ata/libata.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/message/fusion/mptspi.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/message/fusion/mptscsih.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/message/fusion/mptbase.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/scsi/sd_mod.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/scsi/scsi_transport_spi.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/scsi/scsi_mod.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/acpi/fan.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/acpi/dock.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/acpi/thermal.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/acpi/processor.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/thermal/thermal_sys.ko
/boot/tmp/lib/modules/2.6.27.19-5-pae/kernel/drivers/hwmon/hwmon.ko
sle11:~ # cd /root
sle11:~ # rm -rf /boot/tmp