All Projects → aymanbagabas → Huawei Wmi

aymanbagabas / Huawei Wmi

Licence: gpl-2.0
Huawei WMI laptop extras linux driver

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Huawei Wmi

iomemory-vsl4
Updated Fusion-io iomemory VSL4 Linux (version 4.3.7) driver for recent kernels.
Stars: ✭ 42 (-65%)
Mutual labels:  driver, linux-kernel
Synwall
A zero-configuration (IoT) firewall
Stars: ✭ 219 (+82.5%)
Mutual labels:  driver, linux-kernel
book linuxkernel blockdrv
Learn how multi-queue block device in Linux kernel v4.4 works
Stars: ✭ 69 (-42.5%)
Mutual labels:  driver, linux-kernel
rtw88-usb
rtw88 family usb driver for linux rtl8723du rtl8822bu rtl8821cu rtl8822cu
Stars: ✭ 40 (-66.67%)
Mutual labels:  driver, linux-kernel
w1-gpio-cl
Command line configured kernel mode 1-wire bus master driver. w1-gpio standard Linux module enhancement/substitution.
Stars: ✭ 17 (-85.83%)
Mutual labels:  driver, linux-kernel
Postgresql Dart
Dart PostgreSQL driver: supports extended query format, binary protocol and statement reuse.
Stars: ✭ 105 (-12.5%)
Mutual labels:  driver
Wfpstarterkit
An example driver for Windows that shows how to set-up some basic components of the Windows Filtering Platform
Stars: ✭ 113 (-5.83%)
Mutual labels:  driver
Xia For Linux
XIA implementation for the Linux kernel
Stars: ✭ 98 (-18.33%)
Mutual labels:  linux-kernel
Udev Joystick Blacklist
Fix for keyboard/mouse/tablet being detected as joystick in Linux
Stars: ✭ 97 (-19.17%)
Mutual labels:  linux-kernel
Cassandra Sharp
high performance .NET driver for Apache Cassandra
Stars: ✭ 114 (-5%)
Mutual labels:  driver
Ckernel
中国Linux内核开发者大会
Stars: ✭ 115 (-4.17%)
Mutual labels:  linux-kernel
Tl Wn722n V2
Drivers for TP-LINK TL-WN722N version 2 .Clean ported for kernel 4.4, 4.8, 4.10 ,4.13 ,4.14 & 4.15 from source which was at 4.3
Stars: ✭ 112 (-6.67%)
Mutual labels:  driver
Grl
Robotics tools in C++11. Implements soft real time arm drivers for Kuka LBR iiwa plus V-REP, ROS, Constrained Optimization based planning, Hand Eye Calibration and Inverse Kinematics integration.
Stars: ✭ 105 (-12.5%)
Mutual labels:  driver
Go Hdb
SAP HANA Database Client for Go
Stars: ✭ 113 (-5.83%)
Mutual labels:  driver
Neo4j Core
A simple unified API that can access both the server and embedded Neo4j database. Used by the neo4j gem
Stars: ✭ 99 (-17.5%)
Mutual labels:  driver
Hulaaki
DEPRECATED : An Elixir library (driver) for clients communicating with MQTT brokers(via the MQTT 3.1.1 protocol).
Stars: ✭ 115 (-4.17%)
Mutual labels:  driver
Betterjoy
Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput
Stars: ✭ 1,352 (+1026.67%)
Mutual labels:  driver
Robotiq
Robotiq packages (http://wiki.ros.org/robotiq)
Stars: ✭ 110 (-8.33%)
Mutual labels:  driver
Virtualcar
A virtual car. Because you wouldn't download a car, would you?
Stars: ✭ 114 (-5%)
Mutual labels:  linux-kernel
Go Sonic
Sonic driver written in Go.
Stars: ✭ 110 (-8.33%)
Mutual labels:  driver

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
# For autoinstallation
sudo dkms autoinstall -m huawei-wmi/VER
# For one-time installation
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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].