Coder Social home page Coder Social logo

huawei-wmi's Introduction

Huawei WMI laptop extras linux driver

Donate Donate

NOTE: Version v2.0 is the one in mainline kernel >= 5.0, this repository is used for testing and development purposes. v3.3 has been merged in kernel 5.5

This driver adds support for some of the missing features found on Huawei laptops running linux. It implements Windows Management Instrumentation (WMI) device mapping to kernel. Supported features are:

  • Function hotkeys, implemented in v1.0
  • Micmute LED, implemented in v2.0. Updated in v3.0 to work with newer laptops.
  • Battery protection, implemented in v3.0. Updated in v3.3 to use battery charge API.
  • Fn-lock, implemented v3.0.

Battery protection can accessed from either /sys/class/power_supply/BAT0/charge_control_{start,end}_threshold or /sys/devices/platform/huawei-wmi/charge_control_thresholds

Fn-lock can be accessed from /sys/devices/platform/huawei-wmi/fn_lock_state

This driver requires kernel >= 5.1. If you're on kernel <= 5.0, please refer to tag v1.0 for kernel < 5.0 or tag v3.2 if you're running version 5.0.

Check out matebook-applet for a GUI to control Fn-lock and battery protection.

Installation

Make sure you're using kernel >= 5.0. You can get this driver from here if you want to use DKMS modules for easy installation.

Use RPM package for Fedora

Install the RPM package provided here.

Use dkms tarball installation

Note: change VER to the desired module version.

  1. Grab huawei-wmi-VER-source-only.dkms.tar.gz from here
  2. Add dkms tarball and install module
sudo dkms ldtarball --archive=huawei-wmi-VER-source-only.dkms.tar.gz
sudo dkms install huawei-wmi/VER
  1. Reboot

Build from source

  1. Make sure you have your kernel headers. In Fedora that would be:
sudo dnf install kernel-headers kernel-devel

Should be similar in other distributions. 2. Clone and update / install the module.

git clone https://github.com/aymanbagabas/Huawei-WMI
cd Huawei-WMI
make
# To update use:
sudo cp huawei-wmi.ko /lib/modules/$(uname -r)/updates/
sudo depmod
# To install use:
sudo make install
reboot

This method overwrites the exsiting version of huawei-wmi that comes with kernel 5.0. You have to redo it everytime the kernel gets updated.

Keyboard

NOTE: Ignore this if you're running systemd-udev > 240.

One of the keys, micmute, wouldn't work after inserting the module and that is due to an issue with X.Org. The solution would be to remap it to using udev hwdb tables. Copy 99-Huawei.hwdb to /etc/udev/hwdb.d/ then update the hwdb tables:

sudo udevadm --debug hwdb --update; sudo udevadm trigger

TODO

  • Merge driver into upstream Merged in Linux > 4.20. Commit log
  • Getting device LEDs to work See this and this
  • Support more devices
  • ACPI driver?

Contribution

Fork, modify, and pull request.

Credits

  • Thanks to Daniel Vogelbacher @cytrinox and Jan Baer @janbaer for testing the module on the Matebook X (2017).
  • Big thanks to @nekr0z for testing this driver on his Matebook 13 (2019) WRT-WX9 and for his awesome project matebook-applet.
  • Thanks to @wasakakero for testing this driver on the Matebook D 14-AMD KPL-W0X.

huawei-wmi's People

Contributors

aymanbagabas avatar dark-beep-boop avatar egormanga avatar igor1malo avatar sermart1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

huawei-wmi's Issues

No battery protection path

i already did try to install it

sudo dkms ldtarball --archive=huawei-wmi-3.2-source-only.dkms.tar.gz
sudo dkms autoinstall -m huawei-wmi/3.2

installation is fine but i dont have the path specified on the readme

Battery protection can be accessed from either /sys/class/power_supply/BAT0/charge_control_{start,end}_threshold or /sys/devices/platform/huawei-wmi/charge_control_thresholds

both of this path i dont have it...

any thing that can help me please thanks
i see someone also facing issue like this

i paste some commands output of my system

╰ neofetch 
             /////////////                uriah@dev 
         /////////////////////            --------- 
      ///////*767////////////////         OS: Pop!_OS 19.10 x86_64 
    //////7676767676*//////////////       Host: WRT-WX9 M1090 
   /////76767//7676767//////////////      Kernel: 5.3.0-22-generic 
  /////767676///*76767///////////////     Uptime: 19 mins 
 ///////767676///76767.///7676*///////    Packages: 2389 (dpkg) 
/////////767676//76767///767676////////   Shell: zsh 5.7.1 
//////////76767676767////76767/////////   Resolution: 2160x1440 
///////////76767676//////7676//////////   DE: GNOME 3.34.1 
////////////,7676,///////767///////////   WM: GNOME Shell 
/////////////*7676///////76////////////   WM Theme: Pop 
///////////////7676////////////////////   Theme: Pop-dark [GTK2/3] 
 ///////////////7676///767////////////    Icons: Pop [GTK2/3] 
  //////////////////////'////////////     Terminal: st 
   //////.7676767676767676767,//////      Terminal Font: Hack 
    /////767676767676767676767/////       CPU: Intel i7-8565U (8) @ 4.600GHz 
      ///////////////////////////         GPU: Intel UHD Graphics 620 
         /////////////////////            Memory: 2324MiB / 7706MiB 
             ///////////// 
   uriah@dev  ~                                      ✔   03:25  14/12/19 

╰ lsmod | grep wmi 
snd_rawmidi            36864  1 snd_seq_midi 
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi 
snd                    86016  25 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi 
huawei_wmi             16384  0 
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek 
sparse_keymap          16384  1 huawei_wmi 
wmi_bmof               16384  0 
intel_wmi_thunderbolt    20480  0 
wmi                    32768  3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof 
   uriah@dev  ~                                      ✔   03:25  14/12/19 

╰ dmesg | grep wmi 
[    0.973581] wmi_bus wmi_bus-PNP0C14:00: WQ data block query control method not found 
[    0.973584] wmi_bus wmi_bus-PNP0C14:00: WQ data block query control method not found 
[    0.973585] wmi_bus wmi_bus-PNP0C14:00: WQ data block query control method not found 
[    0.973587] wmi_bus wmi_bus-PNP0C14:00: WQ data block query control method not found 
[   17.003406] input: Huawei WMI hotkeys as /devices/platform/PNP0C14:04/wmi_bus/wmi_bus-PNP0C14:04/ABBC0F5C-8EA1-11D1-A000-C90629100000/input/input9 
   uriah@dev  ~                                      ✔   03:32  14/12/19 

Add keyboard backlight timeout as an option

Hi, first of all thank you very much for this project, the effort and the great results, I came here because by default the keyboard backlight timeout it's about 15 seconds on my Matebook D14 2020, and currently I can't find a way to set the backlight always on, I don't have any knowledge about the kernel internals but I guess you can add this option on this project, this would be wonderful for people that work in dark conditions.

Won't compile on Huawei Matebook 13 following your installation guide

Hey,

I won't get it to work following your installation guide.
The errors are:

error: implicit declaration of function ‘ledtrig_audio_get’; did you mean ‘led_trigger_set’? [-Werror=implicit-function-declaration]
  huawei->cdev.brightness = ledtrig_audio_get(LED_AUDIO_MICMUTE);
                            ^~~~~~~~~~~~~~~~~
                            led_trigger_set

and:

error: ‘LED_AUDIO_MICMUTE’ undeclared (first use in this function); did you mean ‘KEY_MICMUTE’?
  huawei->cdev.brightness = ledtrig_audio_get(LED_AUDIO_MICMUTE);
                                              ^~~~~~~~~~~~~~~~~
                                              KEY_MICMUTE

I am running Kernel Version 4.19.42-1-MANJARO on Manjaro Awesome.
My steps were:

  • installing kernel headers
  • cloning repo
  • make --> Errors

Would appreciate it if you have the time to come up with a fix.
Thanks

Help with understanding the battery thresholds feature

Hello,

I'm trying to implement the battery thresholds feature under MacOS (hackintosh) on the Matebook X Pro 2018 (MACH-WX9). I'm trying to do this only by using ACPI calls.

From reading your code and the DSDT of this machine, I understand that the \GBTT and \SBTT ACPI methods are responsible for getting and setting min/max battery thresholds :

Capture d’écran 2020-12-30 à 15 20 39

I've used this line of the SBTT method to try to set the threshold to 60/75 (3C/4B) :
\_SB.PCI0.LPCB.EC0.ECXT (0xC7, One, 0x3C, 0x4B, Zero, Zero)

From both MacOS and Linux (via acpi_call), this ACPI call doesn't seem to be effective : the battery is still charging between 60 and 75%. So I guess this isn't enough / there is something I don't really understand.

Do you have any idea what would be the ACPI call(s) equivalent to the following command ?
echo "60 75" | sudo tee /sys/devices/platform/huawei-wmi/charge_control_thresholds

Thank you very much !

Micmute LED Doesn't Work on Fedora 31

Describe the bug
It was working on Ubuntu 19.10 with Huawei-WMI 3.2, but cannot reproduce the feature anymore on Huawei Matebook 13

To Reproduce
Steps to reproduce the behavior:
Install the Huawei-WMI 3.2 (dnf method or dkms)
Micmute LED doesn't work

