当前位置: 首页>>技术教程>>正文


关闭键盘 back-light Sony (VAIO SVF1521DCXW)

,

问题描述

我有一个 Sony vaio laptop fit 15E model SVF1521DCXW,我想关闭它的键盘 back-light。它在键盘上没有物理功能快捷键。我可以在 Windows 操作系统中使用 VAIO Control Center 将其关闭,但我不知道如何在 Ubuntu 14.04 中将其关闭。

我通过运行 sudo dmidecode -s system-product-name 得到 SVF1521DCXW 。

首先,我的机器上不存在 /sys/devices/platform/sony-laptop/kbd_backlight 文件。

默认情况下,键盘背光保持关闭;当我按下任何键时,它会打开一段时间 15 秒,如果我不触摸任何键,它会再次关闭。

重要提示:所有尝试在电池和交流电源上的结果都相同

ls -l /sys/devices/platform/sony-laptop/ 命令显示文件/目录/符号链接如下(我删除了额外的属性并将它们的类型突出显示为 [ ]。它们都是 root 所有者。):

[-]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

如果我运行 lsmod 命令会加载哪些模块:

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

这是运行 modinfo sony-laptop 的输出:(注意:见最后两行)

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)

相同的输出 ^^ 如果运行 modinfo sony_laptop (注意:下划线_而不是破折号-)

我尝试如下:

1. 通过以下命令重新加载 modprobe 模块:

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

上面第二个命令的输出:(对于尝试使用 sony_laptop 和/或 sony-laptop 。我也将 kbd_backlight=0 更改为 kbd-backlight=0 并且我没有收到错误并给了我以下输出)

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

结果:没有变化。

2. 重装 modprobe 模块并传递此命令:

sudo modprobe -v sony_laptop kbd_backlight_timeout=3 kbd_backlight=0

输出:没有。 So I tried all things from this thread. 结果:没有变化。

3. ls -l /sys/class/leds

输出:总计 0(实际上没有)

4.尝试创建文件

  1. cat /etc/modprobe.d/sony-laptop.conf

  2. cat /etc/modprobe.d/options.conf

  3. cat /sys/class/leds/smc::kbd_backlight/brightness

输出:没有这样的文件或目录。

从第 4 步扩展选项 1:我在 /etc/modprobe.d 中创建一个名为 sony-laptop.conf 的文件,并将选项 sony-laptop kbd_backlight=0 添加到文件中,保存并重新启动计算机。它不起作用(即使我不重新启动),我从那里删除了文件。

从第 4 步展开选项 2:我在 /etc/modprobe.d 中创建了一个名为 options.conf 的文件,并将 options sony-laptop kbd_backlight=0 添加到文件中(是​​的 options command is part of command here ),保存并重新启动计算机。它不起作用(即使我不重新启动),我从那里删除了文件。

从第 4 步扩展选项 3:我已经在第 3 步中提到过,我那里没有任何文件;)

结果(所有选项):无变化

5.尝试在许多站点上安装一些建议的包:

sudo apt-get install nvidia-bl-dkms pommed

输出:E: Unable to locate package nvidia-bl-dkms

如果它有帮助,我补充说: lshw 命令的一部分:

*-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 😉

最佳回答

替换旧的和过时的答案

更新(2015 年 4 月 16 日):报告了错误,并且可用 here 。当前错误状态为: status: CONFIRMED Patch released, waiting for test/merge! importance: MEDIUM assigned to: UNASSIGNED

通过带有 OP 的 chat 和 Ubuntu Linux 开发人员的证实,这个问题是一个错误。因此,除非 AU 的成员是官方内核开发人员(可能是 Jon Skeet?),否则无法解决此错误。

我认为这应该在适当的区域报告,即 here

对于错误标题,请放置内核模块的名称( sony-laptop )和错误的简要说明(“笔记本电脑键盘背光未关闭”)

对于内容,完整地描述错误。描述什么有效,什么无效。还包括以下资源:

  • This page 。它包含有关您迄今为止尝试过的内容的信息。

  • The chat 。这包含调试信息和尝试的更多内容。开发人员可以对此进行排序。

  • The Patch(es) 。如果可以找到补丁(在这种情况下),请确保包含它。它将为开发人员节省大量时间。而且,您的错误得到更快地解决。

此外,错误(通常)按重要性顺序处理。让你的错误听起来很重要,但不要夸大其词。

当您的错误解决后,请开心!你刚刚把它写进了官方的 Linux 内核更新日志!

另外:确保遵循错误报告页面上的任何说明。你给开发者的东西越多,他们的工作就越容易,你的 bug 解决得越快。

旧帖:尝试下载 Vaio Control Center from SourceForge

要安装它,请运行以下步骤:

  1. 打开终端

  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

如果需要,您可以在桌面上创建指向控制中心的链接。只需创建一个指向 ~/.VCC/vaio-control-center 的 .desktop 条目。

进入应用程序后,查找背光选项菜单并尝试对其进行调整。

注意:为此,您必须安装 QT Core 和 QT Dev!

编辑(灵感来自 MGodby 的评论):确保您已安装 qt4-qmake。还要确保 conf-file 在 /usr/share/qt/mkspecs/linux-g++-64/qmake.conf 中。如果需要,请创建指向正确位置的符号链接。

在一个稍微不相关的说明中,您是否尝试过将 modprobe 与 sony-laptop 而不是 sony_laptop 一起使用?

在稍微不那么相关的说明中,您是否尝试过更新到最新的内核?

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12696.html,未经允许,请勿转载。