YoyPa / isw

Ice-Sealed Wyvern
GNU General Public License v3.0
385 stars 78 forks source link

MSI Alpha 15 AMD (A4DEK-005) fan is not adjusting #144

Open samuelmattjohnston opened 3 years ago

samuelmattjohnston commented 3 years ago

$ sudo isw -cp MSI_ADDRESS_DEFAULT

Plugged in default:

       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
000000 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000020 00 00 00 00 00 00 00 00 00 00 00 80 c0 07 0b 0b  >................<
000030 03 03 00 0d 51 0a 05 00 c0 17 30 2a 60 02 87 00  >....Q.....0*`...<
000040 16 0d 5c 00 55 17 41 03 50 15 70 30 d4 0b a2 30  >..\.U.A.P.p0...0<
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000060 00 00 00 00 26 00 00 00 26 00 32 39 40 47 4e 55  >....&...&.29@GNU<
000070 6e 2d 2d 2d 30 38 40 48 50 00 0a 08 08 08 08 08  >n---08@HP.......<
000080 00 00 37 3c 41 46 4b 50 6c 00 00 2e 36 3e 46 50  >..7<AFKPl...6>FP<
000090 5a 00 0a 07 07 07 07 07 02 16 7d 02 16 66 00 00  >Z.........}..f..<
0000a0 31 36 55 4b 45 4d 53 31 2e 31 30 31 30 36 31 31  >16UKEMS1.1010611<
0000b0 32 30 32 30 31 31 3a 31 38 3a 34 37 55 17 00 40  >202011:18:47U..@<
0000c0 00 07 23 00 00 00 00 00 00 1d 00 00 00 b0 00 00  >..#.............<
0000d0 00 00 00 00 7f a0 5a 00 20 1f 20 80 00 00 00 00  >......Z. . .....<
0000e0 e2 02 00 01 10 00 00 00 00 00 00 00 00 a6 00 80  >................<
0000f0 00 00 80 81 0d 00 02 00 00 00 00 00 00 00 00 00  >................<
000100

Profile dump 
Value       set @ address        Fan mode
0xd(13)     0xf4(byte244)        Unknown

Value       set @ address        Charging below - stop @
0x80(128)   0xef(byte239)        Nothing is set

-----------CPU-----------        -----------GPU-----------
Value       set @ address        Value       set @ address
0x32(50°C)  0x6a(byte106)        0x37(55°C)  0x82(byte130)
0x39(57°C)  0x6b(byte107)        0x3c(60°C)  0x83(byte131)
0x40(64°C)  0x6c(byte108)        0x41(65°C)  0x84(byte132)
0x47(71°C)  0x6d(byte109)        0x46(70°C)  0x85(byte133)
0x4e(78°C)  0x6e(byte110)        0x4b(75°C)  0x86(byte134)
0x55(85°C)  0x6f(byte111)        0x50(80°C)  0x87(byte135)

0x2d(45%)   0x72(byte114)        0x0(0%)     0x8a(byte138)
0x2d(45%)   0x73(byte115)        0x2e(46%)   0x8b(byte139)
0x30(48%)   0x74(byte116)        0x36(54%)   0x8c(byte140)
0x38(56%)   0x75(byte117)        0x3e(62%)   0x8d(byte141)
0x40(64%)   0x76(byte118)        0x46(70%)   0x8e(byte142)
0x48(72%)   0x77(byte119)        0x50(80%)   0x8f(byte143)
0x50(80%)   0x78(byte120)        0x5a(90%)   0x90(byte144)

unplugged default:

       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
000000 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000020 00 00 00 00 00 00 00 00 00 00 00 80 c0 07 0b 0b  >................<
000030 02 05 00 05 51 0a 05 00 c0 17 30 2a 60 02 c7 00  >....Q.....0*`...<
000040 16 0d 5d 00 51 17 9f fd 76 15 fe 2f ce 0b a2 30  >..].Q...v../...0<
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000060 00 00 00 00 1f 00 00 00 1f 00 32 39 40 47 4e 55  >..........29@GNU<
000070 6e 00 00 28 30 38 40 48 50 00 0a 08 08 08 08 08  >n..(08@HP.......<
000080 00 00 37 3c 41 46 4b 50 6c 00 00 2e 36 3e 46 50  >..7<AFKPl...6>FP<
000090 5a 00 0a 07 07 07 07 07 02 16 7d 02 16 66 00 00  >Z.........}..f..<
0000a0 31 36 55 4b 45 4d 53 31 2e 31 30 31 30 36 31 31  >16UKEMS1.1010611<
0000b0 32 30 32 30 31 31 3a 31 38 3a 34 37 55 17 00 40  >202011:18:47U..@<
0000c0 00 07 23 00 00 00 00 00 00 01 00 00 00 00 00 00  >..#.............<
0000d0 00 00 00 00 7f a1 5a 00 1e 1e 1e 80 00 00 00 00  >......Z.........<
0000e0 e2 02 00 01 10 00 00 00 00 00 00 00 00 a1 00 80  >................<
0000f0 00 00 80 81 0d 00 05 00 00 00 00 00 00 00 00 00  >................<
000100