Expected behavior
Micmute LED should work

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • Kernel [e.g. 5.2.9-200.fc30.x86_64] 5.3.16-300.fc31.x86_64

  • Distro [e.g. Fedora 30] `Fedora 31

  • Loaded WMI modules
    huawei_wmi 16384 0 ledtrig_audio 16384 3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek sparse_keymap 16384 1 huawei_wmi intel_wmi_thunderbolt 20480 0 wmi_bmof 16384 0 wmi 36864 3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof

  • Dmesg log dmesg.txt

  • ALSA log if applicable http://alsa-project.org/db/?f=0b611158bf130292dce34d54cf76e65d22f0f3af

  • evtest if it's keyboard related. Run sudo evtest then choose "Huawei WMI hotkeys", test all hotkeys and submit output.
    Just tried the micmute button:
    No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: Lid Switch /dev/input/event1: Power Button /dev/input/event2: Power Button /dev/input/event3: AT Translated Set 2 keyboard /dev/input/event4: Video Bus /dev/input/event5: HD Camera: HD Camera /dev/input/event6: ELAN962C:00 04F3:30D0 Touchpad /dev/input/event7: Huawei WMI hotkeys /dev/input/event8: HDA Intel PCH Headphone Mic /dev/input/event9: HDA Intel PCH HDMI/DP,pcm=3 /dev/input/event10: HDA Intel PCH HDMI/DP,pcm=7 /dev/input/event11: HDA Intel PCH HDMI/DP,pcm=8 /dev/input/event12: HDA Intel PCH HDMI/DP,pcm=9 /dev/input/event13: HDA Intel PCH HDMI/DP,pcm=10 Select the device event number [0-13]: 7 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0 Input device name: "Huawei WMI hotkeys" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 113 (KEY_MUTE) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 171 (KEY_CONFIG) Event code 190 (KEY_F20) Event code 224 (KEY_BRIGHTNESSDOWN) Event code 225 (KEY_BRIGHTNESSUP) Event code 238 (KEY_WLAN) Event code 240 (KEY_UNKNOWN) Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Testing ... (interrupt to exit) Event: time 1577035064.538708, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577035064.538708, type 1 (EV_KEY), code 190 (KEY_F20), value 1 Event: time 1577035064.538708, -------------- SYN_REPORT ------------ Event: time 1577035064.538737, type 1 (EV_KEY), code 190 (KEY_F20), value 0 Event: time 1577035064.538737, -------------- SYN_REPORT ------------ Event: time 1577035065.334673, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577035065.334673, type 1 (EV_KEY), code 190 (KEY_F20), value 1 Event: time 1577035065.334673, -------------- SYN_REPORT ------------ Event: time 1577035065.334707, type 1 (EV_KEY), code 190 (KEY_F20), value 0 Event: time 1577035065.334707, -------------- SYN_REPORT ------------

  • acpi_listen if it's keyboard related. Run sudo acpi_listen and test all hotkeys. Submit output.
    acpi_listen: can't open socket /var/run/acpid.socket: No such file or directory

Keyboard Backlight Preference is Resetting When Reboot or Shutdown

Describe the bug
I usually disable the keyboard backlight for battery consuming purposes. But after rebooting or shutdown-booting the PC, my keyboard backlight preference resets all time. Huawei Matebook 13 - Ubuntu 18.04.3 LTS.

To Reproduce
Steps to reproduce the behavior:

  1. Disable the keyboard backlight
  2. Reboot

Expected behavior
Keyboard backlight should retain its value

Desktop (please complete the following information):

  • Kernel [e.g. 5.2.9-200.fc30.x86_64] 5.0.0-23-generic #24~18.04.1-Ubuntu

  • Distro [e.g. Fedora 30] Ubuntu 18.04 LTS

  • Loaded WMI modules
    snd_rawmidi 36864 1 snd_seq_midi snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi huawei_wmi 16384 0 snd 86016 25 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi ledtrig_audio 16384 3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek sparse_keymap 16384 1 huawei_wmi wmi_bmof 16384 0 intel_wmi_thunderbolt 20480 0 wmi 28672 3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof

  • Dmesg log
    dmesg3.txt

  • ALSA log if applicable
    http://alsa-project.org/db/?f=d5ea51f9d8b6e1abccb45cd160026f5b8e1f2235

  • evtest if it's keyboard related. Run sudo evtest then choose "Huawei WMI hotkeys", test all hotkeys and submit output.

No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: Lid Switch /dev/input/event1: Power Button /dev/input/event2: Power Button /dev/input/event3: AT Translated Set 2 keyboard /dev/input/event4: Huawei WMI hotkeys /dev/input/event5: Video Bus /dev/input/event6: HDA Intel PCH Headphone Mic /dev/input/event7: HDA Intel PCH HDMI/DP,pcm=10 /dev/input/event8: HDA Intel PCH HDMI/DP,pcm=3 /dev/input/event9: HDA Intel PCH HDMI/DP,pcm=7 /dev/input/event10: HDA Intel PCH HDMI/DP,pcm=8 /dev/input/event11: HDA Intel PCH HDMI/DP,pcm=9 /dev/input/event12: ELAN962C:00 04F3:30D0 Touchpad /dev/input/event13: HD Camera: HD Camera Select the device event number [0-13]: 4 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0 Input device name: "Huawei WMI hotkeys" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 113 (KEY_MUTE) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 171 (KEY_CONFIG) Event code 224 (KEY_BRIGHTNESSDOWN) Event code 225 (KEY_BRIGHTNESSUP) Event code 238 (KEY_WLAN) Event code 240 (KEY_UNKNOWN) Event code 248 (KEY_MICMUTE) Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Testing ... (interrupt to exit) Event: time 1577279080.126372, type 4 (EV_MSC), code 4 (MSC_SCAN), value 281 Event: time 1577279080.126372, type 1 (EV_KEY), code 224 (KEY_BRIGHTNESSDOWN), value 1 Event: time 1577279080.126372, -------------- SYN_REPORT ------------ Event: time 1577279080.126603, type 1 (EV_KEY), code 224 (KEY_BRIGHTNESSDOWN), value 0 Event: time 1577279080.126603, -------------- SYN_REPORT ------------ Event: time 1577279081.306404, type 4 (EV_MSC), code 4 (MSC_SCAN), value 282 Event: time 1577279081.306404, type 1 (EV_KEY), code 225 (KEY_BRIGHTNESSUP), value 1 Event: time 1577279081.306404, -------------- SYN_REPORT ------------ Event: time 1577279081.306480, type 1 (EV_KEY), code 225 (KEY_BRIGHTNESSUP), value 0 Event: time 1577279081.306480, -------------- SYN_REPORT ------------ Event: time 1577279091.370480, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577279091.370480, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 1 Event: time 1577279091.370480, -------------- SYN_REPORT ------------ Event: time 1577279091.370911, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 0 Event: time 1577279091.370911, -------------- SYN_REPORT ------------ Event: time 1577279091.738040, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577279091.738040, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 1 Event: time 1577279091.738040, -------------- SYN_REPORT ------------ Event: time 1577279091.738132, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 0 Event: time 1577279091.738132, -------------- SYN_REPORT ------------ Event: time 1577279094.542213, type 4 (EV_MSC), code 4 (MSC_SCAN), value 289 Event: time 1577279094.542213, type 1 (EV_KEY), code 238 (KEY_WLAN), value 1 Event: time 1577279094.542213, -------------- SYN_REPORT ------------ Event: time 1577279094.542308, type 1 (EV_KEY), code 238 (KEY_WLAN), value 0 Event: time 1577279094.542308, -------------- SYN_REPORT ------------ Event: time 1577279095.238368, type 4 (EV_MSC), code 4 (MSC_SCAN), value 289 Event: time 1577279095.238368, type 1 (EV_KEY), code 238 (KEY_WLAN), value 1 Event: time 1577279095.238368, -------------- SYN_REPORT ------------ Event: time 1577279095.238816, type 1 (EV_KEY), code 238 (KEY_WLAN), value 0 Event: time 1577279095.238816, -------------- SYN_REPORT ------------ Event: time 1577279096.242606, type 4 (EV_MSC), code 4 (MSC_SCAN), value 28a Event: time 1577279096.242606, type 1 (EV_KEY), code 171 (KEY_CONFIG), value 1 Event: time 1577279096.242606, -------------- SYN_REPORT ------------ Event: time 1577279096.242850, type 1 (EV_KEY), code 171 (KEY_CONFIG), value 0 Event: time 1577279096.242850, -------------- SYN_REPORT ------------ ^[[2~

Huawei Matebook X Pro 2020 - battery charge threshold - end seems active, start seems inactive

I am using Ubuntu 20.04 (recently installed, nothing special) on a Huawei Matebook X Pro 2020. It looks like the end threshold (i.e. the content of /sys/class/power_supply/BAT0/charge_control_end_threshold) is well taken into account, but the start threshold (/sys/class/power_supply/BAT0/charge_control_start_threshold) is not. I.e., if end threshold is set to 70, I never observe battery levels over 70%. However, if the start threshold is set to 40, I still see the battery starting to charge even if the battery level is 60. I make sure that these thresholds are set at boot time, using a small cron job (the sleep seems needed for whatever reason, probably to let the system warm up):

@reboot sleep 20; echo 70 > /sys/class/power_supply/BAT0/charge_control_end_threshold 
@reboot sleep 30; echo 55 > /sys/class/power_supply/BAT0/charge_control_start_threshold 

To Reproduce

  • Set the end threshold to 70 and the start threshold to 55 (or any other value really).
  • Battery over 70 is never observed: this works fine
  • However, starting from a battery at a level of 65, and plugging in the power supply, the battery starts to charge; i.e., the start threshold seems to be ignored.

Expected behavior

Starting at battery level of 65, with a start threshold of 55, the battery should not start charging at all.

(please complete the following information):

  • dumps: see attached files (coming in 2 minutes :) ).

  • others:

$ uname -a
Linux MBX20 5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
  • Distro: Ubuntu 20.04
$ lsmod | grep wmi
intel_wmi_thunderbolt    20480  0
wmi_bmof               16384  0
huawei_wmi             20480  0
sparse_keymap          16384  1 huawei_wmi
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_sof
snd_rawmidi            36864  1 snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
snd                    94208  22 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
mxm_wmi                16384  1 nouveau
wmi                    32768  5 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof,mxm_wmi,nouveau

Additional context

Curious if anyone else is able to reproduce? Is this a know issue? There is also a SO issue, though no activity there: https://stackoverflow.com/questions/68073262/charge-control-thresholds-on-ubuntu-20-04-seems-like-end-threshold-is-active-b .

Battery protection and fn-lock support

Using Windows Huawei PC Manager, you can enable features like battery protection and reversing the behavior of Fn. These features are 'obviously' missing on Linux. I'm working on integrating these to the driver using WMI calls.

Using WMI is easier than controlling these features using ACPI/EC since most of these devices has the same WMI device driver.

So far, I've seen repetitions when it comes to using WMI calls to control Fn-lock, battery protection/thresholds, and mic led in multiple models including:

  1. MACH-WX9 - Matebook X Pro (2018)
  2. WRT-WX9 - Matebook 13 (2019)
  3. KPL-W0X - Matebook D 14 AMD

I haven't seen that on the older model Matebook X (2017). DSDT/SSDT tables for other models are welcome!

[Matebook E] HUAWEI Matebook E

Hey @aymanbagabas,

I've tried getting it to work on the Matebook E, but I couldn't get it to work. Since I don't have any Experience in developing in C nor in developing device drivers, it would be cool if you could help me out.

Here's the output of the commands from your email.

lsmod
huawei_wmi             16384  0
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek
wmi_bmof               16384  0
intel_wmi_thunderbolt    20480  0
wmi                    36864  3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof
sparse_keymap          16384  3 intel_hid,huawei_wmi,intel_vbtn
dmesg
[    0.000000] microcode: microcode updated early to revision 0xb4, date = 2019-04-01
[    0.000000] Linux version 5.2.9-arch1-1-ARCH (builduser@heftig-119803) (gcc version 9.1.0 (GCC)) #1 SMP PREEMPT Fri Aug 16 11:29:43 UTC 2019
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=ed16dad4-073a-47d3-aa81-d3b6c1441d82 rw audit=0 loglevel=3 quiet
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Hygon HygonGenuine
[    0.000000]   Centaur CentaurHauls
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: xstate_offset[3]:  832, xstate_sizes[3]:   64
[    0.000000] x86/fpu: xstate_offset[4]:  896, xstate_sizes[4]:   64
[    0.000000] x86/fpu: Enabled xstate features 0x1f, context size is 960 bytes, using 'compacted' format.
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000058000-0x0000000000058fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000059000-0x000000000009dfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009e000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000066825fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000066826000-0x0000000066826fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000066827000-0x000000006685afff] usable
[    0.000000] BIOS-e820: [mem 0x000000006685b000-0x000000006685bfff] reserved
[    0.000000] BIOS-e820: [mem 0x000000006685c000-0x0000000067b87fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000067b88000-0x0000000068c87fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000068c88000-0x000000007ee9dfff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ee9e000-0x000000007f09dfff] type 20
[    0.000000] BIOS-e820: [mem 0x000000007f09e000-0x000000007f88dfff] reserved
[    0.000000] BIOS-e820: [mem 0x000000007f88e000-0x000000007ff7dfff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000007ff7e000-0x000000007fffdfff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000007fffe000-0x000000007fffefff] usable
[    0.000000] BIOS-e820: [mem 0x000000007ffff000-0x000000008cffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fd000000-0x00000000fe7fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed84000-0x00000000fed84fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffa00000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000171ffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] efi: EFI v2.50 by INSYDE Corp.
[    0.000000] efi:  ACPI 2.0=0x7fffd014  SMBIOS=0x7f114000  SMBIOS 3.0=0x7f112000  ESRT=0x7f110dd8  PROP=0x66822f98 
[    0.000000] SMBIOS 3.0.0 present.
[    0.000000] DMI: HUAWEI HUAWEI MateBook E/HUAWEI MateBook E, BIOS 2.07 10/31/2018
[    0.000000] tsc: Detected 1600.000 MHz processor
[    0.001565] tsc: Detected 1608.000 MHz TSC
[    0.001565] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.001569] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.001587] last_pfn = 0x172000 max_arch_pfn = 0x400000000
[    0.001594] MTRR default type: write-back
[    0.001596] MTRR fixed ranges enabled:
[    0.001598]   00000-9FFFF write-back
[    0.001600]   A0000-BFFFF uncachable
[    0.001602]   C0000-FFFFF write-protect
[    0.001604] MTRR variable ranges enabled:
[    0.001607]   0 base 00C0000000 mask 7FC0000000 uncachable
[    0.001609]   1 base 00A0000000 mask 7FE0000000 uncachable
[    0.001611]   2 base 0090000000 mask 7FF0000000 uncachable
[    0.001612]   3 base 008C000000 mask 7FFC000000 uncachable
[    0.001614]   4 base 008A000000 mask 7FFE000000 uncachable
[    0.001616]   5 base 0089000000 mask 7FFF000000 uncachable
[    0.001618]   6 base 0088800000 mask 7FFF800000 uncachable
[    0.001619]   7 disabled
[    0.001620]   8 disabled
[    0.001621]   9 disabled
[    0.004254] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.004793] last_pfn = 0x7ffff max_arch_pfn = 0x400000000
[    0.031391] esrt: Reserving ESRT space from 0x000000007f110dd8 to 0x000000007f110e38.
[    0.031408] check: Scanning 1 areas for low memory corruption
[    0.031417] Using GB pages for direct mapping
[    0.031421] BRK [0x12e601000, 0x12e601fff] PGTABLE
[    0.031425] BRK [0x12e602000, 0x12e602fff] PGTABLE
[    0.031427] BRK [0x12e603000, 0x12e603fff] PGTABLE
[    0.031486] BRK [0x12e604000, 0x12e604fff] PGTABLE
[    0.031490] BRK [0x12e605000, 0x12e605fff] PGTABLE
[    0.031745] BRK [0x12e606000, 0x12e606fff] PGTABLE
[    0.031806] BRK [0x12e607000, 0x12e607fff] PGTABLE
[    0.032009] BRK [0x12e608000, 0x12e608fff] PGTABLE
[    0.032074] BRK [0x12e609000, 0x12e609fff] PGTABLE
[    0.032157] BRK [0x12e60a000, 0x12e60afff] PGTABLE
[    0.032242] BRK [0x12e60b000, 0x12e60bfff] PGTABLE
[    0.032303] Secure boot could not be determined
[    0.032305] RAMDISK: [mem 0x36967000-0x374aafff]
[    0.032323] ACPI: Early table checksum verification disabled
[    0.032329] ACPI: RSDP 0x000000007FFFD014 000024 (v02 HUAWEI)
[    0.032336] ACPI: XSDT 0x000000007FFB0188 000104 (v01 HUAWEI KBL-ULT  00000000      01000013)
[    0.032347] ACPI: FACP 0x000000007FFDF000 00010C (v05 HUAWEI KBL-ULT  00000000 ACPI 00040000)
[    0.032357] ACPI: DSDT 0x000000007FFB4000 027824 (v02 HUAWEI KBL-ULT  00000000 ACPI 00040000)
[    0.032364] ACPI: FACS 0x000000007FF50000 000040
[    0.032369] ACPI: UEFI 0x000000007FFFC000 000236 (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032374] ACPI: UEFI 0x000000007FFFB000 000042 (v01 HUAWEI KBL-ULT  00000002 ACPI 00040000)
[    0.032380] ACPI: ECDT 0x000000007FFFA000 0000C1 (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032386] ACPI: SSDT 0x000000007FFF8000 0010B6 (v01 HUAWEI KBL-ULT  00001000 ACPI 00040000)
[    0.032393] ACPI: MSDM 0x000000007FFF7000 000055 (v03 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032402] ACPI: SSDT 0x000000007FFF6000 000505 (v02 HUAWEI KBL-ULT  00001000 ACPI 00040000)
[    0.032407] ACPI: SSDT 0x000000007FFF5000 000046 (v02 HUAWEI KBL-ULT  00003000 ACPI 00040000)
[    0.032413] ACPI: TPM2 0x000000007FFF4000 000034 (v03 HUAWEI KBL-ULT  00000000 ACPI 00040000)
[    0.032418] ACPI: SSDT 0x000000007FFF0000 003120 (v02 HUAWEI KBL-ULT  00003000 ACPI 00040000)
[    0.032424] ACPI: SSDT 0x000000007FFE3000 00C7AF (v02 HUAWEI KBL-ULT  00001000 ACPI 00040000)
[    0.032429] ACPI: SSDT 0x000000007FFE2000 00077D (v02 HUAWEI KBL-ULT  00000000 ACPI 00040000)
[    0.032435] ACPI: ASPT 0x000000007FFE1000 000034 (v07 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032440] ACPI: BOOT 0x000000007FFE0000 000028 (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032445] ACPI: HPET 0x000000007FFDE000 000038 (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032451] ACPI: APIC 0x000000007FFDD000 0000BC (v03 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032456] ACPI: MCFG 0x000000007FFDC000 00003C (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032462] ACPI: SSDT 0x000000007FFB3000 0001BC (v02 HUAWEI KBL-ULT  00001000 ACPI 00040000)
[    0.032467] ACPI: WSMT 0x000000007FFB2000 000028 (v01 HUAWEI KBL-ULT  00000000 ACPI 00040000)
[    0.032473] ACPI: SSDT 0x000000007FFB1000 000BC9 (v02 HUAWEI KBL-ULT  00001000 ACPI 00040000)
[    0.032478] ACPI: DBGP 0x000000007FFAF000 000034 (v01 HUAWEI KBL-ULT  00000002 ACPI 00040000)
[    0.032484] ACPI: DBG2 0x000000007FFAE000 000054 (v00 HUAWEI KBL-ULT  00000002 ACPI 00040000)
[    0.032489] ACPI: SSDT 0x000000007FFAC000 001086 (v02 HUAWEI KBL-ULT  00001000 ACPI 00040000)
[    0.032495] ACPI: SSDT 0x000000007FFAB000 000EDE (v02 HUAWEI KBL-ULT  00003000 ACPI 00040000)
[    0.032500] ACPI: DMAR 0x000000007FFAA000 000180 (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032506] ACPI: NHLT 0x000000007FFA9000 00002D (v00 HUAWEI KBL-ULT  00000002 ACPI 00040000)
[    0.032511] ACPI: FPDT 0x000000007FFA8000 000044 (v01 HUAWEI KBL-ULT  00000002 ACPI 00040000)
[    0.032516] ACPI: BGRT 0x000000007FFA7000 000038 (v01 HUAWEI KBL-ULT  00000001 ACPI 00040000)
[    0.032531] ACPI: Local APIC address 0xfee00000
[    0.032853] No NUMA configuration found
[    0.032855] Faking a node at [mem 0x0000000000000000-0x0000000171ffffff]
[    0.032861] NODE_DATA(0) allocated [mem 0x171ffc000-0x171ffffff]
[    0.032898] Zone ranges:
[    0.032900]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.032902]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.032905]   Normal   [mem 0x0000000100000000-0x0000000171ffffff]
[    0.032907]   Device   empty
[    0.032908] Movable zone start for each node
[    0.032910] Early memory node ranges
[    0.032912]   node   0: [mem 0x0000000000001000-0x0000000000057fff]
[    0.032913]   node   0: [mem 0x0000000000059000-0x000000000009dfff]
[    0.032915]   node   0: [mem 0x0000000000100000-0x0000000066825fff]
[    0.032916]   node   0: [mem 0x0000000066827000-0x000000006685afff]
[    0.032917]   node   0: [mem 0x000000006685c000-0x0000000067b87fff]
[    0.032919]   node   0: [mem 0x0000000068c88000-0x000000007ee9dfff]
[    0.032920]   node   0: [mem 0x000000007fffe000-0x000000007fffefff]
[    0.032921]   node   0: [mem 0x0000000100000000-0x0000000171ffffff]
[    0.033035] Zeroed struct page in unavailable ranges: 8903 pages
[    0.033037] Initmem setup node 0 [mem 0x0000000000001000-0x0000000171ffffff]
[    0.033041] On node 0 totalpages: 982329
[    0.033043]   DMA zone: 64 pages used for memmap
[    0.033044]   DMA zone: 22 pages reserved
[    0.033046]   DMA zone: 3996 pages, LIFO batch:0
[    0.033125]   DMA32 zone: 7991 pages used for memmap
[    0.033127]   DMA32 zone: 511389 pages, LIFO batch:63
[    0.045866]   Normal zone: 7296 pages used for memmap
[    0.045867]   Normal zone: 466944 pages, LIFO batch:63
[    0.054845] Reserving Intel graphics memory at [mem 0x89000000-0x8cffffff]
[    0.055537] ACPI: PM-Timer IO Port: 0x1808
[    0.055540] ACPI: Local APIC address 0xfee00000
[    0.055553] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.055555] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.055556] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.055557] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.055558] ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
[    0.055560] ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
[    0.055561] ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
[    0.055562] ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
[    0.055599] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119
[    0.055603] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.055606] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.055609] ACPI: IRQ0 used by override.
[    0.055611] ACPI: IRQ9 used by override.
[    0.055615] Using ACPI (MADT) for SMP configuration information
[    0.055618] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.055647] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.055707] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.055711] PM: Registered nosave memory: [mem 0x00058000-0x00058fff]
[    0.055714] PM: Registered nosave memory: [mem 0x0009e000-0x000fffff]
[    0.055717] PM: Registered nosave memory: [mem 0x66826000-0x66826fff]
[    0.055721] PM: Registered nosave memory: [mem 0x6685b000-0x6685bfff]
[    0.055724] PM: Registered nosave memory: [mem 0x67b88000-0x68c87fff]
[    0.055727] PM: Registered nosave memory: [mem 0x7ee9e000-0x7f09dfff]
[    0.055729] PM: Registered nosave memory: [mem 0x7f09e000-0x7f88dfff]
[    0.055730] PM: Registered nosave memory: [mem 0x7f88e000-0x7ff7dfff]
[    0.055731] PM: Registered nosave memory: [mem 0x7ff7e000-0x7fffdfff]
[    0.055735] PM: Registered nosave memory: [mem 0x7ffff000-0x8cffffff]
[    0.055736] PM: Registered nosave memory: [mem 0x8d000000-0xdfffffff]
[    0.055737] PM: Registered nosave memory: [mem 0xe0000000-0xefffffff]
[    0.055738] PM: Registered nosave memory: [mem 0xf0000000-0xfcffffff]
[    0.055739] PM: Registered nosave memory: [mem 0xfd000000-0xfe7fffff]
[    0.055741] PM: Registered nosave memory: [mem 0xfe800000-0xfebfffff]
[    0.055742] PM: Registered nosave memory: [mem 0xfec00000-0xfec00fff]
[    0.055743] PM: Registered nosave memory: [mem 0xfec01000-0xfecfffff]
[    0.055744] PM: Registered nosave memory: [mem 0xfed00000-0xfed00fff]
[    0.055745] PM: Registered nosave memory: [mem 0xfed01000-0xfed0ffff]
[    0.055747] PM: Registered nosave memory: [mem 0xfed10000-0xfed19fff]
[    0.055748] PM: Registered nosave memory: [mem 0xfed1a000-0xfed83fff]
[    0.055749] PM: Registered nosave memory: [mem 0xfed84000-0xfed84fff]
[    0.055750] PM: Registered nosave memory: [mem 0xfed85000-0xfedfffff]
[    0.055752] PM: Registered nosave memory: [mem 0xfee00000-0xfee00fff]
[    0.055753] PM: Registered nosave memory: [mem 0xfee01000-0xff9fffff]
[    0.055754] PM: Registered nosave memory: [mem 0xffa00000-0xffffffff]
[    0.055758] [mem 0x8d000000-0xdfffffff] available for PCI devices
[    0.055760] Booting paravirtualized kernel on bare hardware
[    0.055765] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370452778343963 ns
[    0.267610] setup_percpu: NR_CPUS:320 nr_cpumask_bits:320 nr_cpu_ids:4 nr_node_ids:1
[    0.268002] percpu: Embedded 54 pages/cpu s184320 r8192 d28672 u524288
[    0.268019] pcpu-alloc: s184320 r8192 d28672 u524288 alloc=1*2097152
[    0.268021] pcpu-alloc: [0] 0 1 2 3 
[    0.268061] Built 1 zonelists, mobility grouping on.  Total pages: 966956
[    0.268063] Policy zone: Normal
[    0.268066] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=ed16dad4-073a-47d3-aa81-d3b6c1441d82 rw audit=0 loglevel=3 quiet
[    0.268152] audit: disabled (until reboot)
[    0.275921] Calgary: detecting Calgary via BIOS EBDA area
[    0.275924] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
[    0.291598] Memory: 3707924K/3929316K available (12291K kernel code, 1319K rwdata, 3900K rodata, 1612K init, 3616K bss, 221392K reserved, 0K cma-reserved)
[    0.291830] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.291850] Kernel/User page tables isolation: enabled
[    0.291876] ftrace: allocating 37366 entries in 146 pages
[    0.324336] rcu: Preemptible hierarchical RCU implementation.
[    0.324338] rcu:     CONFIG_RCU_FANOUT set to non-default value of 32.
[    0.324342] rcu:     RCU dyntick-idle grace-period acceleration is enabled.
[    0.324345] rcu:     RCU restricting CPUs from NR_CPUS=320 to nr_cpu_ids=4.
[    0.324346] rcu:     RCU priority boosting: priority 1 delay 500 ms.
[    0.324353]  Tasks RCU enabled.
[    0.324357] rcu: RCU calculated value of scheduler-enlistment delay is 30 jiffies.
[    0.324358] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.327784] NR_IRQS: 20736, nr_irqs: 1024, preallocated irqs: 16
[    0.328073] rcu:     Offload RCU callbacks from CPUs: (none).
[    0.328279] random: get_random_bytes called from start_kernel+0x37e/0x559 with crng_init=0
[    0.328323] Console: colour dummy device 80x25
[    0.328330] printk: console [tty0] enabled
[    0.328364] ACPI: Core revision 20190509
[    0.329170] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635855245 ns
[    0.329207] hpet clockevent registered
[    0.329269] APIC: Switch to symmetric I/O mode setup
[    0.329274] DMAR: Host address width 39
[    0.329276] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.329288] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[    0.329290] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.329299] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.329301] DMAR: RMRR base: 0x0000007f78a000 end: 0x0000007f7a9fff
[    0.329305] DMAR: RMRR base: 0x00000088800000 end: 0x0000008cffffff
[    0.329307] DMAR: ANDD device: 1 name: \_SB.PCI0.I2C0
[    0.329309] DMAR: ANDD device: 2 name: \_SB.PCI0.I2C1
[    0.329310] DMAR: ANDD device: 3 name: \_SB.PCI0.I2C2
[    0.329311] DMAR: ANDD device: 7 name: \_SB.PCI0.SPI0
[    0.329312] DMAR: ANDD device: 8 name: \_SB.PCI0.SPI1
[    0.329313] DMAR: ANDD device: 9 name: \_SB.PCI0.UA00
[    0.329316] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.329317] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.329319] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.331181] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.331183] x2apic enabled
[    0.331203] Switched APIC routing to cluster x2apic.
[    0.335380] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.349227] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x172daa3a18b, max_idle_ns: 440795212390 ns
[    0.349236] Calibrating delay loop (skipped), value calculated using timer frequency.. 3217.00 BogoMIPS (lpj=5360000)
[    0.349240] pid_max: default: 32768 minimum: 301
[    0.355700] LSM: Security Framework initializing
[    0.355709] Yama: becoming mindful.
[    0.356721] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.357235] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.357268] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.357285] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.357566] *** VALIDATE proc ***
[    0.357654] *** VALIDATE cgroup1 ***
[    0.357656] *** VALIDATE cgroup2 ***
[    0.357755] mce: CPU0: Thermal monitoring enabled (TM1)
[    0.357793] process: using mwait in idle threads
[    0.357798] Last level iTLB entries: 4KB 64, 2MB 8, 4MB 8
[    0.357800] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0, 1GB 4
[    0.357802] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.357804] Spectre V2 : Mitigation: Full generic retpoline
[    0.357806] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.357807] Spectre V2 : Enabling Restricted Speculation for firmware calls
[    0.357811] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
[    0.357812] Spectre V2 : User space: Mitigation: STIBP via seccomp and prctl
[    0.357815] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
[    0.357821] MDS: Mitigation: Clear CPU buffers
[    0.358340] Freeing SMP alternatives memory: 32K
[    0.362744] TSC deadline timer enabled
[    0.362757] smpboot: CPU0: Intel(R) Core(TM) i5-7Y54 CPU @ 1.20GHz (family: 0x6, model: 0x8e, stepping: 0x9)
[    0.382629] Performance Events: PEBS fmt3+, Skylake events, 32-deep LBR, full-width counters, Intel PMU driver.
[    0.382645] ... version:                4
[    0.382646] ... bit width:              48
[    0.382647] ... generic registers:      4
[    0.382649] ... value mask:             0000ffffffffffff
[    0.382650] ... max period:             00007fffffffffff
[    0.382651] ... fixed-purpose events:   3
[    0.382653] ... event mask:             000000070000000f
[    0.389248] rcu: Hierarchical SRCU implementation.
[    0.412802] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
[    0.419276] smp: Bringing up secondary CPUs ...
[    0.459303] x86: Booting SMP configuration:
[    0.459305] .... node  #0, CPUs:      #1 #2
[    0.501751] MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
[    0.539309]  #3
[    0.541207] smp: Brought up 1 node, 4 CPUs
[    0.541207] smpboot: Max logical packages: 1
[    0.541207] smpboot: Total of 4 processors activated (12869.00 BogoMIPS)
[    0.542890] devtmpfs: initialized
[    0.542890] x86/mm: Memory block size: 128MB
[    0.543391] PM: Registering ACPI NVS region [mem 0x66826000-0x66826fff] (4096 bytes)
[    0.543391] PM: Registering ACPI NVS region [mem 0x67b88000-0x68c87fff] (17825792 bytes)
[    0.543391] PM: Registering ACPI NVS region [mem 0x7f88e000-0x7ff7dfff] (7274496 bytes)
[    0.543391] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[    0.543391] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.543391] pinctrl core: initialized pinctrl subsystem
[    0.543391] PM: RTC time: 15:54:01, date: 2019-08-27
[    0.543391] NET: Registered protocol family 16
[    0.543520] cpuidle: using governor ladder
[    0.543520] cpuidle: using governor menu
[    0.545945] Simple Boot Flag at 0x44 set to 0x1
[    0.546001] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.546003] ACPI: bus type PCI registered
[    0.546006] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.546161] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[    0.546181] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.546181] PCI: Using configuration type 1 for base access
[    0.546288] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.547567] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.547567] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.552739] ACPI: Added _OSI(Module Device)
[    0.552741] ACPI: Added _OSI(Processor Device)
[    0.552743] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.552745] ACPI: Added _OSI(Processor Aggregator Device)
[    0.552750] ACPI: Added _OSI(Linux-Dell-Video)
[    0.552752] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.552756] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.634475] ACPI: 11 ACPI AML tables successfully acquired and loaded
[    0.638261] ACPI: EC: EC started
[    0.638262] ACPI: EC: interrupt blocked
[    0.642932] ACPI: \: Used as first EC
[    0.642935] ACPI: \: GPE=0x50, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    0.642936] ACPI: EC: Boot ECDT EC used to handle transactions
[    0.648608] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.709586] ACPI: Dynamic OEM Table Load:
[    0.709615] ACPI: SSDT 0xFFFF8D52EC817800 000507 (v02 PmRef  Cpu0Ist  00003000 INTL 20160527)
[    0.710800] ACPI: \_PR_.CPU0: _OSC native thermal LVT Acked
[    0.713212] ACPI: Dynamic OEM Table Load:
[    0.713227] ACPI: SSDT 0xFFFF8D52ECBD0C00 0003FF (v02 PmRef  Cpu0Cst  00003001 INTL 20160527)
[    0.714340] ACPI: Dynamic OEM Table Load:
[    0.714352] ACPI: SSDT 0xFFFF8D52ECB04600 000115 (v02 PmRef  Cpu0Hwp  00003000 INTL 20160527)
[    0.715130] ACPI: Dynamic OEM Table Load:
[    0.715141] ACPI: SSDT 0xFFFF8D52ECB05400 0001A4 (v02 PmRef  HwpLvt   00003000 INTL 20160527)
[    0.716783] ACPI: Dynamic OEM Table Load:
[    0.716799] ACPI: SSDT 0xFFFF8D52EC815000 00065C (v02 PmRef  ApIst    00003000 INTL 20160527)
[    0.718555] ACPI: Dynamic OEM Table Load:
[    0.718567] ACPI: SSDT 0xFFFF8D52ECB05600 000197 (v02 PmRef  ApHwp    00003000 INTL 20160527)
[    0.719603] ACPI: Dynamic OEM Table Load:
[    0.719614] ACPI: SSDT 0xFFFF8D52ECB04400 00018A (v02 PmRef  ApCst    00003000 INTL 20160527)
[    0.723391] ACPI: Interpreter enabled
[    0.723494] ACPI: (supports S0 S3 S4 S5)
[    0.723496] ACPI: Using IOAPIC for interrupt routing
[    0.723582] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.725054] ACPI: Enabled 6 GPEs in block 00 to 7F
[    0.752080] ACPI: Power Resource [WRST] (on)
[    0.752906] ACPI: Power Resource [WRST] (on)
[    0.753721] ACPI: Power Resource [WRST] (on)
[    0.754537] ACPI: Power Resource [WRST] (on)
[    0.755343] ACPI: Power Resource [WRST] (on)
[    0.756155] ACPI: Power Resource [WRST] (on)
[    0.756959] ACPI: Power Resource [WRST] (on)
[    0.757759] ACPI: Power Resource [WRST] (on)
[    0.758880] ACPI: Power Resource [WRST] (on)
[    0.759688] ACPI: Power Resource [WRST] (on)
[    0.760491] ACPI: Power Resource [WRST] (on)
[    0.761291] ACPI: Power Resource [WRST] (on)
[    0.762021] ACPI: Power Resource [WRST] (on)
[    0.762779] ACPI: Power Resource [WRST] (on)
[    0.763526] ACPI: Power Resource [WRST] (on)
[    0.764258] ACPI: Power Resource [WRST] (on)
[    0.764997] ACPI: Power Resource [WRST] (on)
[    0.765734] ACPI: Power Resource [WRST] (on)
[    0.766471] ACPI: Power Resource [WRST] (on)
[    0.767207] ACPI: Power Resource [WRST] (on)
[    0.789276] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
[    0.789288] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    0.796047] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]
[    0.796049] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using BIOS configuration
[    0.801147] PCI host bridge to bus 0000:00
[    0.801151] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.801154] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.801156] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.801158] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000c3fff window]
[    0.801160] pci_bus 0000:00: root bus resource [mem 0x000c4000-0x000c7fff window]
[    0.801162] pci_bus 0000:00: root bus resource [mem 0x000c8000-0x000cbfff window]
[    0.801164] pci_bus 0000:00: root bus resource [mem 0x000cc000-0x000cffff window]
[    0.801166] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3fff window]
[    0.801167] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff window]
[    0.801169] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff window]
[    0.801171] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff window]
[    0.801173] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000e3fff window]
[    0.801175] pci_bus 0000:00: root bus resource [mem 0x000e4000-0x000e7fff window]
[    0.801177] pci_bus 0000:00: root bus resource [mem 0x000e8000-0x000ebfff window]
[    0.801179] pci_bus 0000:00: root bus resource [mem 0x000ec000-0x000effff window]
[    0.801180] pci_bus 0000:00: root bus resource [mem 0x000f0000-0x000fffff window]
[    0.801182] pci_bus 0000:00: root bus resource [mem 0x8d000000-0xdfffffff window]
[    0.801184] pci_bus 0000:00: root bus resource [mem 0xfd000000-0xfe7fffff window]
[    0.801187] pci_bus 0000:00: root bus resource [bus 00-fe]
[    0.801203] pci 0000:00:00.0: [8086:590c] type 00 class 0x060000
[    0.803155] pci 0000:00:02.0: [8086:591e] type 00 class 0x030000
[    0.803178] pci 0000:00:02.0: reg 0x10: [mem 0xa0000000-0xa0ffffff 64bit]
[    0.803190] pci 0000:00:02.0: reg 0x18: [mem 0x90000000-0x9fffffff 64bit pref]
[    0.803198] pci 0000:00:02.0: reg 0x20: [io  0x3000-0x303f]
[    0.803229] pci 0000:00:02.0: BAR 2: assigned to efifb
[    0.805185] pci 0000:00:04.0: [8086:1903] type 00 class 0x118000
[    0.805210] pci 0000:00:04.0: reg 0x10: [mem 0xa1530000-0xa1537fff 64bit]
[    0.807248] pci 0000:00:05.0: [8086:1919] type 00 class 0x048000
[    0.807271] pci 0000:00:05.0: reg 0x10: [mem 0xa1000000-0xa13fffff 64bit]
[    0.809263] pci 0000:00:13.0: [8086:9d35] type 00 class 0x000000
[    0.809299] pci 0000:00:13.0: reg 0x10: [mem 0xa1542000-0xa1542fff 64bit]
[    0.811357] pci 0000:00:14.0: [8086:9d2f] type 00 class 0x0c0330
[    0.811391] pci 0000:00:14.0: reg 0x10: [mem 0xa1500000-0xa150ffff 64bit]
[    0.811501] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    0.813639] pci 0000:00:14.2: [8086:9d31] type 00 class 0x118000
[    0.813673] pci 0000:00:14.2: reg 0x10: [mem 0xa1543000-0xa1543fff 64bit]
[    0.815794] pci 0000:00:14.3: [8086:9d32] type 00 class 0x048000
[    0.815926] pci 0000:00:14.3: reg 0x10: [mem 0xa1510000-0xa151ffff 64bit]
[    0.818494] pci 0000:00:15.0: [8086:9d60] type 00 class 0x118000
[    0.818759] pci 0000:00:15.0: reg 0x10: [mem 0xa1544000-0xa1544fff 64bit]
[    0.821805] pci 0000:00:15.1: [8086:9d61] type 00 class 0x118000
[    0.822069] pci 0000:00:15.1: reg 0x10: [mem 0xa1545000-0xa1545fff 64bit]
[    0.825121] pci 0000:00:15.2: [8086:9d62] type 00 class 0x118000
[    0.825385] pci 0000:00:15.2: reg 0x10: [mem 0xa1546000-0xa1546fff 64bit]
[    0.828363] pci 0000:00:16.0: [8086:9d3a] type 00 class 0x078000
[    0.828402] pci 0000:00:16.0: reg 0x10: [mem 0xa1547000-0xa1547fff 64bit]
[    0.828518] pci 0000:00:16.0: PME# supported from D3hot
[    0.830688] pci 0000:00:17.0: [8086:9d03] type 00 class 0x010601
[    0.830718] pci 0000:00:17.0: reg 0x10: [mem 0xa1540000-0xa1541fff]
[    0.830730] pci 0000:00:17.0: reg 0x14: [mem 0xa154d000-0xa154d0ff]
[    0.830743] pci 0000:00:17.0: reg 0x18: [io  0x3080-0x3087]
[    0.830755] pci 0000:00:17.0: reg 0x1c: [io  0x3088-0x308b]
[    0.830767] pci 0000:00:17.0: reg 0x20: [io  0x3060-0x307f]
[    0.830779] pci 0000:00:17.0: reg 0x24: [mem 0xa154b000-0xa154b7ff]
[    0.830856] pci 0000:00:17.0: PME# supported from D3hot
[    0.833031] pci 0000:00:1d.0: [8086:9d18] type 01 class 0x060400
[    0.833189] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[    0.835548] pci 0000:00:1e.0: [8086:9d27] type 00 class 0x118000
[    0.835819] pci 0000:00:1e.0: reg 0x10: [mem 0xa1548000-0xa1548fff 64bit]
[    0.838887] pci 0000:00:1e.2: [8086:9d29] type 00 class 0x118000
[    0.839158] pci 0000:00:1e.2: reg 0x10: [mem 0xa1549000-0xa1549fff 64bit]
[    0.842212] pci 0000:00:1e.3: [8086:9d2a] type 00 class 0x118000
[    0.842482] pci 0000:00:1e.3: reg 0x10: [mem 0xa154a000-0xa154afff 64bit]
[    0.845465] pci 0000:00:1f.0: [8086:9d4b] type 00 class 0x060100
[    0.847759] pci 0000:00:1f.2: [8086:9d21] type 00 class 0x058000
[    0.847790] pci 0000:00:1f.2: reg 0x10: [mem 0xa153c000-0xa153ffff]
[    0.850014] pci 0000:00:1f.3: [8086:9d71] type 00 class 0x040380
[    0.850061] pci 0000:00:1f.3: reg 0x10: [mem 0xa1538000-0xa153bfff 64bit]
[    0.850109] pci 0000:00:1f.3: reg 0x20: [mem 0xa1520000-0xa152ffff 64bit]
[    0.850192] pci 0000:00:1f.3: PME# supported from D3hot D3cold
[    0.852426] pci 0000:00:1f.4: [8086:9d23] type 00 class 0x0c0500
[    0.852490] pci 0000:00:1f.4: reg 0x10: [mem 0xa154c000-0xa154c0ff 64bit]
[    0.852563] pci 0000:00:1f.4: reg 0x20: [io  0x3040-0x305f]
[    0.855295] pci 0000:01:00.0: [8086:24fd] type 00 class 0x028000
[    0.855456] pci 0000:01:00.0: reg 0x10: [mem 0xa1400000-0xa1401fff 64bit]
[    0.856363] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.857342] pci 0000:00:1d.0: PCI bridge to [bus 01]
[    0.857351] pci 0000:00:1d.0:   bridge window [mem 0xa1400000-0xa14fffff]
[    0.889655] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.889811] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *10 11 12 14 15)
[    0.889961] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.890110] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.890260] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.890414] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.890562] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.890711] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 *11 12 14 15)
[    0.893042] platform MSFT0101:00: failed to claim resource 1: [mem 0xfed40000-0xfed40fff]
[    0.893047] acpi MSFT0101:00: platform device creation failed: -16
[    0.893717] ACPI: EC: interrupt unblocked
[    0.893749] ACPI: EC: event unblocked
[    0.893806] ACPI: \_SB_.PCI0.LPCB.EC0_: GPE=0x50, EC_CMD/EC_SC=0x66, EC_DATA=0x62
[    0.893809] ACPI: \_SB_.PCI0.LPCB.EC0_: Boot DSDT EC used to handle transactions and events
[    0.893992] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    0.893992] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    0.893992] pci 0000:00:02.0: vgaarb: bridge control possible
[    0.893992] vgaarb: loaded
[    0.893992] ACPI: bus type USB registered
[    0.893992] usbcore: registered new interface driver usbfs
[    0.893992] usbcore: registered new interface driver hub
[    0.893992] usbcore: registered new device driver usb
[    0.893992] pps_core: LinuxPPS API ver. 1 registered
[    0.893992] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.893992] PTP clock support registered
[    0.893992] EDAC MC: Ver: 3.0.0
[    0.893992] Registered efivars operations
[    0.973478] PCI: Using ACPI for IRQ routing
[    1.003251] PCI: pci_cache_line_size set to 64 bytes
[    1.004047] e820: reserve RAM buffer [mem 0x00058000-0x0005ffff]
[    1.004050] e820: reserve RAM buffer [mem 0x0009e000-0x0009ffff]
[    1.004051] e820: reserve RAM buffer [mem 0x66826000-0x67ffffff]
[    1.004053] e820: reserve RAM buffer [mem 0x6685b000-0x67ffffff]
[    1.004055] e820: reserve RAM buffer [mem 0x67b88000-0x67ffffff]
[    1.004056] e820: reserve RAM buffer [mem 0x7ee9e000-0x7fffffff]
[    1.004059] e820: reserve RAM buffer [mem 0x7ffff000-0x7fffffff]
[    1.004061] e820: reserve RAM buffer [mem 0x172000000-0x173ffffff]
[    1.004245] NetLabel: Initializing
[    1.004246] NetLabel:  domain hash size = 128
[    1.004247] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    1.004272] NetLabel:  unlabeled traffic allowed by default
[    1.005941] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    1.005949] hpet0: 8 comparators, 64-bit 24.000000 MHz counter
[    1.009084] clocksource: Switched to clocksource tsc-early
[    1.027291] VFS: Disk quotas dquot_6.6.0
[    1.027318] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.027367] *** VALIDATE hugetlbfs ***
[    1.027450] pnp: PnP ACPI init
[    1.027888] system 00:00: [mem 0xfd000000-0xfdabffff] has been reserved
[    1.027891] system 00:00: [mem 0xfdad0000-0xfdadffff] has been reserved
[    1.027894] system 00:00: [mem 0xfdb00000-0xfdffffff] has been reserved
[    1.027897] system 00:00: [mem 0xfe000000-0xfe01ffff] has been reserved
[    1.027899] system 00:00: [mem 0xfe036000-0xfe03bfff] has been reserved
[    1.027902] system 00:00: [mem 0xfe03d000-0xfe3fffff] has been reserved
[    1.027904] system 00:00: [mem 0xfe410000-0xfe7fffff] has been reserved
[    1.027914] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.028729] system 00:01: [io  0x2000-0x20fe] has been reserved
[    1.028736] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.029103] system 00:02: [io  0x0680-0x069f] has been reserved
[    1.029106] system 00:02: [io  0xffff] has been reserved
[    1.029108] system 00:02: [io  0xffff] has been reserved
[    1.029111] system 00:02: [io  0xffff] has been reserved
[    1.029113] system 00:02: [io  0x1800-0x18fe] has been reserved
[    1.029116] system 00:02: [io  0x164e-0x164f] has been reserved
[    1.029122] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.029386] pnp 00:03: Plug and Play ACPI device, IDs PNP0b00 (active)
[    1.029480] system 00:04: [io  0x1854-0x1857] has been reserved
[    1.029486] system 00:04: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    1.043169] pnp 00:05: Plug and Play ACPI device, IDs PNP0303 (active)
[    1.046400] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.047778] system 00:07: [mem 0xfed10000-0xfed17fff] has been reserved
[    1.047781] system 00:07: [mem 0xfed18000-0xfed18fff] has been reserved
[    1.047784] system 00:07: [mem 0xfed19000-0xfed19fff] has been reserved
[    1.047786] system 00:07: [mem 0xe0000000-0xefffffff] has been reserved
[    1.047789] system 00:07: [mem 0xfed20000-0xfed3ffff] has been reserved
[    1.047792] system 00:07: [mem 0xfed90000-0xfed93fff] could not be reserved
[    1.047794] system 00:07: [mem 0xfed45000-0xfed8ffff] could not be reserved
[    1.047797] system 00:07: [mem 0xff000000-0xffffffff] could not be reserved
[    1.047800] system 00:07: [mem 0xfee00000-0xfeefffff] could not be reserved
[    1.047803] system 00:07: [mem 0x8d000000-0x8d01ffff] has been reserved
[    1.047810] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.084919] pnp: PnP ACPI: found 8 devices
[    1.091962] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    1.091980] pci 0000:00:1d.0: PCI bridge to [bus 01]
[    1.091998] pci 0000:00:1d.0:   bridge window [mem 0xa1400000-0xa14fffff]
[    1.092020] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    1.092023] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    1.092025] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    1.092028] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000c3fff window]
[    1.092030] pci_bus 0000:00: resource 8 [mem 0x000c4000-0x000c7fff window]
[    1.092032] pci_bus 0000:00: resource 9 [mem 0x000c8000-0x000cbfff window]
[    1.092035] pci_bus 0000:00: resource 10 [mem 0x000cc000-0x000cffff window]
[    1.092037] pci_bus 0000:00: resource 11 [mem 0x000d0000-0x000d3fff window]
[    1.092039] pci_bus 0000:00: resource 12 [mem 0x000d4000-0x000d7fff window]
[    1.092041] pci_bus 0000:00: resource 13 [mem 0x000d8000-0x000dbfff window]
[    1.092043] pci_bus 0000:00: resource 14 [mem 0x000dc000-0x000dffff window]
[    1.092046] pci_bus 0000:00: resource 15 [mem 0x000e0000-0x000e3fff window]
[    1.092048] pci_bus 0000:00: resource 16 [mem 0x000e4000-0x000e7fff window]
[    1.092050] pci_bus 0000:00: resource 17 [mem 0x000e8000-0x000ebfff window]
[    1.092052] pci_bus 0000:00: resource 18 [mem 0x000ec000-0x000effff window]
[    1.092054] pci_bus 0000:00: resource 19 [mem 0x000f0000-0x000fffff window]
[    1.092057] pci_bus 0000:00: resource 20 [mem 0x8d000000-0xdfffffff window]
[    1.092059] pci_bus 0000:00: resource 21 [mem 0xfd000000-0xfe7fffff window]
[    1.092062] pci_bus 0000:01: resource 1 [mem 0xa1400000-0xa14fffff]
[    1.092459] NET: Registered protocol family 2
[    1.092747] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes)
[    1.092781] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[    1.092890] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
[    1.092999] TCP: Hash tables configured (established 32768 bind 32768)
[    1.093049] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    1.093071] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    1.093186] NET: Registered protocol family 1
[    1.093196] NET: Registered protocol family 44
[    1.093215] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    1.095818] PCI: CLS 64 bytes, default 64
[    1.095878] Trying to unpack rootfs image as initramfs...
[    1.384748] Freeing initrd memory: 11536K
[    1.384809] DMAR: ACPI device "device:75" under DMAR at fed91000 as 00:15.0
[    1.384815] DMAR: ACPI device "device:76" under DMAR at fed91000 as 00:15.1
[    1.384820] DMAR: ACPI device "device:77" under DMAR at fed91000 as 00:15.2
[    1.384825] DMAR: ACPI device "device:78" under DMAR at fed91000 as 00:1e.2
[    1.384829] DMAR: ACPI device "device:79" under DMAR at fed91000 as 00:1e.3
[    1.384833] DMAR: ACPI device "device:7a" under DMAR at fed91000 as 00:1e.0
[    1.406005] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.406009] software IO TLB: mapped [mem 0x7a960000-0x7e960000] (64MB)
[    1.406083] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x172daa3a18b, max_idle_ns: 440795212390 ns
[    1.406109] clocksource: Switched to clocksource tsc
[    1.406268] check: Scanning for low memory corruption every 60 seconds
[    1.407427] Initialise system trusted keyrings
[    1.407443] Key type blacklist registered
[    1.407532] workingset: timestamp_bits=41 max_order=20 bucket_order=0
[    1.410021] zbud: loaded
[    1.413434] Key type asymmetric registered
[    1.413437] Asymmetric key parser 'x509' registered
[    1.413449] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    1.413530] io scheduler mq-deadline registered
[    1.413531] io scheduler kyber registered
[    1.413605] io scheduler bfq registered
[    1.414465] pcieport 0000:00:1d.0: PME: Signaling with IRQ 122
[    1.414599] pcieport 0000:00:1d.0: AER: enabled with IRQ 122
[    1.414764] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.414941] efifb: probing for efifb
[    1.414974] efifb: showing boot graphics
[    1.416828] efifb: framebuffer at 0x90000000, using 12160k, total 12160k
[    1.416830] efifb: mode is 2160x1440x32, linelength=8640, pages=1
[    1.416831] efifb: scrolling: redraw
[    1.416834] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    1.416911] fbcon: Deferring console take-over
[    1.416913] fb0: EFI VGA frame buffer device
[    1.416927] intel_idle: MWAIT substates: 0x11142120
[    1.416929] intel_idle: v0.4.1 model 0x8E
[    1.417377] intel_idle: lapic_timer_reliable_states 0xffffffff
[    1.417567] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    1.417592] ACPI: Lid Switch [LID]
[    1.417655] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[    1.417668] ACPI: Power Button [PWRB]
[    1.417727] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[    1.419321] ACPI: Power Button [PWRF]
[    1.422876] thermal LNXTHERM:00: registered as thermal_zone0
[    1.422879] ACPI: Thermal Zone [THRM] (35 C)
[    1.423363] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.425358] usbcore: registered new interface driver usbserial_generic
[    1.425366] usbserial: USB Serial support registered for generic
[    1.425406] rtc_cmos 00:03: RTC can wake from S4
[    1.425941] rtc_cmos 00:03: registered as rtc0
[    1.425970] rtc_cmos 00:03: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    1.426083] intel_pstate: Intel P-state driver initializing
[    1.426559] intel_pstate: HWP enabled
[    1.426634] ledtrig-cpu: registered to indicate activity on CPUs
[    1.426792] intel_pmc_core intel_pmc_core.0:  initialized
[    1.427195] NET: Registered protocol family 10
[    1.442010] Segment Routing with IPv6
[    1.442053] NET: Registered protocol family 17
[    1.442603] mce: Using 8 MCE banks
[    1.442629] RAS: Correctable Errors collector initialized.
[    1.442716] microcode: sig=0x806e9, pf=0x80, revision=0xb4
[    1.442860] microcode: Microcode Update Driver: v2.2.
[    1.442884] sched_clock: Marking stable (1445123321, -2278408)->(1463486496, -20641583)
[    1.443300] registered taskstats version 1
[    1.443315] Loading compiled-in X.509 certificates
[    1.451565] Loaded X.509 cert 'Build time autogenerated kernel key: 5a9fa50c8058f9b75a5c66bf71e288f343173c74'
[    1.451621] zswap: loaded using pool lzo/zbud
[    1.466022] Key type big_key registered
[    1.468363] PM:   Magic number: 15:523:943
[    1.468395] tty tty0: hash matches
[    1.468397] tty console: hash matches
[    1.468633] rtc_cmos 00:03: setting system clock to 2019-08-27T15:54:02 UTC (1566921242)
[    1.471015] Freeing unused decrypted memory: 2040K
[    1.471600] Freeing unused kernel image memory: 1612K
[    1.476195] Write protecting the kernel read-only data: 18432k
[    1.477305] Freeing unused kernel image memory: 2012K
[    1.477568] Freeing unused kernel image memory: 196K
[    1.494493] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.494494] x86/mm: Checking user space page tables
[    1.504169] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.504171] Run /init as init process
[    1.596293] fbcon: Taking over console
[    1.596355] Console: switching to colour frame buffer device 270x90
[    1.657395] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[    1.657397] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    1.661004] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.669694] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    1.669702] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    1.669784] SCSI subsystem initialized
[    1.670817] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x100 quirks 0x0000000081109810
[    1.670822] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    1.671008] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.02
[    1.671009] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.671011] usb usb1: Product: xHCI Host Controller
[    1.671012] usb usb1: Manufacturer: Linux 5.2.9-arch1-1-ARCH xhci-hcd
[    1.671012] usb usb1: SerialNumber: 0000:00:14.0
[    1.671141] hub 1-0:1.0: USB hub found
[    1.671163] hub 1-0:1.0: 12 ports detected
[    1.673761] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    1.673766] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    1.673770] xhci_hcd 0000:00:14.0: Host supports USB 3.0 SuperSpeed
[    1.673831] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.02
[    1.673833] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.673835] usb usb2: Product: xHCI Host Controller
[    1.673836] usb usb2: Manufacturer: Linux 5.2.9-arch1-1-ARCH xhci-hcd
[    1.673837] usb usb2: SerialNumber: 0000:00:14.0
[    1.673949] hub 2-0:1.0: USB hub found
[    1.673968] hub 2-0:1.0: 6 ports detected
[    1.674539] usb: port power management may be unreliable
[    1.682393] libata version 3.00 loaded.
[    1.687878] ahci 0000:00:17.0: version 3.0
[    1.688183] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x1 impl SATA mode
[    1.688185] ahci 0000:00:17.0: flags: 64bit ncq pm led clo only pio slum part deso sadm sds apst 
[    1.688515] scsi host0: ahci
[    1.688674] scsi host1: ahci
[    1.688758] ata1: SATA max UDMA/133 abar m2048@0xa154b000 port 0xa154b100 irq 124
[    1.688760] ata2: DUMMY
[    1.697875] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[    2.001527] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.002717] usb 1-3: new full-speed USB device number 2 using xhci_hcd
[    2.002864] ata1.00: ATA-9: SanDisk SD8SN8U256G1027, X4130000, max UDMA/133
[    2.002874] ata1.00: 500118192 sectors, multi 1: LBA48 NCQ (depth 32), AA
[    2.005136] ata1.00: configured for UDMA/133
[    2.005967] scsi 0:0:0:0: Direct-Access     ATA      SanDisk SD8SN8U2 0000 PQ: 0 ANSI: 5
[    2.018343] sd 0:0:0:0: [sda] 500118192 512-byte logical blocks: (256 GB/238 GiB)
[    2.018386] sd 0:0:0:0: [sda] Write Protect is off
[    2.018393] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.018537] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.023275]  sda: sda1 sda2 sda3 sda4 sda5 sda6
[    2.024600] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.139867] random: fast init done
[    2.147267] usb 1-3: New USB device found, idVendor=12d1, idProduct=1097, bcdDevice= 2.00
[    2.147270] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.147272] usb 1-3: Product: USB-HID KB MS
[    2.147274] usb 1-3: Manufacturer: HOLTEK
[    2.154615] hidraw: raw HID events driver (C) Jiri Kosina
[    2.162056] usbcore: registered new interface driver usbhid
[    2.162058] usbhid: USB HID core driver
[    2.164795] input: HOLTEK USB-HID KB MS as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:12D1:1097.0001/input/input4
[    2.201392] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[    2.219602] hid-generic 0003:12D1:1097.0001: input,hidraw0: USB HID v1.10 Keyboard [HOLTEK USB-HID KB MS] on usb-0000:00:14.0-3/input0
[    2.219722] input: HOLTEK USB-HID KB MS Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:12D1:1097.0002/input/input5
[    2.272659] usb 1-5: new full-speed USB device number 3 using xhci_hcd
[    2.276094] input: HOLTEK USB-HID KB MS as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:12D1:1097.0002/input/input6
[    2.276408] hid-generic 0003:12D1:1097.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [HOLTEK USB-HID KB MS] on usb-0000:00:14.0-3/input1
[    2.277110] input: HOLTEK USB-HID KB MS Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:12D1:1097.0003/input/input7
[    2.277177] input: HOLTEK USB-HID KB MS Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:12D1:1097.0003/input/input8
[    2.277546] hid-generic 0003:12D1:1097.0003: input,hiddev1,hidraw2: USB HID v1.10 Mouse [HOLTEK USB-HID KB MS] on usb-0000:00:14.0-3/input2
[    2.278066] hid-generic 0003:12D1:1097.0004: hiddev2,hidraw3: USB HID v1.10 Device [HOLTEK USB-HID KB MS] on usb-0000:00:14.0-3/input3
[    2.409645] systemd[1]: systemd 242.84-2-arch running in system mode. (+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[    2.414986] usb 1-5: New USB device found, idVendor=8087, idProduct=0a2b, bcdDevice= 0.10
[    2.414997] usb 1-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.426399] systemd[1]: Detected architecture x86-64.
[    2.434033] systemd[1]: Set hostname to <jannis-matebook-e>.
[    2.703549] systemd[1]: /usr/lib/systemd/system/teamviewerd.service:9: PIDFile= references a path below legacy directory /var/run/, updating /var/run/teamviewerd.pid → /run/teamviewerd.pid; please update the unit file accordingly.
[    2.719430] systemd[1]: Listening on Device-mapper event daemon FIFOs.
[    2.719591] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    2.719606] systemd[1]: Reached target Login Prompts.
[    2.719672] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    2.720041] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    2.724935] systemd[1]: Listening on Process Core Dump Socket.
[    2.757867] EXT4-fs (sda2): re-mounted. Opts: (null)
[    2.757891] random: lvm: uninitialized urandom read (4 bytes read)
[    2.761312] vfs_monitor: loading out-of-tree module taints kernel.
[    2.761343] vfs_monitor: module verification failed: signature and/or required key missing - tainting kernel
[    2.761900] mp: /, major: 8, minor: 2
[    2.761903] partition count: 1, comm[276]: systemd-modules, path: /usr/lib/systemd/systemd-modules-load, cmdline: /usr/lib/systemd/systemd-modules-load
[    2.791508] random: systemd-random-: uninitialized urandom read (512 bytes read)
[    2.861284] register_kretprobes 10 ok
[    2.880488] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.908378] vboxdrv: Found 4 processor cores
[    2.926072] vboxdrv: TSC mode is Invariant, tentative frequency 1607999602 Hz
[    2.926073] vboxdrv: Successfully loaded version 6.0.10 (interface 0x00290008)
[    2.929827] VBoxPciLinuxInit
[    2.929831] vboxpci: IOMMU not found (not registered)
[    2.932365] VBoxNetAdp: Successfully started.
[    2.936419] VBoxNetFlt: Successfully started.
[    3.066313] systemd-journald[284]: Received request to flush runtime journal from PID 1
[    3.330868] input: Intel HID events as /devices/platform/INT33D5:00/input/input9
[    3.330933] intel-hid INT33D5:00: platform supports 5 button array
[    3.330972] input: Intel HID 5 button array as /devices/platform/INT33D5:00/input/input10
[    3.332925] ACPI: AC Adapter [AC0] (off-line)
[    3.397014] acpi PNP0C14:02: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:01)
[    3.457094] intel-lpss 0000:00:15.0: enabling device (0000 -> 0002)
[    3.468934] idma64 idma64.0: Found Intel integrated DMA 64-bit
[    3.474820] proc_thermal 0000:00:04.0: Creating sysfs group for PROC_THERMAL_PCI
[    3.477372] media: Linux media interface: v0.10
[    3.523621] mei_me 0000:00:16.0: enabling device (0000 -> 0002)
[    3.564884] videodev: Linux video capture interface: v2.00
[    3.589138] Linux agpgart interface v0.103
[    3.603983] input: Intel Virtual Button driver as /devices/platform/INT33D6:00/input/input11
[    3.626094] Adding 8308732k swap on /dev/sda3.  Priority:-2 extents:1 across:8308732k SSFS
[    3.637633] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.640972] partition /tmp [0, 45] added, comm[367]: mount
[    3.659795] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.661989] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.661993] cfg80211: failed to load regulatory.db
[    3.665561] intel-lpss 0000:00:15.1: enabling device (0000 -> 0002)
[    3.666047] idma64 idma64.1: Found Intel integrated DMA 64-bit
[    3.669816] battery: ACPI: Battery Slot [BAT0] (battery present)
[    3.679788] input: PC Speaker as /devices/platform/pcspkr/input/input12
[    3.700236] input: HOLTEK USB-HID KB MS Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.2/0003:12D1:1097.0003/input/input14
[    3.700341] hid-multitouch 0003:12D1:1097.0003: input,hiddev1,hidraw2: USB HID v1.10 Mouse [HOLTEK USB-HID KB MS] on usb-0000:00:14.0-3/input2
[    3.705448] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[    3.708288] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[    3.746453] RAPL PMU: API unit is 2^-32 Joules, 5 fixed counters, 655360 ms ovfl timer
[    3.746455] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    3.746456] RAPL PMU: hw unit of domain package 2^-14 Joules
[    3.746456] RAPL PMU: hw unit of domain dram 2^-14 Joules
[    3.746457] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    3.746458] RAPL PMU: hw unit of domain psys 2^-14 Joules
[    3.771270] mousedev: PS/2 mouse device common for all mice
[    3.800510] i2c_hid i2c-WCOM485B:00: i2c-WCOM485B:00 supply vdd not found, using dummy regulator
[    3.800528] i2c_hid i2c-WCOM485B:00: i2c-WCOM485B:00 supply vddl not found, using dummy regulator
[    3.809525] ipu3_imgu: module is from the staging directory, the quality is unknown, you have been warned.
[    3.823384] ipu3-cio2 0000:00:14.3: device 0x9d32 (rev: 0x1)
[    3.825890] ipu3-imgu 0000:00:05.0: device 0x1919 (rev: 0x1)
[    3.827022] ipu3-imgu 0000:00:05.0: physical base address 0x00000000a1000000, 4194304 bytes
[    3.830852] Intel(R) Wireless WiFi driver for Linux
[    3.830854] Copyright(c) 2003- 2015 Intel Corporation
[    3.839135] input: WCOM485B:00 056A:485B Touchscreen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input15
[    3.839378] input: WCOM485B:00 056A:485B as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input16
[    3.839462] input: WCOM485B:00 056A:485B as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input17
[    3.839589] input: WCOM485B:00 056A:485B as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input18
[    3.839729] input: WCOM485B:00 056A:485B Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input19
[    3.839853] hid-generic 0018:056A:485B.0005: input,hidraw4: I2C HID v1.00 Mouse [WCOM485B:00 056A:485B] on i2c-WCOM485B:00
[    3.848184] iwlwifi 0000:01:00.0: Found debug destination: EXTERNAL_DRAM
[    3.848187] iwlwifi 0000:01:00.0: Found debug configuration: 0
[    3.848961] iwlwifi 0000:01:00.0: loaded firmware version 36.77d01142.0 op_mode iwlmvm
[    3.871592] random: crng init done
[    3.911153] Bluetooth: Core ver 2.22
[    3.911171] NET: Registered protocol family 31
[    3.911172] Bluetooth: HCI device and connection manager initialized
[    3.911176] Bluetooth: HCI socket layer initialized
[    3.911178] Bluetooth: L2CAP socket layer initialized
[    3.911182] Bluetooth: SCO socket layer initialized
[    3.911546] partition /boot [8, 1] added, comm[381]: mount
[    3.928099] intel-lpss 0000:00:15.2: enabling device (0000 -> 0002)
[    3.928489] idma64 idma64.2: Found Intel integrated DMA 64-bit
[    4.005664] cryptd: max_cpu_qlen set to 1000
[    4.067091] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 8275, REV=0x230
[    4.073265] input: Huawei WMI hotkeys as /devices/platform/huawei-wmi/input/input20
[    4.074857] iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
[    4.075079] input: Huawei WMI hotkeys as /devices/platform/huawei-wmi/input/input21
[    4.075119] iwlwifi 0000:01:00.0: Allocated 0x00400000 bytes for firmware monitor.
[    4.105954] iTCO_vendor_support: vendor-support=0
[    4.106122] usbcore: registered new interface driver btusb
[    4.109582] tps68470 i2c-INT3472:00: TPS68470 REVID: 0x21
[    4.116382] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[    4.116541] iTCO_wdt: Found a Intel PCH TCO device (Version=4, TCOBASE=0x0400)
[    4.122487] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[    4.123497] Bluetooth: hci0: Device revision is 16
[    4.123498] Bluetooth: hci0: Secure boot is enabled
[    4.123499] Bluetooth: hci0: OTP lock is disabled
[    4.123500] Bluetooth: hci0: API lock is enabled
[    4.123501] Bluetooth: hci0: Debug lock is disabled
[    4.123502] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[    4.125886] Bluetooth: hci0: Found device firmware: intel/ibt-12-16.sfi
[    4.130479] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    4.135281] iwlwifi 0000:01:00.0: base HW address: 7c:11:cb:49:df:b6
[    4.148998] AVX2 version of gcm_enc/dec engaged.
[    4.149000] AES CTR mode by8 optimization enabled
[    4.184924] intel-lpss 0000:00:1e.0: enabling device (0000 -> 0002)
[    4.185394] idma64 idma64.3: Found Intel integrated DMA 64-bit
[    4.193515] intel-lpss 0000:00:1e.2: enabling device (0000 -> 0002)
[    4.194002] idma64 idma64.4: Found Intel integrated DMA 64-bit
[    4.212987] ipu3-imgu 0000:00:05.0: loaded firmware version irci_irci_ecr-master_20161208_0213_20170112_1500, 17 binaries, 1212984 bytes
[    4.220753] intel-lpss 0000:00:1e.3: enabling device (0000 -> 0002)
[    4.222541] idma64 idma64.5: Found Intel integrated DMA 64-bit
[    4.269806] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[    4.270157] thermal thermal_zone7: failed to read out thermal zone (-61)
[    4.426292] ish-hid {33AECD58-B679-4E54-9BD9-A04D34F0C226}: [hid-ish]: enum_devices_done OK, num_hid_devices=1
[    4.450873] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
[    4.454239] checking generic (90000000 be0000) vs hw (90000000 10000000)
[    4.454241] fb0: switching to inteldrmfb from EFI VGA
[    4.454263] Console: switching to colour dummy device 80x25
[    4.454362] i915 0000:00:02.0: vgaarb: deactivate vga console
[    4.456137] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    4.456139] [drm] Driver supports precise vblank timestamp query.
[    4.456715] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    4.457811] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    4.458221] mei_hdcp mei::b638ab7e-94e2-4ea2-a552-d1c54b627f04:01: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[    4.473338] [drm] Initialized i915 1.6.0 20190417 for 0000:00:02.0 on minor 0
[    4.476479] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    4.477037] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input22
[    4.480645] hid-generic 001F:8087:0AC2.0006: hidraw5: <UNKNOWN> HID v2.00 Device [hid-ishtp 8087:0AC2] on 
[    4.512869] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.540183] dw-apb-uart.3: ttyS0 at MMIO 0xa1548000 (irq = 20, base_baud = 115200) is a 16550A
[    4.613511] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.613513] Bluetooth: BNEP filters: protocol multicast
[    4.613517] Bluetooth: BNEP socket layer initialized
[    4.632581] fbcon: i915drmfb (fb0) is primary device
[    4.638167] Console: switching to colour frame buffer device 270x90
[    4.664864] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[    4.704536] input: Wacom HID 485B Pen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input23
[    4.704895] input: Wacom HID 485B Finger as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-WCOM485B:00/0018:056A:485B.0005/input/input24
[    4.705265] wacom 0018:056A:485B.0005: hidraw4: I2C HID v1.00 Mouse [WCOM485B:00 056A:485B] on i2c-WCOM485B:00
[    4.780141] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC298: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[    4.780144] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    4.780146] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[    4.780148] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    4.780149] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    4.780151] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[    4.780153] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
[    4.849523] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input26
[    4.849596] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input27
[    4.849651] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input28
[    4.849704] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input29
[    4.849758] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input30
[    4.849812] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input31
[    4.849865] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input32
[    5.055917] intel_rapl: Found RAPL domain package
[    5.055919] intel_rapl: Found RAPL domain core
[    5.055920] intel_rapl: Found RAPL domain uncore
[    5.055921] intel_rapl: Found RAPL domain dram
[    5.136778] iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
[    5.270490] iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
[    5.338316] iwlwifi 0000:01:00.0: FW already configured (0) - re-configuring
[    5.385069] iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
[    5.518985] iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM
[    5.586648] iwlwifi 0000:01:00.0: FW already configured (0) - re-configuring
[    5.628063] Bluetooth: hci0: Waiting for firmware download to complete
[    5.628477] Bluetooth: hci0: Firmware loaded in 1477078 usecs
[    5.628510] Bluetooth: hci0: Waiting for device to boot
[    5.640684] Bluetooth: hci0: Device booted in 11900 usecs
[    5.640887] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-12-16.ddc
[    5.643535] Bluetooth: hci0: Applying Intel DDC parameters completed
[   14.578038] fuse: init (API version 7.31)
[   14.955140] Bluetooth: RFCOMM TTY layer initialized
[   14.955147] Bluetooth: RFCOMM socket layer initialized
[   14.955155] Bluetooth: RFCOMM ver 1.11
[   46.035480] wlp1s0: authenticate with 34:31:c4:23:99:87
[   46.045252] wlp1s0: send auth to 34:31:c4:23:99:87 (try 1/3)
[   46.052536] wlp1s0: authenticated
[   46.055947] wlp1s0: associate with 34:31:c4:23:99:87 (try 1/3)
[   46.057893] wlp1s0: RX AssocResp from 34:31:c4:23:99:87 (capab=0x1511 status=0 aid=1)
[   46.060307] wlp1s0: associated
[   46.119177] wlp1s0: Limiting TX power to 23 (23 - 0) dBm as advertised by 34:31:c4:23:99:87
[   46.120095] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
evtest
Select the device event number [0-23]: 18
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "Huawei WMI hotkeys"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 171 (KEY_CONFIG)
    Event code 190 (KEY_F20)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 238 (KEY_WLAN)
    Event code 240 (KEY_UNKNOWN)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0
Input device name: "Huawei WMI hotkeys"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 171 (KEY_CONFIG)
    Event code 190 (KEY_F20)
    Event code 224 (KEY_BRIGHTNESSDOWN)
    Event code 225 (KEY_BRIGHTNESSUP)
    Event code 238 (KEY_WLAN)
    Event code 240 (KEY_UNKNOWN)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)

When using in Terminal Emulator, Brightness Keys both just lower the brightness and the Monitor Config Key (F8) works, but testing stays empty. When runnig from TTY, the brighness keys result in ^@ and the monitor config key in p, no result for the other keys, both with device 17 and 18.

Battery protection values don't get updated when switching off protection on MACH-WX9

On the Matebook X Pro (2018) MACH-WX9, setting battery protection to off 0-100 doesn't update the thresholds values, instead, it only switches protection off.

The AML code responsible for this

    Method (SBTT, 1, NotSerialized)
    {
        Name (BUFF, Buffer (0x0100){})
        Local0 = Arg0
        CreateByteField (Arg0, 0x02, STCP)
        CreateByteField (Arg0, 0x03, SOCP)
        CreateByteField (BUFF, Zero, STAT)
        If (((STCP == Zero) && (SOCP == 0x64)))
        {
            \_SB.PCI0.LPCB.EC0.ECXT (0xC7, Zero, Zero, Zero, Zero, Zero)
        }
        Else
        {
            \_SB.PCI0.LPCB.EC0.ECXT (0xC7, One, STCP, SOCP, Zero, Zero)
        }

        STAT = Zero
        Return (BUFF) /* \SBTT.BUFF */
    }

    Method (GBTT, 1, NotSerialized)
    {
        Name (BUFF, Buffer (0x0100){})
        Local0 = Arg0
        CreateByteField (BUFF, Zero, STAT)
        CreateByteField (BUFF, One, STCP)
        CreateByteField (BUFF, 0x02, SOCP)
        STCP = \_SB.PCI0.LPCB.EC0.RRAM (0x03E4)
        SOCP = \_SB.PCI0.LPCB.EC0.RRAM (0x03E5)
        STAT = Zero
        Return (BUFF) /* \GBTT.BUFF */
    }

SBTT sets thresholds values, and GBTT gets these valuse. Note that both ECXT and RRAM have a mutex lock on EC.

A proposed solution could be to set these values to 0-0 before setting it to 0-100 or turning protection off. However, this wouldn't work without a delay before the second call.

Fedora -RPM

sudo rpm -i huawei-wmi-3.2-1dkms.noarch.rpm
Loading new huawei-wmi-3.2 DKMS files...
Building for 5.2.7-200.fc30.x86_64
Module build for kernel 5.2.7-200.fc30.x86_64 was skipped since the
kernel headers for this kernel does not seem to be installed.


Последняя проверка окончания срока действия метаданных: 0:31:34 назад, Сб 17 авг 2019 08:45:00.
Пакет kernel-headers-5.2.8-200.fc30.x86_64 уже установлен.
Зависимости разрешены.
Отсутствуют действия для выполнения
Выполнено!

Huawei Matebook D15 AMD R7 from 2020

battery thresholds and external microphone

I recently purchased Matebook D15 and am really glad you pioneered support. Most features do work right out of the box. I am missing control over battery thresholds, and an issue with my external microphone audio jack.

To Reproduce battery
Steps to reproduce the behavior:

  1. run 5.4.0-42-generic in ubuntu 20.04
  2. Try to set battery charging thresholds in /sys/class/power_supply
  3. device does not expose that interface via kernel sysfs

Expected behavior

I want to set charging thresholds via sysfs interface to have less wear on the battery.

To Reproduce audio
Steps to reproduce the behavior:

  1. run 5.4.0-42-generic in ubuntu 20.04
  2. Plug a external headset
  3. pulseaudio will continue to record with internal microphone, as no external input is recognized

Expected behavior
I want to use external input source when plugging in external headset via that jack.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop:
Linux porta 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux with ubuntu focal 20.04

[...]
processor	: 7
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 24
model name	: AMD Ryzen 7 3700U with Radeon Vega Mobile Gfx
stepping	: 1
microcode	: 0x8108109
cpu MHz		: 1330.778
cache size	: 512 KB
physical id	: 0
siblings	: 8
core id		: 3
cpu cores	: 4
apicid		: 7
initial apicid	: 7
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 4591.32
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

the wmi related modules:

$ lsmod |grep wmi
snd_rawmidi            36864  1 snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
wmi_bmof               16384  0
snd                    90112  27 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
huawei_wmi             16384  0
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek
sparse_keymap          16384  1 huawei_wmi
wmi                    32768  2 huawei_wmi,wmi_bmof

dmesg.log

alsa-info: http://alsa-project.org/db/?f=6e2af66bedb483f0f613cae40382c90a4d590efa

lspci.txt

Additional context
I can help and will dedicate time if this behavior can be fixed via a contribution. Give me directions for more specific debug output.

fn / caps lock led stays on

If the matebook display turns off (e.g. screen lock) the fn and caps lock leds turn on. I think this should indicate that it is still running. This is normally not a problem since the leds would turn off after the display turns on again. But if you use a external monitor as your only monitor the leds stay on until the external monitor is disconnected. If you try to toggle the keys the first click activates the toggle (fn / caps lock) and the led stays on (like it should since the key is toggled). The second click would turn the led finally off.

Is this something that can be fixed / should be fixed here?

Thanks.

usermod: group 'huawei-wmi' does not exist

Fedora 32. Installed Huawei-WMI (huawei-wmi-3.4-1dkms.noarch.rpm).
Installed the batpro script.
Reboot.
Trying to add user to group gives error:
$ sudo usermod -a -G huawei-wmi user usermod: group 'huawei-wmi' does not exist

Running batpro status gives error:
$ sudo batpro status
iopl: Operation not permitted ^Ciopl failed: You may need to run as root or give the process the CAP_SYS_RAWIO capability. On non-x86 architectures, this operation probably isn't possible.

What am I missing?

v 3.1 not working on MateBook 13

After update to driver v 3.1 additional keys (WiFi switch, micmute, PCmanager) and micmute LED stopped working on MateBook 13. Batpro and fnlock functionality still available.

Charge_control thresholds not found

Describe the bug
Hi, I have installed Ubuntu 18.04 on my Matebook 13. I followed your instructions and installed the v3.2 driver. However, after installation I cannot find the "sys/class/power_supply/BAT0/charge_control_{start,end}_threshold or /sys/devices/platform/huawei-wmi/charge_control_thresholds" files for controlling the thresholds. I tried then to upgrade to Ubuntu 19.10 to use the v3.4 driver, but I still cant find the files. I performed the installation using dkms tarball. Could you help me out?

Desktop (please complete the following information):

  • Kernel [5.3]
  • Distro [Ubuntu 19.10] `
  • Loaded WMI modules lsmod | grep wmi
    snd_rawmidi 36864 1 snd_seq_midi
    snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
    mxm_wmi 16384 1 nouveau
    wmi_bmof 16384 0
    intel_wmi_thunderbolt 20480 0

