Keyboard Backlight Not Working in Linux (Fedora 18 Spherical Cow/Fedora 19 Schrödinger’s Cat) – ASUS N56V

Backlit keyboards are pretty usual these days, beside being cool looking, they are very useful at night. When I first installed Fedora 18 ‘Spherical Cow’ in my new ASUS N56V, the keyboard backlight was working perfectly. After updating to (I believe) kernel version 3.8.x the keyboard backlight stopped working, bummer. I did my research and was able to find the solution for this problem.






You see, after updating the kernel to version 3.9.x and running the below command I found an error with asus-nb-wmi (see line 7)

[root@localhost leds]# dmesg | grep asus
[    8.583052] asus_wmi: ASUS WMI generic driver loaded
[    8.605138] asus_wmi: Initialization: 0x1
[    8.605173] asus_wmi: BIOS WMI version: 7.9
[    8.605216] asus_wmi: SFUN value: 0x6a0877
[    8.605816] input: Asus WMI hotkeys as /devices/platform/asus-nb-wmi/input/input10
[    8.692211] asus-nb-wmi: probe of asus-nb-wmi failed with error -5

The below directory is where the settings for the keyboard backlight are supposed to be stored. But as you can see, they did not exist.

[root@localhost leds]# ls -l /sys/class/leds
total 0
lrwxrwxrwx. 1 root root 0 May 23 08:34 phy0-led -> ../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/phy0-led

Now, to enable the keyboard backlight, run the below command as root

[root@localhost leds]# modprobe asus-nb-wmi

Now, as you can see below (line 12), backlight is now being controlled by the video driver

[root@localhost leds]# dmesg | grep asus
[    8.583052] asus_wmi: ASUS WMI generic driver loaded
[    8.605138] asus_wmi: Initialization: 0x1
[    8.605173] asus_wmi: BIOS WMI version: 7.9
[    8.605216] asus_wmi: SFUN value: 0x6a0877
[    8.605816] input: Asus WMI hotkeys as /devices/platform/asus-nb-wmi/input/input10
[    8.692211] asus-nb-wmi: probe of asus-nb-wmi failed with error -5
[21320.024189] asus_wmi: Initialization: 0x1
[21320.024244] asus_wmi: BIOS WMI version: 7.9
[21320.024310] asus_wmi: SFUN value: 0x6a0877
[21320.025959] input: Asus WMI hotkeys as /devices/platform/asus-nb-wmi/input/input14
[21320.069613] asus_wmi: Backlight controlled by ACPI video driver

And if we take a look at leds directory asus::kbd_backlight directory is now present (line 3)

[root@localhost leds]# ls -l /sys/class/leds
total 0
lrwxrwxrwx. 1 root root 0 May 24 10:08 asus::kbd_backlight -> ../../devices/platform/asus-nb-wmi/leds/asus::kbd_backlight
lrwxrwxrwx. 1 root root 0 May 24 10:08 asus::wlan -> ../../devices/platform/asus-nb-wmi/leds/asus::wlan
lrwxrwxrwx. 1 root root 0 May 23 08:34 phy0-led -> ../../devices/pci0000:00/0000:00:1c.1/0000:03:00.0/leds/phy0-led

At this point, Linux can now detect the keyboard backlight, but the FN keys to control this feature do not work, run the below command as root to turn on the keyboard manually (assuming you are under leds directory. You should see your backlight turn on 🙂

[root@localhost leds]# echo 10 | tee asus\:\:kbd_backlight/brightness

To make this permanent you need to create a file as root under /etc/modprobe.d/

[root@localhost leds]# echo "asus-nb-wmi" | tee /etc/modprobe.d/asus-nb-wmi.conf

In Fedora 19, you need to also create the above file under /etc/modules-load.d/.

That is it, after rebooting your computer, your keyboard backlight should be working, including the FN keys to control it.





Esau Silva
Software Engineer at Region One ESC
Microsoft Full Stack Application Developer
If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed.
Share