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.

[参考译文] WL1837MOD:TI 蓝牙协议栈/声音驱动程序

Guru**** 2601915 points
Other Parts Discussed in Thread: AM3356, WL1837MOD, PCM5102A, SN74AVC4T245

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/971702/wl1837mod-ti-bluetooth-stack-sound-driver

器件型号:WL1837MOD
主题中讨论的其他器件:AM3356PCM5102ASN74AVC4T245

大家好、

客户正在使用 AM3356 (Linux SDK)/WL1837MOD 开发其系统。 客户提到以下 TI wiki、但此 URL 不再可用。 以下 URL 似乎描述了如何在以前实施"声音驱动程序"。

https://processors.wiki.ti.com/index.php/TI_Bluetooth_Stack_for_WL18xx_-_Getting_Started_Guide

1.客户询问 TI 是否能够共享与"声音驱动程序"相关的任何文档/新 URL。

然后、在 URL 上方的表单中、客户能够下载" New-feature-BT-PCM-integration-on-the-AM335x-evm.patch "。 但是、这种情况现在不可用。 客户尝试在其他 E2E 主题中对此进行研究,发现了此 E2E 主题( https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/751754 )。 尽管客户可以下载此补丁、但这一个似乎适用于内核版本3.14。 当前 AM335x (Linux SDK)的内核版本为"4.19"。 因此、客户要求提供内核版本4.19的补丁。

可以就此向我提供建议/意见吗?

此致、

