web-dev-qa-db-ja.com

ラップトップのバッテリーが切れているときにワイヤレスマウス接続が失われる

HPワイヤレスマウス を購入しましたが、問題があります。

カーソルは頻繁にマウスの動きに反応しなくなります。私は laptop が電池切れで、マウスが20から30秒動かされない場合にのみ発生することに気づいたので、ラップトップのタッチパッドに触れて取得する必要があります再接続するマウス。

したがって、電力管理が干渉しているように見えますが、これをどのようにトラブルシューティングするかはよくわかりません。

編集:私が言及し忘れていた重要な情報は、以前の Sweex MI42 でこの問題がなかったことです。 =ワイヤレスマウス。

$ 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
5
volting

/etc/laptop-mode/conf.d/usb-autosuspend.confの設定を変更して問題を修正しました

構成ファイルのコメントによると、一部のUSBデバイスは自動サスペンドを正しくサポートしていません。

Config 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
4
volting

おそらく、USBデバイスの電力値を変更する必要があります

考慮すべき3つの可能な領域:

  1. USB電源管理を完全にオフにする
  2. 個々のデバイスごとにUSBサスペンド制御をオフにする
  3. USBサスペンションの切り替え(Natty)

SB電源管理を完全にオフにする

まず、これが本当に電源管理の問題であることを確認する必要があります。

BIOSにUSB電源管理オプションがないことを再確認してください。

Grub-bootオプションとしてacpi=offを使用してコンピューターを起動します。マウスが正常に動作する場合、電源管理の問題である可能性が最も高くなります。それでも正常に動作しない場合は、ランチパッドのバグレポートを提出してください。

すべてのUSB電源管理を無効にする2つの方法。

  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をご覧ください

enter image description here

USBハブは「x-x」の形式で表示されます。つまり、ラップトップの場合、「1-1」と「2-1」の2つがあります。

電源制御を「自動」から「オン」に変更して実験する

つまり source

パワーコントロール

このファイルには、「on」または「auto」の2つの単語のいずれかが含まれています。これらの単語をファイルに書き込んで、デバイスの設定を変更できます。

「オン」は、デバイスを再開する必要があり、自動サスペンドが許可されないことを意味します。 (もちろん、システムの一時停止は引き続き許可されています。)

「auto」は、カーネルがデバイスを自動サスペンドおよび自動再開できる通常の状態です。

N.B.カーネル2.6.38までは、「power/level」と呼ばれる同様の値がありました。これは、電源/制御を優先して廃止/削除されました。

電源制御をオンに変更するには

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ファイルを編集して、ブートから電力レベルを強制的に「オン」にしてみてください。つまり、次の行を追加しますbefore the "exit 0" in the file

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

SBサスペンション(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
2
fossfreedom