Huawei MateBook 14s
Hardware | PCI/USB ID | Working? |
---|---|---|
Touchpad | 27C6:01E0 |
Yes |
Touchscreen | 27C6:0114 |
Yes |
Keyboard | PS/2 | Yes |
Webcam | 3408:c200 |
Yes |
Bluetooth | 8087:0026 |
Yes |
Audio | 8086:a0c8 |
Partial |
Wireless | 8086:a0f0 |
Yes |
Fingerprint reader | 27c6:5125 |
No |
Installation
Secure Boot must be disabled in the BIOS to boot an Arch Linux install medium. Other than that, the installation can proceed normally.
Accessibility
The BIOS is text-based, OCR-friendly, and usable with the keyboard only.
Firmware
fwupd detects the SSD, serial bus controller, USB camera, USB4 host controller, system firmware, and UEFI device firmware.
Function keys
To make function keys trigger F1
–F12
by default and special functions with Fn
, write 1 to /sys/devices/platform/huawei-wmi/fn_lock_state
. This setting survives reboots, so writing once suffices.
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+F1 |
Yes | Yes |
XF86MonBrightnessDown
|
Fn+F2 |
Yes | Yes |
XF86MonBrightnessUp
|
Fn+F3 |
Yes3 | Yes | Cycle keyboard backlight (no/low/high) |
Fn+F4 |
Yes | Yes |
XF86AudioMute
|
Fn+F5 |
Yes | Yes |
XF86AudioLowerVolume
|
Fn+F6 |
Yes | Yes |
XF86AudioRaiseVolume
|
Dictation key (above 7) | Yes3 | Yes | Does nothing by default |
Fn+F7 |
Yes | Yes |
XF86AudioMicMute
|
Fn+F8 |
No | Yes |
Super+p
|
Fn+F9 |
Yes3 | Yes | Toggles wifi via rfkill |
Fn+F10 |
Yes | Yes |
XF86Tools
|
Fn+F11 |
Yes | Yes |
PrintScreen
|
Fn+F12 |
Yes | Yes |
Ins
|
Fn+r |
Yes3 | No | Nothing; supposed to toggle display refresh rate between 60 and 90Hz |
Fn+p |
Yes3 | No | Nothing; supposed to toggle performance mode |
Fn+Left |
Yes | No |
Home
|
Fn+Right |
Yes | No |
End
|
Fn+Up |
Yes | No |
PageUp
|
Fn+Down |
Yes | No |
PageDown
|
- The key is visible to
xev
and similar tools - The physical key has a symbol on it, which describes its function
- Not visible to
xev
by default, but detected by the kernel (Unknown key pressed
) and can be handled as described in map scancodes to keycodes.
Audio
ALSA firmware is required. The speakers and microphones work well but not perfectly out of the box; the audio jack has some issues which are being addressed[1].
Until the issue is fixed upstream, some workarounds can make the device usable.
Headphones
To use headphones plugged in the audio jack, until the fixes are incorporated upstream, you can use this workaround [2] (which uses hda-verb
from alsa-tools):
Enable speaker and disable headphones
First, move the output to the speaker DAC:
# hda-verb /dev/snd/hwC0D0 0x16 0x701 0x0001
Then, enable the speaker:
# hda-verb /dev/snd/hwC0D0 0x17 0x70C 0x0002
Finally, disable the headphones:
# hda-verb /dev/snd/hwC0D0 0x1 0x715 0x2
Disable a speaker and enable headphones
First, move the output to the headphones DAC:
# hda-verb /dev/snd/hwC0D0 0x16 0x701 0x0000
Then, disable the speaker:
# hda-verb /dev/snd/hwC0D0 0x17 0x70C 0x0000
Afterwards, pin the output mode:
# hda-verb /dev/snd/hwC0D0 0x1 0x717 0x2
Then, enable the pin:
# hda-verb /dev/snd/hwC0D0 0x1 0x716 0x2
Finally, clear the pin value:
# hda-verb /dev/snd/hwC0D0 0x1 0x715 0x0
In both cases, if using ALSA ensure the outputs are unmuted using alsamixer
or amixer
; if using PulseAudio, ensure the correct output (speaker/headphone) is selected using pactl set-sink-port
or pavucontrol
.
ALSA
With plain ALSA you will have issues with simultaneous audio output from multiple sources that can be fixed with the following:
/etc/modprobe.d/audio.conf
options snd-intel-dspcfg dsp_driver=3
which unfortunately renders the microphones unusable.
PulseAudio
If using PulseAudio, both simultaneous audio output and the microphones will kind of work (only the two left microphones). However, to have audio output through the speakers you should run the hda-verb
script from #Enable speaker and disable headphones after launching PulseAudio.
Battery protection
The huawei_wmi
driver is available in the mainline kernel.
You can set the thresholds by writing directly to the file:
# echo '40 70' > /sys/devices/platform/huawei-wmi/charge_control_thresholds
or you can use tools such as TLP:
/etc/tlp.conf
START_CHARGE_THRESH_BAT0=40 STOP_CHARGE_THRESH_BAT0=70
BAT1
in sysfs, but BAT0
in tlp.conf
.Display
The native resolution (2520x1680) is fully recognized and the refresh rate is set to 90Hz but it can be changed to 60Hz and 48Hz. Decreasing the refresh rate means less screen fluidity but also longer battery life