[BUG] bitland-mifs-wmi: Power profiles not working on Xiaomi Mi NoteBook Ultra
Bheda Rahul <[email protected]>
| Newsgroups | org.kernel.vger.platform-driver-x86 |
|---|---|
| Message-ID | <CAEX=435pEyPHPjJgQnJUJLL8JJD65RsRa7Sjbx4NedZFG80dtA@mail.gmail.com> |
Hello, I'm running Fedora with Linux kernel 7.1.8 on my Xiaomi Mi NoteBook Ultra, and the new bitland-mifs-wmi driver loaded automatically for my system. i run cat /sys/firmware/acpi/platform_profile_choices it gives output low-power balanced balanced-performance performance If I try to switch to Performance mode (echo performance > /sys/firmware/acpi/platform_profile), I get an error: Operation not supported. If I try to switch to Quiet mode (echo low-power > /sys/firmware/acpi/platform_profile), it doesn't give an error, but it silently fails. If I check the file immediately after, it still says balanced. I have attached my dmidecode output and my ACPI tables (acpidump) in case you want to look at my hardware's specific implementation. (and also an AI analysis if u want to look otherwise forget it) Please let me know if there's any testing I can do to help get this model supported! Thanks for your work on the driver.
dmidecode.txt
(text/plain, 21.2 KB)
# dmidecode 3.7 Getting SMBIOS data from sysfs. SMBIOS 3.3.0 present. Table at 0x439DC000. Handle 0x0000, DMI type 0, 26 bytes Platform Firmware Information Vendor: TIMI Version: RMATG5B0P0F0F Release Date: 10/15/2021 Address: 0xE0000 Runtime Size: 128 KiB ROM Size: 8 MiB Characteristics: PCI is supported Firmware is upgradeable Firmware shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported Japanese floppy for NEC 9800 1.2 MB is supported (int 13h) Japanese floppy for Toshiba 1.2 MB is supported (int 13h) 5.25"/360 kB floppy services are supported (int 13h) 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) 8042 keyboard services are supported (int 9h) CGA/mono video services are supported (int 10h) ACPI is supported USB legacy is supported BIOS boot specification is supported Targeted content distribution is supported UEFI is supported Platform Firmware Revision: 1.15 Embedded Controller Firmware Revision: 1.15 Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: TIMI Product Name: Mi NoteBook Ultra Version: Serial Number: 35045/21VE00349 UUID: 20210815-3887-d5de-3dd9-3887d5de3ddd Wake-up Type: Power Switch SKU Number: TM2017-35045 Family: Mi Laptop Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: TIMI Product Name: TM2017 Version: V1.0 Serial Number: MMG5S00001194184P00A6 Asset Tag: Type2 - Board Asset Tag Features: Board is a hosting board Board is replaceable Location In Chassis: Type2 - Board Chassis Location Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0 Handle 0x0003, DMI type 3, 22 bytes Chassis Information Manufacturer: TIMI Type: Notebook Lock: Not Present Version: Serial Number: 35045/21VE00349 Asset Tag: Chassis Asset Tag Boot-up State: Safe Power Supply State: Safe Thermal State: Safe Security Status: None OEM Information: 0x00000000 Height: Unspecified Number Of Power Cords: 1 Contained Elements: 0 SKU Number: Chassis SKU Handle 0x0004, DMI type 4, 48 bytes Processor Information Socket Designation: U3E1 Type: Central Processor Family: Core i5 Manufacturer: Intel(R) Corporation ID: C1 06 08 00 FF FB EB BF Signature: Type 0, Family 6, Model 140, Stepping 1 Flags: FPU (Floating-point unit on-chip) VME (Virtual mode extension) DE (Debugging extension) PSE (Page size extension) TSC (Time stamp counter) MSR (Model specific registers) PAE (Physical address extension) MCE (Machine check exception) CX8 (CMPXCHG8 instruction supported) APIC (On-chip APIC hardware supported) SEP (Fast system call) MTRR (Memory type range registers) PGE (Page global enable) MCA (Machine check architecture) CMOV (Conditional move instruction supported) PAT (Page attribute table) PSE-36 (36-bit page size extension) CLFSH (CLFLUSH instruction supported) DS (Debug store) ACPI (ACPI supported) MMX (MMX technology supported) FXSR (FXSAVE and FXSTOR instructions supported) SSE (Streaming SIMD extensions) SSE2 (Streaming SIMD extensions 2) SS (Self-snoop) HTT (Multi-threading) TM (Thermal monitor supported) PBE (Pending break enabled) Version: 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz Voltage: 0.8 V External Clock: 100 MHz Max Speed: 4400 MHz Current Speed: 3100 MHz Status: Populated, Enabled Upgrade: Other L1 Cache Handle: 0x0006 L2 Cache Handle: 0x0007 L3 Cache Handle: 0x0008 Serial Number: To Be Filled By O.E.M. Asset Tag: To Be Filled By O.E.M. Part Number: To Be Filled By O.E.M. Core Count: 4 Core Enabled: 4 Thread Count: 8 Characteristics: 64-bit capable Multi-Core Hardware Thread Execute Protection Enhanced Virtualization Power/Performance Control Handle 0x0005, DMI type 7, 27 bytes Cache Information Socket Designation: L1 Cache Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 0 KiB Maximum Size: 0 KiB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Parity System Type: Data Associativity: 12-way Set-associative Handle 0x0006, DMI type 7, 27 bytes Cache Information Socket Designation: L1 Cache Configuration: Enabled, Not Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 0 KiB Maximum Size: 0 KiB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Parity System Type: Instruction Associativity: 8-way Set-associative Handle 0x0007, DMI type 7, 27 bytes Cache Information Socket Designation: L2 Cache Configuration: Enabled, Not Socketed, Level 2 Operational Mode: Write Back Location: Internal Installed Size: 0 KiB Maximum Size: 0 KiB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: Other Handle 0x0008, DMI type 7, 27 bytes Cache Information Socket Designation: L3 Cache Configuration: Enabled, Not Socketed, Level 3 Operational Mode: Write Back Location: Internal Installed Size: 0 KiB Maximum Size: 0 KiB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Multi-bit ECC System Type: Unified Associativity: 8-way Set-associative Handle 0x0009, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J1A1 Internal Connector Type: None External Reference Designator: Keyboard External Connector Type: PS/2 Port Type: Keyboard Port Handle 0x000A, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J1A1 Internal Connector Type: None External Reference Designator: Mouse External Connector Type: PS/2 Port Type: Mouse Port Handle 0x000B, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2A1 Internal Connector Type: None External Reference Designator: TV OUT External Connector Type: Mini DIN Port Type: Video Port Handle 0x000C, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2A2 Internal Connector Type: None External Reference Designator: CRT External Connector Type: DB-15 female Port Type: Video Port Handle 0x000D, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J2A2 Internal Connector Type: None External Reference Designator: COM 1 External Connector Type: DB-9 male Port Type: Serial Port 16550A Compatible Handle 0x000E, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3A1 Internal Connector Type: None External Reference Designator: USB External Connector Type: Access Bus (USB) Port Type: USB Handle 0x000F, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3A1 Internal Connector Type: None External Reference Designator: USB External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0010, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J3A1 Internal Connector Type: None External Reference Designator: USB External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0011, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J5A1 Internal Connector Type: None External Reference Designator: USB External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0012, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J5A1 Internal Connector Type: None External Reference Designator: USB External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0013, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J5A2 Internal Connector Type: None External Reference Designator: USB External Connector Type: Access Bus (USB) Port Type: USB Handle 0x0014, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J5A1 Internal Connector Type: None External Reference Designator: Network External Connector Type: RJ-45 Port Type: Network Port Handle 0x0015, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J9G2 Internal Connector Type: On Board Floppy External Reference Designator: OnBoard Floppy Type External Connector Type: None Port Type: Other Handle 0x0016, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J7J1 Internal Connector Type: On Board IDE External Reference Designator: OnBoard Primary IDE External Connector Type: None Port Type: Other Handle 0x0017, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J30 Internal Connector Type: None External Reference Designator: Microphone In External Connector Type: Mini Jack (headphones) Port Type: Audio Port Handle 0x0018, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J30 Internal Connector Type: None External Reference Designator: Line In External Connector Type: Mini Jack (headphones) Port Type: Audio Port Handle 0x0019, DMI type 8, 9 bytes Port Connector Information Internal Reference Designator: J30 Internal Connector Type: None External Reference Designator: Speaker Out External Connector Type: Mini Jack (headphones) Port Type: Audio Port Handle 0x001A, DMI type 9, 19 bytes System Slot Information Designation: J6C1 Type: PCI Express x1 Data Bus Width: 1x or x1 Current Usage: Available Length: Other ID: 1 Characteristics: PME signal is supported Hot-plug devices are supported Bus Address: 0000:00:1c.0 Data Bus Width (Base): 8 Peer Devices: 0 Handle 0x001B, DMI type 9, 19 bytes System Slot Information Designation: J6D2 Type: PCI Express x1 Data Bus Width: 1x or x1 Current Usage: Available Length: Other ID: 2 Characteristics: PME signal is supported Hot-plug devices are supported Bus Address: 0000:00:1c.1 Data Bus Width (Base): 8 Peer Devices: 0 Handle 0x001C, DMI type 9, 19 bytes System Slot Information Designation: J7C1 Type: PCI Express x1 Data Bus Width: 1x or x1 Current Usage: Available Length: Other ID: 3 Characteristics: PME signal is supported Hot-plug devices are supported Bus Address: 0000:00:1c.2 Data Bus Width (Base): 8 Peer Devices: 0 Handle 0x001D, DMI type 9, 19 bytes System Slot Information Designation: J7D1 Type: PCI Express x1 Data Bus Width: 1x or x1 Current Usage: Available Length: Other ID: 4 Characteristics: PME signal is supported Hot-plug devices are supported Bus Address: 0000:00:1c.3 Data Bus Width (Base): 8 Peer Devices: 0 Handle 0x001E, DMI type 9, 19 bytes System Slot Information Designation: J8C1 Type: PCI Express x4 Data Bus Width: 4x or x4 Current Usage: Available Length: Other ID: 5 Characteristics: PME signal is supported Hot-plug devices are supported Bus Address: 0000:00:1c.4 Data Bus Width (Base): 10 Peer Devices: 0 Handle 0x001F, DMI type 11, 5 bytes OEM Strings String 1: SSD1 String 2: 25211F801783 String 3: HDD String 4: None String 5: String 6: Handle 0x0020, DMI type 12, 5 bytes System Configuration Options Option 1: ConfigOptions1 Option 2: ConfigOptions2 Option 3: ConfigOptions3 Handle 0x0021, DMI type 13, 22 bytes Firmware Language Information Language Description Format: Long Installable Languages: 8 en|US|iso8859-1,0 fr|FR|iso8859-1,0 zh|TW|unicode,0 ja|JP|unicode,0 it|IT|iso8859-1,0 es|ES|iso8859-1,0 de|DE|iso8859-1,0 pt|PT|iso8859-1,0 Currently Installed Language: en|US|iso8859-1,0 Handle 0x0022, DMI type 14, 8 bytes Group Associations Name: $MEI Items: 1 0x003A (OEM-specific) Handle 0x0041, DMI type 14, 23 bytes Group Associations Name: Firmware Version Info Items: 6 0x003B (OEM-specific) 0x003C (OEM-specific) 0x003D (OEM-specific) 0x003E (OEM-specific) 0x003F (OEM-specific) 0x0040 (OEM-specific) Handle 0x0023, DMI type 15, 29 bytes System Event Log Area Length: 0 bytes Header Start Offset: 0x0000 Header Length: 8192 bytes Data Start Offset: 0x2000 Access Method: General-purpose non-volatile data functions Access Address: 0x0000 Status: Valid, Not Full Change Token: 0x12345678 Header Format: OEM-specific Supported Log Type Descriptors: 3 Descriptor 1: POST memory resize Data Format 1: None Descriptor 2: POST error Data Format 2: POST results bitmap Descriptor 3: Log area reset/cleared Data Format 3: None Handle 0x0024, DMI type 16, 23 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 128 GiB Error Information Handle: No Error Number Of Devices: 8 Handle 0x0025, DMI type 17, 92 bytes Memory Device Array Handle: 0x0024 Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 8 GiB Form Factor: Row Of Chips Set: None Locator: Controller0-ChannelA Bank Locator: BANK 0 Type: DDR4 Type Detail: Synchronous Speed: 3200 MT/s Manufacturer: Samsung Serial Number: 00000000 Asset Tag: 9876543210 Part Number: M471A1G44AB0-CWE Rank: 1 Configured Memory Speed: 3200 MT/s Minimum Voltage: Unknown Maximum Voltage: Unknown Configured Voltage: 1.2 V Memory Technology: DRAM Memory Operating Mode Capability: Volatile memory Firmware Version: Not Specified Module Manufacturer ID: Bank 1, Hex 0xCE Module Product ID: Unknown Memory Subsystem Controller Manufacturer ID: Unknown Memory Subsystem Controller Product ID: Unknown Non-Volatile Size: None Volatile Size: 8 GiB Cache Size: None Logical Size: None Handle 0x0026, DMI type 17, 92 bytes Memory Device Array Handle: 0x0024 Error Information Handle: No Error Total Width: 64 bits Data Width: 64 bits Size: 8 GiB Form Factor: Row Of Chips Set: None Locator: Controller1-ChannelA Bank Locator: BANK 0 Type: DDR4 Type Detail: Synchronous Speed: 3200 MT/s Manufacturer: Samsung Serial Number: 00000000 Asset Tag: 9876543210 Part Number: M471A1G44AB0-CWE Rank: 1 Configured Memory Speed: 3200 MT/s Minimum Voltage: Unknown Maximum Voltage: Unknown Configured Voltage: 1.2 V Memory Technology: DRAM Memory Operating Mode Capability: Volatile memory Firmware Version: Not Specified Module Manufacturer ID: Bank 1, Hex 0xCE Module Product ID: Unknown Memory Subsystem Controller Manufacturer ID: Unknown Memory Subsystem Controller Product ID: Unknown Non-Volatile Size: None Volatile Size: 8 GiB Cache Size: None Logical Size: None Handle 0x0027, DMI type 19, 31 bytes Memory Array Mapped Address Starting Address: 0x00000000000 Ending Address: 0x003FFFFFFFF Range Size: 16 GiB Physical Array Handle: 0x0024 Partition Width: 2 Handle 0x0028, DMI type 20, 35 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x001FFFFFFFF Range Size: 8 GiB Physical Device Handle: 0x0025 Memory Array Mapped Address Handle: 0x0027 Partition Row Position: Unknown Interleave Position: 1 Interleaved Data Depth: 1 Handle 0x0029, DMI type 20, 35 bytes Memory Device Mapped Address Starting Address: 0x00000000000 Ending Address: 0x001FFFFFFFF Range Size: 8 GiB Physical Device Handle: 0x0000 Memory Array Mapped Address Handle: 0x0027 Partition Row Position: Unknown Interleave Position: 1 Interleaved Data Depth: 1 Handle 0x002A, DMI type 21, 7 bytes Built-in Pointing Device Type: Touch Pad Interface: PS/2 Buttons: 4 Handle 0x002B, DMI type 22, 26 bytes Portable Battery Location: Fake Manufacturer: -Virtual Battery 0- Manufacture Date: 08/08/2010 Serial Number: MB100000004AE17D004J Name: Battery Chemistry: Zinc Air Design Capacity: Unknown Design Voltage: Unknown SBDS Version: Not Specified Maximum Error: Unknown OEM-specific Information: 0x00000000 Handle 0x002C, DMI type 24, 5 bytes Hardware Security Power-On Password Status: Disabled Keyboard Password Status: Not Implemented Administrator Password Status: Enabled Front Panel Reset Status: Not Implemented Handle 0x002D, DMI type 26, 24 bytes Voltage Probe Description: Voltage Probe Description Location: Unknown Status: Unknown Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00008000 Nominal Value: 0.000 V Handle 0x002E, DMI type 27, 15 bytes Cooling Device Temperature Probe Handle: 0x002F Type: Fan Status: OK OEM-specific Information: 0x00000000 Nominal Speed: 8192 rpm Description: Cooling Device Description Handle 0x002F, DMI type 28, 24 bytes Temperature Probe Description: Temperature Probe Description Location: Unknown Status: Unknown Maximum Value: Unknown Minimum Value: Unknown Resolution: Unknown Tolerance: Unknown Accuracy: Unknown OEM-specific Information: 0x00008000 Nominal Value: 0.0 deg C Handle 0x0030, DMI type 32, 11 bytes System Boot Information Status: No errors detected Handle 0x0031, DMI type 39, 22 bytes System Power Supply Location: OEM Define 0 Name: OEM Define 1 Manufacturer: OEM Define 2 Serial Number: OEM Define 3 Asset Tag: OEM Define 4 Model Part Number: OEM Define 5 Revision: OEM Define 6 Max Power Capacity: 75 W Status: Not Present Type: Regulator Input Voltage Range Switching: Auto-switch Plugged: No Hot Replaceable: No Handle 0x0032, DMI type 40, 17 bytes Additional Information 1 Referenced Handle: 0x000e Referenced Offset: 0x05 String: PCIExpressx16 Value: 0xaa Additional Information 2 Referenced Handle: 0x0000 Referenced Offset: 0x05 String: Compiler Version: VC 9.0 Value: 0x00 Handle 0x0033, DMI type 41, 11 bytes Onboard Device Reference Designation: IGD Type: Video Status: Disabled Type Instance: 1 Bus Address: 0000:00:02.0 Handle 0x0034, DMI type 43, 31 bytes TPM Device Vendor ID: INTC Specification Version: 2.0 Firmware Revision: 600.7 Description: TPM Device Characteristics: TPM Device characteristics not supported OEM-specific Information: 0x00000000 Handle 0x0035, DMI type 128, 8 bytes OEM-specific Type Header and Data: 80 08 35 00 55 AA 55 AA Strings: Oem Type 128 Test 1 Oem Type 128 Test 2 Handle 0x0036, DMI type 129, 8 bytes OEM-specific Type Header and Data: 81 08 36 00 01 01 02 01 Strings: Insyde_ASF_001 Insyde_ASF_002 Handle 0x0037, DMI type 130, 20 bytes OEM-specific Type Header and Data: 82 14 37 00 24 41 4D 54 01 01 01 01 01 A5 BF 02 C0 00 01 00 Handle 0x0038, DMI type 131, 64 bytes OEM-specific Type Header and Data: 83 40 38 00 31 00 00 00 00 00 00 00 00 00 00 00 F8 00 82 A0 00 00 00 00 01 00 00 00 00 00 0F 00 AA 06 17 00 00 00 00 00 FE 00 FF FF 00 00 00 00 00 FF 00 00 E6 01 00 00 76 50 72 6F 00 00 00 00 Handle 0x0039, DMI type 136, 6 bytes OEM-specific Type Header and Data: 88 06 39 00 FF FF Handle 0x003A, DMI type 219, 106 bytes OEM-specific Type Header and Data: DB 6A 3A 00 01 04 01 45 02 00 90 06 01 10 8B 20 00 00 00 00 40 00 00 00 00 00 00 00 00 A0 40 02 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 03 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Strings: MEI1 MEI2 MEI3 MEI4 Handle 0x003B, DMI type 221, 26 bytes OEM-specific Type Header and Data: DD 1A 3B 00 03 01 00 0A 00 3D 20 00 02 00 00 00 00 8A 00 03 00 FF FF FF FF FF Strings: Reference Code - CPU uCode Version TXT ACM version Handle 0x003C, DMI type 221, 26 bytes OEM-specific Type Header and Data: DD 1A 3C 00 03 01 00 0A 00 3D 20 00 02 00 00 00 00 00 00 03 04 0F 00 17 AA 06 Strings: Reference Code - ME MEBx version ME Firmware Version Consumer SKU Handle 0x003D, DMI type 221, 47 bytes OEM-specific Type Header and Data: DD 2F 3D 00 06 01 00 0A 00 3D 20 00 02 03 FF FF FF FF FF 04 00 FF FF FF 20 00 05 00 FF FF FF 20 00 06 00 02 46 00 00 00 07 00 04 00 00 00 00 Strings: Reference Code - PCH PCH-CRID Status Disabled PCH-CRID Original Value PCH-CRID New Value OPROM - RST - RAID PCH Hsio Version Handle 0x003E, DMI type 221, 82 bytes OEM-specific Type Header and Data: DD 52 3E 00 0B 01 00 0A 00 3D 20 00 02 00 02 00 02 00 00 03 00 0A 00 3D 20 00 04 05 FF FF FF FF FF 06 00 00 00 00 01 00 07 00 00 00 00 01 00 08 00 FF FF FF FF FF 09 00 11 01 04 00 00 0A 00 00 00 00 F8 00 0B 00 29 00 00 00 00 0C 00 FF FF FF FF FF Strings: Reference Code - SA - System Agent Reference Code - MRC SA - PCIe Version SA-CRID Status Disabled SA-CRID Original Value SA-CRID New Value OPROM - VBIOS IO Manageability Engine FW Version PHY Build Version Thunderbolt(TM) FW Version System Agent Manageability Engine FW Version Handle 0x003F, DMI type 221, 12 bytes OEM-specific Type Header and Data: DD 0C 3F 00 01 01 00 04 00 00 00 00 Strings: FSP Binary Version Handle 0x0040, DMI type 221, 89 bytes OEM-specific Type Header and Data: DD 59 40 00 0C 01 00 FF FF FF FF FF 02 00 FF FF FF FF FF 03 04 FF FF FF FF FF 05 06 FF FF FF FF FF 07 08 FF FF FF FF FF 09 00 00 00 00 00 00 0A 00 FF FF FF FF FF 0B 00 01 0F 00 00 00 0C 00 00 17 00 70 10 0D 00 FF FF FF FF FF 0E 00 00 07 03 00 00 0F 00 00 02 00 0F 00 Strings: Lan Phy Version Sensor Firmware Version Debug Mode Status Disabled Performance Mode Status Disabled Debug Use USB(Disabled:Serial) Disabled ICC Overclocking Version UNDI Version EC FW Version GOP Version Royal Park Version Platform Version Client Silicon Version Handle 0xFEFF, DMI type 127, 4 bytes End Of Table
acpi_tables.tar.gz
(application/gzip, 101.4 KB) - not displayed
analysis_results_send.md
(text/markdown, 7.7 KB)
# Xiaomi Mi NoteBook Ultra — Definitive ACPI Power Profile Bypass
---
## 1. The MIFS WMI Device — Found in `ssdt12.dsl`
**File:** [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl)
**OEM ID:** `XMCC` / **OEM Table:** `XMCC1806`
### Device Location
[ssdt12.dsl:345-348](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L345-L348)
```asl
Device (WMID)
{
Name (_HID, "PNP0C14") // WMI Mapper
Name (_UID, "XAPe") // Unique ID
```
**Full ACPI Path:** `\_SB.PC00.WMID`
---
## 2. `_WDG` Buffer — Complete Parse
[ssdt12.dsl:376-393](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L376-L393)
| # | GUID | Object ID | Type | Maps To |
|---|------|-----------|------|---------|
| 1 | `46C93E13-EE9B-4262-8488-563BCA757FEF` | `0x20` | EVENT | `_WED(0x20)` → [EV20()](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L621) |
| 2 | `FA78E245-2C0F-4CA1-91CF-15F34E474850` | `0x21` | EVENT | `_WED(0x21)` → [EV21()](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L820) |
| 3 | `1DCEAF0A-4D63-44BB-BD0C-0D6281BFDDC5` | `0x22` | EVENT | `_WED(0x22)` → [EV22()](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L826) |
| 4 | `3F9E3C26-B077-4F86-91F5-37FF64D8C7ED` | `0x23` | EVENT | `_WED(0x23)` → [EV23()](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L832) |
| 5 | **`B60BFB48-3E5B-49E4-A0E9-8CFFE1B3434B`** | **`AA`** | **METHOD** | **[WMAA()](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L612)** |
| 6 | `05901221-D566-11D1-B2F0-00A0C9062910` | `AB` | DATA | [WQAB](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L453) (binary MOF) |
---
## 3. Control Method — `WMAA`
[ssdt12.dsl:612-619](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L612-L619)
```asl
Method (WMAA, 3, NotSerialized)
{
CTID = 0x4141 // "AA" — method ID tag
WSMI (Arg1, Arg2) // Triggers SMI with the 32-byte buffer
CLMU (Zero, 0x20) // Clear output buffer
MEBU = WMIB // Copy response from shared memory
Return (MEBU) // Return 32-byte response
}
```
### How `WSMI` Works
[ssdt12.dsl:446-451](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L446-L451)
```asl
Method (WSMI, 2, NotSerialized)
{
MTID = Arg0 // Method ID byte → SystemMemory @ 0x45AA2000
WMIB = Arg1 // 32-byte input buffer → SystemMemory @ 0x45AA2001
WSSP = 0xD0 // Trigger SMI via SystemIO port (PSSP)
}
```
**Execution path:** The 32-byte buffer is written to a SystemMemory OperationRegion at `0x45AA2000`, then an SMI (System Management Interrupt) `0xD0` is triggered. The **SMM firmware handler** (invisible to the OS) processes the command, reads/writes EC registers, and places the response back in `WMIB`. `WMAA` then copies this to `MEBU` and returns it.
---
## 4. Power Mode Values — Confirmed from ASL
The `EV20()` method handles Fn+K (event function `0x16`) and reveals the **exact STNM cycle** on this hardware:
[ssdt12.dsl:625-658](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L625-L658)
```asl
Case (0x16) // Fn+K press — performance mode toggle
{
FNKN = \_SB.PC00.LPCB.H_EC.FUNR (0x16) // Read current STNM
Local0 = FNKN
If ((Local0 == Zero)) // Currently BALANCED (0)
{
EVBU [0x02] = 0x02 // Report: switching to QUIET
FNKN = 0x02
ECWT (0x02, RefOf (STNM)) // Write 0x02 → STNM
}
ElseIf ((Local0 == One)) // Currently PERFORMANCE (1)
{
If ((MITE == Zero)) // No turbo capability
{
EVBU [0x02] = 0x02 // → QUIET
FNKN = 0x02
}
Else // Has turbo (MITE=1)
{
EVBU [0x02] = 0x03 // → FULL-SPEED
FNKN = Zero // But write 0 to STNM??
}
ECWT (FNKN, RefOf (STNM))
}
Else // Currently QUIET (2) or anything else
{
EVBU [0x02] = One // Report: switching to PERFORMANCE
FNKN = One
ECWT (FNKN, RefOf (STNM)) // Write 0x01 → STNM
}
}
```
### Your Hardware's STNM Values (Confirmed from ASL)
| STNM Value | Mode | Fn+K Cycles To |
|:---:|---|---|
| **`0x00`** | **Balanced** | → Quiet (`0x02`) |
| **`0x01`** | **Performance** | → Quiet (`0x02`) or Full-Speed (if `MITE=1`) |
| **`0x02`** | **Quiet** | → Performance (`0x01`) |
### WMI Buffer Values (per bitland-mifs-wmi protocol)
The WMI protocol uses command `0x08` (SystemPerMode) with these values in the InData buffer:
| InData[4] Value | Mode |
|:---:|---|
| `0x00` | Balanced |
| `0x01` | Performance |
| `0x02` | Quiet |
| `0x03` | Full-Speed |
---
## 5. NTDG — Thermal Policy Dispatch
[ssdt12.dsl:94-177](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L94-L177)
`NTDG(STNM, ACIN)` controls the dGPU power state based on temperature thresholds and current mode:
| STNM | ACIN | TSR2 > | Action | TSR2 ≤ | Action |
|:---:|:---:|:---:|---|:---:|---|
| 0 (Balanced) | 1 (AC) | `0x40` (64°C) | GPU→D1 | `0x38` (56°C) | GPU→D1 |
| 1 (Perf) | 1 (AC) | `0x3C` (60°C) | GPU→D3 | `0x34` (52°C) | GPU→D1 |
| 2 (Quiet) | 1 (AC) | `0x3A` (58°C) | GPU→D5 | `0x34` (52°C) | GPU→D3 |
| 0 (Balanced) | 0 (Batt) | `0x3C` (60°C) | GPU→D3 | `0x32` (50°C) | GPU→D2 |
| 1 (Perf) | 0 (Batt) | `0x3A` (58°C) | GPU→D4 | `0x32` (50°C) | GPU→D2 |
| 2 (Quiet) | 0 (Batt) | `0x38` (56°C) | GPU→D5 | `0x32` (50°C) | GPU→D4 |
*(D1-D5 = Notify codes 0xD1-0xD5 sent to the dGPU at `\_SB.PC00.RP05.PXSX`)*
---
## 6. Complete Execution Path
```mermaid
graph TD
subgraph "Method 1: WMI (via WMAA)"
A["acpi_call: \_SB.PC00.WMID.WMAA<br>32-byte buffer with cmd=0x08"] --> B["WSMI: copies buffer to<br>SystemMemory @ 0x45AA2000"]
B --> C["SMI 0xD0 triggered<br>SMM firmware handles command"]
C --> D["SMM writes to EC STNM<br>Returns response in WMIB"]
end
subgraph "Method 2: Direct EC (via ECWT)"
E["acpi_call: \_SB.PC00.LPCB.H_EC.ECWT<br>(value, RefOf STNM)"] --> F["EC receives new STNM<br>at offset 0x7E"]
end
subgraph "Method 3: Raw EC Register (via WTER)"
G["acpi_call: \_SB.PC00.LPCB.H_EC.WTER<br>0x007E value"] --> F
end
D --> H["EC applies new PL1/PL2<br>and fan curves"]
F --> H
H --> I["EC fires SCI _Q96"]
I --> J["NTDP reads STNM,<br>sets ODV0/ODV1, notifies IETM"]
J --> K["NTDG adjusts dGPU power<br>based on temp thresholds"]
```
---
---
## 12. ASL Code Reference Map
| Component | File | Lines |
|-----------|------|-------|
| WMI Device `WMID` (PNP0C14) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L345-L348) | 345–348 |
| `_WDG` buffer (6 entries) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L376-L393) | 376–393 |
| `WMAA` (control method) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L612-L619) | 612–619 |
| `WSMI` (SMI trigger) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L446-L451) | 446–451 |
| `EV20` (event handler, Fn+K) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L621-L818) | 621–818 |
| `FUNR` (EC register reader) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L52-L70) | 52–70 |
| `NTDP` (thermal policy entry) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L72-L92) | 72–92 |
| `NTDG` (dGPU power control) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L94-L177) | 94–177 |
| `_Q96` (Fn+K EC query) | [ssdt12.dsl](file:///home/rahul/Projects/dsl/ssdt/ssdt12.dsl#L179-L182) | 179–182 |
| EC Device `H_EC` | [dsdt.dsl](file:///home/rahul/Projects/dsl/dsdt.dsl#L20519) | 20519 |
| EC `STNM` (offset 0x7E) | [dsdt.dsl](file:///home/rahul/Projects/dsl/dsdt.dsl#L20632) | 20632 |
| `RDER` / `WTER` | [dsdt.dsl](file:///home/rahul/Projects/dsl/dsdt.dsl#L20784-L20871) | 20784–20871 |
---