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:BT 通过 hciattach 启用超时问题

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/780636/linux-bt-enable-timeout-issue-via-hciattach

工具/软件:Linux

尊敬的支持团队

我在 Atmel sama5d36ek( Linux 3.18)中实施 bluez5。安装的 Bluez utils 似乎可以,但问题是通过 hciattach 启用时总是超时 ,如下所示。

将 PIOB25用作 BT_EN。

Echo 57 >/sys/class/gpio/export
回显>/sys/class/gpio/pioB25/direction
echo 0 >/sys/class/gpio/pioB25/value
Echo 1 >/sys/class/gpio/pioB25/value
hciattach -s 115200 /dev/ttyS2 Texas 115200 noflow

找到了德州仪器的芯片!
固件文件:/lib/firmware/ti-connectivity/TIInit_11.8.32.bts
已加载 BTS 脚本版本1
TExaS:将波特率更改为115200、将流控制更改为0
蓝牙:hci0命令0x1003 TX 超时
蓝牙:hci0命令0x1001 TX 超时
蓝牙:hci0命令0x1009 TX 超时
初始化超时。

使用 USart1和 DTS 设置、如下所示。

正如 Atmel 的评论所说,不使用 uart1的 DMA,因此我标记了 CTS/RTS 并使用115200。

USART1:串行@f0020000{
兼容="Atmel、at91sam9260-USART";
reg =<0xf0020000 0x100>;
中断=<13 IRQ_TYPE_LEVEL_HIGH 5>;
//DMA =<&dma0 2 AT91_DMA_CFG_PER_ID (5)>、
//<&dma0 2 (AT91_DMA_CFG_PER_ID (6)| AT91_DMA_CFG_FIFOCFG_ASAP)>;
//dma-names ="TX"、"Rx";
pinctrl-names ="default";
pinctrl-0 =<&pinctrl_usart1>;
时钟=<&usart1_clk>;
时钟名称="USART";
状态="正常";
};

USART1:串行@f0020000{
DMA =<0>、<0>;//请勿将 DMA 用于 USart1 */
pinctrl-names ="default";
//pinctrl-0 =<&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
pinctrl-0 =<&pinctrl_usart1 >;
状态="正常";
};

关于内核配置,我已选择所需的蓝牙 TTY 驱动程序,可以看到驱动程序在 下面的引导广告时按照链接:www.linuxforums.org/.../183146-bluez-rn42-bluetooth-module-hciattach-fails.html 打印。

蓝牙:内核版本2.19
NET:注册协议系列31
蓝牙:HCI 设备和连接管理器已初始化
蓝牙:HCI 套接字层已初始化
蓝牙:已初始化 L2CAP 套接字层
蓝牙:SCO 套接字层已初始化

蓝牙:HCI UART 驱动程序版本2.2
蓝牙:HCI H4协议已初始化
蓝牙:HCI BCSP 协议已初始化
蓝牙:HFILL 协议已初始化

蓝牙:已初始化 RFCOMM TTY 层
蓝牙:已初始化 RFCOMM 套接字层
蓝牙:RFCOMM 版本1.11
蓝牙:BNEP (以太网仿真)版本1.3
蓝牙:BNEP 筛选器:协议多播
蓝牙:BNEP 套接字层已初始化
蓝牙:HIDP (人机接口仿真)版本1.2
蓝牙:已初始化 HIDP 套接字层

似乎已实现蓝牙驱动程序。 在来自示波器的 TX/Rx 引脚上也有波。

请告诉我任何部件缺失或需要修复。

完整日志 attached.e2e.ti.com/.../BT_5F00_hciattach_5F00_timeout.txt

非常感谢!

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

    当尝试通过 UART 将初始化脚本加载到 wl18xx 模块时、似乎失败了。
    您需要 RTS/CTS 流控制才能正常工作。 您似乎在尝试在没有这些引脚的情况下工作、这就是它失败的原因。
    也请配置 RTS/CTS 引脚并将其连接到模块。

    BR、
    Eyal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您这边有任何更新吗? 我可以关闭此主题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,

    感谢您的回复,我找到了解决问题的方法。
    正确设置 DMA、然后获得更精确的波特率以进行修复。