宫崎

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

    您好!

    我们正在更新 BluetopiaPM 入门指南。 但是、在所附的平均时间内是上述 wiki 链接的 pdf 文件。

    关于蓝牙音频驱动程序-我们为 AM43x 提供了基于4.14的蓝牙音频驱动程序补丁。 除了器件树绑定之外、AM335x 和 AM43x BT 音频驱动程序之间的驱动程序更改也是类似的。 因此、请相应地更改补丁。

    Thankse2e.ti.com/.../TI-Bluetooth-Stack-for-WL18xx-_2D00_-Getting-Started-Guide-_2D00_-Texas-Instruments-Wiki.pdfe2e.ti.com/.../am437x_2D00_bt_2D00_pcm-_2800_2_2900_.zip

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

    您好 Hari、

    感谢您对客户询问的评论。 我与客户分享了这些信息。 我想等待客户的反馈。

    此致、

    宫崎  

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

    您好 Hari、

    我收到了客户的反馈。 客户尝试对补丁进行相应的更改、但是客户遇到了 AM437x-bt-hfp3.patch 的编译错误。 我的意思是,wilink8-bt.c 似乎有一些冲突。 因此、客户在内核 v4.14中引用 pcm5102a.c 时尝试修复此文件。 我随函附上(e2e.ti.com/.../wilink8_2D00_bt.zip)。 客户确认他们能够构建它。 然后、当该驱动程序启动时、将输出以下内核消息。 因此、客户询问是否正常。

      ------------------------------

      [1.858995]  ALSA 设备列表:在 SVC 模式中已延迟。

      [1.862243]    找不到声卡。

      ------------------------------

    此外、客户确认创建了"/proc/asound 和"/proc/asound /"、就像此文件(e2e.ti.com/.../proc_5F00_asound.zip)一样。您是否对此有任何担忧?

    可以请专家就此提出建议/意见吗?

    此致、

    宫崎

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

    您好 Hari、

    客户正在连接到蓝牙设备,即“Jabra Speak 510: https://www.jabra.com/business/speakerphones/jabra-speak-series/jabra-speak-510"”,他们正在尝试将麦克风音频数据保存到包含 LinuxHRM_AG/wilink8-bt.c 文件的文件中。 客户确认连接已建立、但显示以下消息、几秒钟后断开连接。 客户询问此消息的含义。 我们能否就此向您的专家提供建议/意见?

    --------------------------------------------------
    
    hetHFRDisconnected、BD_ADDR:305075095D1C、类型:hctAudioGateway、原因:1.
    
    -------------------------------------------------- 

    我附加了 kernel[v4.19]的日志和客户的修改点。(e2e.ti.com/.../bt_5F00_am335x_5F00_audio_5F00_diff_5F00_and_5F00_kernel_5F00_log.zip)

     

    客户的器件树文件名为 AM335x-itcont.dts、AM33606的 McASP1连接到 WL1837MOD 的 BT_Audio 端口。 然后、客户正在使用 AM33606的 uart2、但他们对此进行了注释、因为当客户将蓝牙代码放入其中时、uart2不可见。

    此外、由于客户的电路板没有任何扬声器和麦克风、因此没有适合他们的编解码器。 因此、客户修改了 LinuxHRM_AG.c 文件中的 route_GStreamer_WL_TO_AM335_SPK_16K micro (如下所示)、并尝试将音频数据保存在文件中。

    --------------------------------------
    
    #define route_GStreamer_WL_TO_AM335_SPK_16K "gst-launch-1.0 alsasrc device=plughw:WILINK8BT! 音频/x-raw、通道=2、速率=16000、格式=S16LE! 文件链接位置=/tmp/btmic.raw 和"
    
    #define route_Gstreamer_AM335_MIC_TO_WL_16K "gst-launch-1.0文件 rc location=/home/root/tmp/Front_Right.wav! 音频/x-raw、通道=2、速率=16000、格式=S16LE! alsasink device=plughw:WILINK8BT &"
    
    -------------------------------- 

    客户无法找到问题所在、因此、如果专家就此分享任何建议/意见、我们将不胜感激。

    此致、

    宫崎

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

    他们可以在主机上获取 BT snoop 日志吗? 断开可能与任何 PCM 配置问题无关。  

    它们可以在 BlueotopiaPM 中启用调试、如下所示:

    DEVM>
    EnableBluetoothDebug 1 3 0 DebugLog.log

    谢谢

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

    您好 Hari、

    我收到了 BT snoop 日志和控制台日志。 我随函附上 e2e.ti.com/.../Debug_5F00_log.zip。

    此致、Miyazaki

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

    您是否也尝试过其他头套? 它们是否也会断开连接?

    谢谢

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

    您好 Hari、

    但是、我还没有收到客户的意见。 (因为客户现在遇到了其他问题。)  

    我想等待他们的反馈。

    此致、

    宫崎  

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

    您好 Hari、

    很抱歉我迟到了。 我今天收到了客户的反馈。

    (其他问题尚未解决、但客户发现了验证时间)

    客户尝试使用其他蓝牙耳机验证录音-音频-声音。 客户能够确认他们没有断开连接、但是他们还无法将麦克风音频数据保存到文件中。 因此、客户希望 TI 重新检查他们先前共享的修改(e2e.ti.com/.../3441.bt_5F00_am335x_5F00_audio_5F00_diff_5F00_and_5F00_kernel_5F00_log.zip)。 有可能吗?

    客户在其系统中安装了"gstreamer1.0"和"gstreamer-gstreamer1.0-plugins-base-alsa"。 客户正在考虑、连接由"LinuxHFRM_AG"建立、音频声音数据由"arecord"记录。

    可以请你的专家提供建议吗?

    此致、

    宫崎

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

    好的。 我们将检查日志、并在一天或两天内返回。

    谢谢

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

    您好 Hari、

    我们是否可以对此有任何状态?

    如果您需要更多时间进行分析、我将通知客户。

    此致、

    宫崎

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

    宫崎-圣

    他们可以获取 BTsnoop 日志吗? 提供的日志是控制台日志。  

    要获取 BTsnoop 日志、请从演示示示示例中执行如下操作:

    DEVM>EnableBluetoothDebug 1 3 0 DebugLog.log

    提供的"bt_335x_audio.diff"没有代码文件"sound/SoC/codecs/wilink8-bt.c"。 请确保他们已安装此程序。

    谢谢

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

    您好 Hari、

    很抱歉让你感到困惑。 我随函附上 wilink8-bt.c (e2e.ti.com/.../5228.wilink8_2D00_bt.zip)。 关于 BTsnoop 日志、我将请求客户获取该日志。

    此致、

    宫崎

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

    好的。 请在收到 BT 监听日志后发送。

    谢谢

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

    您好 Hari、

    我获得了 BT snoop 日志。 我随函附上(e2e.ti.com/.../8030.logs.zip)。 这包括控制台日志。 然后,客户尝试在其它控制台窗口中执行“”,但似乎出现了以下错误。

    --------------------------------------
    
    $ arecord -D plughw:0、0 -f S16_LE -r 16000 > hoge.wav
    
    录制波“stdin”:有符号16位小端序,速率16000Hz,单声
    
    道 arecord: PCM_READ:2143:读取错误:输入/输出错误
    
    --- 

    谢谢、此致、

    宫崎

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

    我将查看日志、并在一天或两天内返回。 'arecord '失败看起来更像是 BT 编解码器未被实例化。 让我检查并返回。

    谢谢

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

    您好 Hari、

    我们是否可以对此查询进行任何更新?

    此致、

    宫崎

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

    你好,宫崎圣,我没有机会去看看 我将在几天内更新...

    谢谢

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

    您好 Hari、

    我是 Katsuyama 的原始提问者。

    我 仍在努力解决这个问题。

    由于  错误,我的 Bluetopia4.2.4.1.1.1.0在 AM437x-bt-PCM (2).zip 中没有 BluetopiaPM-HFP1.patch 和 BluetopiaPM-HFP2.patch。  这是否会导致错误"arecord:PCM_Read:2143"?

    根据 TI 站点  HFPM 客户端(HFRM_AG) 演示(现已关闭)、我可以与器件 Jabra Speak 510 USB 进行连接和配对。

    并 尝试手动记录、但出现错误2143。

    顺便说一下 、我们的目标是:

     使用内核4.19.94和 HFP、从 HFP 支持的扬声器和麦克风设备流式传输语音并保存到存储设备中。

     我们的板根本没有音频设备。

    所以、请帮助我们!

    此致。

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

    您好、Katsuyama San、

    您的虚拟 BT PCM 编解码器驱动程序似乎未初始化。 我将 AM437x BT PCM 补丁移植到 AM335x、并构建一个构建以尝试我的设置。 我将在一天之内了解我的结果和移植的修补程序。

    谢谢

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

    您好、Hari San、

    [引用 userid="60021" URL"~/support/wireless-connectivity/wifi/f/wi-fi-forum/971702/wl1837mod-ti-bluetooth-stack-sound-driver/3643743 #3643743"]我将在一天内获得我的结果和移植的修补程序。

    这怎么了?

    我期待 您的结果和补丁。

    此致。

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

    您好、Katsuyama San、

    我将补丁移植到 AM335x 的 K4.19内核、并看到您报告的类似问题。 我们正在努力找出根本原因。

    谢谢

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

    在 AM335x EVM 上、由于使用 SN74AVC4T245进行布线的方式、我们似乎只能在主模式下配置 McASP0。 您还在使用 AM335xEVM 还是您的定制板? 相同的 K4.19补丁在 AM437x EVM 上工作正常、因为 McASP 可以在那里处于从模式。

    在 AM335x EVM 上启用 McASP 主控模式似乎有点棘手。 我们正在对其进行研究、并很快回来。

    谢谢

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

    您好、Hari-San、

    感谢 您取得的发展进展。

    [引用 userid="60021" URL"~/support/wireless-connectivity/wifi/f/wi-fi-forum/971702/wl1837mod-ti-bluetooth-stack-sound-driver/3658691 #3658691"]您还在使用 AM335xEVM 或您的定制板吗? [/报价]

    我们的电路板是使用 AM3356和 WL1837MOD 定制的电路板。 和 WL1837MOD 上的蓝牙音频端口

    已连接到 AM3356上的 McASP1。 不使用 McASP0。

    那么、您的意思是、"如果 McASP1配置为从模式、就可以了"、不是吗?

    最恰当的考虑。

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

    Katsuyama-San、您好!

    是的。 如果您使用 McASP1作为从器件、则电路板上的电路应该正常。 如果您在 McASP 和 WL18xx BT PCM 接口之间使用 SN74AVC4T245等电平转换器、请确保正确设置信号的方向。

    谢谢

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

    您好、Hari-San、

    谢谢。

    请向我展示如何使 McASP1成为从站!

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

    我将通过 Box 共享文件。

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

    txn.box.com/.../cbhbu484z6fah9d6w1wxjqphh6bl4clg

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

    你好,Hari-San。

    感谢您提供该补丁。

    但问题没有得到解决。  "arecord:PCM_Read:2143:read error:input/output error"再次出现。

    该补丁 在 devicetree 中有一行"simple-audio-card、bitclock-in倒 转;"。 这会导致回送测试失败

    也启用了它。

    修补程序没有"wilink8_bt.c"。  这是可以的吗?

    此致。

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

    Git diff 似乎错过了 wilink8_bt.c 请尝试以下操作:

    https://txn.box.com/s/kb61zrjejhetc8w1qx17sm3mhfsepl0z

    您将 McASP 用作从器件、对吧? 您如何执行回送测试?

    谢谢

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

    您好、Hari-San、

    感谢 wilink8_bt.c  我稍后会尝试。

    [引用 userid="60021" URL"~/support/wireless-connectivity/wifi/f/wi-fi-forum/971702/wl1837mod-ti-bluetooth-stack-sound-driver/3672448 #3672448">您是否将 McASP 用作从站权限? 您如何执行回送测试?[/quot]

    是的、我的 McASP1 Pinmux 设置如下:

    mcasp_1_pins_default: mcasp_1_pins_default {
            /* slave */
            pinctrl-single,pins = <
                AM33XX_IOPAD(0x9a0, PIN_INPUT  | MUX_MODE3)     /* (B12) mcasp0_aclkr.mcasp1_aclkx */
                AM33XX_IOPAD(0x9a4, PIN_INPUT  | MUX_MODE3)     /* (C13) mcasp0_fsr.mcasp1_fsx */
                AM33XX_IOPAD(0x9a8, PIN_INPUT  | MUX_MODE3)     /* (D13) mcasp0_axr1.mcasp1_axr0 */
                AM33XX_IOPAD(0x9ac, PIN_OUTPUT | MUX_MODE3)     /* (A14) mcasp0_ahclkx.mcasp1_axr1 */
            >;
        };

    我的回送过程如下:

    SS1BTPM &
    # setting for loopback
    SS1Tool cmd 0x3f 0x0228 0x01
    
    arecord -t raw -f S16_LE -c 1 -r 8000 $ofile &
    aplay -t raw -f S16_LE -c 1 -r 8000 $ifile
    pkill arecord
    
    # compare two files.
    
    # restore looback setting
    SS1Tool cmd 0x3f 0x0228 0x00

    此致。

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

    尊敬的 Takeharu-San:

    而不是像这样的回调测试。 我希望您尝试使用 LinuxHFRM_HF 样本。 请应用所附的补丁、然后重新构建。 与电话配对并拨打电话、然后发送 arecorde2e.ti.com/.../LinuxHRFM_5F00_HF.patch 进行录音。   

    #arecord -D HW:1、0 -f S16_LE -c 2 -r 16000 | aplay -Dplughw:0、0 -r 16000 -f S16_LE

    上述操作将 BT PCM (HW:1、0)路由到板载 AIC 编解码器。 (硬件:0、0)

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

    您好、Hari-San

    最后、我可以使用 LinuxHRFM_AG (非_HF)录制语音!

    非常感谢!

    这些点是"PCMCodecConfig_t PCMCodecConfig16k"的补丁、并在 LinuxHFRM_AG 中执行 ManageAudio。

    但是、正如我之前提到 过的、关于环回测试、 当  在 devicetree 中设置"simple-audio-card、bitclock-in倒 转;"时、它会失败。

    我只是担心这一点。

    与 USB 麦克风等其他音频源相比、录制的音量较低。 我现在将对此进行检查。

    谢谢。

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

    好的。 让我知道它是怎么发生的。

    谢谢