问题描述
我有一个 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.尝试创建文件
-
cat /etc/modprobe.d/sony-laptop.conf
-
cat /etc/modprobe.d/options.conf
-
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 。
要安装它,请运行以下步骤:
-
打开终端
-
cd ~/Downloads
-
mkdir ~/.VCC
-
mv vaio-control-center-0.1.tar.bz2 ~/.VCC
-
cd ~/.VCC
-
tar -xjvf vaio-control-center-0.1.tar.bz2
-
make -j12
-
chmod +x vaio-control-center
-
./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
一起使用?
在稍微不那么相关的说明中,您是否尝试过更新到最新的内核?