And*_*esQ 13 usb debian mouse bluetooth
我正在使用 Debian Jessie(测试)。我有一个蓝牙鼠标(Microsoft Sculpt Comfort),我可以配对并使用它,但是在一段时间不活动(大约 10 分钟)后它停止工作,我必须手动触摸鼠标上设置的可发现按钮并重新-在命令行上配对。
我在 OS X 上试过的同一个鼠标,它可以工作,所以这不是硬件问题
内核 3.14.12-1 (2014-07-11)
我将鼠标与此命令配对:
sudo hidd --connect 30:59:B7:72:A5:A7
Run Code Online (Sandbox Code Playgroud)
正确配对后,这是/var/log/syslog输出
Jan 7 15:22:42 desktop hidd: New HID device 30:59:B7:72:A5:A7 (Microsoft Bluetooth Mouse )
Jan 7 15:22:42 desktop kernel: [103877.102083] hid-generic 0005:045E:07A2.0009: unknown main item tag 0x0
Jan 7 15:22:42 desktop kernel: [103877.102481] input: Microsoft Bluetooth Mouse as /devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/bluetooth/hci0/hci0:42/0005:045E:07A2.0009/input/input51
Jan 7 15:22:42 desktop kernel: [103877.102884] hid-generic 0005:045E:07A2.0009: input,hidraw3: BLUETOOTH HID v1.29 Mouse [Microsoft Bluetooth Mouse ] on 00:15:83:c8:52:19
Run Code Online (Sandbox Code Playgroud)
经过一些空闲时间后,这会打印在同一个日志文件中:
Jan 7 15:34:34 desktop acpid: input device has been disconnected, fd 20
Run Code Online (Sandbox Code Playgroud)
如果我单击鼠标按钮或移动它,则会打印出来:
Jan 7 15:49:55 desktop bluetoothd[650]: Refusing input device connect: No such file or directory (2)
Jan 7 15:49:56 desktop bluetoothd[650]: Refusing connection from 30:59:B7:72:A5:A7: unknown device
Run Code Online (Sandbox Code Playgroud)
这似乎表明鼠标仍在工作并试图告诉操作系统重新连接,但它不能。
这是udevadm info -p响应:
P: /devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/bluetooth/hci0/hci0:42/0005:045E:07A2.0004/input/input22
E: ABS=100000000
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/bluetooth/hci0/hci0:42/0005:045E:07A2.0004/input/input22
E: EV=10001f
E: ID_FOR_SEAT=input-pci-0000_00_02_0-usb-0_3_1_0
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_INPUT_MOUSE=1
E: ID_PATH=pci-0000:00:02.0-usb-0:3:1.0
E: ID_PATH_TAG=pci-0000_00_02_0-usb-0_3_1_0
E: KEY=4837fff072ff32d bf54444600000000 1f0001 30f908b17c007 ffe77bfad9415fff febeffdff3cfffff fffffffffffffffe
E: MODALIAS=input:b0005v045Ep07A2e0129-e0,1,2,3,4,14, k71,72,73,74,75,77,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8E,90,96,98,9B,9C,9E,9F,A1,A3,A4,A5,A6,A7,A8,A9,AB,AC,AD,AE,B0, B1,B2,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,CE,CF,D0,D1,D2,D4,D8,D9,DB,DF,E4,E7,E8,E9,EA,EB,F0,F1,100,110,111,112,113,114,161,162,166,16A,1 6E,172,174,176,178,179,17A,17B,17C,17D,17F,180,182,183,185,188,189,18C,18D,18E,18F,190,191,192,193,195,198,199,19A,1A0,1A1,1A2,1A3,1A4,1A5,1A6, 1A7,1A8,1A9,1AA,1AB,1AC,1AD,1AE,1B0,1B1,1B7,1BA,r0,1,6,7,8,9,a20,m4,lsfw
E: MSC=10
E: NAME="Microsoft Bluetooth Mouse "
E: PHYS="00:15:83:c8:52:19"
E: PRODUCT=5/45e/7a2/129
E: PROP=0
E: REL=3c3
E: SUBSYSTEM=input
E: TAGS=:seat:
E: UNIQ="30:59:b7:72:a5:a7"
E: USEC_INITIALIZED=55796705
Run Code Online (Sandbox Code Playgroud)
小智 15
这个问题有3种解决方案。也许甚至将其中的 2 个结合起来也可以解决您的问题。
解决方案1
编辑文件/etc/bluetooth/input.conf
并IdleTimeout=0
在[General]
块内设置参数。
root@nwdesktop:~# vim /etc/bluetooth/input.conf
# Configuration file for the input service
# This section contains options which are not specific to any
# particular interface
[General]
# Set idle timeout (in minutes) before the connection will
# be disconnect (defaults to 0 for no timeout)
IdleTimeout=0
Run Code Online (Sandbox Code Playgroud)
重启蓝牙服务:
root@nwdesktop:~# /etc/init.d/bluetooth restart
* Stopping bluetooth [ OK ]
* Starting bluetooth [ OK ]
Run Code Online (Sandbox Code Playgroud)
这将防止由于您的蓝牙鼠标和键盘超时而断开连接。
解决方案2
创建一个 udev 规则,以避免您的鼠标自动挂起
root@nwdesktop:~# vi /etc/udev/rules.d/91-local.rules
ACTION=="add", SUBSYSTEM=="bluetooth", ATTR{product}=="Microsoft Bluetooth Mouse ", ATTR{power/control}="on"
root@nwdesktop:~# # udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)
解决方案3
这个并没有让我感到自豪,但是...使用您的 hidd connect 命令创建一个脚本:
user@nwdesktop:~# vi /home/user/recconect.sh
#!/bin/bash
sudo hidd --connect 30:59:B7:72:A5:A7
Run Code Online (Sandbox Code Playgroud)
现在,添加到您的 crontab:
root@nwdesktop:~# vi /etc/crontab
*/10 * * * * root /home/user/recconect.sh
Run Code Online (Sandbox Code Playgroud)
干杯。
归档时间: |
|
查看次数: |
23647 次 |
最近记录: |