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.

[参考译文] AM62L-PROCESSOR-SDK:CC33xx 蓝牙模块功能问题

Guru**** 2606725 points
Other Parts Discussed in Thread: AM62L

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1560711/am62l-processor-sdk-cc33xx-bluetooth-module-functionality-issue

器件型号:AM62L-PROCESSOR-SDK
主题中讨论的其他器件:AM62L

工具/软件:

您好、

AM62L 中使用的 WiFi 蓝牙模块是 cc33xx。 目前、TI 提供的 SDK 支持 WiFi 功能、但不支持蓝牙功能。 此功能目前是否与 AM62L 不兼容? 我们希望 TI 能够提供蓝牙驱动程序。 谢谢你。

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

    请记住、该器件需要向 Wi-Fi debugfs 接口发送命令才能启动蓝牙。

    1.确保设备树设置正确

    2.启动 Wi-Fi

    3.echo “1">“>/sys/kernel/debug/ieee80211/wlan0/cc33xx/ble_enable

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

    您好、xiongwei、

     位于以下位置的图像: https://www.ti.com/tool/PROCESSOR-SDK-AM62X 未启用 BLE。

    如果您在 AM62L 器件上需要 BLE、则需要更新 CC33XX 驱动程序并确保正确定义 DTS。

    最新驱动程序: https://dr-download.ti.com/software-development/driver-or-library/MD-UoRUAALCjn/1.0.2.10/cc33xx_linux_package_1_0_2_10.run

    要遵循的步骤: https://dev.ti.com/tirex/explore/content/CC33XX_LINUX_MPU_1_00_00_09__all/docs/linux/html/linux/kernel-porting-guide.html#updating-ti-processor-sdk-10-x-or-newer

    此致、

    AB

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

    您好、

    我使用了您提供的方法、应用了补丁程序并修改了配置、但 未生成/sys/kernel/debug/iee80211/wlan0 节点。

    root@am62lxx-evm:~# lsmod | grep btti
    btti_uart 16384 0
    bluetooth 557056 3 btti_uart

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

    如果您执行 ifconfig 操作、wlan0 是否出现?

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

    root@am62lxx-evm:~# ifconfig
    eth1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            ether 56:0b:50:84:88:e9  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 18  bytes 2192 (2.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 18  bytes 2192 (2.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            ether f8:fb:90:14:da:b2  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    

    但是、

    root@am62lxx-evm:~# ls /sys/kernel/debug/ieee80211/
    phy0
    

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

    是否在内核中启用了 debugfs?

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

    正如 Dean 在文章中所说的、您可能缺少 DebugFS 内核模块。

    确保在构建内核时启用内核模块。

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

    CONFIG_MAC80211_DEBUGFS=y
    CONFIG_BT_DEBUGFS=y

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

    您好、雄伟:

    1.您使用的是哪种 AM62L SDK?  

    2.您是否修改了 DTS 以包含 BLE?

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

    您好、

    1.SDK11.00.05.02

    2.

    &wkup_uart0 { 
    	// BLE host UART
    	status = "okay";
    
    	bluetooth {
    		compatible = "ti,cc33xx-bt";
    		pinctrl-names = "default";
    		pinctrl-0 = <&wkup_uart0_pins>;
    		cc33xx-supply = <&cc33xx_en_reg>;
    		max-speed = <115200>;
    	};
    };

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

    您好、xiongwei、

    这是定制电路板吗? 是否确定要使用 wkup_uart0 而非其中一个 MAIN_UART 外设?

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

    我附上了一个为 AM62L EVM.e2e.ti.com/.../3678.0001_2D00_am62l_2D00_dts_2D00_enable_2D00_UART_2D00_on_2D00_cc33xx.patch 开发的 DTS 补丁示例、供您参考

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

    您好、

    我确定使用 wkup_uart0、而 wkup_uart0 可作为串行端口正常运行

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

    我认为您还应该设置串行别名、如我在上面的补丁中所示。 您是否已完成此操作?

    在 Linux 上电之前和执行“echo 1 >/sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable 后、请共享完整的 dmesg 和整个终端日志

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

    Sabeeh,

    它不会生成有关 Linux 用户空间的注释。 /sys/kernel/debug/ieee80211/wlan0

    请指导客户如何在客户电路板上进行进一步调试。 谢谢~

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

    您好、

    cc33xx 驱动程序不调用 debugfs_create_dir 函数、因此无法创建/sys/kernel/debug/ieee80211/wlan0 节点。

    AM62L SDK 中的 cc33xx 驱动程序是否不支持蓝牙? 您是否在 EVK 电路板上对其进行了测试?

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

    您好:

    Processor SDK 中默认不包含蓝牙驱动程序。 必须在中对其进行修补。  

    请应用此补丁  

    github.com/.../ti-linux-6.12.y

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

    您好、

    我已经修补了蓝牙驱动程序.

    但仍然没有创建节点的原因是、正如我在上面提到的、未调用 debugfs_create_dir 函数。

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

    您好、

    您能否在 AM62L EVK 上调整 cc33xx 蓝牙?

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

    尊敬的雄伟:

    是的、我已经将 cc33xx 蓝牙改编为 AM62L SDK。 我将介绍下面使用的步骤:

    1.使用我链接到上面的补丁修补 Am62L Linux 内核。

    2.交换最新 CC33xx SDK 1.0.2.10 的固件。

    3.通过修改器件树中的 UART 注释来启用 BLE。

    但仍没有创建节点的原因是、如上所述、未调用 debugfs_create_dir 函数。

    这是不正确的。 您可以在补丁文件 https://github.com/TexasInstruments-Sandbox/cc33xx-linux-mpu-ports/blob/main/ti-linux-6.12.y/0001-drivers-cc33xx-update-to-1.0.2.10.patch#L271 的第 271 行上看到 ble_enable 的 debugfs_create_dir 命令  

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

    您好、

    我按照您提供的操作步骤使用 EVK、现在 ble_enable 节点可用。

    root@am62lxx-evm:~# echo 1 > /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable
    root@am62lxx-evm:~# hciconfig
    root@am62lxx-evm:~# hciconfig -a
    

    hciconfig 仍显示无节点。 我应该如何 测试?

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

    您好:

    您是否也修补了 DTS 并安装了它们?

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

    是、蓝牙驱动程序已成功加载。

    root@am62lxx-evm:~# lsmod | grep btti
    btti_sdio              16384  0
    btti                   12288  1 btti_sdio
    bluetooth             516096  4 btti,btti_sdio
    

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

    尊敬的雄伟:

    您安装的内核模块与用于 UART 上的 BLE 不兼容。 您已在 SDIO 内核模块上安装了 BLE。

    修复方法是按如下方式修改内核 defconfig:

    CONFIG_BT_TI=n

    CONFIG_BT_TI_SDIO=n

    CONFIG_BT_TI_UART=m

    因此只需要重新编译并重新安装内核和模块。

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

    尊敬的 Sabeh Khan1 :

    我遇到了一个类似的问题 、即我的 WiFi 和 BLE over SDIO 工作正常。 我的行为与这篇文章非常相似
    CC33XX-SOFTWARE:bti_UART - Wi-Fi 论坛 — Wi-Fi - TI E2E 支持论坛

    在此处查看您的注释后 — 对于仅 BLE UART 模式 — 应禁用 CONFIG_BT_TI? (CONFIG_BT_TI_UART=m 和 CONFIG_BT_TI=n 应与 CONFIG_BT_TI_SDIO=n 同时存在)  ?

    BR、

    Jithesh

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

    尊敬的 Jithesh:

    是、当使用 UART 模式 (BT_TI_UART) 时、其他两个配置 (BT_TI 和 BT_TI_SDIO) 应被禁用。

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

    谢谢 Sabeh Khan1 ,

    仍然没有运气得到 hci0。 启用 debugfs 时、我是否需要 CONFIG_mac80211_DebugFS=y 和 CONFIG_BT_DebugFS=y  我还没有启用它们、但我 已经有了'/sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable '。
    如果我重新加载模块、我得到的就是
    Btti serial0-0:未启用主机唤醒
    btti serial0-0:sm:获得 event_probe_done、从 State_insporting 迁移到 State_hw_off
    btti serial0-0:sm:获得 event_regulator_enable、从 STATE_HW_OFF 迁移到 STATE_HW_ON

    在我指的另一篇文章中 、CC33XX-SOFTWARE:btti_UART - Wi-Fi 论坛 — Wi-Fi - TI E2E 支持论坛
    最终解决方案给出为 CONFIG_IMX_SDMA=m、而不是 CONFIG_IMX_SDMA=y、解决了该问题。 -有任何评论为什么这是有效的?

    感谢您的快速答复。

    BR、

    Jithesh

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

    自从我遇到 IMX_sdma 问题已经很久了、但正如我所记得、当它可用时存在问题。 将其作为模块加载、而不是将其内置到内核映像中、从而解决了该问题。 我想,但不是积极的,它有一些与 IMX_sdma 本身的依赖关系,如果 IMX_sdma 加载太早,它不可用。  

    但我喜欢我说,这是很长一段时间,我不记得细节。 这可能不太正确...

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

    感谢 Dean Ramsier !
    我在任何情况下都不使用 iMX SOM。 很想知道它是如何解决这个问题的。 我同意、在这种情况下、它看起来确实像一个模块加载顺序。 但是、我尝试手动重新加载驱动程序、但没有任何帮助

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

    尊敬的 Jithlesh:

    为了避免混淆此主题中的不同主题、最好创建一个新 TT、以便我们可以单独观察和解决您的问题。

    谢谢!

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

    尊敬的雄伟:

    更改内核配置以启用 BT_TI_UART 并禁用其他配置后、您是否能够启动 HCI 接口?

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

    您好、

    滑块

    CONFIG_BT_TI=n、

    CONFIG_BT_TI_SDIO=n、

    和 CONFIG_BT_TI_UART=m 的组合、

    问题已解决。 非常感谢。

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

    尊敬的 Sabeeh:

    明白了。 我只想发回报告、内核配置也解决了我们的问题。  (在处理硬件更改之后)。

    感谢您的支持!

    此致、

    Jithesh