Maybe I did not understand your installation instructions properly, could you help me out? Thanks.

Legacy interface

Most of Huawei devices have the AMW0 WMI device which has a GUID of ABBC0F5C-8EA1-11D1-A000-C90629100000. This WMI device has a method AMW0.WMAA with GUID ABBC0F5B-8EA1-11D1-A000-C90629100000 which seems to control most of the features.

Right now, one of controlling the mic led only works with devices that implement method \_SB.PCI0.LPCB.EC0.WPIN and \_SB.PCI0.LPCB.EC0.SPIN. Models that don't have one these methods simply don't work! Like #7

Using WMI calls, specifically AMW0.WMAA, #7 could be solved and #8 could be integrated. The only model that might not work with this update is the Matebook X (2017).

Make install failed

After reinstalling my Matebook I also had to apply your patch again. But it failed with the following error

╰─➤ sudo make install
make -C /lib/modules/4.19.16-1-MANJARO/build/ M=/home/jan/Projects/github/Huawei-WMI modules_install
make[1]: Entering directory '/usr/lib/modules/4.19.16-1-MANJARO/build'
  INSTALL /home/jan/Projects/github/Huawei-WMI/huawei-wmi.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:72
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:79
sign-file: certs/signing_key.pem: No such file or directory
  DEPMOD  4.19.16-1-MANJARO
