Unsolved
This post is more than 5 years old
2 Intern
•
623 Posts
1
5470
July 30th, 2019 21:00
XPS 15 9550 - Tutorial: Set keyboard backlight timeout up to 12 hrs
Since it seems there's no longer any Dell supported Windows 10 software to change the backlit keyboard timeout, thought I'd post how I used current versions of available software to do this. Timeout can be changed to a number of seconds, minutes or hours. Keyboard backlight can be kept on up to 12 hours, meaning for all practical purposes it never times out and backlight is always on. Details on how below.
First, it helps to understand that the setting is stored in the machine's hardware and not in Windows 10. This means once changed, the new setting will remain - it's not lost if machine is restarted, shutdown, or even if, for example, a clean install of Windows were done. So, provided it doesn't need to be changed frequently, using any readily available tool to change it once is a viable strategy. (Timeout is actually stored in the BIOS, although Dell's BIOS menu has no interface to view or change it as of BIOS 1.10.0.)
Second, it seems there's only one timeout setting which is used for both A/C and battery, rather than two separate timeouts for each situation. So, you can't set different timeout values for when plugged into A/C and when on battery power.
Basically, the backlight timeout value can be changed - without installing Ubuntu - from Ubuntu USB installation media. Simply create and run a Ubuntu "try before you install" bootable USB thumbdrive. (This is possible from Ubuntu because the Linux Kernel it uses can talk to Dell's BIOS.)
Steps to change the keyboard backlight timeout value (assumes you're using Windows 10, if you're running Ubuntu, skip to Step 4):
1) Download Ubuntu Desktop ISO (I used latest 19.04 version - scroll down past 18.04 LTS to see 19.04) and Rufus (I used the Portable version, as it requires no installation).
2) Use Rufus to create a bootable USB drive with Ubuntu installation media on it. Step-by-step guide here.
3) Reboot the XPS 15 9550 with the USB drive plugged in and at the Dell logo tap F12 to go into one-time boot menu - change to boot from the USB drive. The USB drive will boot into the "Try before actually installing" version of Ubuntu with Ubuntu running off the USB stick. (If it doesn't do this automatically, simply select the "Try Ubuntu without installing" option.)
4) Go to Applications (9 dot icon in lower left corner of screen), find and open the Terminal application (may be under Utilities or listed separately).
(Optional, but if you want, you can also open the Files/Folder application to reference the folder location of the stop_timeout configuration file, as shown below.)
5) Important! Unplug the A/C power. The timeout value can only be changed/displayed on battery (even though the changed timeout value will be effective on both battery and A/C).
6) Type following in the command line prompt of the Terminal window (note case, syntax and spacing matter):
sudo -i
cat /sys/class/leds/dell::kbd_backlight/stop_timeout
echo 12h > /sys/class/leds/dell::kbd_backlight/stop_timeout
- The sudo command with -i interactive option changes the rest of the Terminal session to run as root (which has the elevated privileges needed).
- The cat command shows/verifies the current timeout setting. (The first time cat is run it may show "0s", meaning Ubuntu hasn't set the value. Also, it will always show "0s" when plugged into A/C power.)
- The echo command actually changes the timeout setting to 12 hours - it's effective immediately. A/C power must be unplugged when the echo command is run for it to work.
Valid timeout settings are "s" for seconds, "m" for minutes and "h" for hours. So, for example, 2 minutes would be "2m". For the 9550, the maximum setting for hours is 12. Use "12h" if you want keyboard backlight to stay on as long as possible and effectively never turn off. (Linux kernel notes on Dell's keyboard configuration files here, scroll down to stop_timeout section at the end. Note the days, "d", option for the stop_timeout file does not work on the 9550.)
7) After changing the value with echo, run the cat command again while still on battery - it should show new value. (If value is "0s" then there was an error.) If it looks ok plug A/C power cable back in if desired.
8 ) Exit Ubuntu with small triangle dropdown icon in upper right corner of screen -> Power icon -> Restart (or Power Off).
USB stick is no longer needed unless you want/need to adjust the timeout again. (Note resetting the BIOS to its defaults will reset the timeout back to its default value of 10 seconds.)
Enjoy new keyboard backlight timeout setting!
Note there's a similar, but older, Dell Article that uses different tools to change the timeout from Ubuntu here. The stop_timeout file folder location is different, but the basic idea is the same as what I've listed above.
Note this technique isn't specific to the Dell XPS 15 9550 laptop - in theory it should work with any Dell laptop with a backlit keyboard that times out and the setting is kept in the BIOS, even if there's no BIOS menu option to change it. It should work on the Dell Precision 5510 and Dell XPS 13 9350, which were released about the same time as the XPS 15 9550. Seems Dell's later laptop models have BIOS menu options to change the timeout, so this technique may not be needed. (Note for any laptop with separate timeouts for battery and A/C you'd simply use the above procedure to set/verify one value when on battery, another when plugged into A/C.)
This tutorial has been shown to work with the Dell Latitude E6430 here.



First Name
1 Rookie
•
18 Posts
0
October 24th, 2019 14:00
Why can't we do this using any Linux ? where would I enable this option when compiling Linux kernel ?
Techgee
2 Intern
•
623 Posts
0
October 24th, 2019 15:00
In theory, you should be able to use any flavor (distro) of Linux since the Dell code is in the kernel and has been for years. Whether or not a specific distro trimmed down the code and removed the Dell functionality I wouldn't know.
I'd check for existence of stop_timeout and other Dell files in folder /sys/class/leds/dell::kbd_backlight/ on your distro.
I have no idea about the Linux kernel compile options to include or not include it, but Dell's laptop source code in the Linux kernel, including for keyboard stop_timeout, appears to be on GitHub here.
First Name
1 Rookie
•
18 Posts
0
October 30th, 2019 14:00
I had no luck compiling dell-laptop.c
Didn't want to use ubuntu, so I downloaded and installed (then uninstalled) the Dell enhancement package under windows 7.
The Dell package, too, makes the change in bios, the 5 minute limit is there under Linux also.