Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Hardware & Devices
  4. Reading CPU Fan Speed from the BIOS

Reading CPU Fan Speed from the BIOS

Scheduled Pinned Locked Moved Hardware & Devices
hardwareperformancehelp
6 Posts 5 Posters 0 Views 1 Watching
  • 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.
  • B Offline
    B Offline
    BIJU Manjeri
    wrote on last edited by
    #1

    Hi, I'm in a very difficult situation. :( I want to read the CPU Fan speed from the machine running Windows OS. WMI provides Win32_Fan class for doing this. But as far as i know, its is not implemented by Microsoft. (i think so !!) googling doesn't help me much. But i saw the CPU Fan speed value on the BIOS > Hardware Monitor > CPU Fan speed/System Fan Speed. Its a read only value. So, i think it is possible to read that value from BIOS. But i don't know how. Please help me Thanks is advance BIJU

    L L D D 4 Replies Last reply
    0
    • B BIJU Manjeri

      Hi, I'm in a very difficult situation. :( I want to read the CPU Fan speed from the machine running Windows OS. WMI provides Win32_Fan class for doing this. But as far as i know, its is not implemented by Microsoft. (i think so !!) googling doesn't help me much. But i saw the CPU Fan speed value on the BIOS > Hardware Monitor > CPU Fan speed/System Fan Speed. Its a read only value. So, i think it is possible to read that value from BIOS. But i don't know how. Please help me Thanks is advance BIJU

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      BIJU Manjeri wrote:

      googling doesn't help me much.

      Did you try this[^]?

      1 Reply Last reply
      0
      • B BIJU Manjeri

        Hi, I'm in a very difficult situation. :( I want to read the CPU Fan speed from the machine running Windows OS. WMI provides Win32_Fan class for doing this. But as far as i know, its is not implemented by Microsoft. (i think so !!) googling doesn't help me much. But i saw the CPU Fan speed value on the BIOS > Hardware Monitor > CPU Fan speed/System Fan Speed. Its a read only value. So, i think it is possible to read that value from BIOS. But i don't know how. Please help me Thanks is advance BIJU

        L Offline
        L Offline
        Luc Pattyn
        wrote on last edited by
        #3

        Hi, The available hardware information is limited to what the vendors provide. WMI gives a framework to access what is available. Here is what one of my systems returns for Win32_fan, there is no speed info:

        1: ActiveCooling = "True"
        1: Availability = "3"
        1: Caption = "Cooling Device"
        1: CreationClassName = "Win32_Fan"
        1: Description = "Cooling Device"
        1: DeviceID = "root\cimv2 0"
        1: Name = "Cooling Device"
        1: Status = "OK"
        1: StatusInfo = "2"
        1: SystemCreationClassName = "Win32_ComputerSystem"
        1: SystemName = "LP1720"

        :)

        Luc Pattyn


        I only read code that is properly indented, and rendered in a non-proportional font; hint: use PRE tags in forum messages


        Local announcement (Antwerp region): Lange Wapper? Neen!


        1 Reply Last reply
        0
        • B BIJU Manjeri

          Hi, I'm in a very difficult situation. :( I want to read the CPU Fan speed from the machine running Windows OS. WMI provides Win32_Fan class for doing this. But as far as i know, its is not implemented by Microsoft. (i think so !!) googling doesn't help me much. But i saw the CPU Fan speed value on the BIOS > Hardware Monitor > CPU Fan speed/System Fan Speed. Its a read only value. So, i think it is possible to read that value from BIOS. But i don't know how. Please help me Thanks is advance BIJU

          D Offline
          D Offline
          Dave Kreskowiak
          wrote on last edited by
          #4

          It IS implemented by Microsoft. That's why you even have the class in the first place. The problem is that the Fan class does not provide the speed information. You would have known this if you read the documentation on the Win32_Fan class. There is no Microsoft-supplied class that returns CPU speed. This would be provided by the manufacturer of the motherboard, IF AT ALL! You'd look in a different namespace with the WMI class for one of these, not in root\CIMV2. For example, on my HP desktop machine, the namespace to find the HP supplied class for fan speed is in root\HP\InstrumentedBIOS. The full class path is HP_BIOSSensor\HP_BIOSNumericSensor\HPBIOS_BIOSNumericSensor. The machine I'm on supplies 4 instances of the HPBIOS_BIOSNumericSensor class. The first instance returns the CPU fan speed, the second is the chassis fan speed, the third is the CPU temp, and the forth is chassis ambient temp. These values are not returned at normal temperature and speed values, but values on a mapped scale. Since there is no documentation on these scales (that I can find right now), I'd have to do some research into what those values scale to and what they really mean. Not all motherboard manufacturers supply this kind of information through WMI. In fact, most do not. Oh! Where did I get this information?? It wasn't with Google or some mystical oracle. I used this little tool[^]. It's a MUST HAVE for doing WMI work.

          A guide to posting questions on CodeProject[^]
          Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
               2006, 2007, 2008
          But no longer in 2009...

          B 1 Reply Last reply
          0
          • B BIJU Manjeri

            Hi, I'm in a very difficult situation. :( I want to read the CPU Fan speed from the machine running Windows OS. WMI provides Win32_Fan class for doing this. But as far as i know, its is not implemented by Microsoft. (i think so !!) googling doesn't help me much. But i saw the CPU Fan speed value on the BIOS > Hardware Monitor > CPU Fan speed/System Fan Speed. Its a read only value. So, i think it is possible to read that value from BIOS. But i don't know how. Please help me Thanks is advance BIJU

            D Offline
            D Offline
            Dan Neely
            wrote on last edited by
            #5

            Adding to what Dave's said, fan speed, temperature, and voltage monitoring locations, etc vary widely between mobo models when they're supported at all. As a result hardware monitoring tools that report these things either issue new versions at a breakneck pace to support new hardware or provide an online DB of some sort that their app can query to get the parameters. It would be nice if MS would define standard location/format/etc data for those parameters for a future revision of WMI; but since Weven is RTM; in the best case we'd need to wait until SP1; probably until Weight. Then add the amount of time it takes the mobo vendors to update the necessary drivers.

            The latest nation. Procrastination.

            1 Reply Last reply
            0
            • D Dave Kreskowiak

              It IS implemented by Microsoft. That's why you even have the class in the first place. The problem is that the Fan class does not provide the speed information. You would have known this if you read the documentation on the Win32_Fan class. There is no Microsoft-supplied class that returns CPU speed. This would be provided by the manufacturer of the motherboard, IF AT ALL! You'd look in a different namespace with the WMI class for one of these, not in root\CIMV2. For example, on my HP desktop machine, the namespace to find the HP supplied class for fan speed is in root\HP\InstrumentedBIOS. The full class path is HP_BIOSSensor\HP_BIOSNumericSensor\HPBIOS_BIOSNumericSensor. The machine I'm on supplies 4 instances of the HPBIOS_BIOSNumericSensor class. The first instance returns the CPU fan speed, the second is the chassis fan speed, the third is the CPU temp, and the forth is chassis ambient temp. These values are not returned at normal temperature and speed values, but values on a mapped scale. Since there is no documentation on these scales (that I can find right now), I'd have to do some research into what those values scale to and what they really mean. Not all motherboard manufacturers supply this kind of information through WMI. In fact, most do not. Oh! Where did I get this information?? It wasn't with Google or some mystical oracle. I used this little tool[^]. It's a MUST HAVE for doing WMI work.

              A guide to posting questions on CodeProject[^]
              Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
                   2006, 2007, 2008
              But no longer in 2009...

              B Offline
              B Offline
              BIJU Manjeri
              wrote on last edited by
              #6

              Thank you Dave.. Thanks for your reply..

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups