FuSi Amilo 1667G stops when powerd is running in hadp/adp mode

Joerg Wunsch j at uriah.heep.sax.de
Fri Apr 23 09:17:14 UTC 2010

I've got a Fujitsu Siemens Amilo 1667G for my kids, which is mostly
running fine under FreeBSD 8.0 (except any of the sleep modes, but I
didn't care about that so far).

However, as soon as powerd runs in and of the adaptive modes, the
machine halts sooner or later, no matter what I try.  If I don't run
powerd, it works fine at a fixed CPU speed of 800 MHz, and it also
works fine if I use powerd in "max" mode, which however corresponds to
2000 MHz CPU clock, and thus a lot of unnecesary fan activity.

I tried applying the patches from either PR bin/136354 or PR
bin/145063 (where 136354 is a little more flexible but with less
obvious option names, otherwise both try to achieve more or less the
same goal), and then limiting the CPU speed range, I tried setting
debug.cpufreq.lowest, I tried changing the powerd evaluation interval,
all to no avail.  Even when I limit the CPU speed to a minimum of 800
MHz (where it runs fine forever without powerd), it will eventually
hang.  OTOH, without any limits, powerd is able to throttle the
frequency down to 50 MHz without an *immediate* hang, it's just it
will *eventually* hang.  For example, limiting it to 800 MHz as the
lowest frequency, it could sit for half an hour without problems, but
once I started "periodic weekly" (thus rebuilding the locate
database), it stopped working.  That makes me suspect it's somehow a
problem with actually *switching* CPU frequencies, rather than with
any particular CPU frequency itself.

As an additional symptom, whenever it jams, the fan is active,
regardless of the previous CPU speed.  Unfortunately, the ACPI BIOS
doesn't seem to offer any TZ data at all:

erwin# sysctl hw.acpi
hw.acpi.supported_sleep_state: S1 S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S1
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 0
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.reset_video: 0
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.user_override: 0
hw.acpi.thermal.tz0.temperature: 50.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 0
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: -1
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 104.0C
hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.thermal.tz0._TC1: -1
hw.acpi.thermal.tz0._TC2: -1
hw.acpi.thermal.tz0._TSP: -1
hw.acpi.acline: 1
hw.acpi.battery.life: 100
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 1
hw.acpi.battery.info_expire: 5
hw.acpi.cpu.cx_lowest: C1

erwin# sysctl dev.cpu.0
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU1
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 1687
dev.cpu.0.freq_levels: 2000/25000 1875/23437 1800/20900 1687/19593 1600/17500 1500/16406 1400/15312 1300/14218 1200/13125 1100/12031 1000/10937 900/9843 800/7900 750/7406 700/6912 650/6418 600/5925 550/5431 500/4937 450/4443 400/3950 350/3456 300/2962 250/2468 200/1975 150/1481 100/987 50/493
dev.cpu.0.cx_supported: C1/0 C2/800
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% last 500us

Any clues welcome.
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

More information about the freebsd-acpi mailing list