首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用蓝牙连接鼠标和A2DP耳机调试滞后?

如何使用蓝牙连接鼠标和A2DP耳机调试滞后?
EN

Ask Ubuntu用户
提问于 2012-09-17 11:30:10
回答 2查看 10.1K关注 0票数 13

我拥有一个罗技M555b鼠标,用于运行Kubuntu12.04的HP 8570w笔记本电脑。使用KDE蓝牙控制模块连接后,工作正常。

然而,经过一段时间(似乎是随机的),它开始滞后。运动被推迟了大约500毫秒,时间很短。通常它也会在一段时间后恢复,但可能需要几分钟。所有动作都被延迟了:动作,点击,卷轴。此外,在这段时间里,运动也可能是波涛汹涌的。

解决方法总是在相同的短时间内起作用,就是断开鼠标的重新连接。这可以使用相同的KDE蓝牙控制模块。

我已经试过什么了?

  • 在引导时运行此命令: echo on >readlink -f /sys/class/bluetooth/hci0/./ power /level,以禁用蓝牙hci0设备上的任何节电功能。
  • 检查鼠标的电池(这只是一个星期前,其他新电池:同样的结果)
  • 检查关于蓝牙相关条目的日志和内核消息:没有忽略连接时间的预期消息。
  • 我正在运行内核3.5.0-13-generic,就像xorg-edgers PPA中提供的那样。引导常规3.2的精确内核会导致相同的行为。

其他一些可能有助于:

  • 当机器上没有其他蓝牙连接时,就会发生这种情况。
  • 类似的症状也会出现在我的蓝牙立体声(A2DP)耳机上,但随后是音频滞后和跳过。然后,如描述的这里那样交换蓝牙配置文件会有所帮助。结论:错误的不是老鼠。
  • 使用我现在死掉的带有内置蓝牙的Thinkpad T61p,耳机总是工作得很好。
  • 我笔记本电脑中的蓝牙模块通过USB连接,显示为0a5c:21e1 Broadcom .
  • 关闭内置蓝牙适配器,并使用另一个工作良好,没有滞后。0a5c:2046 Broadcom .蓝牙设备

我是移动的,我周围的几个人都在工作时使用蓝牙(主要是A2DP)。这也发生在家里,我的邻居可能也在使用蓝牙。这可能只是无线电干扰,但我认为蓝牙连接应该跳到另一个频道。而且,当重新连接时,它会立即正常工作。

因此,我认为这是一个软件驱动程序问题,我想调试它。有什么方法可以在蓝牙(-hid)模块上获得更详细的日志记录吗?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2012-09-25 17:10:37

您可以尝试使用来自包hcidumpbluez-hcidump实用程序来监视蓝牙设备并获取深入的信息:

代码语言:javascript
复制
sudo apt-get install bluez-hcidump

在一揽子说明中指出:

hcidump实用程序允许监视蓝牙活动。它提供了蓝牙流量的分解,并可以显示来自更高级别协议的数据包,如RFCOMM、SDP和BNEP。

您可以使用该实用工具记录从设备到屏幕或文件的输出;其中hciX是您自己的蓝牙设备(hci0是默认的,如果您不使用-i指定任何内容,则可以运行:

代码语言:javascript
复制
sudo hcidump -x -i hciX

您可以通过附加到命令-w ~/output将转储保存到文件中,如果您特别希望了解音频数据,可以使用-A开关,从而提取SCO音频数据,尽管在这种情况下,必须始终指定输出文件:

代码语言:javascript
复制
sudo hcidump -x -A -i hciX -w ~/output

可以通过以下方式查看保存的转储文件

代码语言:javascript
复制
sudo hcidump -r ~/output

您可能需要研究更多的特定选项;如果需要,可以按数据包类型进行筛选,因为默认情况下,所有数据包都会被转储。有关更多信息,请参见man hcidumpUbuntu联机手册

唯一的其他选择是安装wireshark并查看它是否能够检测到您的设备;如果可以的话,它将能够分析usb和蓝牙通信量,就像注意到的这里一样,但是hcidump应该提供更好的结果。

票数 6
EN

Ask Ubuntu用户

发布于 2012-09-25 16:42:34

我有幸使用USB追踪来解决奇怪的音频问题。有时,您可以根据内容或数据包的时间来确定某些内容。在我的例子中,这是我听到的与噪音相对应的数据包长度的偶然变化。

来自Wireshark的这里有一页提供了一些信息。

只需执行以下操作即可获得跟踪:

  1. 数多调制解调器探针usmon
  2. cd /sys/内核/debug/usb/usbmon
  3. sudo cat 0u \ tee ~/myusbtrace > /dev/null
  4. 测试一下
  5. 终止步骤3中的进程

这里是来自linux项目的有关这方面的信息,包括如何缩小您正在跟踪的范围。

第二列似乎包含了时间,因此您应该仔细观察它是如何增加的。如果它开始平稳,然后变得紧张,那么问题可能就在蓝牙部分。

当出现USB或蓝牙问题时,如果跟踪显示不规则的数据包,但是不规则数据包的方向可能表明它是内核还是驱动程序,而不是USB总线的另一端。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/189711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档