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

    Wrong readings on CPU temperature (Atom D525)

    Scheduled Pinned Locked Moved Hardware
    6 Posts 3 Posters 929 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.
    • A
      AWeidner
      last edited by AWeidner

      I read all threads that i could find using the search feature but i have not seen a solution for this yet.

      I have two identical appliances that each use an Intel D525MW board and BIOS version MWPNT10N.86A.0132.2013.0726.1534.

      Appliance #1 is running Windows 7 Pro/64 Bit, Appliance #2 is running pfSense 2.4.4-RELEASE-p2.

      On Appliance #1 (Windows), HWMonitor correctly (i assume) reports 27°C for Core #0 and 23°C for Core #1. Ambient temperature in this location is about 10°C (ten degrees Celsius).

      Appliance #2 (pfSense) reports
      dev.cpu.3.temperature: 19.0C
      dev.cpu.2.temperature: 18.0C
      dev.cpu.1.temperature: 13.0C
      dev.cpu.0.temperature: 13.0C
      Ambient temperature in this location is 21°C (twenty one degrees Celsius).

      Is there any chance to get correct values from sysctl? I read about mbmon but it seems that is unsupported.

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        It reads incorrectly because the reported (or assumed) Tjmax value is incorrect. You should be able to see that in the sysclt output there. The BIOS might report a different value to Windows or the windows application might just use a known good value for Tjmax.

        From a D525 box I have here:

        [2.4.4-RELEASE][admin@cuda.stevew.lan]/root: sysctl dev.cpu.0
        dev.cpu.0.temperature: 39.0C
        dev.cpu.0.coretemp.throttle_log: 0
        dev.cpu.0.coretemp.tjmax: 100.0C
        dev.cpu.0.coretemp.resolution: 1
        dev.cpu.0.coretemp.delta: 61
        dev.cpu.0.cx_method: C1/hlt
        dev.cpu.0.cx_usage_counters: 11241
        dev.cpu.0.cx_usage: 100.00% last 5844us
        dev.cpu.0.cx_lowest: C1
        dev.cpu.0.cx_supported: C1/1/0
        dev.cpu.0.%parent: acpi0
        dev.cpu.0.%pnpinfo: _HID=none _UID=0
        dev.cpu.0.%location: handle=\_PR_.P001
        dev.cpu.0.%driver: cpu
        dev.cpu.0.%desc: ACPI CPU
        

        There's nothing you can do about that in pfSense AFAIK. You might try having the OS report itself as Windows to the BIOS to get the correct value if you can show that Windows is getting it. Or patching the ACPI tables in the BIOS.

        Steve

        A 1 Reply Last reply Reply Quote 1
        • A
          AWeidner @stephenw10
          last edited by AWeidner

          @stephenw10 said in Wrong readings on CPU temperature (Atom D525):

          [...]
          There's nothing you can do about that in pfSense AFAIK. You might try having the OS report itself as Windows to the BIOS to get the correct value if you can show that Windows is getting it. Or patching the ACPI tables in the BIOS.

          Steve

          Thank you for the explaination. I turned off the temperature widget.

          D 1 Reply Last reply Reply Quote 0
          • D
            dlucas46 @AWeidner
            last edited by dlucas46

            @aweidner

            You could correct the issue but it would require you to rebuild the coretemp kernel module.
            I had to do a similar thing when I replaced the CPU in my Watchguard with a xeon.

            The coretemp module code is very basic and if your CPU has the same ID as another model the wrong tjmax value gets set. If you change the code you can compile the module and load it at boot to override the coretemp module from the kernel.

            You will then have the correct temps reported.

            A 1 Reply Last reply Reply Quote 1
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              Is it using an invalid Tjmax? I assumed it would be but....

              1 Reply Last reply Reply Quote 0
              • A
                AWeidner @dlucas46
                last edited by AWeidner

                @dlucas46 said in Wrong readings on CPU temperature (Atom D525):

                @aweidner

                You could correct the issue but it would require you to rebuild the coretemp kernel module.
                I had to do a similar thing when I replaced the CPU in my Watchguard with a xeon.

                The coretemp module code is very basic and if your CPU has the same ID as another model the wrong tjmax value gets set. If you change the code you can compile the module and load it at boot to override the coretemp module from the kernel.

                You will then have the correct temps reported.

                That would be too much of an effort for me as this box is just a stand in, before i can buy something new. It is at least eight years old and was pulled from the shelf because i needed a quick solution.
                Also my programming skills are virtually non existent ☺

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