make[1]: Leaving directory '/usr/lib/modules/4.19.16-1-MANJARO/build'
depmod -a

Do you have any idea what's missing and how I can solve the problem? I use Manjaro 18.1 with the 4.19.16.1 kernel. Thanks!

Battery Protection not working

Hi,

on my Huawei matebook D AMD (Arch KDE) Huawei WMI does not work for battery protection. I have a problem with all the distro I tried those years (Ubuntu, Arch, Manjaro, Debian based and so on) that on ma laptop that is a Huawei Matebook D AMD SoC even if Huawei-WMI driver is included in the kernel (so I can use FN key and OSD for volume ...) the battery protection doesn't work even in theory system say it stop charging at 70% , it charge 100%.
if I boot to windows (with HuaweiPCManager that set battery to 70%) and reboot to linux battery stay at 70% but after 2 or 3 reboot to linux it loose the setting and goes to fully charged 100%, because of that I install Huawei-WMI to sets group write privileges and reinstates battery charge-thresholds. I have 2 services : huawei-wmi-reinstate and huawei-wmi-privilege but both are unloaded and inactive on systemd, how to get those 2 service loaded at startup and active? Trying to activate I have this error: $ sudo systemctl enable --now huawei-wmi-privilege.service Unit /usr/lib/systemd/system/huawei-wmi-privilege.service is added as a depende ncy to a non-existent unit sys-devices-platform-huawei\x2dwmi.device
Command sudo systemctl enable --now huawei-wmi-reinstate.service doesn,t provide errors but is not active and still unloaded
Can you check? Battery protection is the only thing not working on my huawei Matebook D 2018 version AMD
Thanks!!!

