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:AM62L-PROCESSOR-SDK:CC33xx 蓝牙模块功能问题

Guru**** 2751405 points

Other Parts Discussed in Thread: CC3351MOD, AM62L

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

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

器件型号: AM62L
Thread 中讨论的其他器件: CC3351MOD

你好

我们有一个基于 AM62L 的定制电路板、并已将 CC3351MOD 连接到用于 WiFi 的 SDIO2 接口和用于蓝牙的 UART6 接口。

image.png

我们将使用 TI Linux 内核版本 11.02.11 https://github.com/TexasInstruments/ti-linux-kernel/archive/refs/tags/11.02.11.tar.gz

结合 cc33xx 最新版本 https://dr-download.ti.com/software-development/driver-or-library/MD-UoRUAALCjn/1.0.2.10/cc33xx_linux_package_1_0_2_10.run

已配置内核以添加  

CONFIG_MAC80211_DEBUGFS=y
CONFIG_BT_DEBUGFS=y
CONFIG_BT_TI=n
CONFIG_BT_TI_SDIO=n
CONFIG_BT_TI_UART=m

 

通过内核源进行检查看起来像是所有补丁更改、如 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 中所建议

已经应用于 ti 11.02.11 内核。

 

已将设备树配置为启用 wifi:

&sdhci2 {
	bootph-all;
	vmmc-supply = <&wlan_en>;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc2_pins_default>;	
	bus-width = <4>;
	non-removable;
	cap-power-off-card;
	keep-power-in-suspend;

	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	wlcore: wlcore@0 {
		compatible = "ti,cc3300";
		reg = <2>;
	};
};

此外、还配置了蓝牙 UART

	aliases {
		serial3 = &main_uart6;
	};

&main_uart6 {
	pinctrl-names = "default";
	pinctrl-0 = <&main_uart6_pins_default>;
	status = "okay";
	bootph-all;
	//uart-has-rtscts;

	bluetooth {
		compatible = "ti,cc33xx-bt";
		cc33xx-supply = <&wlan_en>;
		max-speed = <115200>;
	};
};

已尝试使用和不使用 UART 流控制。

系统将启动、WiFi 正在运行、CAN 扫描并连接到网络。

 

蓝牙子系统似乎正在初始化:

[   96.610484] Bluetooth: Core ver 2.22
[   96.614871] NET: Registered PF_BLUETOOTH protocol family
[   96.621222] Bluetooth: HCI device and connection manager initialized
[   96.628114] Bluetooth: HCI socket layer initialized
[   96.634026] Bluetooth: L2CAP socket layer initialized
[   96.639453] Bluetooth: SCO socket layer initialized
[   96.653274] btti serial0-0: Host wakeup NOT enabled
[   96.658601] btti serial0-0: SM: Got EVENT_PROBE_DONE, moving from STATE_PROBING to STATE_HW_OFF
[   96.658871] btti serial0-0: SM: Got EVENT_REGULATOR_ENABLE, moving from STATE_HW_OFF to STATE_HW_ON

 

我还会执行建议的步骤、在通过 debugfs 启用蓝牙之前、先将 WiFi 联机:

ifconfig wlan0 up
echo 1 > /sys/kernel/debug/ieee80211/phy0/cc33xx/ble_enable

使用 hciconfig 检查 HCI 设备时不会产生输出/未找到设备。

 

你能告诉任何其他地方,看看为什么蓝牙没有初始化?

 

谢谢你

Marc

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

    进一步调查显示、设置 ble_enable 调试节点时、从模块到 AM62L 的一些串行通信:

    模式 0xFF 0xFF 0x02 0x04 0x2A 0x00 发送一次、没有其他活动。

    我还尝试了串行端口的不同别名:

    / {
      aliases {
        serial1 = &main_uart6;
      };
    };
       
    / {
      aliases {
        serial3 = &main_uart6;
      };
    };

    未出现驱动程序对模块消息的响应。

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

    已找到问题。

    串行端口方向声明中的设备树错误。
    对于 RX 和 CTS、将 Output set to Input Now;我们有通信。

    [211.270681] btti serial0-0:SM:获得 EVENT_HCI_WAKEUP_FRAME_RECEIVED、从 STATE_HW_ON 迁移到 STATE_HW_READY
    [211.330386]蓝牙:Mgmt 版本 1.23
    # hciconfig
    hci0:类型:主总线:UART
    BD 地址:AA:BB:CC:DD:EF:00 ACL MTU:255:10 SCO MTU:0:0
    启动
    Rx 字节:276 ACL:0 SCO:0 事件:22 错误:0
    TX 字节:121 ACL:0 SCO:0 命令:22 错误:0