Menu

#5 Can't get current fan speed

None
closed-fixed
nobody
None
5
2013-12-19
2012-12-27
No

Program gives error "failed to read current fan speed." but yet running "aticonfig --pplib-cmd "get fanspeed 0"" works just fine.

steven@steven-PC:~$ aticonfig --pplib-cmd "get fanspeed 0"
Fan speed query:
Query Index: 0, Speed in percent
Result: Fan Speed: 50%

steven@steven-PC:~$ AMDOverdriveCtrl --batch-mode
INF: Nr. of Adapters: 6
INF: Adapter index: 0, active, ID:712690416, AMD Radeon HD 6800 Series
INF: Adapter index: 1, inact., ID:712690416, AMD Radeon HD 6800 Series
INF: Adapter index: 2, inact., ID:712690416, AMD Radeon HD 6800 Series
INF: Adapter index: 3, inact., ID:712690416, AMD Radeon HD 6800 Series
INF: Adapter index: 4, inact., ID:712690416, AMD Radeon HD 6800 Series
INF: Adapter index: 5, inact., ID:712690416, AMD Radeon HD 6800 Series
INF: Adapter index 0 choosen.
INF: Nr. of Performance Levels: 3
INF: Card's default Perf Level 0: GPU 100MHz Memory 150MHz Voltage 1.175V
INF: Card's default Perf Level 1: GPU 775MHz Memory 1050MHz Voltage 1.175V
INF: Card's default Perf Level 2: GPU 900MHz Memory 1050MHz Voltage 1.175V
WRN: failed to read current fan speed.
INF: Nr. of Displays to check 12
INF: Color temp disp(9) :
INF: current 6500K default 6500K
INF: min 4000K max 10000K step 100K
WRN: color temperature setting not supported.

Discussion

  • Steven Heidel

    Steven Heidel - 2012-12-28

    Turns out my card only supports fan speed by percentages, here's a patch that works around that:

    diff --git a/src/adl.cpp b/src/adl.cpp
    index d2c3ad7..6ad4e1d 100644
    --- a/src/adl.cpp
    +++ b/src/adl.cpp
    @@ -722,11 +722,21 @@ int ADL::UpdateData()
    
        mCurrentFanSpeed.iSize = sizeof(ADLFanSpeedValue);
        mCurrentFanSpeed.iFlags = ADL_DL_FANCTRL_SPEED_TYPE_RPM;
    -   if (SAVE_CALL(ADL_Overdrive5_FanSpeed_Get)(mGPUIndex, 0, &mCurrentFanSpeed) != ADL_OK)
    -   {
    -       mCurrentFanSpeed.iFanSpeed = 0;
    -       result |= ERR_GET_CURRENT_FANSPEED_FAILED;
    -   }
    +   if (SAVE_CALL(ADL_Overdrive5_FanSpeed_Get)(mGPUIndex, 0, &mCurrentFanSpeed) != ADL_OK)
    +   {
    +       mCurrentFanSpeed.iSpeedType = ADL_DL_FANCTRL_SPEED_TYPE_PERCENT;
    +       if (SAVE_CALL(ADL_Overdrive5_FanSpeed_Get)(mGPUIndex, 0, &mCurrentFanSpeed) != ADL_OK)
    +
    +       {
    +
    +           mCurrentFanSpeed.iFanSpeed = 0;
    +           result |= ERR_GET_CURRENT_FANSPEED_FAILED;
    +       }
    +       else {
    +           mCurrentFanSpeed.iFanSpeed = (mFanSpeedInfo.iMaxRPM - mFanSpeedInfo.iMinRPM) * mCurrentFanSpeed.iFanSpeed / 100 + mFanSpeedInfo.iMinRPM;
    +       }
    +
    +   }
    
        mODParameters.iSize = sizeof(ADLODParameters);
    if (SAVE_CALL(ADL_Overdrive5_ODParameters_Get)(mGPUIndex, &mODParameters) == ADL_OK)
    
     
  • Anonymous

    Anonymous - 2013-03-06

    Hey thanks for the work-around, finally figured out what you mean - for those who dont know what to do:
    1. download source-file from https://sourceforge.net/projects/amdovdrvctrl/files/C%2B%2B%20sources/
    2. download ADL SDK from http://developer.amd.com/gpu/adlsdk/Pages/default.aspx and copy all files of ADL_SDK_X.X to AMDOverdriveCtrl/ADL_SDK
    3. edit the file adl.cpp in /AMDOverdriveCtrl/src as described above
    3. ./configure (needs to be set to chmod +x)
    4. make
    5. make install or make deb
    (you need wxWidgets)

    for AMDOverdriveCtrl.1.2.1.tar.bz2:
    makefile needs to be edited as mentioned here https://sourceforge.net/p/amdovdrvctrl/bugs/4/#add9

    "+" means add this line(s)
    "-" means remove this line(s)

     

    Last edit: Anonymous 2013-03-06
  • Thorsten Gilling

    • status: open --> closed-fixed
    • milestone: -->
     
  • Photon

    Photon - 2013-12-18

    Hi, I have exactly the same problem with my HD6770. Using latest version of AMDOverdriveCtrl (1.2.4 to 1.2.7 tested). Is the fix included in the latest release versions already?

     
  • Anonymous

    Anonymous - 2013-12-19

    Cards which do only support fan speed in percentage should work with the latest version (fix has been included, tested using latest deb file with HD5870)

     

    Last edit: Anonymous 2013-12-19
  • Photon

    Photon - 2013-12-19

    This is strange. My card supports reading fan speed in percentage:

    $ aticonfig --pplib-cmd "get fanspeed 0"
    Fan speed query: 
    Query Index: 0, Speed in percent
    Result: Fan Speed: 5%
    

    but AMDOverdriveCtrl cannot use this information:

    $ AMDOverdriveCtrl
    INF: Nr. of Adapters: 3
    INF: Adapter index: 0, active, ID:21791408, AMD Radeon HD 6700 Series  
    INF: Adapter index: 1, inact., ID:21791408, AMD Radeon HD 6700 Series  
    INF: Adapter index: 2, inact., ID:21791408, AMD Radeon HD 6700 Series  
    INF: Adapter index 0 choosen.
    INF: Nr. of Performance Levels: 3
    INF: Card's default Perf Level 0: GPU 157MHz Memory 300MHz Voltage 0.95V
    INF: Card's default Perf Level 1: GPU 500MHz Memory 1200MHz Voltage 1.1V
    INF: Card's default Perf Level 2: GPU 850MHz Memory 1200MHz Voltage 1.2V
    WRN: failed to get fan speed information.
    ACT: Set fan speed to default
    INF: FanCtrl mode off
    INF: Nr. of Displays to check 4
    INF: Color temp disp(2) : 
    INF: current 6500K default 6500K
    INF: min 4000K max 10000K step 100K
    WRN: color temperature setting not supported.
    
     

    Last edit: Photon 2013-12-19

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.