This was great thanks for sharing. Installed but now I need case fan 2, 4 to also ramp up. I compared changes and it looks like you are assigning the Stepwise Curve ID near the bottom of the file but I have yet to figure out how you are to identify which SDR TAG such as PROC_1, PROC_2 is assigned to which item at the bottom where you wrote MOD:REAR FAN, MOD: TOP FRONT FAN. I see no identifying features that I am able to trace back and say this is definitely SDR Tag FAN_5 (System Fan 5).I have modified the SDR file for my custom build.
Here's my build post: Dual E5-2670 build in the smallest case NZXT S340
Here's some background information: The SDR file is quite complicated in a sense that there are a handful of sections you need to edit to be able to achieve controlling the FAN speed based on a different thermal sensor and curve profile. If you use the custom xxxx_RAMP profile, then all fans rely on the single thermal sensor called BB_EDGE to vary their PWM values. This sensor reacts quite slowly so in my case, having noctua fans running at 600RPM and sloooowly ramping up is not enough. I needed the CPU fans to react quickly when the CPU is loaded. After some modification, I have linked the P2_VR sensor to both CPU fans, it approximately matches the CPU temperature and reacts pretty quickly.
I have uploaded my modified SDR file for you to compare. It sets FAN speed based on my all noctua configuration.
CASE FAN 1: NF-P14S Redux PWM-1200 RPM
CASE FAN 3: NF-P14S Redux PWM-1200 RPM
CPU FAN1: NF-F12 PWM-1500 RPM
CPU FAN2: NF-F12 PWM-1500 RPM
REAR FAN: NF-P12 PWM-1300 RPM
//=============================MOD:TOP FRONT FAN=======================================//
_SDR_TYPE C0
_SDR_TAG 'OTHER_FR'
_REC_LEN 001B
// Sensor Record Header
0132 // Record ID
51 // SDR Version
C0 // Record Type
16 // Record Length
// Record Body Bytes
570100 // Manufacturer ID
0C // Record Subtype Value (Fan Speed Control SDR Record, rev 2)
02 // Record Version
08 // FSC Record Type (08h = Main Domain)
04 // Domain Mask
FF // Fan Profile Support
// Domain Configuration
01 // FSC Sub-Record Type (01h = Domain Configuration)
14 // Normal Control Value
64 // Ramp Step
01 // Scan Rate
64 // Fan Fault Boost Value
64 // Temperature Threshold Boost Value
64 // Chassis Cover Boost Value
00 // Sensor Exclusion Count
// Sensor Number To Exclude From Fan Boost
// Stepwise Sub-Record
02 // FSC Sub-Record Type (02h = Stepwise)
01 // Stepwise Header ID
65 // Stepwise Curve ID
// Stepwise Sub-Record
02 // FSC Sub-Record Type (02h = Stepwise)
01 // Stepwise Header ID
65 // Stepwise Curve ID
This was great thanks for sharing. Installed but now I need case fan 2, 4 to also ramp up. I compared changes and it looks like you are assigning the Stepwise Curve ID near the bottom of the file but I have yet to figure out how you are to identify which SDR TAG such as PROC_1, PROC_2 is assigned to which item at the bottom where you wrote MOD:REAR FAN, MOD: TOP FRONT FAN. I see no identifying features that I am able to trace back and say this is definitely SDR Tag FAN_5 (System Fan 5).
Can anyone possibly explain this?
Here is an example:
I do not see where that calls an SDR Tag or any identifying information I can use to say changing this Stepwise Curve ID is going to change my FAN_1 (System Fan 1) curve.Code://=============================MOD:TOP FRONT FAN=======================================// _SDR_TYPE C0 _SDR_TAG 'OTHER_FR' _REC_LEN 001B // Sensor Record Header 0132 // Record ID 51 // SDR Version C0 // Record Type 16 // Record Length // Record Body Bytes 570100 // Manufacturer ID 0C // Record Subtype Value (Fan Speed Control SDR Record, rev 2) 02 // Record Version 08 // FSC Record Type (08h = Main Domain) 04 // Domain Mask FF // Fan Profile Support // Domain Configuration 01 // FSC Sub-Record Type (01h = Domain Configuration) 14 // Normal Control Value 64 // Ramp Step 01 // Scan Rate 64 // Fan Fault Boost Value 64 // Temperature Threshold Boost Value 64 // Chassis Cover Boost Value 00 // Sensor Exclusion Count // Sensor Number To Exclude From Fan Boost // Stepwise Sub-Record 02 // FSC Sub-Record Type (02h = Stepwise) 01 // Stepwise Header ID 65 // Stepwise Curve ID // Stepwise Sub-Record 02 // FSC Sub-Record Type (02h = Stepwise) 01 // Stepwise Header ID 65 // Stepwise Curve ID
// Global Step Curve Records
//====================================================================//
_SDR_TYPE C0
_REC_LEN 0017
// Sensor Record Header
F700 // Record ID
51 // SDR Version
C0 // Record Type
12 // Record Length
// Record Body Bytes
570100 // Manufacturer ID
0C // Record Subtype Value (Fan Speed Control SDR Record)
02 // FSC version 2
02 // FSC Record Type (Global Stepwise Curve Record)
// Global Stepwise Curve Record
00 // Stepwise Curve ID
05 // Domain max and count
0F // 15C
0F // 30%
19 // 25C
14 // 35%
23 // 35C
1E // 50%
28 // 40C
32 // 75%
2D // 45C
64 // 100%
Wow thanks, i'm new to hex editing and wondering, my fans have a max of 1300, in hex this is 0x514, does this mean I need to do it like this:After playing around with an S2600CP2J, here's the Excel spreadsheet that I used to figure out all the mappings.
Using the built-in UEFI text editor and the spreadsheet on my laptop, I was able to experiment and run UPDATEFRUSDR pretty quickly.
Maybe someone will find it useful !
Yes according to the comments in the sdr file...
Sent from my iPhone using Tapatalk
Thanks, for a complete noob it's kinda hard to understand, especially the domain mapping and fan curves!No harm in experimenting ! If you use the uefi editor you can make a change and update flash in about 5 seconds - best way to trial and error
Sent from my iPhone using Tapatalk
I managed to add fan 0x35 to domain 1, I just need to link them now. however i'm stuck on this:No harm in experimenting ! If you use the uefi editor you can make a change and update flash in about 5 seconds - best way to trial and error
Sent from my iPhone using Tapatalk
There are no guides, it's just uefi shell + latest firmware on usb stick to run UpdateFRUSDR.nsh. You can use a uefi text editor to change the sdr fileIs there a guide you are using? Like how to access FRUSDR and edit the cfg file to begin with?
I've been able to do the same thing for my S2600WT2 board (modify appropriate fan curve, change lower critical/non-critical thresholds), and I decided to stop there since I was satisfied with the acoustics and didn't want to push the temperatures too much.I am trying to reduce the fan speed on my S2600WTTR inside an original Intel server. (its different than 2600cp, but this seemed like the best place)
I have managed to lower the idle RPMs from 4400 to ~2400 by adjusting the Curve Record. (had to use trial and error to find the applicable profile).
To further go lower, I successfully adjusted "Lower critical" and "Lower non-critical" monitoring values for all the "System Fan x" and tried to further adjust the curve - no change in RPM.
I then noticed that the RPM that are used in idle are +/- the "Normal Minimum" (used the conversion factor from the critical values)
I have the feeling that I adjusted the curve correctly, but that there still is another variable keeping the fans from spinning lower. Did you all just adjust one curve, or does the system combine multiple profiles to choose the highest minimum.
About two years ago I got a surplus S2600CP board with a pair of Xeon E5-2670 CPUs, which I then sold and replaced with two Xeon E5-2667 v2 CPUs. The machine has been great but the fans ... were never 100% satisfactory.I have modified the SDR file for my custom build.
Here's my build post: Dual E5-2670 build in the smallest case NZXT S340
Here's some background information: The SDR file is quite complicated in a sense that there are a handful of sections you need to edit to be able to achieve controlling the FAN speed based on a different thermal sensor and curve profile. If you use the custom xxxx_RAMP profile, then all fans rely on the single thermal sensor called BB_EDGE to vary their PWM values. This sensor reacts quite slowly so in my case, having noctua fans running at 600RPM and sloooowly ramping up is not enough. I needed the CPU fans to react quickly when the CPU is loaded. After some modification, I have linked the P2_VR sensor to both CPU fans, it approximately matches the CPU temperature and reacts pretty quickly.
I have uploaded my modified SDR file for you to compare. It sets FAN speed based on my all noctua configuration.
CASE FAN 1: NF-P14S Redux PWM-1200 RPM
CASE FAN 3: NF-P14S Redux PWM-1200 RPM
CPU FAN1: NF-F12 PWM-1500 RPM
CPU FAN2: NF-F12 PWM-1500 RPM
REAR FAN: NF-P12 PWM-1300 RPM