Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    2.3 and PowerD

    Scheduled Pinned Locked Moved General pfSense Questions
    5 Posts 4 Posters 5.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L Offline
      l3lu3
      last edited by

      Prior to 2.3, I've been using powerd with zero problems. After the update, I spotted the following message in the logs:

      rc.bootup: The command '/usr/sbin/powerd -b hadp -a hadp -n hadp' returned exit code '69', the output was 'powerd: no cpufreq(4) support -- aborting: No such file or directory'
      

      A quick search didn't show anyone else with pfSense having this problem. I did find an older post on the FreeBSD forums for 10.2, but unsure how relevant it is to this case: https://forums.freebsd.org/threads/52827/

      dmesg:

      Copyright (c) 1992-2016 The FreeBSD Project.
      Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
      	The Regents of the University of California. All rights reserved.
      FreeBSD is a registered trademark of The FreeBSD Foundation.
      FreeBSD 10.3-RELEASE #5 05adf0a(RELENG_2_3_0): Mon Apr 11 18:56:05 CDT 2016
          root@ce23-i386-builder:/builder/pfsense-230/tmp/obj/builder/pfsense-230/tmp/FreeBSD-src/sys/pfSense i386
      FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
      CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2793.06-MHz 686-class CPU)
        Origin="GenuineIntel"  Id=0xf41  Family=0xf  Model=0x4  Stepping=1
        Features=0xbfebfbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>Features2=0x441d <sse3,dtes64,mon,ds_cpl,cnxt-id,xtpr>TSC: P-state invariant
      real memory  = 1342177280 (1280 MB)
      avail memory = 1279033344 (1219 MB)
      Event timer "LAPIC" quality 400
      ACPI APIC Table: <dell  de051 ="">random: <software, yarrow="">initialized
      ioapic0: Changing APIC ID to 1
      ioapic0 <version 2.0="">irqs 0-23 on motherboard
      wlan: mac acl policy registered
      ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
      ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
      module_register_init: MOD_LOAD (ipw_bss_fw, 0xc081eb80, 0) error 1
      ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
      ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
      module_register_init: MOD_LOAD (ipw_ibss_fw, 0xc081ec30, 0) error 1
      ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/.
      ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf.
      module_register_init: MOD_LOAD (ipw_monitor_fw, 0xc081ece0, 0) error 1
      iwi_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi/.
      iwi_bss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf.
      module_register_init: MOD_LOAD (iwi_bss_fw, 0xc08466d0, 0) error 1
      iwi_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi/.
      iwi_ibss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf.
      module_register_init: MOD_LOAD (iwi_ibss_fw, 0xc0846780, 0) error 1
      iwi_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi/.
      iwi_monitor: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf.
      module_register_init: MOD_LOAD (iwi_monitor_fw, 0xc0846830, 0) error 1
      netmap: loaded module
      kbd1 at kbdmux0
      cryptosoft0: <software crypto="">on motherboard
      padlock0: No ACE support.
      acpi0: <dell de051 ="">on motherboard
      acpi0: Power Button (fixed)
      cpu0: <acpi cpu="">on acpi0
      atrtc0: <at realtime="" clock="">port 0x70-0x7f irq 8 on acpi0
      Event timer "RTC" frequency 32768 Hz quality 0
      attimer0: <at timer="">port 0x40-0x5f irq 0 on acpi0
      Timecounter "i8254" frequency 1193182 Hz quality 0
      Event timer "i8254" frequency 1193182 Hz quality 100
      Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
      acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
      acpi_button0: <power button="">on acpi0
      pcib0: <acpi host-pci="" bridge="">port 0xcf8-0xcff on acpi0
      pci0: <acpi pci="" bus="">on pcib0
      vgapci0: <vga-compatible display="">port 0xed98-0xed9f mem 0xf0000000-0xf7ffffff,0xfeb80000-0xfebfffff irq 16 at device 2.0 on pci0
      agp0: <intel 82865g="" (865g="" gmch)="" svga="" controller="">on vgapci0
      agp0: aperture size is 128M, detected 892k stolen memory
      vgapci0: Boot video device
      uhci0: <intel 82801eb="" (ich5)="" usb="" controller="" usb-a="">port 0xff80-0xff9f irq 16 at device 29.0 on pci0
      usbus0 on uhci0
      uhci1: <intel 82801eb="" (ich5)="" usb="" controller="" usb-b="">port 0xff60-0xff7f irq 19 at device 29.1 on pci0
      usbus1 on uhci1
      uhci2: <intel 82801eb="" (ich5)="" usb="" controller="" usb-d="">port 0xff20-0xff3f irq 16 at device 29.3 on pci0
      usbus2 on uhci2
      ehci0: <intel 82801eb="" r="" (ich5)="" usb="" 2.0="" controller="">mem 0xffa80800-0xffa80bff irq 23 at device 29.7 on pci0
      usbus3: EHCI version 1.0
      usbus3 on ehci0
      pcib1: <acpi pci-pci="" bridge="">at device 30.0 on pci0
      pci1: <acpi pci="" bus="">on pcib1
      dc0: <admtek 10="" an983="" 100basetx="">port 0xde00-0xdeff mem 0xfe9fec00-0xfe9fefff irq 22 at device 1.0 on pci1
      miibus0: <mii bus="">on dc0
      ukphy0: <generic ieee="" 802.3u="" media="" interface="">PHY 1 on miibus0
      ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
      dc0: Ethernet address: 00:04:5a:72:43:e0
      fxp0: <intel 100="" 82801ba="" (d865)="" pro="" ve="" ethernet="">port 0xddc0-0xddff mem 0xfe9ff000-0xfe9fffff irq 20 at device 8.0 on pci1
      miibus1: <mii bus="">on fxp0
      inphy0: <i82562et 10="" 100="" media="" interface="">PHY 1 on miibus1
      inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto, auto-flow
      fxp0: Ethernet address: 00:16:76:2b:b5:0b
      isab0: <pci-isa bridge="">at device 31.0 on pci0
      isa0: <isa bus="">on isab0
      atapci0: <intel ich5="" udma100="" controller="">port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf mem 0xfeb7fc00-0xfeb7ffff irq 18 at device 31.1 on pci0
      ata0: <ata channel="">at channel 0 on atapci0
      ata1: <ata channel="">at channel 1 on atapci0
      pcm0: <intel ich5="" (82801eb)="">port 0xee00-0xeeff,0xedc0-0xedff mem 0xfeb7fa00-0xfeb7fbff,0xfeb7f900-0xfeb7f9ff irq 17 at device 31.5 on pci0
      pcm0: primary codec not ready!
      pcm0: <analog devices="" ad1980="" ac97="" codec="">uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
      ppc0: <parallel port="">port 0x378-0x37f,0x778-0x77f irq 7 on acpi0
      ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
      ppc0: FIFO with 16/16/8 bytes threshold
      ppbus0: <parallel port="" bus="">on ppc0
      lpt0: <printer>on ppbus0
      lpt0: Interrupt-driven port
      ppi0: <parallel i="" o="">on ppbus0
      pmtimer0 on isa0
      orm0: <isa option="" roms="">at iomem 0xc0000-0xca7ff,0xca800-0xcbfff pnpid ORM0000 on isa0
      sc0: <system console="">at flags 0x100 on isa0
      sc0: VGA <16 virtual consoles, flags=0x300>
      vga0: <generic isa="" vga="">at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
      atkbdc0: <keyboard controller="" (i8042)="">at port 0x60,0x64 on isa0
      atkbd0: <at keyboard="">irq 1 on atkbdc0
      kbd0 at atkbd0
      atkbd0: [GIANT-LOCKED]
      random: unblocking device.
      usbus0: 12Mbps Full Speed USB v1.0
      Timecounters tick every 1.000 msec
      IPsec: Initialized Security Association Processing.
      usbus1: 12Mbps Full Speed USB v1.0
      usbus2: 12Mbps Full Speed USB v1.0
      usbus3: 480Mbps High Speed USB v2.0
      ugen1.1: <intel>at usbus1
      uhub0: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus1
      ugen0.1: <intel>at usbus0
      uhub1: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus0
      ugen3.1: <intel>at usbus3
      uhub2: <intel 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr="">on usbus3
      ugen2.1: <intel>at usbus2
      uhub3: <intel 1="" 9="" uhci="" root="" hub,="" class="" 0,="" rev="" 1.00="" 1.00,="" addr="">on usbus2
      ata0: DMA limited to UDMA33, controller found non-ATA66 cable
      ada0 at ata0 bus 0 scbus0 target 0 lun 0
      ada0: <wdc wd1600jb-75gvc0="" 08.02d08="">ATA-6 device
      ada0: Serial Number WD-WCAL98539008
      ada0: 33.300MB/s transfers (UDMA2, PIO 8192bytes)
      ada0: 152587MB (312500000 512 byte sectors)
      ada0: Previously was known as ad0
      Timecounter "TSC-low" frequency 1396527615 Hz quality 1000
      Root mount waiting for: usbus3 usbus2 usbus1 usbus0
      uhub0: 2 ports with 2 removable, self powered
      uhub1: 2 ports with 2 removable, self powered
      uhub3: 2 ports with 2 removable, self powered
      Root mount waiting for: usbus3
      Root mount waiting for: usbus3
      Root mount waiting for: usbus3
      uhub2: 8 ports with 8 removable, self powered
      Trying to mount root from ufs:/dev/ad0s1a [rw]...
      fxp0: link state changed to DOWN
      fxp0: link state changed to UP
      dc0: link state changed to UP
      pflog0: promiscuous mode enabled
      DUMMYNET 0 with IPv6 initialized (100409)
      load_dn_sched dn_sched FIFO loaded
      load_dn_sched dn_sched QFQ loaded
      load_dn_sched dn_sched RR loaded
      load_dn_sched dn_sched WF2Q+ loaded
      load_dn_sched dn_sched PRIO loaded
      fxp0: promiscuous mode enabled
      dc0: promiscuous mode enabled
      Accounting enabled</wdc></intel></intel></intel></intel></intel></intel></intel></intel></at></keyboard></generic></system></isa></parallel></printer></parallel></parallel></analog></intel></ata></ata></intel></isa></pci-isa></i82562et></mii></intel></generic></mii></admtek></acpi></acpi></intel></intel></intel></intel></intel></vga-compatible></acpi></acpi></power></at></at></acpi></dell></software></version></software,></dell ></sse3,dtes64,mon,ds_cpl,cnxt-id,xtpr></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe> 
      

      Thanks for any and all help in advance!

      1 Reply Last reply Reply Quote 0
      • V Offline
        vbentley
        last edited by

        I believe that there are some Pentium4 2.80 Ghz CPUs that support intel Enhanced Speed Step that are in a LGA775 package but I don't think the earlier designs did. I'm not certain if they all supported thermal monitoring either.

        If your cpu has Enhanced SpeedStep and thermal monitoring you should have these lines in the dmesg output:

        est0: <enhanced speedstep="" frequency="" control=""> on cpu0
        p4tcc0: <cpu frequency="" thermal="" control=""> on cpu0</cpu></enhanced>
        

        I can't remember what the prior cpu frequency scaling system was called, perhaps it was just SpeedStep. Manufacturers did things differently and BIOS was often cludged to get it working in Windows and nothing else. If you haven't recently ruined your working ACPI with a BIOS update that contains a broken DSDT (Differentiated System Description Table) or SSDT (Secondary Description Table), I think that it is probably a kernel, kernel module, or module config problem.

        To list the kernel modules on your system use:

        ls /boot/kernel | grep -v kernel
        

        Some additional reading that may help:
        https://forums.freebsd.org/threads/172/

        Trademark Attribution and Credit
        pfSense® and pfSense Certified® are registered trademarks of Electric Sheep Fencing, LLC in the United States and other countries.

        1 Reply Last reply Reply Quote 0
        • L Offline
          l3lu3
          last edited by

          For future reference, I found the answer, apparently in 10.3,  device.hints automatically disabled the options to enable powerd on this cpu platform. The way  to turn it back on is to change the following options in /boot/device.hints:

          hint.acpi_throttle.0.disabled="0"
          hint.p4tcc.0.disabled="0"

          but after reading https://groups.google.com/forum/#!topic/fa.freebsd.stable/1eY514QprJY, it seems like it might be a moot point in running powerd at all, as far as power  consumption goes.

          1 Reply Last reply Reply Quote 0
          • P Offline
            pLu
            last edited by

            I've got a PC Engines APU with an AMD G-T40E embedded CPU which also lost cpufreq/powerd functionality by default. I also noticed that the CPU never enters a lower C-state than C1 (don't know if it ever did before 2.3).

            So I added hint.acpi_throttle.0.disabled="0" to /boot/loader.conf.local and set hw.acpi.cpu.cx_lowest to C2 in System / Advanced / System Tunables.

            Now I get dev.cpu.0.freq_levels again, and dev.cpu.0.freq shows the powerd HiAdaptive throttling and dev.cpu.0.cx_usage tells me about half of the time is spent in C2.

            
            : sysctl dev.cpu.0
            dev.cpu.0.temperature: 59.5C
            dev.cpu.0.cx_usage: 48.33% 51.66% last 204us
            dev.cpu.0.cx_lowest: C2
            dev.cpu.0.cx_supported: C1/1/0 C2/2/100
            dev.cpu.0.freq_levels: 1000/-1 875/-1 750/-1 625/-1 500/-1 375/-1 250/-1 125/-1
            dev.cpu.0.freq: 125
            
            

            But the CPU temperature is about the same so I suspect I'm trading latency for nothing in return.

            1 Reply Last reply Reply Quote 0
            • R Offline
              razzfazz
              last edited by

              ACPI throttling / P4TCC don't actually reduce the clock frequency; instead, they just insert idle cycles into the pipeline. This limits peak power, but usually increases average power, as it keeps the CPU awake for longer. You should remove the hint.acpi_throttle.0.disable line and just use hw.acpi.cx_lowest=C2.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post
              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.