Detecting board, but ignoring firmware version #26
Replies: 3 comments
-
I was thinking about this too. Unfortunately, I found some incompatibilities when reading EC changelogs1 I found an incompatibility between <=17G1EMS1.105 and 17G1EMS1.107: in .107 a fan silence mode was added. That means it wasn't available before. Also for 16W2EMS1:
.1yy and .3yy are uncompatible, but I don't know in what way as it isn't stated in the changelogs. Probably some hardware change that may or may not have affected EC addresses configuration. What we can do for now is use version ranges instead of storing every single version as a string (yyy is a hexadecimal number). For example:
1 you can get them from the official download page btw, e.g. |
Beta Was this translation helpful? Give feedback.
-
Version ranges sounds better than current fixed-version approach. But, maybe it is not worth it because of are adding complexity to the code with minimal benefit :\ |
Beta Was this translation helpful? Give feedback.
-
I agree. It isn't much faster and doesn't take too much memory (which is freed anyway because of __initdata (which should be replaced by __initconst btw)) |
Beta Was this translation helpful? Give feedback.
-
msi-ec is growing super fast (thanks a lot @teackot ) and a lot of new models are supported now.
Nowadays, to load a known configuration, we are probing the board identity and are linking it by ALLOWED_FW_* constants.
The board identity has the following pattern: xxxxxxxx.yyy
Some examples are:
The xxxxxxxx pattern seems to be the real board name, while the yyy pattern is just the firmware version installed in the board. I think that it is safe to rely on the first pattern only.
Pros:
Cons:
Finally, my question is: Has anyone found any incompatibility in this approach?
Beta Was this translation helpful? Give feedback.
All reactions