3.3 release breaks access to charge thresholds, fn_lock on 18.04

Describe the bug
Just updated version 3.2 to 3.3, and I no longer have access to the charge threshold control files (/sys/class/power_supply/BAT0/charge_control_{start,end}_threshold, and /sys/devices/platform/huawei-wmi/charge_control_thresholds), as well as no access to the fn_lock control file at /sys/devices/platform/huawei-wmi/fn_lock_state:

class/power_supply/BAT0  
λ cat /sys/devices/platform/huawei-wmi/charge_control_thresholds
cat: /sys/devices/platform/huawei-wmi/charge_control_thresholds: No such file or directory
class/power_supply/BAT0  
λ cat /sys/class/power_supply/BAT0/charge_control_start_threshold
cat: /sys/class/power_supply/BAT0/charge_control_start_threshold: No such file or directory
class/power_supply/BAT0  
λ cat /sys/devices/platform/huawei-wmi/fn_lock_state             
cat: /sys/devices/platform/huawei-wmi/fn_lock_state: No such file or directory

While on version 3.2 all the files /sys/devices/platform/huawei-wmi/charge_thresholds, and /sys/devices/platform/huawei-wmi/fn_lock_state were accessible / writable

To Reproduce
Steps to reproduce the behavior:

  1. Download huawei-wmi-3.3-source-only.dkms.tar.gz from the release page
  2. Add dkms tarball and install module according to instructions in the readme
  3. Reboot
  4. "Lose" access to charge / fn_lock control files