Profile dump 
Value       set @ address        Fan mode
0xd(13)     0xf4(byte244)        Unknown

Value       set @ address        Charging below - stop @
0x80(128)   0xef(byte239)        Nothing is set

-----------CPU-----------        -----------GPU-----------
Value       set @ address        Value       set @ address
0x32(50°C)  0x6a(byte106)        0x37(55°C)  0x82(byte130)
0x39(57°C)  0x6b(byte107)        0x3c(60°C)  0x83(byte131)
0x40(64°C)  0x6c(byte108)        0x41(65°C)  0x84(byte132)
0x47(71°C)  0x6d(byte109)        0x46(70°C)  0x85(byte133)
0x4e(78°C)  0x6e(byte110)        0x4b(75°C)  0x86(byte134)
0x55(85°C)  0x6f(byte111)        0x50(80°C)  0x87(byte135)

0x0(0%)     0x72(byte114)        0x0(0%)     0x8a(byte138)
0x28(40%)   0x73(byte115)        0x2e(46%)   0x8b(byte139)
0x30(48%)   0x74(byte116)        0x36(54%)   0x8c(byte140)
0x38(56%)   0x75(byte117)        0x3e(62%)   0x8d(byte141)
0x40(64%)   0x76(byte118)        0x46(70%)   0x8e(byte142)
0x48(72%)   0x77(byte119)        0x50(80%)   0x8f(byte143)
0x50(80%)   0x78(byte120)        0x5a(90%)   0x90(byte144)

attempted to write this config:

[16UKEMS1]
# A4DEK-005
# 16UKEMS1.101
address_profile = MSI_ADDRESS_DEFAULT
fan_mode = 140 
battery_charging_threshold = 80
# CPU
cpu_temp_0 = 50
cpu_temp_1 = 57
cpu_temp_2 = 64
cpu_temp_3 = 71
cpu_temp_4 = 78
cpu_temp_5 = 85
cpu_fan_speed_0 = 0
cpu_fan_speed_1 = 40
cpu_fan_speed_2 = 48
cpu_fan_speed_3 = 56
cpu_fan_speed_4 = 64
cpu_fan_speed_5 = 72
cpu_fan_speed_6 = 80
# GPU
gpu_temp_0 = 55
gpu_temp_1 = 60
gpu_temp_2 = 65
gpu_temp_3 = 70
gpu_temp_4 = 75
gpu_temp_5 = 80
gpu_fan_speed_0 = 0
gpu_fan_speed_1 = 46
gpu_fan_speed_2 = 54
gpu_fan_speed_3 = 62
gpu_fan_speed_4 = 70
gpu_fan_speed_5 = 80
gpu_fan_speed_6 = 90

Ran command: isw -w 16UKEMS1 -b off

resulting in:

       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
