Thread 中讨论的其他器件:WL1271
环境
设备: SolidRun N6室内(欧盟)
板: Hummingboard 2.
操作系统: Debian 10
内核: 5.10.0-0.deb10.16-armmp #1 SMP Debian 5.10.127-2~bpo10+1 (2022-07-28) armv7l GNU/Linux
[37.367306] wlcore:PHY 固件版本:版本8.2.0.245
[37.432614] wlcore:固件已启动(版本8.9.0.0.88)
说明
这些设备很少、并且 WiFi/BT 模块在运行几天后会导致问题。
有三种安装类型:
设备 A) 通过 WiFi 连接到互联网、并与节点保持蓝牙连接
设备 B) 通过 Huawei 4G USB 软件狗连接到互联网、并通过蓝牙持续连接到节点、启用 WiFi (未连接)
器件 C) 通过 Huawei 4G USB 软件狗连接到互联网、并通过蓝牙持续连接到节点、WiFi 被禁用
器件 D) 通过 以太网连接到互联网、并通过蓝牙持续连接到节点、启用了 WIFI (未连接)
观察结果
A 设备正常工作。 连接稳定。
器件 B 和 D 正常运行几天 、但随后发生内核错误(DEVICE_BD_kernel_error.txt)
器件 C 正常工作几天、但蓝牙突然停止工作。
器件 C 上的操作
内核日志条目是
[66377.110327]蓝牙:hci0:命令0x0406 TX 超时
[66389.141653]蓝牙:hci0:命令0x0406 TX 超时
使用 hciconfig -a 检查 hci0状态时 ,状态为 :正在运行 down init
在尝试运行 hciconfig hci0和 hciconfig hci0时、我会得到超时响应
当我尝试使用 rmmod 和 modprobe HCI_UART 内核模块时、内核日志显示了注册蓝牙和加载驱动程序的条目
然后从 rfkill 中解除阻止蓝牙并执行 hciconfig hci0蓝牙已开始运行、hciconfig -a 显示状态为正在运行
器件 B 和 D 上的操作
发生内核错误时、我尝试执行以下操作:
rmmod 和 modprobe (顺序相反)模块:wlcore_SDIO、HCI_UART、wl18xx、wlcore、mac80211、 cfg80211
尝试与器件 C 相同的蓝牙时 、我遇到以下错误
kernel: [278120.054462] Bluetooth: HCI UART driver ver 2.3 kernel: [278120.059123] Bluetooth: HCI UART protocol H4 registered kernel: [278120.083246] Bluetooth: HCI UART protocol LL registered kernel: [278120.088622] Bluetooth: HCI UART protocol ATH3K registered kernel: [278120.137792] Bluetooth: HCI UART protocol Three-wire (H5) registered kernel: [278120.167498] Bluetooth: HCI UART protocol Intel registered kernel: [278120.206318] Bluetooth: HCI UART protocol Broadcom registered kernel: [278120.240479] Bluetooth: HCI UART protocol QCA registered kernel: [278120.246033] Bluetooth: HCI UART protocol AG6XX registered kernel: [278120.259502] Bluetooth: HCI UART protocol Marvell registered kernel: [278120.287146] Bluetooth: hci0: Failed to get CTS kernel: [278137.679614] Bluetooth: hci0: Failed to get CTS kernel: [278137.951733] Bluetooth: hci0: Failed to get CTS
这些是 MMC 时钟:
root@machina1:/# cat sys/kernel/debug/mmc0/ios clock: 0 Hz vdd: 0 (invalid) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 0 (off) bus width: 0 (1 bits) timing spec: 0 (legacy) signal voltage: 0 (3.30 V) driver type: 0 (driver type B) root@machina1:/# cat sys/kernel/debug/mmc1/ios clock: 400000 Hz vdd: 21 (3.3 ~ 3.4 V) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 2 (on) bus width: 0 (1 bits) timing spec: 0 (legacy) signal voltage: 0 (3.30 V) driver type: 0 (driver type B) root@machina1:/# cat sys/kernel/debug/mmc2/ios clock: 52000000 Hz vdd: 21 (3.3 ~ 3.4 V) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 2 (on) bus width: 3 (8 bits) timing spec: 8 (mmc DDR52) signal voltage: 0 (3.30 V) driver type: 0 (driver type B)
如何处理此问题?
内核错误并将 DTS 文件分解为附件。
e2e.ti.com/.../device_5F00_BD_5F00_kernel_5F00_error.txt
e2e.ti.com/.../imx6dl_2D00_hummingboard2_2D00_emmc_2D00_som_2D00_v15.dts.txt