Expected behavior
Writable files at the locations indicated in the readme to control battery protection charge levels and fn_lock state

Screenshots
Lack of Access in 3.3 screenshot
Proper Access in 3.2 screenshot

Desktop (please complete the following information):

  • Kernel: Linux devblade-MPX9 5.0.0-37-generic #40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
  • Distro: KDE Neon User 5.17
  • Loaded WMI modules:
snd_rawmidi            36864  1 snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
intel_wmi_thunderbolt    20480  0
snd                    86016  19 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
huawei_wmi             16384  0
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek
sparse_keymap          16384  1 huawei_wmi
wmi_bmof               16384  0
wmi                    28672  3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof

Again, all functionality / control files existed / were writable in version 3.2

Bad return status for dkms module (huawei-wmi-3.2) build on kernel: 5.1.8-1

I'm not sure what how exactly I should go about debugging this:

cd huawei-wmi-3.2
make
ls
dkms.conf huawei-wmi.c huawei-wmi.ko huawei-wmi.mod.c huawei-wmi.mod.o huawei-wmi.o Makefile modules.order Module.symvers

sudo dkms install -m huawei-wmi -v 3.2

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.1.8-1-MANJARO -C /usr/lib/modules/5.1.8-1-MANJARO/build M=/var/lib/dkms/huawei-wmi/3.2/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.1.8-1-MANJARO (x86_64)
Consult /var/lib/dkms/huawei-wmi/3.2/build/make.log for more information.

cat /var/lib/dkms/huawei-wmi/3.2/build/make.log

DKMS make.log for huawei-wmi-3.2 for kernel 5.1.8-1-MANJARO (x86_64)
Fri 14 Jun 09:45:25 BST 2019
make: Entering directory '/usr/lib/modules/5.1.8-1-MANJARO/build'
make[1]: *** No rule to make target '/var/lib/dkms/huawei-wmi/3.2/build/huawei-wmi.c', needed by '/var/lib/dkms/huawei-wmi/3.2/build/huawei-wmi.o'. Stop.
make: *** [Makefile:1571: module/var/lib/dkms/huawei-wmi/3.2/build] Error 2
make: Leaving directory '/usr/lib/modules/5.1.8-1-MANJARO/build'

dkms status
acpi_call, 1.1.0, 4.19.49-1-MANJARO, x86_64: installed
acpi_call, 1.1.0, 5.0.21-1-MANJARO, x86_64: installed
acpi_call, 1.1.0, 5.1.8-1-MANJARO, x86_64: installed
huawei-wmi, 3.2: added

Im using latest kernel and archlinux

Ived read that this was included in the latest kernel update
if you using 5.0,
Im using huawei matebook 13 , i try to check using lsmod | grep wmi

i got this

mxm_wmi                16384  1 nouveau
huawei_wmi             16384  0
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek
sparse_keymap          16384  1 huawei_wmi
intel_wmi_thunderbolt    20480  0
wmi_bmof               16384  0
wmi                    32768  5 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof,mxm_wmi,nouveau

Some problems im facing is that i cannot detect a headset when plugged in.
also i wanna know i can use the battery protection
Also ive read there is a matebook applet but its not running i dont see it on my status bar
May i know the command to run it on start , so i can include it on my i3 config

Things that are not working also is the screen brightness i cannot adjust it,
xbacklight command wont work

bindsym XF86MonBrightnessDown	exec --no-startup-id xbacklight -dec 15 ;; exec --no-startup-id notify-send "Decrease Backlight." #f1
bindsym XF86MonBrightnessUp	exec --no-startup-id xbacklight -inc 15 ;; exec --no-startup-id notify-send "Increase Backlight."  #f2

Note im hitting the correct keys if i do try to echo some text on the notification it is showing it when i press the brightness keys

Wireless button on off works ok

dont know if the mic mute is working on my end though
but i can confirm i can use the command on my i3 conf

bindsym XF86AudioMicMute		exec $micmute ;; exec --no-startup-id notify-send "Mic Toggled." #f7

the f8 +fn works odd cause it makes my music player pause and play , but i can live without the keybindings on that if that is for display i do have it bind on other keys as such

bindsym $mod+F3		exec --no-startup-id displayselect

But the fn+f10 which is the Huawei manager button which i guess is for the huawei matebook applet is not working...

