20

I have a Sony vaio laptop fit 15E model SVF1521DCXW and I want to turn OFF its keyboard back-light. It doesn't have a phisycal function shortcut key on the keyboard . I can turn off it with VAIO Control Center in Windows OS but I don't know how can I turn it off in Ubuntu 14.04.

I get SVF1521DCXW by running sudo dmidecode -s system-product-name.

First of all doesn't exist /sys/devices/platform/sony-laptop/kbd_backlight file on my machine.

By default, keyboard backlight is stay OFF; When I press any key it turns ON for a while 15 seconds and if I don't touch any key, it goes to turns OFF again.

Important: All try had same result on battery and AC power

The ls -l /sys/devices/platform/sony-laptop/ command shown files/directoes/symbolic links as following (I removed extra attributes and highlighted type of them into [ ]. All of them are root owner.):

[-]r--r--r-- 1   battery_care_health
[-]rw-r--r-- 1   battery_care_limiter
[l]rwxrwxrwx 1    driver -> ../../../bus/platform/drivers/sony-laptop
[-]r--r--r-- 1   modalias
[d]rwxr-xr-x 2   power
[l]rwxrwxrwx 1    subsystem -> ../../../bus/platform
[-]rw-r--r-- 1   touchpad
[-]rw-r--r-- 1   uevent

What modules are loaded if I run lsmod command:

Module                  Size  Used by
sony_laptop            54219  0 
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40664  1 uvcvideo
videodev              134688  2 uvcvideo,videobuf2_core
rfcomm                 69160  0 
bnep                   19624  2 
bluetooth             391136  10 bnep,rfcomm
snd_hda_codec_hdmi     46368  1 
snd_hda_codec_realtek    65580  1 
microread_mei          12811  0 
microread              13420  1 microread_mei
mei_phy                13881  1 microread_mei
crc_ccitt              12707  1 microread
hci                    44425  2 mei_phy,microread
snd_hda_intel          56451  3 
snd_hda_codec         192906  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              13602  1 snd_hda_codec
nfc                    95012  2 hci,microread
intel_rapl             18773  0 
x86_pkg_temp_thermal    14205  0 
intel_powerclamp       14705  0 
coretemp               13435  0 
kvm_intel             143109  0 
kvm                   451552  1 kvm_intel
snd_pcm               102099  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
crct10dif_pclmul       14289  0 
crc32_pclmul           13113  0 
ghash_clmulni_intel    13216  0 
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
snd_seq_midi_event     14899  1 snd_seq_midi
snd_rawmidi            30144  1 snd_seq_midi
aesni_intel            55624  1683 
aes_x86_64             17131  1 aesni_intel
lrw                    13286  1 aesni_intel
gf128mul               14951  1 lrw
glue_helper            13990  1 aesni_intel
ablk_helper            13597  1 aesni_intel
lib80211_crypt_tkip    17619  0 
cryptd                 20359  844 ghash_clmulni_intel,aesni_intel,ablk_helper
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29482  2 snd_pcm,snd_seq
joydev                 17381  0 
serio_raw              13462  0 
wl                   4207846  0 
lib80211               14381  2 wl,lib80211_crypt_tkip
cfg80211              484040  1 wl
lpc_ich                21080  0 
rtsx_pci_ms            18151  0 
snd                    69322  17 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
memstick               16966  1 rtsx_pci_ms
soundcore              12680  1 snd
mei_me                 18627  0 
mei                    82276  3 mei_phy,mei_me,microread_mei
mac_hid                13205  0 
parport_pc             32701  0 
ppdev                  17671  0 
lp                     17759  0 
binfmt_misc            17468  1 
parport                42348  3 lp,ppdev,parport_pc
rtsx_pci_sdmmc         23274  0 
nouveau              1097199  1 
i915                  783805  4 
mxm_wmi                13021  1 nouveau
wmi                    19177  2 mxm_wmi,nouveau
ttm                    85150  1 nouveau
i2c_algo_bit           13413  2 i915,nouveau
psmouse               106678  0 
ahci                   25819  2 
drm_kms_helper         55071  2 i915,nouveau
libahci                32716  1 ahci
drm                   303102  8 ttm,i915,drm_kms_helper,nouveau
r8169                  67581  0 
rtsx_pci               46202  2 rtsx_pci_ms,rtsx_pci_sdmmc
mii                    13934  1 r8169
video                  19476  2 i915,nouveau

This is the output of running modinfo sony-laptop:(NB: See the last two lines)

