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/DRA745:WL1837MOD:hciattach 初始化超时。

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/704972/linux-dra745-wl1837mod-hciattach-initialization-timed-out

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

工具/软件:Linux

打开 dra74x 上的蓝牙(Wl1837:NF3107)
----------------------------------------

我们能够启动 WLAN 并面临蓝牙启动问题。

我们有定制板(J6)、它使用 SPI 接口和连接到 MAX14830ETM+
BT 模块与 MAX 芯片 UART 端口1 (ttyMAX1)连接、如下所示、

        SPI                                 ttyMAX1
J6 ------  MAX14830ETM+ ---------- NF31087

我们已手动将 BT_EN 引脚始终设置为高电平(通过 u-boot)。

当我们尝试连接 BT 模块(hciattach /dev/ttyMAX1 Texas 115200 noflow)时、
获得"初始化超时"。 误差。 当我们探测它(来自 MAX 芯片)时、
RTS:  切换
            高  :当我们执行 hciattach 时
        Low (低):出现“Initialization timed out (初始化超时)”错误后。
CTS:   始终为低电平(无响应)。

结果附在此处(bt_log.txt)。

我们还按照以下链接尝试更改最新的 TIInit_11.8.32.bts 文件、但没有帮助。
e2e.ti.com/.../683824

我们被困在这里、请帮助我们继续前进。

谢谢、
水平


e2e.ti.com/.../3482.bt_5F00_log.txt



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您能否将波特率更改为3000000并重新测试?

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

    我们尝试了相同的结果、但结果相同。

    root@dra7xx-EVM:~# hciattach /dev/ttyMAX1 Texas 3000000流程
    初始化超时。

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

    我建议您还在 UART 上探测 TX 和 RX 线路。
    此外、获取 BT FW 日志(www.ti.com/.../swau058d.pdf)将非常有用。 如果 BT 控制器检测到 UART 连接并且存在任何流量、则会显示 FW 日志。

    由于您使用的是 SPI-UART 转换器、并且 Bluez 驱动程序假定有一个 UART (在您的情况下为虚拟)接口、因此请确保 SPI-UART 驱动程序和主机上的配置正常工作。

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

    您好!

    我拔出 MAX 芯片端口0引脚(Tx、Rx、RTS 和 CTS)并使用 USB 转 TTL 驱动器(YP-05)连接 PC。
    连接如下所示、

    MAX_Tx  ---- > USB_TTL_Rx
    MAX_Rx  ---- > USB_TTL_Tx
    MAX_RTS ---- > USB_TTL_CTS
    MAX_CTS ---- > USB_TTL_RTS

    我能够在 maxchip 和 PC 之间传输数据、而无需流控制。

    使用流量控制(使用 minicom 进行测试):
       能够将数据从 PC 传输到 MAX 芯片。
       无法将数据从 MAX 芯片传输到 PC。

    无法将数据从 MAX 芯片传输到 PC:
    ========================================================================
    当我探测它时、MAX CHIP CTS 引脚默认为低电平、但 MAX CHIP 不会开始传输数据。
    当我手动切换 MAX CHIP CTS 引脚时、MAX CHIP 开始传输数据。
    实际上、MAX 芯片希望 CTS 引脚切换以传输数据、但当 CTS 为低电平时应发送数据。

    我在这里附上了 Max 驱动程序代码(max310x.c)、请查看附件。

    请指导我们继续前进。

    谢谢、
    水平


    e2e.ti.com/.../max310x.c

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

    e2e.ti.com/.../hci_2D00_testHiLal、

    这似乎是串行配置问题。 与 Bluetopia 栈无关。

    我有一个标准 HCI/UART 测试应用程序来检查 BT EN GPIO 和到控制器的 HCI/UART 连接、该连接完全独立于 Bluetopia 栈来检查主机/控制器的连接。 您可以尝试如下操作:

    $HCI 测试

    $HCI-测试/dev/ttyMAX1 3000000

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

    我们可以通过执行以下更改来解决此问题。

    1.对最大驱动程序的更改(driver/tty/serial/max310x.c)。
    MAX 驱动器支持3至0.9Mbps 的 UART 波特率。
    修改了代码以支持3Mbps。

    2.没有为串行核心驱动程序(driver/tty/serial/serial_core.c)上的最大驱动程序正确配置流控制
    修改了代码以根据 CTS (UART_Handle_CTS_CHANGE())控制流。
    CTS HIGH (CTS 高):停止传输
    CTS LOW (CTS 低):允许传输。

    谢谢、
    水平