Hope you can help me with this thanks

Start and end thresholds getting reset

I'm current using Ubuntu 18.04.4 LTS, and noticed that the values that I set in /sys/class/power_supply/BAT0, in the charge_control_start_threshold and charge_control_end_threshold files, are getting reset to 0 after rebooting my Matebook X Pro a few times. Is there a way to prevent this?

Matebook X Pro 2020

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
...

[Question _ not a bug] What is the expected behavior ?

Hi,

This is a question, not a bug report.
Kindly redirect me if there is another channel for such questions.

I have a MACH-WX9 (Matebook X Pro) and I am using Huawei-WMI 3.4 on Linux Mint 20.
Huawei-WMI seems to work correctly but the behavior is a bit strange to me so I am wondering if my laptop is behaving correctly or not.
I have setup those thresholds: min 40% and max 70%

Several cases:

  • battery at 85% (just after I installed huawei-wmi and configured 40%-70%), laptop ON, plug in the charger:
    Observed result: Laptop charges at arround 5W and stays forever at 85%
  • battery at 30%, laptop ON, plug in the charger:
    Observed result: The laptop will charge at full speed (around 40W) until 69% then power charge drops to 5W and laptop battery stays at 69%
  • battery at 50%, laptop OFF, plug in the charger:
    Observed result: I left the laptop in this charging condition for a whole night but in the morning the laptop was still at 50% (it may have increased to 51 or 52 but I am not sure)

Are those observations matching the expected behavior ?

How could we described the overall behavior ?
I'll try this, correct me if I am wrong:

  • If charger is plugged in when battery is within or above configured charge thresholds (40-70 in my case), laptop will charge at a very low rate (around 5w) just to prevent battery level to decrease
  • If charger is plugged in when battery is below configured charge thresholds, then the laptop will charge at full speed until max threshold is reached
  • those 2 rules applies when laptop is both ON or OFF

Thanks for you confirmation/corrections

Mic mute led does not work on Matebook 14.

I manually compiled and installed. The battery charge threshold works perfectly, but the mic mute led does not work. I don' t think this is a problem of your driver, because it works in Arch. I suspect it is caused by not loading right drivers in kernel, since I use gentoo with self configured and compiled kernel. I thought it needed the LED driver, then I enabled all kernel LED drivers but with no luck.
The log shows some errors about micmute. Maybe you can tell what is wrong or missing.

The output of hwinfo | grep -i led:

FPU            : installed
failed to read /dev/mem
  detailed timings:
  H: Handlers=sysrq kbd leds event4 
  B: LED=7
  H: Handlers=sysrq kbd leds event12 
  B: LED=1f
  handlers = sysrq kbd leds event4
  handlers = sysrq kbd leds event12
wlp0s20f3: socket failed: Operation not permitted
  read_block0: open(/dev/nvme0n1) failed
  E: LED=1f
  E: SUBSYSTEM=leds
  E: SUBSYSTEM=leds
  E: SUBSYSTEM=leds
  E: SUBSYSTEM=leds
  E: SUBSYSTEM=leds
  P: /devices/pci0000:00/0000:00:14.3/leds/phy0-led
  E: DEVPATH=/devices/pci0000:00/0000:00:14.3/leds/phy0-led
  E: SUBSYSTEM=leds
  P: /devices/platform/huawei-wmi/leds/platform::micmute
  E: DEVPATH=/devices/platform/huawei-wmi/leds/platform::micmute
  E: SUBSYSTEM=leds
  E: LED=7
  E: SUBSYSTEM=leds
  E: SUBSYSTEM=leds
  E: SUBSYSTEM=leds
/devices/pci0000:00/0000:00:14.3/leds/phy0-led
/devices/platform/huawei-wmi/leds/platform::micmute
  prop read: rdCR.lZF+r4EgHp4 (failed)
  old prop read: rdCR.lZF+r4EgHp4 (failed)
  prop read: rdCR.n_7QNeEnh23 (failed)
  old prop read: rdCR.n_7QNeEnh23 (failed)
  prop read: rdCR.EMpH5pjcahD (failed)
  old prop read: rdCR.EMpH5pjcahD (failed)
  prop read: rdCR.f5u1ucRm+H9 (failed)
  old prop read: rdCR.f5u1ucRm+H9 (failed)
  prop read: rdCR.8uRK7LxiIA2 (failed)
  old prop read: rdCR.8uRK7LxiIA2 (failed)
  prop read: rdCR.9N+EecqykME (failed)
  old prop read: rdCR.9N+EecqykME (failed)
  prop read: rdCR.CxwsZFjVASF (failed)
  old prop read: rdCR.CxwsZFjVASF (failed)
  prop read: RE4e.2p1+wDoPVY7 (failed)
  old prop read: RE4e.2p1+wDoPVY7 (failed)
  prop read: I+Ba.oRxb6OTtdD3 (failed)
  old prop read: I+Ba.oRxb6OTtdD3 (failed)
  prop read: BUZT.8tHHrMSckV9 (failed)
  old prop read: BUZT.8tHHrMSckV9 (failed)
  prop read: 8otl.9DHlPhQgPW0 (failed)
  old prop read: 8otl.9DHlPhQgPW0 (failed)
  prop read: Dhtl.jFWd3H1pM2B (failed)
  old prop read: Dhtl.jFWd3H1pM2B (failed)
  prop read: WnlC.4IgHDuwHho2 (failed)
  old prop read: WnlC.4IgHDuwHho2 (failed)
  prop read: VCu0.RVN8AkDkdAE (failed)
  old prop read: VCu0.RVN8AkDkdAE (failed)
  prop read: W60f.DsovyAdnHdB (failed)
  old prop read: W60f.DsovyAdnHdB (failed)
  prop read: 6NW+.C5pKJ5dMBB0 (failed)
  old prop read: 6NW+.C5pKJ5dMBB0 (failed)
  prop read: nS1_.CXdX8HLeBw9 (failed)
  old prop read: nS1_.CXdX8HLeBw9 (failed)
  prop read: qLht.yOu3vAJiJzA (failed)
  old prop read: qLht.yOu3vAJiJzA (failed)
  prop read: CLZK.7Vp9NpAdGv4 (failed)
  old prop read: CLZK.7Vp9NpAdGv4 (failed)
  prop read: Rgik.H1+rdpLA6r2 (failed)
  old prop read: Rgik.H1+rdpLA6r2 (failed)
  prop read: 1GTX.NHcUWUZO_TD (failed)
  old prop read: 1GTX.NHcUWUZO_TD (failed)
  prop read: iL_V.qlP9KASjzIE (failed)
  old prop read: iL_V.qlP9KASjzIE (failed)
  prop read: 5Dex.nVIpzckPywA (failed)
  old prop read: 5Dex.nVIpzckPywA (failed)
  prop read: _Znp.RUSOmWP4ob1 (failed)
  old prop read: _Znp.RUSOmWP4ob1 (failed)
  prop read: MZfG.9j+6KsNGXP8 (failed)
  old prop read: MZfG.9j+6KsNGXP8 (failed)
  prop read: rdCR.WekvYnKwov9 (failed)
  old prop read: rdCR.WekvYnKwov9 (failed)
  prop read: wLCS.VtNQfCtlGlE (failed)
  old prop read: wLCS.VtNQfCtlGlE (failed)
  prop read: cS_q.SE1wIdpsiiC (failed)
  old prop read: cS_q.SE1wIdpsiiC (failed)
  prop read: 3eEv.SE1wIdpsiiC (failed)
  old prop read: 3eEv.SE1wIdpsiiC (failed)
  prop read: XpUz.SE1wIdpsiiC (failed)
  old prop read: XpUz.SE1wIdpsiiC (failed)
  prop read: __k1.SE1wIdpsiiC (failed)
  old prop read: __k1.SE1wIdpsiiC (failed)
  prop read: RA+5.SE1wIdpsiiC (failed)
  old prop read: RA+5.SE1wIdpsiiC (failed)
  prop read: uLFA.SE1wIdpsiiC (failed)
  old prop read: uLFA.SE1wIdpsiiC (failed)
  prop read: aoQf.SE1wIdpsiiC (failed)
  old prop read: aoQf.SE1wIdpsiiC (failed)
  prop read: 1_gj.SE1wIdpsiiC (failed)
  old prop read: 1_gj.SE1wIdpsiiC (failed)
  prop read: U9xn.SE1wIdpsiiC (failed)
  old prop read: U9xn.SE1wIdpsiiC (failed)
  prop read: jzeG.SE1wIdpsiiC (failed)
  old prop read: jzeG.SE1wIdpsiiC (failed)
  prop read: A9vK.SE1wIdpsiiC (failed)
  old prop read: A9vK.SE1wIdpsiiC (failed)
  prop read: dK9P.SE1wIdpsiiC (failed)
  old prop read: dK9P.SE1wIdpsiiC (failed)
  prop read: 4WPT.SE1wIdpsiiC (failed)
  old prop read: 4WPT.SE1wIdpsiiC (failed)
  prop read: YhfX.SE1wIdpsiiC (failed)
  old prop read: YhfX.SE1wIdpsiiC (failed)
  prop read: +svb.SE1wIdpsiiC (failed)
  old prop read: +svb.SE1wIdpsiiC (failed)
  prop read: xnLL.v5OBcNn2we7 (failed)
  old prop read: xnLL.v5OBcNn2we7 (failed)
  prop read: fHJ1.l3v0gVevrhC (failed)
  old prop read: fHJ1.l3v0gVevrhC (failed)
  prop read: FKGF.h6VbFfok0SF (failed)
  old prop read: FKGF.h6VbFfok0SF (failed)
  prop read: lfzD.CnuP7VbJhG1 (failed)
  old prop read: lfzD.CnuP7VbJhG1 (failed)
  prop read: csaW.Iqb1w4eiQc6 (failed)
  old prop read: csaW.Iqb1w4eiQc6 (failed)
  prop read: k4bc.2DFUsyrieMD (failed)
  old prop read: k4bc.2DFUsyrieMD (failed)
  prop read: DrDI.7RzpnbkIFo5 (failed)
  old prop read: DrDI.7RzpnbkIFo5 (failed)
  prop read: 32ra.NMc1t9M02C6 (failed)
  old prop read: 32ra.NMc1t9M02C6 (failed)
  prop read: ADDn.xvTGa+XkbXF (failed)
  old prop read: ADDn.xvTGa+XkbXF (failed)
  prop read: pBe4.xYNhIwdOaa6 (failed)
  old prop read: pBe4.xYNhIwdOaa6 (failed)
  prop read: c3zD.+49ps10DtUF (failed)
  old prop read: c3zD.+49ps10DtUF (failed)
  prop read: AH6Q.pBarWtRCs3F (failed)
  old prop read: AH6Q.pBarWtRCs3F (failed)
  prop read: rdCR.j8NaKXDZtZ6 (failed)
  old prop read: rdCR.j8NaKXDZtZ6 (failed)
  prop read: wkFv.j8NaKXDZtZ6 (failed)
  old prop read: wkFv.j8NaKXDZtZ6 (failed)
  prop read: +rIN.j8NaKXDZtZ6 (failed)
  old prop read: +rIN.j8NaKXDZtZ6 (failed)
  prop read: 4zLr.j8NaKXDZtZ6 (failed)
  old prop read: 4zLr.j8NaKXDZtZ6 (failed)
  prop read: 94PJ.j8NaKXDZtZ6 (failed)
  old prop read: 94PJ.j8NaKXDZtZ6 (failed)
  prop read: EBSn.j8NaKXDZtZ6 (failed)
  old prop read: EBSn.j8NaKXDZtZ6 (failed)
  prop read: JIVF.j8NaKXDZtZ6 (failed)
  old prop read: JIVF.j8NaKXDZtZ6 (failed)
  prop read: OPYj.j8NaKXDZtZ6 (failed)
  old prop read: OPYj.j8NaKXDZtZ6 (failed)
  prop read: wl2P.nfEXJulusj6 (failed)
  old prop read: wl2P.nfEXJulusj6 (failed)
  prop read: 63Vg.ndpeucax6V1 (failed)
  old prop read: 63Vg.ndpeucax6V1 (failed)
  prop read: ZsBS.GQNx7L4uPNA (failed)
  old prop read: ZsBS.GQNx7L4uPNA (failed)
  <4>[    3.088162] thermal thermal_zone3: failed to read out thermal zone (-61)
  <6>[    4.866978] iwlwifi 0000:00:14.3: Conflict between TLV & NVM regarding enabling LAR (TLV = enabled NVM =disabled)
  <6>[    5.094949] iwlwifi 0000:00:14.3: Conflict between TLV & NVM regarding enabling LAR (TLV = enabled NVM =disabled)
  <6>[    8.339789] iwlwifi 0000:00:14.3: Conflict between TLV & NVM regarding enabling LAR (TLV = enabled NVM =disabled)
  <3>[   11.447850] iwlwifi 0000:00:14.3: Unhandled alg: 0x707
  ledtrig_audio 16384 1 huawei_wmi, Live 0x0000000000000000
  BIOS Keyboard LED Status:
  Memory Range: 0x91227000-0x91227fff (rw,non-prefetchable,disabled)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  Detailed Timings #0:

lsmod:

hid_multitouch         28672  0
iwldvm                196608  0
i2c_designware_platform    16384  0
huawei_wmi             24576  0
i2c_designware_core    20480  1 i2c_designware_platform
ledtrig_audio          16384  1 huawei_wmi
wmi_bmof               16384  0
intel_wmi_thunderbolt    16384  0
x86_pkg_temp_thermal    20480  0
serio_raw              16384  0
iwlmvm                352256  0
btusb                  49152  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
btintel                20480  1 btusb
mousedev               24576  0
iwlwifi               335872  2 iwldvm,iwlmvm
bluetooth             425984  25 btrtl,btintel,btbcm,btusb
intel_lpss_pci         20480  0
intel_pch_thermal      16384  0
intel_lpss             16384  1 intel_lpss_pci
mfd_core               16384  1 intel_lpss
wmi                    24576  3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof
i2c_hid                28672  0
pinctrl_cannonlake     36864  1
pinctrl_intel          24576  1 pinctrl_cannonlake
efivarfs               16384  1

Kernel:
Linux gentoo-zypang 5.3.18-gentoo #4 SMP Sat Jan 11 10:47:13 CST 2020 x86_64 Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz GenuineIntel GNU/Linux

The lsmod of a working Arch:
lsmod.txt

Kernel config about LED drivers:
Screenshot_2020-01-11_16-46-37

Thanks in advance!

[KPL-W0X] micmute LED doesn't activate automatically

Everything else works absolutely perfectly for my Matebook 14D AMD. But the micmute LED does not know to turn itself on when mic is muted. If I go and directly change the value of the LED file from 0 to 1, that will turn on the micmute LED though.
Using Ubuntu 19.04

Can't run make command

Hi,
I have the following problem when running the make command:

arch/x86/Makefile:150: CONFIG_X86_X32 enabled but no binutils support
arch/x86/Makefile:227: *** You are building kernel with non-retpoline compiler, please update your compiler..  

I'm running Manjaro with the 4.19 Linux Kernel.
Is there any requirement to the linux kernel used?

Multiple keys not working on Huawei Matebook D 14" AMD

Brightness keys and volume keys including micmute don't work. Keyboard backlight key works and Wi-Fi key works. Not sure what F8 and F10 are supposed to do so not sure if they're working or not.

Included is all the info from acpidump. Let me know what else you need and I'll provide it.

uname string: Linux Quayle 5.0.7-arch1-1-ARCH #1 SMP PREEMPT Mon Apr 8 10:37:08 UTC 2019 x86_64 GNU/Linux
Huawei-Matebook-D-14-AMD.tar.gz

Huawei MateBook D16 battery threshold start point does not work

Describe the bug
The start point is set at 70% and the stop point is at 90%. The battery charges up to 89% and holds this value

Expected behavior
When the stop point is reached, the charging should be switched off until the start point is reached.

Kernel: 5.14.8-051408-generic
Distro: Ubuntu 20.04.3 LTS
Loaded WMI modules:

snd_rawmidi            40960  1 snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
huawei_wmi             20480  0
ledtrig_audio          16384  2 snd_hda_codec_generic,huawei_wmi
sparse_keymap          16384  1 huawei_wmi
wmi_bmof               16384  0
snd                    94208  22 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
wmi                    32768  2 huawei_wmi,wmi_bmof

acpidump.txt | dmidecode.txt | dmesg.txt

Does not compile on kernel >=5.15-rc1

I downloaded huawei-wmi-3.4-source-only.dkms.tar.gz release and then

sudo dkms ldtarball --archive=huawei-wmi-3.4-source-only.dkms.tar.gz
sudo dkms autoinstall -m huawei-wmi/3.4 # fails

