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.

[参考译文] WL1837MOD:Linux 4.9.x:蓝牙(STC):已注册 ChnL_id 4

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/683550/wl1837mod-linux-4-9-x-bluetooth-stc-chnl_id-4-already-registered

器件型号:WL1837MOD

在用于 WL1837MOD 的 Linux 内核4.1.x 下启动蓝牙接口时、我遇到了一个问题。

引导时的 dmesg 摘要:

蓝牙:内核版本2.22
蓝牙:HCI 设备和连接管理器已初始化
蓝牙:HCI 套接字层已初始化
蓝牙:已初始化 L2CAP 套接字层
蓝牙:SCO 套接字层已初始化
(STK):创建了 sysfs 条目
(STC):ChnL_id list empty :4.
(STK):ST_Kim 开始
(STK):ldisc_install = 1.
(STC):ST_TTY_OPEN
STK:已安装线路规则
(STK):ti-connectivity/TIInit_11.8.32.bts
STK:更改固件中的远程波特率命令
STK:跳过更改远程波特率的等待事件
蓝牙:BNEP (以太网仿真)版本1.3
蓝牙:BNEP 筛选器:协议多播
蓝牙:BNEP 套接字层已初始化
(STC):ADD_CHANGE_TO_TABLE:ID 4
(STC):ADD_CHANGE_TO_TABLE:ID 2
(STC):ADD_CHANGE_TO_TABLE:ID 3

'hciconfig '输出:

hci0:类型:主总线:UART
BD 地址:A4:D5:78:10:A2:BC ACL MTU:1021:6 SCO MTU:180:4
向下
RX 字节:588 ACL:0 SCO:0事件:31错误:0
TX 字节:402 ACL:0 SCO:0命令:31错误:0
特性:0xFF 0xFE 0x2D 0xFE 0xdb 0xff 0x7B 0x87
数据包类型:Dm1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
链接策略:RSWITCH 保持监听
链接模式:从器件接受

当尝试使 HCI "启动"时、我收到以下错误:

(STC):ChnL_id 4已注册蓝牙:ST_register failed -114
无法初始化设备 hci0:输入/输出错误(5)

有人有什么想法我会出错吗?

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

    我们将需要有关您的系统的更多信息。

    在最新的内核版本(即4.9)中、共享传输(st)被删除。 对于 AMxxx 处理器的主线 Linux 版本和 TI Linux SDK 版本、可通过 HCI TTY 和 Bluez 支持 WL18xx BT。 您是否手动添加了共享传输并重建了内核?

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

    我不在主线内核上、而是为 IMX7D 处理器使用 Freescale (NXP)分支。
    自我最初发布以来、我一直在研究此问题、正如您所建议的、一些帖子说不使用 ST。 我将重新构建内核以尝试此操作、并将发布回来。

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

    我已通过删除 TI_ST 驱动程序来更改内核构建。 我现在使用的是 Linux HCI TTY、我可以使用以下命令确认 WiLink8蓝牙已启动并正在运行:

    #export BT ENABLE 线路'BT_EN'
    回波"BT_EN">/sys/class/gpio/export

    #将 BT_EN 引脚方向设置为输出
    回显>/sys/class/gpioXX/direction

    #切换 BT_EN 行以重新初始化 BT 接口;这样就可以接受固件了
    Echo 1 >/sys/class/gpioXX/value
    echo 0 >/sys/class/gpioXX/value
    Echo 1 >/sys/class/gpioXX/value

    #使用 UART 接口连接到蓝牙 HCI (在我的例子中为"ttymxc2")
    Hciattach /dev/ttymxc2 Texas 流程

    从/lib/firmware/ti-connectivity 加载#firmware TIInit_11.8.32.bts
    找到了德州仪器(TI)的芯片!
    固件文件:/lib/firmware/ti-connectivity/TIInit_11.8.32.bts
    ...已加载 BTS 脚本版本1
    ...TExaS:将波特率更改为3000000、将流控制更改为1
    ...蓝牙:HCI UART 驱动程序版本2.3
    ...蓝牙:已注册 HCI UART 协议 H4
    ...蓝牙:HCI UART 协议 LL 已注册
    设备设置完成

    #CONFIRM HCI 已启动
    hciconfig -a


    非常感谢你的帮助。
    DH
x 出现错误。请重试或与管理员联系。