000000 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000020 00 00 00 00 00 00 00 00 00 00 00 80 c0 07 0b 0b  >................<
000030 03 01 00 0d 51 0a 05 00 c0 17 30 2a 60 02 c7 00  >....Q.....0*`...<
000040 16 0d 51 00 41 18 00 00 7c 13 cc 2e 90 0b a2 30  >..Q.A...|......0<
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000060 00 00 00 00 24 00 00 00 24 00 32 39 40 47 4e 55  >....$...$.29@GNU<
000070 6e 00 00 28 30 38 40 48 50 00 0a 08 08 08 08 08  >n..(08@HP.......<
000080 00 00 37 3c 41 46 4b 50 6c 00 00 2e 36 3e 46 50  >..7<AFKPl...6>FP<
000090 5a 00 0a 07 07 07 07 07 00 16 7d 02 16 66 00 00  >Z.........}..f..<
0000a0 31 36 55 4b 45 4d 53 31 2e 31 30 31 30 36 31 31  >16UKEMS1.1010611<
0000b0 32 30 32 30 31 31 3a 31 38 3a 34 37 5c 17 00 40  >202011:18:47\..@<
0000c0 00 07 23 00 00 00 00 00 00 0b 00 00 00 b2 00 00  >..#.............<
0000d0 00 00 00 00 7f a0 5a 00 1e 1c 1c 80 00 00 00 00  >......Z.........<
0000e0 e2 02 00 01 10 00 00 00 00 00 00 00 00 a0 00 d0  >................<
0000f0 00 00 80 80 8c 00 08 00 00 00 00 00 00 00 00 00  >................<
000100

Profile dump 
Value       set @ address        Fan mode
0x8c(140)   0xf4(byte244)        Advanced

Value       set @ address        Charging below - stop @
0xd0(208)   0xef(byte239)        70% - 80%

-----------CPU-----------        -----------GPU-----------
Value       set @ address        Value       set @ address
0x32(50°C)  0x6a(byte106)        0x37(55°C)  0x82(byte130)
0x39(57°C)  0x6b(byte107)        0x3c(60°C)  0x83(byte131)
0x40(64°C)  0x6c(byte108)        0x41(65°C)  0x84(byte132)
0x47(71°C)  0x6d(byte109)        0x46(70°C)  0x85(byte133)
0x4e(78°C)  0x6e(byte110)        0x4b(75°C)  0x86(byte134)
0x55(85°C)  0x6f(byte111)        0x50(80°C)  0x87(byte135)

0x0(0%)     0x72(byte114)        0x0(0%)     0x8a(byte138)
0x28(40%)   0x73(byte115)        0x2e(46%)   0x8b(byte139)
0x30(48%)   0x74(byte116)        0x36(54%)   0x8c(byte140)
0x38(56%)   0x75(byte117)        0x3e(62%)   0x8d(byte141)
0x40(64%)   0x76(byte118)        0x46(70%)   0x8e(byte142)
0x48(72%)   0x77(byte119)        0x50(80%)   0x8f(byte143)
0x50(80%)   0x78(byte120)        0x5a(90%)   0x90(byte144)

The fan is running ~2700RPM when plugged with CPU temp being at ~30°C in no matter what I adjust values to it seems.

samuelmattjohnston commented 3 years ago

Talked with MSI -- They made their firmware behave this way. there is no fix for it possible supposedly.

ghost commented 3 years ago

Dragon Center on Windows comes with a "Silent" profile that turns the fans off even when plugged in. It may be worth seeing what that is changing to make the fan stop running.

samuelmattjohnston commented 3 years ago

Maybe that is a new update? Can you supply version of software, firmware, and the bios? (I checked and I don't see new firmware/bios listed)

I've tried silent mode in the past on windows and did not see that behavior you described. Any chance you can get the EC values dumped on your machine?

ghost commented 3 years ago

Unfortunately I just checked again and I think I was misremembering. When selecting silent mode the fan stays at 2700 rpm :(

marshevms commented 3 years ago

Hi can you download rweverything on windows and create screenshot of EC? And do it for all fan mode.

ghost commented 3 years ago

Hi can you download rweverything on windows and create screenshot of EC? And do it for all fan mode.

Here is a zip file containing .bin dumps for each of the modes. I saw some of the values changing several seconds after setting the modes in Dragon Center, so I waited about 10 seconds after changing the mode before creating each of these.

a4dek-bins.zip

marshevms commented 3 years ago

You can try https://github.com/marshevms/mlfc/releases/tag/0.5.1 If you have debian based distr