笔记本电脑使用电池时无线鼠标连接丢失

笔记本电脑使用电池时无线鼠标连接丢失

我刚买了一个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 设备的电源值

需要考虑的三个可能领域:

  1. 完全关闭 USB 电源管理
  2. 关闭单个设备的 USB 暂停控制
  3. 关闭 USB 暂停功能 (Natty)

完全关闭 USB 电源管理

首先我们应该确认这确实是一个电源管理问题。

仔细检查您的 BIOS 中是否有 USB 电源管理选项。

使用 grub-boot 选项启动计算机acpi=off。如果鼠标行为正常,则很可能是电源管理问题。如果鼠标行为仍然不稳定,请提交启动板错误报告。

禁用所有 USB 电源管理的两种可能方法。

  1. Grub 启动选项usbcore.autosuspend=-1
  2. 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

相关内容