Add read-only Xiaomi TM2424 fan tachometer module - #94
Conversation
|
Hi, I have the exact target hardware available for testing:
Would it be possible to provide a temporary maintainer-signed test build of With a signed test build I can validate the complete Windows path and report back:
If providing a pre-release signed artifact is not possible, no problem — I can wait for the normal signed release after review. Thanks. |
No, signature revocation for modules is not a thing, so I changed this to draft, please test it on the unrestricted driver (you'll have to use 2.1.0 or your own builds because 2.2.0 accidentally shipped with signature verification enabled on the unrestricted driver as well) before marking it as ready. |
|
Hardware validation completed successfully against commit Test environment:
The raw AMX was supplied using the normal PawnIO blob format with a Results:
This validates the PCI identity checks, EC mapping, both tachometer offsets, and the complete module load/execute path on the target hardware. The module is ready for review. |
Summary
Hardware guard
The fixed EC window is mapped only after matching both of the identifiers observed on the supported machine:
PCI VEN_8086 DEV_E402SUBSYS_24241D72Test system identity: XIAOMI Xiaomi Book Pro 14, SKU
TM2424-77079, baseboardTM2424 V14D1, Intel Core Ultra X7 358H.Safety and consumer contract
ioctl_read_fansreturns{ left_rpm, right_rpm }; zero means stoppedioctl_identityreturns the matched PCI IDs and mapped MMIO windowio_space_mapValidation
-p -iinclude -C64include/pawnio.inc:40old-style forward declaration warning, also reproduced unchanged when compilingEcho.pwith that newer compilergit diff --checkpassesThe stock PawnIO driver rejects unsigned modules, so hardware loading on Windows requires the signed build produced after upstream acceptance. I did not weaken Secure Boot or memory integrity to bypass that restriction.
Reference
Linux patch: platform/x86: bitland-mifs-wmi: read fan tach from EC window on MIFS v2
That patch documents the DSDT
\\_SB.PC00.LPCB.Q_ECERAMwindow at0xFE0B0300and little-endian u16 RPM values at offsets0x69and0x6B. Its author reports validating the values by comparing idle and sustained-load samples, observing both tachometers ramp from 0 to approximately 2700 RPM and back on a Xiaomi Book Pro 14.