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
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'
# 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
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
# 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