filename:       /lib/modules/3.13.0-37-generic/kernel/drivers/platform/x86/sony-laptop.ko
version:        0.6
license:        GPL
description:    Sony laptop extras driver (SPIC and SNC ACPI device)
author:         Stelian Pop, Mattia Dongili
srcversion:     5C6E050349475558A231C59
alias:          acpi*:SNY6001:*
alias:          acpi*:SNY5001:*
depends:        
intree:         Y
vermagic:       3.13.0-37-generic SMP mod_unload modversions 
signer:         Magrathea: Glacier signing key
sig_key:        2C:B1:13:3B:35:F9:5A:9E:24:DE:AB:EE:B1:2B:A4:49:BC:BA:BB:C9
sig_hashalgo:   sha512
parm:           debug:set this to 1 (and RTFM) if you want to help the development of this driver (int)
parm:           no_spic:set this if you don't want to enable the SPIC device (int)
parm:           compat:set this if you want to enable backward compatibility mode (int)
parm:           mask:set this to the mask of event you want to enable (see doc) (ulong)
parm:           camera:set this to 1 to enable Motion Eye camera controls (only use it if you have a C1VE or C1VN model) (int)
parm:           minor:minor number of the misc device for the SPIC compatibility code, default is -1 (automatic) (int)

parm: kbd_backlight:set this to 0 to disable keyboard backlight, 1 to enable it (default: no change from current value) (int) parm: kbd_backlight_timeout:meaningful values vary from 0 to 3 and their meaning depends on the model (default: no change from current value) (int)

Same output ^^ if run modinfo sony_laptop(Note: underscore_ instead of dash-)

What I tried are as following:

1. Reloading modprobe module with passing following commands:

sudo modprobe -r sony_laptop            # <- No output. back to command prompt. And with -l option I get modprobe: invalid option -- 'l'
sudo modprobe -v sony_laptop kbd_backlight=0

Output of second command in above:(for both trying with sony_laptop and/or sony-laptop. also I changed kbd_backlight=0 to kbd-backlight=0 and I get no error and gave me the below output)

insmod /lib/modules/3.13.0-35-generic/kernel/drivers/platform/x86/sony-laptop.ko kbd_backlight=0

Result: No changes.

2. Reloding modprobe module with passing this command:

sudo modprobe -v sony_laptop kbd_backlight_timeout=3 kbd_backlight=0

Output: Nothing.
So I tried all things from this thread.
Result: No change.

3. ls -l /sys/class/leds

Output: total 0 (actually Nothing)

4. Trying to founding file

  1. cat /etc/modprobe.d/sony-laptop.conf
  2. cat /etc/modprobe.d/options.conf
  3. cat /sys/class/leds/smc::kbd_backlight/brightness

Output: No such file or directory.

Expande option 1 from step 4: I create a file named sony-laptop.conf in /etc/modprobe.d and added options sony-laptop kbd_backlight=0 to the file, save it and restarted the computer. It doesn't work(even if I don't reboot), and I removed the file from there.

Expande option 2 from step 4: I create a file named options.conf in /etc/modprobe.d and added options sony-laptop kbd_backlight=0 to the file(Yes options command is part of command here), save it and restarted the computer. It doesn't work(even if I don't reboot), and I removed the file from there.

Expande option 3 from step 4: I already mentioned in step 3, I don't have any file there ;)

Result (for all options): Nochange

5. Trying to install some suggeted package on many sites:

sudo apt-get install nvidia-bl-dkms pommed

Output: E: Unable to locate package nvidia-bl-dkms

And if it helps I added that: part of lshw command:

*-serial UNCLAIMED
     description: SMBus
     product: 7 Series/C210 Series Chipset Family SMBus Controller
     vendor: Intel Corporation
     physical id: 1f.3
     bus info: pci@0000:00:1f.3
     version: 04
     width: 64 bits
     clock: 33MHz
     configuration: latency=0
     resources: memory:d1815000-d18150ff ioport:4040(size=32)

Any question can be ask on chat room ;)