In the logs cat /var/lib/dkms/rtl88x2bu/5.6.1/build/make.log:

/usr/src/rtl88x2bu-5.6.1/core/rtw_br_ext.c:20:18: fatal error: net/ipx.h: No such file or directory
   20 |         #include <net/ipx.h>
      |                  ^~~~~~~~~~~
compilation terminated.
make[2]: *** [scripts/Makefile.build:287: /var/lib/dkms/rtl88x2bu/5.6.1/build/core/rtw_br_ext.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1846: /var/lib/dkms/rtl88x2bu/5.6.1/build] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.16.15-arch1-1/build'
make: *** [Makefile:2284: modules] Error 2

This is due to kernel commit 6c9b40844751 ("net: Remove net/ipx.h and uapi/linux/ipx.h header files"), merged in v5.15-rc1

Works great on Matebook X (2020)!

Using the upstream kernel driver from 5.10, the driver works great on Matebook X 2020 (EUL-WX9).

Things verified working:

  • all of the function keys
    • although dmesg complains about "Unknown key released (translated set 2, code 0xf8 on isa0060/serio0).");
    • F11 and F12 cannot be combined with modifiers, it seems when fn_lock_state = 0;
  • brightness control;
  • battery thresholds;
  • the LEDs;
  • fn_lock_state does… things.

ACPI tables & DMI decode dumps if you ever need them for anything:

acpi.gz
dmi.gz

Thanks for maintaining this!

Huawei-WMI Driver not installed - But it is.

Hello, I have a 2018 Matebook X Pro with Elementary OS installed. I've installed Huawei-WMI using dkms and matebook-applet (by adding the apt repository).

When I try to start matebook-applet from terminal I get:

ERROR: 2019/12/25 14:46:14 main.go:91: Neither a supported version of Huawei-WMI driver, nor any of the required scripts are properly installed, see README.md#installation-and-setup for instructions

But when I run sudo dkms install huawei-wmi/3.3 I get:

Module huawei-wmi/3.3 already installed on kernel 5.0.0-37-generic/x86_64

What I am missing here?
Thanks a lot

Micmute button doesn't work at Ubuntu 18.04 on Huawei Matebook 13

Describe the bug
Cannot able to get work Micmute button on Ubuntu 18.04 on Huawei Matebook 13. Tried the latest WMI 3.3 with every installation method, but no luck.

To Reproduce
Press Micmute button

Expected behavior
Should work

Desktop (please complete the following information):

  • Kernel [e.g. 5.2.9-200.fc30.x86_64] 5.0.0-37-generic #40~18.04.1-Ubuntu

  • Distro [e.g. Ubuntu 18.04] `

  • Loaded WMI modules snd_rawmidi 36864 1 snd_seq_midi snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi huawei_wmi 20480 1 ledtrig_audio 16384 3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek sparse_keymap 16384 1 huawei_wmi wmi_bmof 16384 0 intel_wmi_thunderbolt 20480 0 snd 86016 25 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi wmi 28672 3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof

  • Dmesg log dmesg.txt

  • evtest if it's keyboard related. Run sudo evtest then choose "Huawei WMI hotkeys", test all hotkeys and submit output.
    No device specified, trying to scan all of /dev/input/event* Available devices: /dev/input/event0: Lid Switch /dev/input/event1: Power Button /dev/input/event2: Power Button /dev/input/event3: AT Translated Set 2 keyboard /dev/input/event4: Huawei WMI hotkeys /dev/input/event5: Video Bus /dev/input/event6: ELAN962C:00 04F3:30D0 Touchpad /dev/input/event7: HD Camera: HD Camera /dev/input/event8: HDA Intel PCH Headphone Mic /dev/input/event9: HDA Intel PCH HDMI/DP,pcm=3 /dev/input/event10: HDA Intel PCH HDMI/DP,pcm=7 /dev/input/event11: HDA Intel PCH HDMI/DP,pcm=8 /dev/input/event12: HDA Intel PCH HDMI/DP,pcm=9 /dev/input/event13: HDA Intel PCH HDMI/DP,pcm=10 Select the device event number [0-13]: 4 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0 Input device name: "Huawei WMI hotkeys" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 113 (KEY_MUTE) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 171 (KEY_CONFIG) Event code 224 (KEY_BRIGHTNESSDOWN) Event code 225 (KEY_BRIGHTNESSUP) Event code 238 (KEY_WLAN) Event code 240 (KEY_UNKNOWN) Event code 248 (KEY_MICMUTE) Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Testing ... (interrupt to exit) Event: time 1577140585.157223, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577140585.157223, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 1 Event: time 1577140585.157223, -------------- SYN_REPORT ------------ Event: time 1577140585.157275, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 0 Event: time 1577140585.157275, -------------- SYN_REPORT ------------ Event: time 1577140586.235434, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577140586.235434, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 1 Event: time 1577140586.235434, -------------- SYN_REPORT ------------ Event: time 1577140586.235480, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 0 Event: time 1577140586.235480, -------------- SYN_REPORT ------------ Event: time 1577140586.959544, type 4 (EV_MSC), code 4 (MSC_SCAN), value 287 Event: time 1577140586.959544, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 1 Event: time 1577140586.959544, -------------- SYN_REPORT ------------ Event: time 1577140586.959593, type 1 (EV_KEY), code 248 (KEY_MICMUTE), value 0 Event: time 1577140586.959593, -------------- SYN_REPORT ------------

  • acpi_listen if it's keyboard related. Run sudo acpi_listen and test all hotkeys. Submit output.
    ABBC0F5C-8EA1-11� 000000a0 00000000 button/micmute MICMUTE 00000080 00000000 K ABBC0F5C-8EA1-11� 000000a0 00000000 button/micmute MICMUTE 00000080 00000000 K ABBC0F5C-8EA1-11� 000000a0 00000000 button/micmute MICMUTE 00000080 00000000 K ABBC0F5C-8EA1-11� 000000a0 00000000 button/micmute MICMUTE 00000080 00000000 K

Donate does not work

Describe the bug
When I try to donate on buymeacoffee, I get an error

This account cannot currently make live charges.
If you are a customer trying to make a purchase, please contact the owner of this site.
Your transaction has not been processed.

Micmute led on Matebook D

Hi,

all keys worked perfectly fine when installing Fedora on my Matebook D, I only had to update the hwdb tables directly for the micmute button to work.

However, it is impossible to turn off the Micmute led, it has been this way since installation probably as a remnant of when I had windows.

Is there any fix for this in the works? is there any way I can help by sending logs or something?

What's the meaning of start_threshold?

First, thanks very much for implementing the battery protection feature. I can
confirm that it works on MateBook-14 ("Product": KLV-WX9). Well, at least the
end_threshold part, which happily prevents the battery from getting near 100%.

However, I'm confused what the start_threshold means. For, with the AC plugged
in, the battery gets charged up to the end_threshold, regardless of start_threshold.

Some sources, including issue #35, suggest if the battery capacity (charge
level) is between the start & end thresholds, the AC should not charge the
battery, or more precisely, the battery capacity should stay unchanged. This,
as stated above, is not true in my case.

Moreover, this, would mean that to turn off battery protection the thresholds
should be set to "100 100" instead of "0 100", since "0 100" would mean, "Hey,
AC, always just keep the battery capacity where it's at." Yet "0 100" is what I see
used in scripts (e.g. batpro) for turning battery protection off. Confused I am.
I notice the "factory" values are "0 0", which, strangely, cannot be written to the
file /sys/devices/platform/huawei-wmi/charge_control_thresholds, yet do not
raise the error write error: Invalid argument like, say, "100 100", but fail silently.
But isn't it more logical to accept "0 0" and make it mean, as it surely already
does, "turn off battery protection"?

Edit: Oh, there's another difference from the description in #35. When the AC is
plugged in, if the battery capacity is above end_threshold, the battery status will
be "Discharging" instead of "Unknown", and the battery will actually discharge
as if the AC is not plugged in at all, until it lowers to end_threshold, that is.

FAILED message in system boot log about "Huawei WMI Reinstate". charge_thresholds: No such file or directory

Describe the bug
"Fail to get WMI Privilege and Reinstate" message in system boot log.

To Reproduce
Install the 3.4 version driver via DKMS .
Boot using ly and Archlinux with lts kernel version: 5.4.72-1-lts.

Type sudo journalctl and search for Huawei WMI Reinstate.

Then you will see messages like:

Oct 20 11:49:39 Mi3 chgrp[901]: /usr/bin/chgrp: cannot access '/sys/devices/platform/huawei-wmi/charge_thresholds': No such file or directory
Oct 20 11:49:39 Mi3 systemd[1]: huawei-wmi-privilege.service: Main process exited, code=exited, status=1/FAILURE
Oct 20 11:49:39 Mi3 systemd[1]: huawei-wmi-privilege.service: Failed with result 'exit-code'.
Oct 20 11:49:39 Mi3 systemd[1]: Failed to start Huawei WMI Privilege.
Oct 20 11:49:39 Mi3 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=huawei-wmi-privilege comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=failed'
Oct 20 11:49:39 Mi3 systemd[1]: Starting Huawei WMI Reinstate...
Oct 20 11:49:39 Mi3 sh[903]: cat: /sys/devices/platform/huawei-wmi/charge_thresholds: No such file or directory
Oct 20 11:49:39 Mi3 sh[902]: Old charge thresholds
Oct 20 11:49:39 Mi3 sh[905]: /usr/bin/sh: /sys/devices/platform/huawei-wmi/charge_thresholds: Permission denied
Oct 20 11:49:39 Mi3 systemd[1]: huawei-wmi-reinstate.service: Main process exited, code=exited, status=1/FAILURE
Oct 20 11:49:39 Mi3 systemd[1]: huawei-wmi-reinstate.service: Failed with result 'exit-code'.
Oct 20 11:49:39 Mi3 systemd[1]: Failed to start Huawei WMI Reinstate.

Expected behavior
No such error messages in system boot log.

Desktop (please complete the following information):

  • Kernel [5.4.72-1-lts] uname -a
  • Distro [Arch Linux] `
  • Loaded WMI modules lsmod | grep wmi
huawei_wmi             24576  0
ledtrig_audio          16384  3 snd_hda_codec_generic,huawei_wmi,snd_hda_codec_realtek
sparse_keymap          16384  1 huawei_wmi
wmi_bmof               16384  0
intel_wmi_thunderbolt    20480  0
wmi                    36864  3 intel_wmi_thunderbolt,huawei_wmi,wmi_bmof
battery                20480  1 huawei_wmi
  • Dmesg log dmesg > dmesg.txt
    it's very long(~900 lines) and maybe no need at all.

  • ALSA log if applicable alsa-info.sh
    maybe no need at all.

Additional context
Since the config file related to charging is now called charge_control_thresholds, which is not match with charge_thresholds, a simple solution may be just check out the source files and edit so that the filename matches?(However I'm not sure where to edit)

It Works for HUAWEI Matebook 14 (KLV-WX9)

I have openSUSE Tumbleweed with kernel 5.3.2 running on my Matebook 14 (KLV-WX9). A Huawei-WMI driver is shipped with the kernel that enables the Fn keys (Thanks a lot!). But there is still frustrations that the directory for battery protection /sys/devices/platform/huawei-wmi never existed and the micmute LED was always off. The driver shipped with the kernel seems no older than v3.2 (as I was informed by dkms when trying to build the latest release (v3.2) from this repo).

Fortunately the developing version from the Master branch saves me. Since there is no discussion about Matebook 14 here, I would like to make this note for the users of this mode. And hopefully the developing version would soon mature to form a release.

Thanks again for the efforts of the author and all the contributors!

Huawei MateBook D16 microphone led does not work

Describe the bug
LED on the F7(fn+mic) key does not light up when microphone is turned off

Expected behavior
When the microphone is turned off, the LED on the F7(fn+mic) key should light up

Kernel: 5.14.8-051408-generic
Distro: Ubuntu 20.04.3 LTS
Loaded WMI modules:

snd_rawmidi            40960  1 snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
huawei_wmi             20480  0
ledtrig_audio          16384  2 snd_hda_codec_generic,huawei_wmi
sparse_keymap          16384  1 huawei_wmi
wmi_bmof               16384  0
snd                    94208  22 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
wmi                    32768  2 huawei_wmi,wmi_bmof

acpidump.txt | dmidecode.txt | dmesg.txt

Charge thresholds doesn't work anymore after BIOS update on HUAWEI MateBook D 15 AMD

Hi, I just updated my BIOS from version 1.11 to version 1.17 on my HUAWEI MateBook D 15 AMD. After that, setting charge thresholds on Linux as stopped working. Everything else like FN lock and mic led is still working. Also, I'm still able to change those thresholds on Windows.

Steps to reproduce the behavior:

  1. Download the latest BIOS from HUAWEI Support: https://consumer.huawei.com/en/support/laptops/matebook-d-15-amd/
  2. Upgrade your BIOS using Windows on your SSD
  3. Start using Linux to set charge thresholds.

I just want to have charging thresholds working on Linux as it was working before.

$ lsmod | grep wmi
huawei_wmi             24576  0
ledtrig_audio          16384  3 snd_ctl_led,snd_hda_codec_generic,huawei_wmi
sparse_keymap          16384  1 huawei_wmi
wmi_bmof               16384  0
wmi                    36864  2 huawei_wmi,wmi_bmof

I can get Windows charge thresholds:

$ cat /sys/devices/platform/huawei-wmi/charge_control_thresholds
40 70

I can write them even if nothing happen (The battery continue charging above those thresholds):

$ cat /sys/devices/platform/huawei-wmi/charge_control_thresholds
95 100
$ echo "70 90" | sudo tee /sys/devices/platform/huawei-wmi/charge_control_thresholds
70 90
$ cat /sys/devices/platform/huawei-wmi/charge_control_thresholds
70 90

Special case:

$ echo "0 100" | sudo tee /sys/devices/platform/huawei-wmi/charge_control_thresholds
0 100
$ cat /sys/devices/platform/huawei-wmi/charge_control_thresholds
40 70

Build from source

I use Fedora 33 (Linux 5.8.17)
Honor Magicbook Pro 2020
I can build feat/kbdlight

sudo dnf install kernel-headers kernel-devel
make
sudo cp huawei-wmi.ko /lib/modules/$(uname -r)/updates/
sudo depmod
sudo make install

And see:

[sermart@localhost Huawei-WMI]$ sudo make install
make -C /lib/modules/5.8.17-300.fc33.x86_64/build/ M=/home/sermart/Huawei-WMI modules_install
make[1]: вход в каталог «/usr/src/kernels/5.8.17-300.fc33.x86_64»
  INSTALL /home/sermart/Huawei-WMI/huawei-wmi.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
  DEPMOD  5.8.17-300.fc33.x86_64
make[1]: выход из каталога «/usr/src/kernels/5.8.17-300.fc33.x86_64»
depmod -a

Help me
Can I just copy crypto/bio/bss_file.c to /usr/src/kernels/5.8.17-300.fc33.x86_64/crypto?

I cannot run Matebook applet

Hi,
i downloaded and installed Huawei-WMI and all the stuff seems to work. However i do not see the matebook applet available.
In the README.md of matebook-applet repo the following sentences are written:
"Starting with version 1.2 the best way to get the matebook-applet working is to install Huawei-WMI driver by Ayman Bagabas."
"After installing the driver you may start using the matebook-applet right away."
Is there something else to do in order to install the matebook-applet?
Thank you.

Need testers

This driver is meant to work for all Huawei laptops. Currently, MBXP is the only laptop that is supported. Supporting its successor, Matebook X, is the next step. I will probably need some testers and more information about the MBX such as DSDT and SSDT tables.

BAT1 instead of BAT0 on Matebook D 14" AMD (KPL-W0X)

Hi, I'm on a Matebook D 14" AMD KPL-W0X and tried the latest master branch of this driver with kernel 5.2.14 and the driver fails to register the battery extension:

$ dmesg -t
...
input: Huawei WMI hotkeys as /devices/platform/huawei-wmi/input/input14
battery: extension failed to load: Huawei Battery Extension
battery: extension unregistered: Huawei Battery Extension
...

The driver checks against BAT0, but I'm having a BAT1 instead.

$ ls /sys/class/power_supply/
ACAD BAT1

I've changed BAT0 to BAT1 in line 438 of huawei-wmi.c and it seems to work then.

Some of the function hotkeys not work in TTYs

For the record, all of the hotkeys, they do work perfectly in Desktop Environments.
However, some function hotkeys like Volume Up/Down, Mute… they just don't work in TTYs.
I'm not sure if this is a bug. Or the driver is for Desktop only?
Help needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.