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.

[参考译文] CC3351:CC3351 HCI 在 SDIO 上初始化失败—hciconfig hci0 up Timeout

Guru**** 2609285 points
Other Parts Discussed in Thread: CC3351

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1572982/cc3351-cc3351-hci-init-fails-on-sdio-hciconfig-hci0-up-timeout

器件型号:CC3351


工具/软件:

您好 TI 支持部门、

我们通过带有 Linux 内核 v6.1.102 的 SDIO 在定制电路板上使用 CC3351。 Wi-Fi 工作正常、但 HCI 无法初始化。

设置:

加载的模块:cc33xx、cc33xx_SDIO、btsdio、btti

通过 debugfs 启用 BLE:/sys/kernel/debug/ieee80211 /$PHY/cc33xx/ble_enable = 1

问题:

hciconfig hci0 向上
蓝牙:hci0:操作码 0x0c03 失败:–110
无法初始化设备 hci0:连接超时 (110)

问题:
对于 SDIO 上的此 hciconfig hci0 up 超时问题的故障排除或解决、您有什么建议吗?

感谢您的帮助!
e2e.ti.com/.../hc1725_2D00_agt725_2D00_11dts.txte2e.ti.com/.../ErrorLog02.txt

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

    您好:

    在“echo 1...“命令之后、您能否完整共享整个 dmesg 日志?

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

    您需要从内核配置中删除 CONFIG_BT_HCIBTSDIO、以便 btsdio 不存在(或将其列入黑名单)。 这是 BT 类驱动程序、 如果它存在、它将绑定到 cc3351、因为 cc3351 会将自身作为 BT 类 SDIO 设备进行广播。 但 cc3351 与 BT 类驱动程序不兼容、因此加载时会发生不良情况。 它将首先加载、优先于 btti。

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

    尊敬的 Sabeeh:

    感谢您的答复。

    请参阅完整的 dmesg 请在下面登录。

    e2e.ti.com/.../ErrorLog03.txt

    Dylan

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

    尊敬的 Dean:

    感谢您的答复。

    通过此更改(删除 btsdio)、实际上 btsdio 驱动程序不再存在。 在我的实验中、Linux 不能识别 hci0、并且它不会开始运行。

    执行的步骤:


    modprobe cc33xx
    modprobe cc33xx_SDIO
    modprobe btti
    mount -t debugfs none /sys/kernel/debug
    PHY=`ls /sys/class/ieee80211`
    回波“1">“>/sys/kernel/debug/ieee80211 /$PHY/cc33xx/ble_enable
    hciconfig hci0 向上


    结果:
    最后一个命令失败:无法获取设备信息:没有此类设备

    有关更多详细信息、请参阅 完整的 dmesg 日志 在下面提供。(ErrorLog03.txt)


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

    张先生、

    我看不到 ErrorLog03.txt 附件、请添加它。

    此外、您是否将“CONFIG_BT_TI_SDIO=m"添加“添加到内核 defconfig 中? 这也是必需的内核模块。

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

    很抱歉我误解了。 我现在看到您的 errorlog03.txt。 安装 debugfs 后、您能否显示“lsmod"的“的输出?

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

    尊敬的 Sabeeh:

    感谢您的答复。 安装 debugfs 后、请查看 lsmod 的输出如下:

    e2e.ti.com/.../ErrorLog04.txt

    Dylan

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

    尊敬的 Dylan:  

    正确、btsdio 不得存在。 在它的地方,你必须有 btti 和 btti_SDIO。 您似乎缺少 btti_SDIO。

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

    尊敬的 Dean:

    感谢您的答复。 我尝试按照建议加载 btti_SDIO、但 hciconfig hci0 仍然失败。 有关详细信息、请参阅随附的日志。

    e2e.ti.com/.../ErrorLog06.txt

    Dylan

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

    尊敬的 Chang:

    btti_SDIO 仍未加载到 lsmod 中、但您仍然有“btsdio",“,这、这是不正确的。 请禁用'btsdio'。

    确保在内核 defconfig 中启用 CONFIG_BT_TI=m 和 CONFIG_BT_TI_SDIO=m。

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

    尊敬的 Sabeeh:

    感谢您的指导。

    我已经检查了内核配置。
    CONFIG_BT_HCIBTSDIO 被禁用、CONFIG_BT_TI 和 CONFIG_BT_TI_SDIO 均被启用、如下所示:

    #
    # Bluetooth device drivers
    #
    # CONFIG_BT_HCIBTUSB is not set
    # CONFIG_BT_HCIBTSDIO is not set
    # CONFIG_BT_HCIUART is not set
    # CONFIG_BT_HCIBCM203X is not set
    # CONFIG_BT_HCIBPA10X is not set
    # CONFIG_BT_HCIBFUSB is not set
    # CONFIG_BT_HCIVHCI is not set
    CONFIG_BT_TI=m
    CONFIG_BT_TI_SDIO=m
    # CONFIG_BT_MRVL is not set
    # CONFIG_BT_MTKSDIO is not set
    # end of Bluetooth device drivers

    Dylan

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

    然后你没有正确构建它,因为你的 lsmod 输出显示 btsdio 仍然存在。