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>