fan status/control incorrect and out of sync after returning from hibernate
Hello all,
I have installed swsuspend2 on my HP Compaq NC6000. Hibernating and resuming as such is succesful. However, after resuming, my fan status and control is totally out of sync. The fan retains the speed it happens to have at resume time, but when issuing the acpi -V command, the fan status might be completely different. E.g. /home# acpi -V _ _ _Battery 1: charged, 100% _ _ _Thermal 1: active[3], 43.0 degrees C _ _ _Thermal 2: ok, 51.0 degrees C _ _ _Thermal 3: ok, 28.0 degrees C _ _ _AC Adapter 1: on-line This would make you expect that the fan runs at the lowest speed. Not true, it can run at any speed. Now whatever happens, the fan status does not change anymore, and the actual speed does not change. The actual speed usually is not in sync with the status. When I reboot the computer, everything is normal again, until I go thru a hibernate cycle. Normal means that the temperature cycles up and down a bit and the fan is switched on at the required speed. It even happened once that as soon as I plugged in AC power, the fan would stop, and as soon as I pulled the AC plug, the fan status would jump to active[2]. In that case, the fan speed was in sync with the status. Although the starting and stopping of the fan was reproducible, after a reboot I was not able to reproduce the behavior. The temperatures are correct as far as I can tell. I assume that some hardware registers have a certain status after power-up, but the software has a different status, hence the loss of sync. Since the software is not going thru re-initialization, the hardware and software never get in sync again. I have tried to unload and reload the acpi, fan and thermal modules, and to restart the acpid daemon, but to no avail. I also tried to echo some value ("0" or "off") into /proc/acpi/fan/C207/state, but that had no effect either. Has anyone seen this before, and do you perhaps know a workaround on this? Since I can solve the problem by rebooting (not necessarily power cycling) I assume/hope that it is something that can be software controlled. Installation: HP Compaq NC6000 Debian Sarge Kernel 2.6.8.1, from kernel.org compiled without initrd Suspend2 2.1.7.2 for 2.6.8.1 Modules: Module _ _ _ _ _ _ _ _ _Size _Used by speedstep_lib _ _ _ _ _ 4356 _0 cpufreq_powersave _ _ _ 2048 _0 cpufreq_userspace _ _ _ 5336 _2 ipv6 _ _ _ _ _ _ _ _ _229252 _10 ds _ _ _ _ _ _ _ _ _ _ 17796 _6 thermal _ _ _ _ _ _ _ _12944 _0 fan _ _ _ _ _ _ _ _ _ _ 4236 _0 button _ _ _ _ _ _ _ _ _6680 _0 ac _ _ _ _ _ _ _ _ _ _ _5132 _0 battery _ _ _ _ _ _ _ _ 9740 _1 af_packet _ _ _ _ _ _ _20872 _2 floppy _ _ _ _ _ _ _ _ 54992 _0 irtty_sir _ _ _ _ _ _ _ 8320 _0 sir_dev _ _ _ _ _ _ _ _18092 _1 irtty_sir irda _ _ _ _ _ _ _ _ _167232 _2 irtty_sir,sir_dev crc_ccitt _ _ _ _ _ _ _ 2432 _1 irda parport_pc _ _ _ _ _ _ 33348 _0 parport _ _ _ _ _ _ _ _37320 _1 parport_pc rtc _ _ _ _ _ _ _ _ _ _12088 _0 pcspkr _ _ _ _ _ _ _ _ _3816 _0 yenta_socket _ _ _ _ _ 19200 _0 pcmcia_core _ _ _ _ _ _63412 _2 ds,yenta_socket snd_intel8x0m _ _ _ _ _18632 _0 snd_intel8x0 _ _ _ _ _ 33068 _0 snd_ac97_codec _ _ _ _ 59268 _2 snd_intel8x0m,snd_intel8x0 snd_pcm _ _ _ _ _ _ _ _85512 _2 snd_intel8x0m,snd_intel8x0 snd_timer _ _ _ _ _ _ _23172 _1 snd_pcm snd_page_alloc _ _ _ _ 11144 _3 snd_intel8x0m,snd_intel8x0,snd_pcm gameport _ _ _ _ _ _ _ _4736 _1 snd_intel8x0 snd_mpu401_uart _ _ _ _ 7296 _1 snd_intel8x0 snd_rawmidi _ _ _ _ _ _23204 _1 snd_mpu401_uart snd_seq_device _ _ _ _ _7944 _1 snd_rawmidi snd _ _ _ _ _ _ _ _ _ _51940 _8 snd_intel8x0m,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_devi ce pci_hotplug _ _ _ _ _ _30640 _0 hci_usb _ _ _ _ _ _ _ _12928 _0 bluetooth _ _ _ _ _ _ _43908 _1 hci_usb usbhid _ _ _ _ _ _ _ _ 28864 _0 intel_agp _ _ _ _ _ _ _20512 _1 agpgart _ _ _ _ _ _ _ _31784 _1 intel_agp ehci_hcd _ _ _ _ _ _ _ 27780 _0 uhci_hcd _ _ _ _ _ _ _ 29328 _0 usbcore _ _ _ _ _ _ _ 104420 _6 hci_usb,usbhid,ehci_hcd,uhci_hcd i810_audio _ _ _ _ _ _ 33300 _0 ac97_codec _ _ _ _ _ _ 16908 _1 i810_audio soundcore _ _ _ _ _ _ _ 9824 _2 snd,i810_audio tg3 _ _ _ _ _ _ _ _ _ _62352 _0 firmware_class _ _ _ _ _9728 _1 tg3 ath_pci _ _ _ _ _ _ _ _56096 _0 ath_rate_onoe _ _ _ _ _ 8840 _1 ath_pci wlan _ _ _ _ _ _ _ _ _105948 _3 ath_pci,ath_rate_onoe ath_hal _ _ _ _ _ _ _ 133456 _2 ath_pci acpi _ _ _ _ _ _ _ _ _ _5516 _0 freq_table _ _ _ _ _ _ _4356 _1 acpi processor _ _ _ _ _ _ _17584 _2 thermal,acpi tsdev _ _ _ _ _ _ _ _ _ 7168 _0 mousedev _ _ _ _ _ _ _ _9996 _1 joydev _ _ _ _ _ _ _ _ _9408 _0 evdev _ _ _ _ _ _ _ _ _ 9088 _1 psmouse _ _ _ _ _ _ _ _17800 _0 ide_cd _ _ _ _ _ _ _ _ 38176 _0 cdrom _ _ _ _ _ _ _ _ _35740 _1 ide_cd ext3 _ _ _ _ _ _ _ _ _109544 _4 jbd _ _ _ _ _ _ _ _ _ _54296 _1 ext3 ide_generic _ _ _ _ _ _ 1664 _0 piix _ _ _ _ _ _ _ _ _ 12448 _1 ide_disk _ _ _ _ _ _ _ 16768 _6 ide_core _ _ _ _ _ _ _125028 _4 ide_cd,ide_generic,piix,ide_disk unix _ _ _ _ _ _ _ _ _ 25908 _252 |
When you say you have tried unloading the acpi modules, was that after the hibernate? In the hibernate.conf you can unload modules before the machine goes into hibernation and then load them again after it comes out. Have a good look at the config file for it and try it if you havent already. I have a few that I have to unload before it goes into hibernation otherwise they play up when it resumes. (acpi isnt any of them, but different computer too) Good luck
|
Unfortunately, when I unload acpi before suspending, the computer does not shut down, but immediately reboots. That was what I more or less expected, but now it is confirmed. :(
What I tried next was to unload thermal, fan, ac and battery before hibernate, and loaded them back at resume. Your idea to unload these module before suspending was good anyway! What happens then is: The indication of fan speed is correct now, eg. if the fan runs low speed that acpi -V actually shows "active[3]" That is as it should be. However, the fan trip points are not active anymore. When I run on battery, the fan always runs low speed, regardless of temperature. When I run on AC, the fan is always stopped, regardless of temperature. The battery indicator in the panel also gives the wrong indication, it shows always "on battery" regardless whether the AC adapter is plugged in. acpi -V always shows running on ac. :confused: :confused: :confused: :confused: jlinkels |
All times are GMT -5. The time now is 07:37 AM. |