我的索尼 VAIO 笔记本电脑有一个功能可以让我在笔记本电脑关机时仍保持一个 USB 端口通电。手册中给出了这里. 可以通过预装 Windows 的 Vaio 软件来打开或关闭它。
过去,当我使用 Windows 双启动时,我可以通过启动 Windows 来启用它,即使使用 Ubuntu 多次后,它也会保持打开状态。由于某种原因,它最近停止工作了。但我不再使用 Windows,想从 Ubuntu 重新启用它。如果我可以从 Linux 手动打开它,那会很有趣。我在谷歌上搜索了很多,尤其是关于我的主板(HannStar J MV-6 94V-0)的信息,并找到了它的越南网站上的示意图。我特别提到了 USB 充电。但我不知道如何使用这些信息。
很多人建议从 BIOS 启用,但我再次检查后发现 BIOS 中没有任何东西。但我还发现 BIOS 的字段很少,这让我怀疑 BIOS 功能可能被隐藏了。我会尝试解锁它们。同时,dmidecode
问题末尾附加了 的输出。
我不知道此功能是否需要特殊硬件支持,但无论如何,在我的计算机上是可以实现的。智能手机的电量很快就会耗尽,而你可以随时将其连接到包中的笔记本电脑,并在你上大学或旅行时随时充电。这不仅很酷很方便,而且还能省钱,因为我不必购买移动电源。
以下是收集的数据:
按照 Sneetsher 的建议升级到后
3.16.0-38-generic
,上传了新的内核消息升级后,我也看到了
usb_charge
,但1
其值为:cat /sys/devices/platform/sony-laptop/usb_charge
但当我尝试将其切换到
0
它仍然没有激活 USB 充电,但当1
我再次使用检查时,它只是重置回cat
。但它应该有效,因为我找到了一个c 程序和shell 脚本做同样的事情。我注意到我只能写 0 和 1,如果我写其他东西,比如假设 2,我会得到:tee:/sys/devices/platform/sony-laptop/usb_charge:无效参数
我手动启动到内核 3.18,但问题仍然存在。在 Sneetsher 的指导下,我提交了一份错误报告这里。
答案1
最好从其他人使用sony-laptop
Linux 内核模块停止的地方开始。
检查是否已加载
lsmod | grep sony
如果没有,则加载
sudo modprobe sony-laptop
检查是否有任何与 USB 充电对应的条目/功能(
usb_charge
从源获取的属性):tree /sys/devices/platform/sony-laptop/
我检查了驱动源,对应的函数如下(可能不是所有型号都有):
... static int sony_nc_usb_charge_setup(struct platform_device *pd); static void sony_nc_usb_charge_cleanup(struct platform_device *pd); ...
完整功能定义这里(部分来自
sony-laptop.c
)0x0155
似乎在你的笔记本电脑上被检测到内核消息. 该模块创建了touchpad
、battery_care_limiter
、只读handles
、只读battery_care_health
SYSFS 属性,但没有创建任何其他属性(包括usb_charge
)。我检查了 Ubuntu 内核源代码,寻找 USB 充电功能:
Ubuntu 14.04 Trusty(尚未添加),内核版本 3.13
如果您使用此版本,最简单的方法是安装 Utopic 内核:
sudo apt-get install linux-generic-lts-utopic
Ubuntu 14.10 Utopic(它在那里),内核版本 3.16
如果没有的话,只有当您做到以下几点时才会变得困难/有风险:
Development: ------------ If you want to help with the development of this driver (and you are not afraid of any side effects doing strange things with your ACPI BIOS could have on your laptop), load the driver and pass the option 'debug=1'. REPEAT: DON'T DO THIS IF YOU DON'T LIKE RISKY BUSINESS. In your kernel logs you will find the list of all ACPI methods the SNC device has on your laptop.
看自述文件。
由于内核由 OP 升级至 3.16.0-38-generic,因此
usb_charge
创建了一些其他 SYSFS 属性。阅读类似的驱动程序内核文档,sysfs 驱动程序三星笔记本电脑:
What: /sys/devices/platform/samsung/usb_charge Date: December 1, 2011 KernelVersion: 3.3 Contact: Corentin Chary <[email protected]> Description: Use your USB ports to charge devices, even when your laptop is powered off. 1 means enabled, 0 means disabled.
检查当前状态:
cat /sys/devices/platform/sony-laptop/usb_charge
要禁用它:
echo 0 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge
要启用它:
echo 1 | sudo tee -a /sys/devices/platform/sony-laptop/usb_charge
参考: