This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/WL1837MODCOM8I:HCI 接口上的音频失真

Guru**** 2387080 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/610055/linux-wl1837modcom8i-audio-distorted-over-hci-interface

器件型号:WL1837MODCOM8I
Thread 中讨论的其他器件:WL1837

工具/软件:Linux

您好!

我将 wl1837芯片与 am57x 搭配使用、堆栈为 bluez 5.45 + PulseAudio 9。

我尝试通过 HCI 接口获取 HF/HS 配置文件。 要通过 HCI 接口路由、我提供了以下命令:

hool citcmd 0x3F 0x0210 0x01 120 511 0xFF

我正在获取数据、但音频失真且语音不清晰。

有人能指导我解决什么问题吗? 当我使用 ad2p_source 并通过 HCI 进行录制时、音频质量是正确的、但当我切换到耳机头端设备配置文件时、音频失真。

谢谢、

Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,我们已将您的查询指派给相关专家。 我们将很快回来。

    谢谢
    Saurabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不认为 Bluez5支持 HS/HF 配置文件。 您如何确保通过 HS/HF 连接到耳机? Bluez 可能已通过 A2DP 连接到耳机?

    TI 建议使用 Blutopia 协议栈来更好地支持这些配置文件(processors.wiki.ti.com/index.php )

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    HS/HF 与 Bluez5 + PulseAudio [1]搭配使用时受支持。

    $>封包列表卡

    卡#2
    名称:bluez_card.05_43_54_48_C3_C8
    驱动程序:module-bluez5-device.c
    车主模块:23.
    属性:
    device.description ="X7"
    device.string ="05:43:54:48:C3:C8"
    device.API ="bluez"
    device.class ="声音"
    device.bus ="蓝牙"
    device.form_factor ="耳机"
    bluez.path ="/org/bluez/hci0/dev_05_43_54_48_C3_C8
    bluez.class ="0x240404"
    bluez.alias ="X7"
    device.icon_name ="音频-耳机-蓝牙"
    device.intended_roles ="电话"
    配置文件:
    Header_unit:耳机头部单元(HSP/HFP)(接收器:1、来源:1、优先级:20、可用:是)
    A2DP_SINK:高保真回放(A2DP 灌电流)(灌电流:1、拉电流:0、优先级:10、可用:无)
    关:关(灌电流:0、拉电流:0、优先级:0、可用:是)
    活动配置文件:Header_unit
    端口:
    耳机输出:耳机(优先级:0、延迟偏移:0微秒)
    配置文件的一部分:header_unit、A2DP_SINK
    耳机输入:耳机(优先级:0、延迟偏移:0微秒)
    配置文件的一部分:header_unit


    那么、这里的当前活动配置文件是 Header_unit。

    [1] www.freedesktop.org/.../

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、为了添加 HF/HS 配置文件、默认情况下通过 PCM 进行配置、要通过 UART 进行路由、请使用以下命令"hcitool cmd 0x3F 0x0210 0x01 120 511 0xFF"

    在本演示中[1]数据是通过 McASP 捕获的吗? 因为我没有看到任何 arecord.

    [1] processors.wiki.ti.com/index.php

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想,你已经安装了'oFes'。 请参阅 PULSE AUDIO 版本中的以下声明:
    "PulseAudio 依赖于 BlueZ 实现所有蓝牙功能、此外、需要 OFp 支持"

    因此、路由 SCO 数据包的 VS 命令 HCI 似乎可以。
    在 HFP 中使用 hcidump (即 btsnoop 格式)时、您可以捕获'btssnoop'日志吗? 此外、如果您有 BT 监听器、请收集监听日志以进一步分析。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Hari、

    是的、我有 Bluez5 + PulseAudio + ofono、它们的组合支持 HFP 支持。

    我已以 btsnop 格式附加日志。 FYI btsnoop 现在是 btmon 而不是 hcidump 命令的一部分。

    e2e.ti.com/.../btsnoop.txt

    谢谢、

    Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike、我们无法打开 btssnoop 日志文件。 存储格式是什么? 我们尝试使用 FT 的 Comscope 打开。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我使用 btmon 命令将跟踪保存为 btssnoop 格式:

    btmon --write btsnoop.txt

    是否有任何替代工具可用于获取 btsnoop 转储?

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已开始工作、但唯一的问题是一个声道声音是完全噪声(左声道)、而右声道是正确的:

    尝试以下命令:

    hcitool cmd 0x3f 0x0106 0x00 0x0c 0x00 0x40 0x1f 0x00 0x00 0x01 0x00 0x01 0x00 0x00 0x10 0x00 0x01 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x11 0x00 0x01 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x

    这将设置 PCM 时钟3072Khz (0xc00)、fsync 8kHz (0x1f40)、PCM 主配置

    现在、当您想要从 McASP 捕获时:

    time arecord --device=sysdefault:card=WILINKBT -d 10 test.wav -C2

    注意:我使用了 processors.wiki.ti.com/.../WL18xx_TI_Bluetooth_Stack_HFPM_Demo_App 上的补丁(gforge.ti.com/.../0001-Enable-BT-PCM-patch-for-AM437x.patch) 。我仍在使用它以使其正常工作、唯一的问题是缺少正确的文档。

    谢谢、
    Prabhakar LAD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    好的、让它在单声道中正常工作:

    hcitool cmd 0x3f 0x0106 0x00 0x08 0x00 0x40 0x1f 0x00 0x00 0x01 0x00 0x01 0x00 0x00 0x10 0x00 0x01 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x10 0x00 0x11 0x00 0x01 0x00 0x10 0x00 0x11 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

    这会将 PCM 时钟设置为2048kHz、并将帧同步设置为8kHz。
    在 McASP 端执行单声道记录
    arecord --device=sysdefault:card=WILINKBT -d 10 test.wav -c1.

    谢谢、
    Prabahkar LAD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Prabhakar、您好!

    感谢您尝试此操作并更新您的最新信息。 也可以获得立体声。

    谢谢、
    Mike