Kernel Modules with Unknown Parameters Failing to Load

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


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


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'


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/
license:        GPL
srcversion:     F52A6E4608E159449A1E8C0
alias:          usb:v*p*d*dc*dsc*dp*ic09isc*ip*
alias:          usb:v*p*d*dc09dsc*dp*ic*isc*ip*
supported:      yes
vermagic: 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$'
sle11:~ # cd /root
sle11:~ # rm -rf /boot/tmp

Feedback service temporarily unavailable. For content questions or problems, please contact Support.