config/r815/fancontrol
2020-11-29 01:22:28 +01:00

70 lines
1.9 KiB
Plaintext

Enable manual/static fan control:
ipmitool -I lanplus -H drac -U root -P calvin raw 0x30 0x30 0x01 0x00
Disable manual/static fan control:
ipmitool -I lanplus -H drac -U root -P calvin raw 0x30 0x30 0x01 0x01
# Power to 96 (1..100)
ipmitool -I lanplus -H drac -U root -P calvin raw 0x30 0x30 0x02 0xff 96
ipmitool -I lanplus -H drac -U root -P calvin sdr list full
CPU 00-15: k10temp-pci-00c3
CPU 00-15: k10temp-pci-00cb
CPU 16-31: k10temp-pci-00f3
CPU 16-31: k10temp-pci-00fb
CPU 32-47: k10temp-pci-00d3
CPU 32-47: k10temp-pci-00db
CPU 48-63: k10temp-pci-00e3
CPU 48-63: k10temp-pci-00eb
k10temp-pci-00f3, 41
k10temp-pci-00fb, 41
k10temp-pci-00c3, 43.125
k10temp-pci-00cb, 43.375
k10temp-pci-00e3, 46.25
k10temp-pci-00eb, 46.125
k10temp-pci-00d3, 48.25
k10temp-pci-00db, 48.125
B k10temp-pci-00f3, 38
k10temp-pci-00fb, 38.25
A k10temp-pci-00c3, 39.5
k10temp-pci-00cb, 39.625
D k10temp-pci-00e3, 39.875
k10temp-pci-00eb, 39.75
C k10temp-pci-00d3, 41.875
k10temp-pci-00db, 41.75
forever sensors -j | jq -r '.|with_entries(select(.key | test("temp")))|[.[]["temp1"]["temp1_input"]]|@tsv'
forever sensors -j |
jq -r '.|with_entries(select(.key | test("temp")))|keys[] as $k | "\($k), \(.[$k] | .["temp1"]["temp1_input"])"'
# if temp < 60: turn fan down (5)
# else fan = (temp-60)*(100/(67-60)) = 60=>5 67=>100
# 20 = crash efter 3 linjer
# 25 = OK
# 23 = OK efter 10 linjer + start af burncpu
# 22 = crash efter 10 linjer + start af burncpu
# 21 = crash efter 10 linjer + start af burncpu
fanspeed() {
sensors -j |
jq '[.[]["temp1"]["temp1_input"]] |
(max-60)*(100/(67-60)) |
if . < 24 then 24 else if . > 100 then 100 else.|floor end end';
}
autofan() {
setspeed() {
ipmitool -I lanplus -H drac -U root -P calvin raw 0x30 0x30 0x02 0xff $@
}
while true; do
fanspeed=`fanspeed`
printf "$fanspeed "$(setspeed $fanspeed)
sleep 1
done
}
autofan
forever sensors -j | fmt