BeardOverflow / msi-ec

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

Documentation: supported devices list #116

Closed teackot closed 1 month ago

teackot commented 1 month ago

I feel like having docs in the base repo is the best way to do this. I think wiki is more difficult to maintain.

You can add/update a device list entry in the same PR when adding a new device or a feature, this way we won't forget to update the docs.

TODO:

glpnk commented 1 month ago

TODO:

teackot commented 1 month ago

Also, I'm not adding yet:

glpnk commented 1 month ago

@teackot What do you think about deprecation of FW ID's and usage of model/board(?) codenames? Codename is xxxx part of EC name xxxxEMSn/xxxxIMSn or BIOS name ExxxxAMS/ExxxxIMS.

In some cases, one board model is used for few different laptops. Probably they have minor differences

teackot commented 1 month ago

We might want do this. There has to be a way to do it without hardcoding every possible model.

one board model is used for few different laptops

Can you give an example? I can't find it in the code. What I can find is 2 different laptops having the same config (which is probs just a coincidense and we shoudn't rely on it. E.g. 11th config)

What we can definetly do rn is drop the minor version (.xxx) (or at least the last 2 digits of it?) as they don't seem to have breaking changes.

teackot commented 1 month ago

It would help if we got more data to analyze. Maybe we can anounce the driver on some linux subreddits to get people to give us more dumps

(but let's make the docs & readme friendlier first, so people don't get lost in them)

glpnk commented 1 month ago

About

there's a driver being merged into the Linux Kernel that implements fan speed interface specifically for MSI https://github.com/jwrdegoede/linux-sunxi/commit/9c0beb6b29e75cacd5fdc63ce6d8502e73e782b8

Look like now it only allows reading of RPM. But I haven't read it in detail.

What we can definetly do rn is drop the minor version (.xxx) (or at least the last 2 digits of it?) as they don't seem to have breaking changes.

Actually, I think EC name contain more info, so we can drop latest two symbols, which represents version.

xxxxmMSn.gvv

You can google any model on MSI support only by using model code.

glpnk commented 1 month ago

For start, you can check 14jk image image So C7M use exactly EC as C5M 14JKEMS1.104.

On same page mentioned 14JKEMS1.300 with note about incompatibility

teackot commented 1 month ago

g - board revision / differs between exactly same laptop model

You can definitely update the same laptop to a version with a higher g. I've seen this update on the MSI Support website of the same laptop, and also mentioned it in some issue, don't remember where. They increased it by 2(?) when they did some breaking USB(?) change

teackot commented 1 month ago

one board model is used for few different laptops

Can you give an example? I can't find it in the code. What I can find is 2 different laptops having the same config (which is probs just a coincidense and we shoudn't rely on it. E.g. 11th config)

Oh, I misunderstood you, that's what you're talking about. I have to look into it more thoroughly. And, like I said, we might want to get some more examples (that is, dumps and stuff)

teackot commented 1 month ago

I need some time to find laptops with same board. I'll replace this comment

Thank you

glpnk commented 1 month ago

Actually, we need to switch to WMI if we want to remove the whitelist. Now seems that MSI don't make breaking changes to EC layout (except between WMI1/2) but what could happen later

I don't know how to deal with unsupported features in case of WMI mode. MSI may just use white/blacklists. From https://github.com/lm-sensors/lm-sensors/issues/475#issuecomment-2085062771 we don't found how to get cooler quantity

Also, I want to see MSI Claw users here, but now it seems not popular

glpnk commented 1 month ago

Random useful facts:

glpnk commented 1 month ago

Models with same model code but different n - board gen/type (temp name):

glpnk commented 1 month ago

I think we shouldn't mention supported models in two places

teackot commented 1 month ago

I think we shouldn't mention supported models in two places

Sure, I was just going to remove the list in README and add the lile link instead

glpnk commented 1 month ago

It would help if we got more data to analyze. Maybe we can anounce the driver on some linux subreddits to get people to give us more dumps

I'm thinking about Windows program which should continuously dump EC and selected WMI methods. This may be helpful for people who developing similar drivers, OpenHardwareMonitor, OpenRGB. But now I don't promise anything

teackot commented 1 month ago

A contribution instruction has to be linked in the same section, but it's out of scope of this PR

glpnk commented 1 month ago

We probably need to remake CPU and GPU sections. Or make CPU like GPU and add new section for coolers. Because now some models use wrong addresses, like RPM registers (0xc9) instead of "realtime" 0-150%.

I don't understand what is bs_fan_speed_address. It's also named basic fan speed, but seems unused on many models. It's definitely not 0xC8-CF, but may be 0x89.

Also found few weird models in our issues. 0xA0-BB: #35 168AEMS1 Ver4.04, 05/31/2010, #88 16K2ED61.1010207201714:10:04

