/clevo-xsm-wmi

https://bitbucket.org/rafaelgieschke/clevo-xsm-wmi https://bitbucket.org/lynthium/clevo-xsm-wmi

Primary LanguageC

clevo-xsm-wmi

Kernel module for keyboard backlighting of Clevo SM series notebooks. (And several EM/ZM/DM series models)

Based upon tuxedo-wmi, created by TUXEDO Computers GmbH. http://www.linux-onlineshop.de/forum/index.php?page=Thread&threadID=26

Additions over tuxedo-wmi

  • Sysfs interface to control the brightness, mode, colour, on/off state after the module has loaded. In the original code you can only set these before the module loads.
  • Small QT based application to visually control the keyboard lighting using the sysfs interface.
  • Cycle through colours rather than modes with the keyboard key.
  • Experimental support for touchpad illumination / lower led bar on the front of the machine.

Building

Dependencies:

  • standard compile stuff (c compiler, make, etc)
  • linux-headers
  • qt5-base (for utility)

Fedora 22+ Dependencies:

  • use qmake-qt5 instead of qmake
  • install qt5-qt3d-devel with DNF

Building:

# For the module
$ cd module && make && sudo make install

# For the utility
$ cd utility && qmake && make
$ sudo install -Dm755 clevo-xsm-wmi /usr/bin/clevo-xsm-wmi
$ sudo install -Dm755 systemd/clevo-xsm-wmi.service /usr/lib/systemd/system/clevo-xsm-wmi.service

Usage

Adjusting keyboard settings:

$ sudo clevo-xsm-wmi

Restoring state during boot:

# With the module:
$ modinfo clevo-xsm-wmi
$ sudo tee /etc/modprobe.d/clevo-xsm-wmi.conf <<< options clevo-xsm-wmi kb_color=white,white,white kb_brightness=1

# With systemd:
$ sudo systemctl enable clevo-xsm-service
$ sudo systemctl start clevo-xsm-service

# With others:
run '/usr/bin/clevo-xsm-wmi -r' at boot to restore state
run '/usr/bin/clevo-xsm-wmi -s' at shutdown/change to save state

Distributions

Arch Linux: Module DKMS Utility

Common issues

  • 'Can't read private key' during 'make install'.

This is a common issue on Ubuntu as the module isn't signed so manual install is required.

$ sudo install -m644 clevo-xsm-wmi.ko /lib/modules/$(uname -r)/extra
$ sudo depmod
  • Module installed but not loaded during boot.

Specify that the module should be loaded just in case.

$ sudo tee /etc/modules-load.d/clevo-xsm-wmi.conf <<< clevo-xsm-wmi
  • I'm absolutely positive that the module is installed but still nothing happens!
$ sudo modprobe clevo-xsm-wmi
$ dmesg | grep clevo

If it returns no line such as 'clevo_xsm_wmi: Model Clevo P15SM found', then your model isn't supported. Please open an issue and supply the output of 'uname -a', 'sudo dmidecode' and 'dmesg | grep clevo'.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.