αғsнιη
  • 35,660
  • Seems like you might have already tried this, but create a file named sony-laptop.conf in /etc/modprobe.d. Add options sony-laptop kbd_backlight=0 to the file, save it and restart the computer. If it doesn't work, remove the file. – Seth Jun 19 '14 at 18:29
  • ... after a restart modprobe stuff is automatically reset to the defaults. What I'm asking is, does the light switch off when you run the command individually or in combination WITHOUT rebooting. – fossfreedom Jun 24 '14 at 15:50
  • Further research indicates that this variable isDefined as a variable in: drivers/platform/x86/sony-laptop.c, line 132 - Source: http://lxr.free-electrons.com/ident?i=kbd_backlight_timeout – Elder Geek Jul 01 '14 at 01:25
  • sony-laptop.c Code: http://lxr.free-electrons.com/source/drivers/platform/x86/sony-laptop.c#L132 – Elder Geek Jul 01 '14 at 01:27
  • And in acpi.c - code here: http://lxr.free-electrons.com/source/drivers/platform/x86/toshiba_acpi.c#L1337 – Elder Geek Jul 01 '14 at 01:29
  • Perhaps one of our programming gurus can figure this out. Good luck! – Elder Geek Jul 01 '14 at 01:32
  • kernel sources are available here: https://www.kernel.org/ – Elder Geek Jul 03 '14 at 12:53
  • If you have a new question please search for the answer and if you don't find it, use the Ask Question button in the upper right corner of the page. Thank you – Elder Geek Jul 04 '14 at 12:25
  • Is there /sys/class/leds/keyboard/brightness exist? – Pandya Aug 23 '14 at 17:10
  • What about vaio-control-center install http://sourceforge.net/projects/vaio-control-ce/ ? – Pandya Aug 24 '14 at 08:16

3 Answers3

6

Replacement for old and obsolete answer

Update (04/16/2015): Bug was reported, and is available here. Current bug status is:
status:CONFIRMEDPatch released, waiting for test/merge!
importance:MEDIUM
assigned to:UNASSIGNED

Through a chat with OP and corroboration from the Ubuntu Linux developers, this problem is a bug. As such, unless a member on AU is an official kernel developer (Jon Skeet maybe?), this bug can not be solved.

I think that this should be reported in the proper area, which is here.

For the bug title, place the name of the kernel module (sony-laptop) and a brief description of the bug ("Laptop Keyboard Backlight not turning off")

For the content, describe the bug in its entirety. Describe what works and what doesn't. Also include the following resources:

  • This page. It contains information on what you tried so far.
  • The chat. This contains debugging info and some more things tried. The devs can sort through this.
  • The Patch(es). If a patch can be found (it was in this situation), make sure to include it. It will save the devs TONS of time. And, your bug gets solved faster.

Also, bugs are (usually) handled in order of importance. Make your bug sound important, but don't exaggerate.

When your bug is solved, BE HAPPY! You just made it into the Official Linux Kernel changelog!

Also: Make sure to follow any instructions on the bug reporting page. The more stuff you give the devs, the easier their jobs are, and the faster your bug is solved.


Old Post:
Try downloading the Vaio Control Center from SourceForge.

To install it, run the following steps:

  1. Open a terminal
  2. cd ~/Downloads
  3. mkdir ~/.VCC
  4. mv vaio-control-center-0.1.tar.bz2 ~/.VCC
  5. cd ~/.VCC
  6. tar -xjvf vaio-control-center-0.1.tar.bz2
  7. make -j12
  8. chmod +x vaio-control-center
  9. ./vaio-control-center

If you want, you can create a link to the control center onto your desktop. Simply make a .desktop entry pointing to ~/.VCC/vaio-control-center.

Once you are in the app, look for a backlight options menu and try adjusting that.

Note: For this to work, you MUST have QT Core and QT Dev installed!

Edit (inspired by comment by MGodby): Make sure you have qt4-qmake installed. Also make sure that the conf-file is in /usr/share/qt/mkspecs/linux-g++-64/qmake.conf. If need be, make a symlink to the proper location.

On a slightly unrelated note, have you tried using modprobe with sony-laptop instead of sony_laptop?

On a slightly less unrelated note, have you tried updating to the latest kernel?

αғsнιη
  • 35,660
Kaz Wolfe
  • 34,122
  • 21
  • 114
  • 172
0

How about this:

  1. Edit (or create) /etc/modprobe.d/options.conf
  2. Add options sony-laptop kbd_backlight=0 or 1
  3. Update intial ramdisk sudo update-initramfs -u
  4. Reboot

Source: http://ubuntuforums.org/showthread.php?t=1865782

Parto
  • 15,325
  • 24
  • 86
  • 117
0

Here is a tool I found trying to bring better support for viao F series

Here are the install instructions

git clone https://code.google.com/p/vaio-f11-linux.control-center/
cd vaio-f11-linux.control-center
./compile
./run
Mark Kirby
  • 18,529
  • 19
  • 78
  • 114