backlight doesn´t work

Asked by Sjoerd Vinkenvleugel on 2013-12-26

Hello
I bought the ´CM Storm Devastator´ becous i needed a keyboard + mouse.
But now the backlight of the keyboard doesn´t work...
Is there any way i can fix this problem?

Sjoerd Vinkenvleugel (Netherlands)

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu linux Edit question
Assignee:
No assignee Edit question
Last query:
2013-12-30
Last reply:
2017-02-17

What is the output of :

lsb_release -a; uname -a; lsusb

Thanks

josh sabboth (securitybreach) said : #2

Well I recently got the same keyboard and I am having the same issue except I am using Archlinux. Here the output from your command:

 comhack@Cerberus ~ % lsb_release -a; uname -a; lsusb
LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling
Codename: n/a
Linux Cerberus 3.12.6-1-ck #1 SMP PREEMPT Fri Dec 20 14:36:41 EST 2013 x86_64 GNU/Linux
Bus 002 Device 010: ID 0a5c:2190 Broadcom Corp.
Bus 002 Device 009: ID 0a5c:4503 Broadcom Corp. Mouse (Boot Interface Subclass)
Bus 002 Device 008: ID 0a5c:4502 Broadcom Corp. Keyboard (Boot Interface Subclass)
Bus 002 Device 007: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 093a:2521 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 006: ID 258a:0001
Bus 001 Device 003: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Notice the keyboard line does not have the model description.

Thanks

You are using Arch which is nothing to do with Ubuntu. Arch support is entirely separate from Ubuntu's. I suggest you post here :

https://bbs.archlinux.org

josh sabboth (securitybreach) said : #4

Come on now, I know this but the hardware is the same and both are autodetected by the kernel. The same information applies on Ubuntu as well since I have Ubuntu and others running in Qemu.

It doesn't matter. By your reckoning ALL distributions are supported here but this is not the case. Even Ubuntu based distributions are not supported here either and they too have their own communities.

You are using Arch. Arch has its own support forum and I have given you the link where you should post.

josh sabboth (securitybreach) said : #6

I am simply looking for the kernel module for the device and thought I would contribute. I realize that there is an Archlinux forum as I have been using Arch for 7 years and Linux for 10. This is not an issue with just Ubuntu. I have tested this on LinuxMint, Fedora, Ubuntu, Archlinux and everyone of them have an issue with the backlight. If you wish to see an Ubuntu lsusb, I can post that as well. I was just currently booted into Archlinux when I ran across your post.

The issue you have is in Arch. This forum ONLY supports Ubuntu. Not Arch which is what you are using. It's that simple

josh sabboth (securitybreach) said : #8

Actually I run 7 distros but arguing back and forth is not resolving the issue.

I use many OS's - UBUNTU included. The backlight works on Windoze but not on UBUNTU (13). I just started looking into this and will get back if I find out why.

josh sabboth (securitybreach) said : #10

Thanks a lot Jeffery, I appreciate it!!

Hello, i was reading your post but i am not at home, so can you tell me how
that Works, is it just a command for the terminal or....
If i'm back home, i'l do it for you and send you an e-mail
Sjoerd
Op 26 dec. 2013 14:01 schreef "actionparsnip" <
<email address hidden>>:

> Your question #241299 on linux in Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+source/linux/+question/241299
>
> Status: Open => Needs information
>
> actionparsnip requested more information:
> What is the output of :
>
> lsb_release -a; uname -a; lsusb
>
> Thanks
>
> --
> To answer this request for more information, you can either reply to
> this email or enter your reply at the following page:
> https://answers.launchpad.net/ubuntu/+source/linux/+question/241299
>
> You received this question notification because you asked the question.
>

Hello
So you are going to search for the answer?
Sjoerd
Op 30 dec. 2013 02:31 schreef "Jeffery Franzen" <
<email address hidden>>:

> Your question #241299 on linux in Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+source/linux/+question/241299
>
> Jeffery Franzen posted a new comment:
> I use many OS's - UBUNTU included. The backlight works on Windoze but
> not on UBUNTU (13). I just started looking into this and will get back
> if I find out why.
>
> --
> You received this question notification because you asked the question.
>

James Ramsay (f-jack) said : #13

It uses propritary drivers most likely and the manufacturer never made linux drivers for the keyboard.

RickB (malydog) said : #15

I bought one of these keyboards yesterday, same problem.
The magic juice to turn on the backlight on this keyboard in linux is this:

xset led 3

and to turn it off

xset -led 3

So to get it to turn on automatically you need to execute "xset led 3" on startup; there are many different ways of doing this.

RickB (malydog) said : #16

For example in Ubuntu I tried a few things that worked, some that didn't.
In the end I settled on this approach:

Create file /etc/xdg/autostart/backlight.desktop

Edit the file so it looks something like this:

[Desktop Entry]
Type=Application
Name=Devastator Backlight
Exec=xset led 3
Icon=system-run
X-GNOME-Autostart-enabled=true

Ideally I wanted to get the backlight to activate at the login screen (before any user has logged on) but couldn't get it working. The method above turns on the backlight once any user logs in.

josh sabboth (securitybreach) said : #17

Wow, your the man RickB!!!! Thanks so very much!

THANK YOU RICKB!!!! it works!!!!

Richard Sparks (jewtoo613) said : #19

