BeardOverflow / msi-ec

GNU General Public License v2.0
134 stars 41 forks source link

Add Modern C5M (14JKEMS1) support #37

Closed glpnk closed 1 year ago

glpnk commented 1 year ago

Added map of Windows MSI app analyzed with RWEverything EC dump, previously added map collection #36 and some debug with @teackot debug mode #19

glpnk commented 1 year ago

Some extra info

$ cat /sys/devices/platform/msi-ec/debug/ec_dump
     | _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f
-----+------------------------------------------------
0x0_ | 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x1_ | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x2_ | 00 00 00 00 00 00 00 00 00 00 00 88 e0 06 0b 0b
0x3_ | 03 09 00 0d 51 0a 05 00 f4 0c 88 2c 4b 01 e0 00
0x4_ | 00 00 63 00 50 0d 00 00 0f 0d 67 32 c6 0b 00 00
0x5_ | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x6_ | 00 00 00 00 00 00 00 00 35 00 36 3a 3e 42 4d 5d
0x7_ | 78 32 00 32 3c 41 4b 4b 64 64 03 02 02 02 03 05
0x8_ | 00 00 32 3c 46 52 5a 5d 64 00 2d 32 41 48 50 55
0x9_ | 64 00 03 05 05 06 03 03 06 19 73 02 00 66 00 00
0xa_ | 31 34 4a 4b 45 4d 53 31 2e 31 30 34 31 30 32 34
0xb_ | 32 30 32 32 31 30 3a 35 33 3a 33 30 4c 0d 00 28
0xc_ | 00 07 31 0f 00 9e c0 00 00 27 00 00 00 a1 14 00
0xd_ | 00 00 40 00 70 a0 00 00 2e 70 33 80 00 00 00 00
0xe_ | e2 02 00 00 10 00 00 00 00 00 28 a0 00 9a 00 e4
0xf_ | 00 00 c1 83 00 00 05 11 15 19 00 00 00 00 00 00

rt_fan_speed_base_min and rt_fan_speed_base_max needs adjusting because it just reflect current setting according to thermal profile (may be up to 150% like in thermal profile)

cooler_boost does not impact on rt_fan_speed_address value

fan mode "basic" does not exists, writing to 0x89 does nothing, in any fan mode it just uses thermal profile (0x72-77)

UPD: after reboot shift mode changed to comfort, and fan mode to auto. Is it normal behavior or we need to set some bit to save this?

BeardOverflow commented 1 year ago

Hi @glpnk

after reboot shift mode changed to comfort, and fan mode to auto. Is it normal behavior or we need to set some bit to save this?

Yes, it's normal. Usually, in desktop environments, power daemons retains your configuration. For Windows, Dragon Center does it. In the case of Linux, only standarized parameters (like charging_threshold) would be retained by power daemons. As suggestion, we could add module parameters to initialize the EC.

Edit: a suspend/hibernate could reset the EC too.