5.1-CURRENT / A31p / ACPI

Kevin Oberman oberman at es.net
Tue Sep 9 09:36:38 PDT 2003


> Date: Mon, 8 Sep 2003 23:29:22 -0500 (CDT)
> From: Dylan Cooper <dbc63b at mizzou.edu>
> Sender: owner-freebsd-mobile at freebsd.org
> 
> Installed 5.1-RELEASE (netinstall) and had the usual ACPI problems that
> have been posted on the list.  I did the suggested APM config changes, and
> everything has been working ok.  Because my laptop hasn't had to do real
> work yet (I toyed with a Debian install between the FreeBSD installs), I
> throught I would fool around with -CURRENT because I saw something about
> ACPI being somewhat fixed on another FreeBSD list.  I installed from the
> latest snapshot from snapshots.jp.FreeBSD.org (05 Sept 2003) and did an
> AnonCVS pull last night (08 Sept 2003).  I tweaked with the kernel config
> (a learning experience) and made both world and kernel.  After booting up
> with ACPI enabled, it appears that there aren't any ACPI errors on my
> dmesg.  Some ACPI events pop up an AE_NOT_FOUND error, but everything
> seems to be booting up cleanly.  I'm currently tinkering around with X /
> Enlightenment 16.5.  I haven't tested the functionality of all the
> peripherals, yet.  I'll get to test the wireless card tomorrow at the
> university.

A great deal of ACPI work has been done since 5.1 was released. Yo
might want to try CURRENT. It's really pretty stable most of the time
and, if you watch the current list, you will get a warning when things
are done that might cause major problems. Several issues you mention
have been fixed in CURRENT.

> 
> Hardware:
> IBM Thinkpad A31p (2653-R9U)
> BIOS Embedded Controller: 1NHT04WW (20 Dec 2002)
> BIOS ver: 1NET11WW (04 Aug 2003)
> 
> Various keys/events:
> -------------------
> Lid switch      acpi0: AcpiGetSleepTypeData failed - AE_NOT_FOUND

By default, the lid switch sets the system to S1 which many laptops
don't support. Try sysctl hw.acpi.lid_switch_state=S3 if you want
closing the lid to suspend the system.

> It blanks the screen, but is trying to sleep and can't, I'm guessing.
> 
> Power Button    momentary press = nothing
> Fn-F3 (lcd off) Not working, no kernel message

No idea on this one. I suspect some magic is in there, but not yat
implemented on FreeBSD.

> Fn-F4(sleep)    acpi0: AcpiGetSleepTypeData failed - AE_NOT_FOUND

By default the sleep switch will attempt to set the state to S1. But
many laptops (including mine) don't support S1. Even if they do, S1
only stops the CPU. Not really too useful.

I'd suggest setting the switch to do S3 to suspend.  (sysctl
hw.acpi.sleep_button_state=S3) Also, a sure way to check the ACPI side
of sleep is to use acpiconf instead of a switch.

> Fn-F12(hyb)     Not tried - Hybernation file not installed
> 
> All other hardware Fn keys work:
> Keyboard light
> LCD bright/dim
> 
> No problems switching between X and vtty
> When the screen blanks under X, it revives with no problems
> 
> uname -a
> --------
> FreeBSD pod 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Mon Sep  8 18:39:39 CDT 
> 2003
> root at pod:/usr/obj/usr/src/sys/A31P  i386
> 
> kernel config
> ------------
> I can post a follow-up to keep this message from being too long.  I'm
> certain that there are some intricacies I've missed due to n00b-isms.
> I compiled both apm and acpi in the kernel, even though it states that
> compiling ACPI in the kernel is depreciated.  I supposed that doing so
> would allow me to flip back and forth via the hints files.  A more
> experienced person could enlighten me, perhaps?
> 
> Other additions:
> makeoptions     DEBUG=-g
> options         VESA
> options         VESA_DEBUG
> device          agp
> device          radeondrm
> device          apm
Unless you are using APM, I'd suggest not building it into the
kernel. Use apm_load (and toggle the hints file values for the ACPI
and APM disabled).
> device          acpi
Not sure that this will work. Normally ACPI is loaded at boot.
> options         ACPI_DEBUG
> 
> device.hints
> ------------
> hint.acpi.0.disabled="0"
> hint.apm.0.disabled="1"
> 
> loader.conf
> -----------
> hw.pci.allow_unsupported_io_range=1
> acpi_load="YES"

No. ACPI is "magic" in its loading. Don't put any load command
anywhere. The hints file entry is all you want.


More information about the freebsd-mobile mailing list