aymanbagabas/Huawei-WMI

Matebook X Pro 2020

bernimoses opened this issue · 7 comments

I just got the Matebook X Pro 2020 (MACHC-WAX9) and tested the following with the 5.8.2 kernel:

  1. Function hotkeys work except for keyboard backlight (F3)
  2. Micmute LED control works by setting /sys/devices/platform/huawei-wmi/leds/platform::micmute/brightness (0, 1) but it doesn't change if i press the mute button (F7)
  3. Battery protection can be set with /sys/class/power_supply/BAT0/charge_control_{start,end}_threshold and read through /sys/devices/platform/huawei-wmi/charge_control_thresholds after setting it in Linux or Windows (not 100% sure if it really works)
  4. Fn-lock works by setting /sys/devices/platform/huawei-wmi/fn_lock_state (0, 1)

Did i miss something or should i test something else?

One other thing i noticed: Pressing Fn outputs

atkbd serio0: Unknown key pressed (translated set 2, code 0xf8 on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e078 <keycode>' to make it known.

in dmesg. Is this related?

Boot dmesg snippet (not sure if some of the bold parts are related):

...
[    2.675699] ACPI: AC Adapter [AC0] (on-line)
[    2.678068] ACPI BIOS Error (bug): Could not resolve symbol [\DPPP], AE_NOT_FOUND (20200528/psargs-330)
[    2.682523] ACPI Error: Aborting method \_SB.IETM.IDSP due to previous error (AE_NOT_FOUND) (20200528/psparse-529)
[    2.781126] wmi_bus wmi_bus-PNP0C14:01: WQ data block query control method not found
[    2.781128] wmi_bus wmi_bus-PNP0C14:01: WQ data block query control method not found
[    2.781129] wmi_bus wmi_bus-PNP0C14:01: WQ data block query control method not found
[    2.781130] wmi_bus wmi_bus-PNP0C14:01: WQ data block query control method not found
[    2.781410] acpi PNP0C14:04: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:03)
[    2.781556] acpi PNP0C14:05: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:03)
[    2.783942] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[    2.783943] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    2.784334] i8042: Warning: Keylock active
[    2.784566] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.786804] parport0: PC-style at 0x278 [PCSPP,TRISTATE,EPP]
[    3.334219] battery: ACPI: Battery Slot [BAT0] (battery present)
[    3.380807] hid: raw HID events driver (C) Jiri Kosina
[    3.386329] mei_me 0000:00:16.0: enabling device (0000 -> 0002)
[    3.393303] intel_rapl_common: Found RAPL domain package
[    3.393304] intel_rapl_common: Found RAPL domain dram
[    3.393530] proc_thermal 0000:00:04.0: Creating sysfs group for PROC_THERMAL_PCI
[    3.400043] intel-lpss 0000:00:15.0: enabling device (0004 -> 0006)
[    3.400354] idma64 idma64.0: Found Intel integrated DMA 64-bit
[    3.408735] i2c_hid i2c-HQTL2393:00: supply vdd not found, using dummy regulator
[    3.408746] i2c_hid i2c-HQTL2393:00: supply vddl not found, using dummy regulator
[    3.443346] intel-lpss 0000:00:15.1: enabling device (0004 -> 0006)
[    3.443682] idma64 idma64.1: Found Intel integrated DMA 64-bit
[    3.459443] input: PC Speaker as /devices/platform/pcspkr/input/input5
[    3.464485] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.464639] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[    3.464692] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[    3.466639] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.467374] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.467376] cfg80211: failed to load regulatory.db
[    3.467828] i2c i2c-9: 2/2 memory slots populated (from DMI)
[    3.470549] intel-spi 0000:00:1f.5: w25q128 (16384 Kbytes)
[    3.475027] Creating 1 MTD partitions on "0000:00:1f.5":
[    3.475029] 0x000000000000-0x000001000000 : "BIOS"
[    3.543452] i2c_hid i2c-SYNA2393:00: supply vdd not found, using dummy regulator
[    3.543467] i2c_hid i2c-SYNA2393:00: supply vddl not found, using dummy regulator
[    3.559534] Intel(R) Wireless WiFi driver for Linux
[    3.559611] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360 ms ovfl timer
[    3.559613] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    3.559613] RAPL PMU: hw unit of domain package 2^-14 Joules
[    3.559614] RAPL PMU: hw unit of domain dram 2^-14 Joules
[    3.559614] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    3.561687] iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-QuZ-a0-jf-b0-56.ucode failed with error -2
[    3.562901] iwlwifi 0000:00:14.3: api flags index 2 larger than supported by driver
[    3.562919] iwlwifi 0000:00:14.3: TLV_FW_FSEQ_VERSION: FSEQ Version: 65.3.35.22
[    3.563168] iwlwifi 0000:00:14.3: loaded firmware version 55.d9698065.0 QuZ-a0-jf-b0-55.ucode op_mode iwlmvm
[    3.563197] iwlwifi 0000:00:14.3: Direct firmware load for iwl-debug-yoyo.bin failed with error -2
[    3.564878] cryptd: max_cpu_qlen set to 1000
[    3.583364] intel-lpss 0000:00:19.0: enabling device (0004 -> 0006)
[    3.610013] intel-lpss 0000:00:1e.0: enabling device (0004 -> 0006)
[    3.610712] idma64 idma64.3: Found Intel integrated DMA 64-bit
[    3.660579] AVX2 version of gcm_enc/dec engaged.
[    3.660580] AES CTR mode by8 optimization enabled
[    3.670006] i801_smbus 0000:00:1f.4: Timeout waiting for interrupt!
[    3.670009] i801_smbus 0000:00:1f.4: Transaction timeout
[    3.675082] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    3.675104] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    3.675419] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    3.676186] i801_smbus 0000:00:1f.4: Failed terminating the transaction
[    3.680638] i801_smbus 0000:00:1f.4: SMBus is busy, can't use it!
...
[    6.070358] ACPI Warning: \_SB.PCI0.RP05.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20200528/nsarguments-59)
[    7.229002] i915 0000:00:02.0: [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[    9.132535] rfkill: input handler disabled
[    9.265548] Bluetooth: RFCOMM TTY layer initialized
[    9.265556] Bluetooth: RFCOMM socket layer initialized
[    9.265561] Bluetooth: RFCOMM ver 1.11
[   10.221199] kauditd_printk_skb: 20 callbacks suppressed
...

What desktop environment are you using? You gotta use a modern DE i.e. GNOME, KDE, etc for the mic mute to work, or you have to handle the keyboard event yourself in your DE of choice.

One other thing i noticed: Pressing Fn outputs

atkbd serio0: Unknown key pressed (translated set 2, code 0xf8 on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e078 <keycode>' to make it known.

This has to be part of systems hwdb tables, see 99-Huawei.hwdb, notice KEYBOARD_KEY_f8=fn. However, this only matches evdev:atkbd:dmi:bvn*:bvr*:svnHUAWEI*:pnMACH-WX9:pvr*, should be changed to match both MACH-WX9 and MACHC-WAX9

  1. Function hotkeys work except for keyboard backlight (F3)

Please try https://github.com/aymanbagabas/Huawei-WMI/tree/feat/kbdlight and report back your findings.

Also, please provide the output of sudo dmidecode

As requested here the dmidecode from a Matebook x Pro 2020 with Ubuntu 20.10 installed. Disabled Nvidia completely because battery life still sucks hard...
matebook.txt

Sorry i don't have the notebook anymore so can't test or provide any further information. I couldn't handle the fan starting and stopping all the time (i think the fluctuating cpu temperature readings caused this) even on light tasks where i don't have problems with my 2018 model.

Could you please upload an acpidump? sudo acpidump > acpidump.out

@Shadesh @bernimoses From what I understand, the only issue is the keyboard backlight. If so, please hop on to issue #38, and if you could please try https://github.com/aymanbagabas/Huawei-WMI/tree/feat/kbdlight. Feel free to close this ticket.