Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Mar 2015 21:22:21 -0700
From:      Kevin Oberman <rkoberman@gmail.com>
To:        Da Rock <freebsd-acpi@herveybayaustralia.com.au>
Cc:        "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>
Subject:   Re: HP Compaq CQ62/42 acpi
Message-ID:  <CAN6yY1sm2C_5N0MomLDd%2BDxMCkUJDpTRw6D5iPAZq3kJBYn8Pw@mail.gmail.com>
In-Reply-To: <551362EF.3080801@herveybayaustralia.com.au>
References:  <55113B2D.2040609@herveybayaustralia.com.au> <CAN6yY1vs=M_1PWRq5pSiuczQc7hXqm333gtkHDPv5Vdc64k3Gg@mail.gmail.com> <551362EF.3080801@herveybayaustralia.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Mar 25, 2015 at 6:37 PM, Da Rock <
freebsd-acpi@herveybayaustralia.com.au> wrote:

>  On 03/25/15 09:52, Kevin Oberman wrote:
>
> On Tue, Mar 24, 2015 at 3:23 AM, Da Rock <
> freebsd-acpi@herveybayaustralia.com.au> wrote:
>
>> I have 2 laptops as mentioned, 3 all amd athlon based. The 3rd is an asus
>> which I'm relatively happy with.
>>
>> What I have is when I pull the AC out of it, the sysctl for cpu speed
>> goes from 2200 to 100 or 400. Basically the system becomes rather unusable.
>>
>> I tried the acpi_hp module, and it now switches to 800. This is better,
>> but barely usable still.
>>
>> I'd like to see a response similar to the asus if its possible; this
>> effectively stays the same, but drops speed if nothing is happening.
>>
>> Ideally, I'd think that it would be better if the system adjusted speed
>> to use requirements during operation, but neither does that. I suspect that
>> the asus should (in theory) as it does do it on battery only; but unless
>> I'm really hammering all the time, it just doesn't seem to happen when I'm
>> looking at it.
>>
>> The settings used on all for powerd is hiadaptive for AC, adaptive for
>> battery.
>>
>> If I'm doing something wrong let me know, if more data is required I'm
>> happy to help the cause :)
>>
>> TIA
>>
>>  First, let's get a bit more information. Please provide:
>  sysctl dev.cpu.0 (on AC and then on battery)
>
> AC:
>
> dev.cpu.0.%desc: ACPI CPU
> dev.cpu.0.%driver: cpu
> dev.cpu.0.%location: handle=\_PR_.C000
> dev.cpu.0.%pnpinfo: _HID=none _UID=0
> dev.cpu.0.%parent: acpi0
> dev.cpu.0.temperature: 85.3C
> dev.cpu.0.freq: 200
> dev.cpu.0.freq_levels: 2200/7543 1925/6600 1900/6150 1662/5381 1600/4777
> 1400/4179 1300/3750 1137/3281 975/2812 800/2091 700/1829 600/1568 500/1306
> 400/1045 300/784 200/522 100/261
> dev.cpu.0.cx_supported: C1/1/0
> dev.cpu.0.cx_lowest: C1
> dev.cpu.0.cx_usage: 100.00% last 682us
>
> Battery:
>
> dev.cpu.0.%desc: ACPI CPU
> dev.cpu.0.%driver: cpu
> dev.cpu.0.%location: handle=\_PR_.C000
> dev.cpu.0.%pnpinfo: _HID=none _UID=0
> dev.cpu.0.%parent: acpi0
> dev.cpu.0.temperature: 85.5C
> dev.cpu.0.freq: 100
> dev.cpu.0.freq_levels: 2200/7543 1925/6600 1900/6150 1662/5381 1600/4777
> 1400/4179 1300/3750 1137/3281 975/2812 800/2091 700/1829 600/1568 500/1306
> 400/1045 300/784 200/522 100/261
> dev.cpu.0.cx_supported: C1/1/0
> dev.cpu.0.cx_lowest: C1
> dev.cpu.0.cx_usage: 100.00% last 901us
>
>  uname -a
>
> FreeBSD laptop1 10.0-RELEASE-p7 FreeBSD 10.0-RELEASE-p7 #0: Tue Jul  8
> 06:37:44 UTC 2014
> root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
>
>  /etc/sysctl.conf (If present)
>
> vfs.usermount=1
> kern.ipc.shm_allow_removed=1
> compat.linux.osrelease=2.6.18
>
>  /boot/loader.conf (if present)
>
> (like it wasn't going to be present :D who doesn't?)
> vboxdrv_load=YES
> tmpfs_load=YES
> cuse4bsd_load=YES
> acpi_video_load=YES
> amdtemp_load=YES
> fuse_load=YES
> acpi_hp_load=YES
>
> I'd like to get this system running nicely if I can - its been just
> getting there for too long now because of other projects taking my
> attention and I've got bite the bullet and work this out.
>
> BTW, just to make a liar out of me after I sent that post, the system did
> start to change the cpu speed on AC - but it took a while. I had sat there
> monitoring the system with little activity and it remained at 2200; when I
> gave up waiting and sent that post I then started to really give it to it
> and the speed started dropping and rising a little. However, given I was
> trying to do an encoding with ffmpeg at the time, the speed probably should
> have remained at 2200 as my frames encoded per second was about half of
> normal. So I don't really know what to expect :)
>
> This is also in my dmesg:
>
> amdtemp0: <AMD CPU On-Die Thermal Sensors> on hostb4
> acpi_acad0: <AC Adapter> on acpi0
> battery0: <ACPI Control Method Battery> on acpi0
> acpi_lid0: <Control Method Lid Switch> on acpi0
> acpi_wmi0: <ACPI-WMI mapping> on acpi0
> acpi_hp0: <HP ACPI-WMI Mapping> on acpi_wmi0
> acpi_hp0: HP event GUID detected, installing event handler
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Field [D128] at 1040 exceeds Buffer [NULL] size 160 (bits)
> (20130823/dsopcode-249)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.HWMC] (Node
> 0xfffff80004372e80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> ACPI Error: Method parse/execution failed [\134_SB_.WMID.WMAD] (Node
> 0xfffff80004372b80), AE_AML_BUFFER_LIMIT (20130823/psparse-553)
> acpi_tz0: <Thermal Zone> on acpi0
> acpi_tz0: _CRT value is absurd, ignored (-273.2C)
>
> And this is my /dev:
>
> acpi
> ad4
> ad4p1
> ad4p2
> ad4p3
> ad4p4
> ad4p5
> ada0
> ada0p1
> ada0p2
> ada0p3
> ada0p4
> ada0p5
> apm
> apmctl
> atkbd0
> audit
> bpf
> bpf0
> bpsm0
> cd0
> console
> consolectl
> ctty
> cuse
> devctl
> devstat
> dri
> dsp0.1
> dsp1.1
> dsp2.1
> dumpdev
> fd
> fido
> fuse
> geom.ctl
> gpt
> gptid
> iic0
> iic1
> iic10
> iic11
> iic12
> iic2
> iic3
> iic4
> iic5
> iic6
> iic7
> iic8
> iic9
> io
> iso9660
> kbd0
> kbd1
> kbdmux0
> klog
> kmem
> log
> mdctl
> mem
> midistat
> mixer0
> mixer1
> mixer2
> nfslock
> null
> pass0
> pass1
> pci
> psm0
> pts
> random
> rtc
> sndstat
> stderr
> stdin
> stdout
> sysmouse
> ttyv0
> ttyv1
> ttyv2
> ttyv3
> ttyv4
> ttyv5
> ttyv6
> ttyv7
> ttyv8
> ttyv9
> ttyva
> ttyvb
> ttyvc
> ttyvd
> ttyve
> ttyvf
> ufssuspend
> ugen0.1
> ugen1.1
> ugen1.2
> ugen2.1
> ugen3.1
> ugen4.1
> ugen5.1
> ugen6.1
> urandom
> usb
> usbctl
> vboxdrv
> vboxdrvu
> vboxnetctl
> video0
> wmistat0
> xpt0
> zero
>
> cat wmistat0:
>
> GUID                                  INST EXPE METH STR EVENT OID
> {5FB7F034-2C63-45E9-BE91-3D44E2C707E4}   1 NO   WMAD NO  NO    AD
> {95F24279-4D7B-4334-9387-ACCDC67EF61C}   1 NO   NO   NO  0x80+ -
> {05901221-D566-11D1-B2F0-00A0C9062910}   1 NO   NO   NO  NO    AE
> {D0992BD4-A47C-4EFE-B072-324AEC92296C}   1 NO   NO   NO  NO    BC
>
> What do I do now?
>
> TIA
>

First, I suggest checking the output of kldstat to see that acpi_wmi.ko is
loaded. If not, add acpi_wmi_load=YES to loader.conf. wmi is an HP/Acer
thing and I really don't know much about it. Do you have powerd variables
in rc.conf? I assume you have powerd_enable="YES", but are you setting any
flags?

I see that you are using P4TCC. (This is default in 10, but will finally be
fixed in 11.) You can turn it off by adding:
hint.p4tcc.0.disabled=1
hint.acpi_throttle.0.disabled=1
to loader.conf. It will remove a bunch of useless "frequencies" and leave
the useful values. It will make powerd much more responsive and will
prevent C-states from locking up the system when they are enabled. I'd also
suggest setting:
performance_cx_lowest="Cmax"
economy_cx_lowest="Cmax"
as C-states are by far and away the best power saving tool available. (This
also becomes default in 11.)

For a lot of details on tuning power usage, read the article at
https://wiki.freebsd.org/TuningPowerConsumption.

Finally, so a little debug. Kill powerd (service powerd stop) and run it
with verbose on a terminal ("powerd -v" plus whatever options you have in
powerd_flags) and watch what powerd is doing.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1sm2C_5N0MomLDd%2BDxMCkUJDpTRw6D5iPAZq3kJBYn8Pw>