Awesome RickB!!! I was so aggravated that it wasn't working. Your solution worked for me.

RickB (malydog) said : #20

I'm glad to hear it helped you guys, thanks for the feedback. Here's an update...

First, I found a cool new command:

sudo xmodmap -e 'add mod3 = Scroll_Lock'

This makes the scroll lock key turn the backlight on and off (but does not override "xset led 3").

Second, my wife (the keyboard is for her) says that sometimes the backlight fails to turn on. No idea why, maybe there is a race condition when logging in.

So I have written a tiny shell script, put in a one second sleep to help avoid any potential race, and just in case it still fails I also execute the xmodmap command in the same script. So hopefully she can turn the backlight on with the scroll lock key if it does not come on automatically.

Here is the shell script:

#!/bin/bash
sleep 1
xset led 3
xmodmap -e 'add mod3 = Scroll_Lock'

I saved it as /home/wife/scripts/backlight.sh (don't forget to make it executable!).

Then I updated the .desktop file at /etc/xdg/autostart/backlight.desktop so that it runs the new shell script, like so:

[Desktop Entry]
Type=Application
Name=Devastator Backlight
Exec=/home/wife/scripts/backlight.sh
Icon=system-run
X-GNOME-Autostart-enabled=true

josh sabboth (securitybreach) said : #21

Nice job RickB!!

RickB (malydog) said : #22

For the record I finally solved it the way my wife wanted, as I said originally above:

"Ideally I wanted to get the backlight to activate at the login screen (before any user has logged on)"

The trick to get this going (on Ubuntu 14.04 now BTW) is to edit /etc/lightdm/lightdm.conf

In the section [SeatDefaults] add a display-setup-script pointing to the backlight.sh script mentioned in the post above, like this:
display-setup-script=/home/wife/scripts/backlight.sh

Here's what my lightdm.conf looks like now:

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
display-setup-script=/home/wife/scripts/backlight.sh

RickB: Thank you for doing all the legwork to get this working. I was wondering, is it possible to just put the xset led mod3 command directly into the lightdm.conf file somehow? I realize this might still cause the race condition, but it seems more elegant than using a shell script. Also, I'd be tempted to put the shell script somewhere other than a user's home directory; I assume it wouldn't have any trouble running from somewhere else. In any case, you-da-man ...

But really, what confuses me is that the backlight key (scroll lock) works perfectly fine when I boot to the BIOS.

josh sabboth (securitybreach) said : #24

+Michael Irelandl: I also experience the blacklight on bios but I add the command to ~/.xinitrc so it starts with X. You can also add it to your autostart file for lightdm.

Thanks Josh. A few questions: isn't the ~/.xinitrc file user specific? As such, I would have to add the command to every new user's account, wouldn't I? Next, which autostart file are you referring to? I think I would actually prefer just to have this command:

xmodmap -e 'add mod3 = Scroll_Lock'

executed at the login screen. That seems the most "natural" to me. Make the key active, but leave it off by default.

josh sabboth (securitybreach) said : #26

Well if you wanted it added to every new user's account, add the command to /etc/skel/.xinitrc. Then when you create a new user, the global .xinitrc is copied over.

Mik Wind (evilpollo) said : #28

Finally Found an answer, at least for Ubuntu 14.04

as for how to get the keyboard to light up before the login screen:

edit :
/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

sudo gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

add the line:

greeter-setup-script= xset led 3

Natian (natian234) said : #29

Thanks to everyone who pitched in.
I'm using just the greeter code.

I'm looking into ways to run this script when returning from a suspend. My keyboard will not light up after the computer wakes up.
I currently have this in /etc/pm/sleep.d/executable.sh.
Have any of you had this issue? Have a solution?

#!/bin/bash

case "$1" in
    resume|thaw)
        # executed on resume
 sleep 3
 xset led 3
 xmodmap -e 'add mod3 = Scroll_Lock'
        ;;
    *)
        ;;
esac

davidryman (linux-davidryman) said : #30

Great work RickB, thanks.
actionparsnip is a Troll!

I am keeping the policies of the forum. Each distribution has it's own forums. It's that simple.

Kelly Goose (dan-mcc) said : #32

Hmm can someone help a noob out? I'm typing sudo xmodmap -e 'add mod3 = Scroll_Lock' into terminal and nothing happening.. Sorry I'm new in linux but I've done a fair bit of stuff in the terminal. Maybe just a link to catch up on the basics here or advice where to go learn...

Thanks

Dimitrije Petrovic (mitap94) said : #33

I found a script on this link, and it works like a charm:
http://askubuntu.com/questions/147080/shell-script-to-toggle-between-two-commands

I just changed the commands to fit our need >:)

#!/bin/sh
# This shell script is PUBLIC DOMAIN. You may do whatever you want with it.

TOGGLE=$HOME/.toggle

if [ ! -e $TOGGLE ]; then
    touch $TOGGLE
     xset led 3
else
    rm $TOGGLE
     xset -led 3
fi

You can just assign this script to the Scroll Lock (in the keyboard shortcuts menu) and everything works as it should.
I just didn't like the solution where you run the script on system start and the only way you turn off the light is to open the terminal and type xset -led 3. This works much better if you have non tech savy people using the PC :)

Can you help with this problem?

Provide an answer of your own, or ask Sjoerd Vinkenvleugel for more information if necessary.

To post a message you must log in.