Date: Wed, 30 Nov 2005 13:20:06 GMT From: Pavel Rydvan <pryd@atlas.cz> To: freebsd-acpi@FreeBSD.org Subject: Re: i386/79080: acpi thermal changes freezes HP nx6110 Message-ID: <200511301320.jAUDK6a3060214@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/79080; it has been noted by GNATS. From: Pavel Rydvan <pryd@atlas.cz> To: bug-followup@FreeBSD.org, juho.vuori@kepa.fi Cc: Subject: Re: i386/79080: acpi thermal changes freezes HP nx6110 Date: Wed, 30 Nov 2005 14:15:49 +0100 Hello, I am also using nx6110 and having the same problem. It also seems that USB works only if ACPI is enabled (and, having no ports than USB, it seems to be quite vital). Another astonishing connection is, that with ACPI enabled, the notebook's touchpad started to be "tappable" (when i tap to the surface, it performs a click), which never worked, but it somehow started with enabling ACPI (and remains also when I disable it again) -- it is out of my immagination and also out of toppic... As was told, notebook dies (when using SCHED_4BSD scheduler), or freezes for approx. 2 seconds (when using SCHED_ULE), when the temperature raises/drops above/below hw.acpi.thermal.tz0._ACx. There happens to appear a storm of acpi TZ_NOTIFY_TEMPERATURE messages. When using SCHED_ULE, then --- after 2 seconds --- one occurence of TZ_NOTIFY_LEVELS appears, then again one appearence of TZ_NOTIFY_TEMPERATURE, and then the system continues in working well, until another raise/drop happens. It seems that there should come some answer/action to the TZ_NOTIFY_TEMPERATURE from the acpi_thermal driver, but it never happens (or happens quite late). It seems to me that the answer is only "waked up" (acpi_tz_signal function in acpi_thermal.c:640) and is to be performed by some other thread. I thought of moving that code "inside" the actual thread, maybe it would help. But I do not understand ACPI at all, so I do not know, WHAT the hw is expecting to happen:((. My "backup" idea was to set the ACx temperatures to values that cannot be raised/dropped above/below, so the freezes wouldn't appear. And also set some reasonable fan speed. There are 4+1 fan speeds (0=fastest, ... 3=slowest; -1=off), it is possible to control their speed via sysctl hw.acpi.thermal.tz0.active=n, which works well (no freeze when changing "by hand"). There is following list of temperatures in hw.acpi.thermal.tz0._ACx: hw.acpi.thermal.tz0._ACx: 80.0C 70.0C 60.0C 45.0C -1 -1 -1 -1 -1 -1 If I persuaded the ntb to have the list for example 80.0C 5.0C 4.0C 3.0C -1 -1 -1..., than the storm perhaps never happens. It seems to me that it is somehow possible to change the values in the list (but I don't know, where they are dictated by sw or hw): when the temperature (for example) raises above 60.0C, the list is (somehow) smartly changed to 80.0C 70.0C 55.0C 45.0C. Notice that 60.0 changed to 55.0, so the temperature is not going to lower below the limit immediately... I have no experiences or knowledge of ACPI, I just tried to use sysctl to set the _ACx, but it is read-only. Is it possible to be set by sw? Has anybody idea of how to accomplish? Pavel Rydvan P.S.: Another astonishing connection is, that with ACPI enabled, the notebook's touchpad started to be "tappable" (when i tap to the surface, it performs a click), which never worked in FreeBSD with xorg, but it somehow appeared with enabling ACPI (and remains also when I disable it again) -- it is out of my immagination but it is also off topic...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511301320.jAUDK6a3060214>