我刚买了一个HP 无线鼠标,但我遇到了一些问题。
光标经常对鼠标移动不响应。我注意到这种情况只发生在我的笔记本电脑当它依靠电池供电时,只要鼠标 20-30 秒内没有移动,我就必须触摸笔记本电脑的触摸板才能让鼠标重新连接。
因此看起来可能是电源管理造成了干扰,但我不太清楚如何解决这个问题。
编辑 : 我完全忘记提到的一个重要信息是,我之前的斯威克斯 MI420无线鼠标 。
$ dmesg |grep -i mouse
:
[ 1.279240] mousedev: PS/2 mouse device common for all mice
[ 2.205885] input: HP HP Wireless Laser Comfort Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input5
[ 2.206071] generic-usb 0003:03F0:8501.0001: input,hiddev0,hidraw0: USB HID v1.11 Mouse [HP HP Wireless Laser Comfort Mouse] on usb-0000:00:1a.0-1.2/input0
$ ls /sys/bus/usb/devices
:
1-0:1.0
1-1
1-1.1
1-1:1.0
1-1.1:1.0
1-1.1:1.1
1-1.2
1-1.2:1.0
2-0:1.0
2-1
2-1:1.0
usb1
usb2
答案1
我通过更改设置解决了这个问题/etc/laptop-mode/conf.d/usb-autosuspend.conf
根据配置文件中的注释,某些 USB 设备不能正确支持自动暂停功能。
配置中有一个选项AUTOSUSPEND_USBID_BLACKLIST
可以添加有问题的设备的 USB 设备 ID 列表,我添加了鼠标的 ID,现在它可以正常工作了。
#
# Configuration file for Laptop Mode Tools module usb-autosuspend.
#
# For more information, consult the laptop-mode.conf(8) manual page.
#
###############################################################################
# USB autosuspend settings
# ------------------------
#
# If you enable this setting, laptop mode tools will automatically enable the
# USB autosuspend feature for all devices.
#
# NOTE: Some USB devices claim they support autosuspend, but implement it in a
# broken way. This can mean keyboards losing keypresses, or optical mice turning
# their LED completely off. If you have a device that misbehaves, add its USB ID
# to the blacklist below and complain to your hardware vendor.
################################################################################
# Enable debug mode for this module
# Set to 1 if you want to debug this module
DEBUG=0
# Enable USB autosuspend feature?
# Set to 0 to disable
CONTROL_USB_AUTOSUSPEND="auto"
# The list of USB IDs that should not use autosuspend. Use lsusb to find out the
# IDs of your USB devices.
# Example: AUTOSUSPEND_USBID_BLACKLIST="046d:c025 0123:abcd"
AUTOSUSPEND_USBID_BLACKLIST="03f0:8501"
# The list of USB driver types that should not use autosuspend. The driver
# type is given by "DRIVER=..." in a USB device's uevent file.
# Example: AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"
AUTOSUSPEND_USBTYPE_BLACKLIST=""
# Trigger auto-suspension of the USB deivce under conditional circumstances
BATT_SUSPEND_USB=1
LM_AC_SUSPEND_USB=0
NOLM_AC_SUSPEND_USB=0
# USB Auto-Suspend timeout in seconds
# Number of seconds after which the USB devices should suspend
AUTOSUSPEND_TIMEOUT=2
答案2
可能需要更改 USB 设备的电源值
需要考虑的三个可能领域:
- 完全关闭 USB 电源管理
- 关闭单个设备的 USB 暂停控制
- 关闭 USB 暂停功能 (Natty)
完全关闭 USB 电源管理
首先我们应该确认这确实是一个电源管理问题。
仔细检查您的 BIOS 中是否有 USB 电源管理选项。
使用 grub-boot 选项启动计算机acpi=off
。如果鼠标行为正常,则很可能是电源管理问题。如果鼠标行为仍然不稳定,请提交启动板错误报告。
禁用所有 USB 电源管理的两种可能方法。
- Grub 启动选项
usbcore.autosuspend=-1
laptop-mode-tools
从软件中心安装并更改/etc/laptop-mode/conf.d/usb-autosuspend.conf
:
其中有各种值可以改变:
CONTROL_USB_AUTOSUSPEND="auto" --> CONTROL_USB_AUTOSUSPEND="0"
AUTOSUSPEND_USBID_BLACKLIST=""
AUTOSUSPEND_USBTYPE_BLACKLIST=""
根据每个设备关闭 USB 电源管理
看一下/sys/bus/usb/devices
您应该看到 USB 集线器格式为“xx”,例如,对于我的笔记本电脑,我有两个“1-1”和“2-1”
通过将电源控制从“自动”更改为“开启”进行实验
IE来源
功率控制
该文件包含两个单词之一:“on”或“auto”。您可以将这些单词写入文件以更改设备的设置。
“on” 表示设备应恢复,并且不允许自动挂起。(当然,仍然允许系统挂起。)
“自动”是允许内核自动暂停和自动恢复设备的正常状态。
注意:直到内核 2.6.38 版本,才有一个名为“power/level”的类似值 - 该值已被弃用/删除,取而代之的是 power/control
因此将电源控制改为开启
sudo su
echo on > /sys/bus/usb/devices/1-1/power/control
echo on > /sys/bus/usb/devices/2-1/power/control
然后断开与电池的联系。
我也读过,可能需要直接在 USB 设备上使用此技术 - 在我的情况下是“usb1”和“usb2”
sudo su
echo on > /sys/bus/usb/devices/usb1/power/control
echo on > /sys/bus/usb/devices/usb2/power/control
如果此方法有效,请尝试通过编辑 rc.local 文件强制将电源级别从启动时设置为“开启”,即添加以下几行前文件中的“exit 0”
[ -w /sys/bus/usb/devices/1-1/power/control ] && echo on > /sys/bus/usb/devices/1-1/power/control
[ -w /sys/bus/usb/devices/2-1/power/control ] && echo on > /sys/bus/usb/devices/2-1/power/control
或者可能:
[ -w /sys/bus/usb/devices/usb1/power/control ] && echo on > /sys/bus/usb/devices/usb1/power/control
[ -w /sys/bus/usb/devices/usb2/power/control ] && echo on > /sys/bus/usb/devices/usb2/power/control
关闭 USB 暂停功能 (Natty)
还值得尝试“power/autosuspend_delay_ms”
设置值“-1”意味着 USB 设备永远不会暂停,即
sudo su
echo -1 > /sys/bus/usb/devices/usb1/power/autosuspend_delay_ms
echo -1 > /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms
或者
sudo su
echo -1 > /sys/bus/1-1/devices/usb1/power/autosuspend_delay_ms
echo -1 > /sys/bus/2-1/devices/usb2/power/autosuspend_delay_ms