teackot commented 1 month ago

We probably need to remake CPU and GPU sections. Or make CPU like GPU and add new section for coolers. Because now some models use wrong addresses, like RPM registers (0xc9) instead of "realtime" 0-150%.

I too think so

I don't understand what is bs_fan_speed_address

I think it's supposed to be a constant fan speed setting. Never worked for me: the fan seems to start spinning for a fraction of a second and then stops.

16K2ED61

ED6, now that's something new. So far it has only been EMS and IMS.

glpnk commented 1 month ago

16K2ED61

ED6, now that's something new. So far it has only been EMS and IMS.

You can check on msi site, that now latest EC for this model have EMS name, so probably it can be firmware made by ODM which manufacture hardware for MSI

glpnk commented 1 month ago

#issue tags seems not working, we probably need to use permalinks in MD files

check this https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/autolinked-references-and-urls

glpnk commented 1 month ago
Model EC version Issues & PRs ID
Modern 15 A11M 1552EMS1 2 (and 11???)

Somewhere this was fixed or discussed, I think

teackot commented 1 month ago

#issue tags seems not working, we probably need to use permalinks in MD files

Yeah, autolinks don't work in files, the only official way is to put there a long and ugly full link... guess I'll do it

Somewhere this was fixed or discussed, I think

I remember something like that, I'll get back to it when I fill the Issues & PRs column

teackot commented 1 month ago

Somewhere this was fixed or discussed, I think

48

teackot commented 1 month ago

Yay! I added all of them

I think I'll separate the issues and PRs columns

glpnk commented 1 month ago

You can use PR instead of # for PR's

But even now table is too wide on phone screen

But for PC it should be ok

Upd: or you can make 2 lines like for checkmarks section

teackot commented 1 month ago

Upd: or you can make 2 lines like for checkmarks section

That's a great idea. The rows are already tall, we can make use of it

But even now table is too wide on phone screen

It is scrollable horizontally but it sometimes breaks the lines at spaces making the functions section ugly on mobile. I'll see if I can fix it somehow

teackot commented 1 month ago

Check this out

glpnk commented 1 month ago

Looks good

teackot commented 1 month ago

mention WMI1, WMI2 devices

Can we infer it from hardware using the info from #98 ?

glpnk commented 1 month ago

We can group devices by address similarity, or check "class" and CPU of each device. WMI1 devices are Intel up to 10 gen and all AMD, except gaming 7 gen. Also, WMI1 devices have separate EC FW on support page

UPD: faster way - just look for device name, they often contain CPU gen, then quick check on support if you have questions UPD2: devices with xxxxIMSn definitely wmi2

glpnk commented 1 month ago

GH issue comment editor is bad... but... I think I accidentally not remove anything.

Model EC WMI checked
Alpha 15 B5EE / B5EEK 158LEMS1 1 +
Bravo 17 A4DDR / A4DDK 17FKEMS1 1 +
Delta 15 A5EFK 15CKEMS1 1 +
Cyborg 15 A12VF 15K1IMS1 2
GP66 Leopard 10UG / 10UE / 10UH 1542EMS1 1 +, 2 dev with same MB
GP66 Leopard 11UG / 11U* 1543EMS1 2 +, also few dev
GS66 Stealth 11UE 16V4EMS1 2
GF63 Thin 11UC 16R6EMS1 2
GF75 Thin 9SC 17F2EMS1 1
Katana GF66 11UC / 11UD 1582EMS1 2
Katana 17 B11UCX 17L2EMS1 2
Prestige 14 A10SC 14C1EMS1 1 +, 2 dev
Prestige 15 A11SCX 16S6EMS1 2 +, 2 dev + shit ton of revisions
Prestige 16 Studio A13VE 1594EMS1 2
Modern 14 C5M 14JKEMS1 1
Modern 15 A11M 1552EMS1 2
Modern 15 B7M 15HKEMS1 1 +, also B5M model same
Summit E14 Evo A12M 14F1EMS1 2
Summit E16 Flip A12UCT / A12MT 1592EMS1 2
Modern 15 A5M (155LEMS1) 1
glpnk commented 1 month ago

Summit and Prestige probably share same board, AMD Modern devices ?5M and ?7M seems sharing same board

Some gaming series include like up to ~5 models by single board

WOW, 20 devices, congrats

teackot commented 1 month ago

Thanks for help!

WOW, 20 devices, congrats

That's great! And even more in the issues

glpnk commented 1 month ago

@teackot I think you can merge it as is. Other things might be fixed later.

Also, I've checked isw repo and there are ton of dumps.

teackot commented 1 month ago

Sure, I think we'll improve it later with future PRs