[ltp] ibm_acpi and modprobe.conf

FeRD linux-thinkpad@linux-thinkpad.org
Tue, 26 Jul 2005 14:23:36 -0400


You didn't mention how you're loading the module (properly) after boot 
-- are you using modprobe? And if so, does a 'modprobe -v ibm_acpi' show 
the options from your modprobe.conf being passed to insmod by modprobe?

modprobe (or maybe just some modules) can be incredibly finicky about 
the format of /etc/modprobe.conf, especially with regard to whitespace. 
If I have any trailing whitespace on my options ibm_acpi line in 
modprobe.conf, I get the following output in the kernel logs when I try 
to load ibm_acpi:

Jul 14 02:47:34 tinky kernel: ibm_acpi: Unknown parameter `'
Jul 14 02:47:34 tinky kernel: ibm_acpi: IBM ThinkPad ACPI Extras v0.11
Jul 14 02:47:34 tinky kernel: ibm_acpi: http://ibm-acpi.sf.net/
Jul 14 02:47:34 tinky kernel: ibm_acpi: dock device not present

Running /etc/modprobe.conf through a "cat -vent" and scrubbing it for 
whitespace can help. I will say that my /etc/modprobe.conf with the 
following line (showing hidden characters via cat -vent):

    15  options ibm-acpi experimental=1$

loads ibm_acpi on startup (Fedora Core 4) with the experimental flag. My 
system doesn't support hotkey masking so I haven't tested passing more 
than just experimental.

If running 'modprobe' by hand doesn't pass in all the right options, 
then your problem is with the format of /etc/modprobe.conf itself, not 
the startup process -- fix the file so that running 'modprobe -v 
ibm_acpi' does the right thing. If modprobe run by hand succeeds, then 
perhaps the problem is wtih something in the system startup as already 
suggested. (I don't believe ibm_acpi would be in your initrd unless you 
intentionally put it there, but I'm not too familiar with the initrd 
structure. It's all black magic to me.)

I do always take the precaution of rm'ing /lib/modules/`uname 
-r`/kernel/drivers/acpi/ibm_acpi.ko when I build and install version 
0.11, since I don't install it in the same place as the distribution 
version. So if you still have the old version installed, check that the 
system isn't grabbing that one at boot. (It seemed to me that mine was 
doing so, even though running modprobe by hand after logging in loaded 
the correct -- newer -- version. I may be wrong about that, since 
deleting the old version of the module fixed whatever problem I was 
having, and I decided that was the simpler and better solution anyway. 
So I 'fixed' my heisenbug with a flyswatter. :)

'modinfo' also doesn't necessarily help you here, since it doesn't show 
the version of the module that's already BEEN LOADED into the kernel. 
(Unless there's a flag I missed.) That was part of what led to my 
confusion and suspected/possible heisenbug, I think.

-FeRD

honey@gneek.com wrote:

> OK - as suggested here, I really like having the added sensors
> available in gkrellm >= 2.2.6 (2.2.7 is in Fedora development for any
> FC4 users) and installing ibm-acpi 0.11.  Works well, but I need to
> add the module with experimental=1 and hotkey=enable,0100.  Instead
> of doing this the ugly way by loading manually in rc.local, I thought
> I could do this the proper way in modprobe.conf with:
>
> options ibm_acpi hotkey=enable,0100 experimental=1
>
> - I've also tried ibm-acpi (not the underscore), and putting the
> options on two separate lines, but the module always loads when first
> booted without these options enabled, so the sensors aren't
> available - so I have to load it manually.  What's the proper way of
> doing this in modprobe.conf?  Or why isn't it working?  I've checked
> it's loading the newer ibm-acpi with modinfo, so the old one
> integrated in the kernel isn't an issue.
>
> Anyone else specifying ibm-acpi options successfully in
> modprobe.conf?
>