ACPI problems on Lenovo S10e -known issue with FreeBSD
I have installed pfsense on a lenovo S10e for my home firewall after many years of successfully using other laptops for the same purpose. Bios is latest version 14CN94WW from 2010-06-11 (not sure of date format).
The system works (mostly) but seems a little unstable (sometimes hangs during boot) and throws a number of acpi errors. The number of errors also varies from boot to boot and gives anything from an occasional
ACPI Error (psparse-0633): Method parse/execution failed [\TZ.TZ00._TMP] (Node 0xc5f0a3e0), AE_NOT_EXIST
to completely spamming dmesg and stdout. I've tried loading acpi_ibm.ko, which doesn't appear to help.
I've googled a fair bit on this. Several people reported it around 2009 and the only reference I have found to a possible solution is in this thread from the freebsd-acpi list:
I have three questions:
1. Does anyone know if a pre-patched acpi.ko exists? For example from a repository like: http://files.pfsense.org/jimp/ko-8.1/i386/
2. Does pfsense run with acpi built into the kernel or loaded as a module?
3.If The answer to 2. is builtin, van I replace the kernel with one excluding acpi then load the patched module?
I'm sorry if any of these questions don't apply to freebsd. I'm more used to Linux kernels and kernel-building.
One more question:
Can anyone say where the 2.0.1 KERNCONF is stored? I've tried patching the acpi.ko source in the 8.1 kernel source, compiling it and dropping it into /boot/kernel, but the system is still throwing the errors, so I guess it's compiled in. Next step is to check KERNCONF for acpi and try building a fresh kernel with the patched module, but I'd like to base it on the standard pfsense KERNCONF.
You may be able to overide a built in kernel module by loading it in /boot/loader.conf.local. I have done this with network drivers.
Have you tried disabling ACPI all together with hint.acpi.0.disabled="1" ?
Thanks for your reply!
No I haven't done either of those things. I noticed that there is a acpi.ko in /boot/kernel, and I renamed the original file and replaced it with my custom-built one. Probably not the correct way to go about it. I am still quite hazy about the bsd boot process and the difference between builtin "modules", modules loaded from initfs and dynamically loadable modules. As I mentioned in a previous post, I'm more used to Linux.
I'll try modifying the boot configuration to disble acpi, then load my custom acpi.ko later on - I guess none of this will really work if acpi.ko really is built into the kernel. The only solution then would be a completely rebuilt kernel.