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.

[参考译文] WL1837MODCOM8I:重新键入密码失败后驱动器崩溃

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1237531/wl1837modcom8i-driver-crash-after-rekeying-failure

器件型号:WL1837MODCOM8I
主题中讨论的其他器件:WL1271

我们看到 在 PTK 重新生成关键字失败后、drivers/net/wireless/ti/wlcore/SDIO.c 发生崩溃。 该问题是间歇性的、发生频率为每周一次、并且持续运行。 以下是崩溃日志:

2023-04-25T11:13:58.135526-04:00 VU222340030SA 内核:消息重复2次:[对 STA AC 重新键入 PTK:3a:67:df:8b:6F、但驱动程序不能安全地执行该操作。]
2023-04-25T11:13:58.135575-04:00 VU222340030SA 内核:PWM_CONFIG 失败、返回值=-22
2023-04-25T19:16:45.499512-04:00 VU222340030SA 内核:对 STA AC:3a:67:df:8b:6F 重新生成 PTK 信号、但驱动程序不能安全地执行该操作。
2023-04-25T19:16:45.499579-04:00 VU222340030SA 内核:PWM_CONFIG 失败、返回值=-22
2023-04-26T07:59:17.313525-04:00 VU222340030SA 内核:对 STA AC:3a:67:df:8b:6F 重新键入 PTK、但驱动程序不能安全地执行该操作。
2023-04-26T14:33:09.431879-04:00 VU222340030SA 内核:为 STA AC:3a:67:df:8b:6F 重新键入 PTK、但驱动程序不能安全地执行这些操作。
2023-04-26T14:33:09.431929-04:00 VU222340030SA kernel:------- [剪切此处]-------
2023-04-26T14:33:09.431973-04:00 VU222340030SA 内核:警告:CPU:1 PID:496 at drivers/net/wireless/ti/wlcore/sdio.c:131 wl12xx_sdio_raw_write+0xb8/0x13c [wlcore_sdio]
2023-04-26T14:33:09.431988-04:00 VU222340030SA 内核:链接的模块:wl18xx wlcore mac80211 cfg80211 wlcore_sDIO usbhid phy_generic ci_hdrc_IMX ci_hdrc usb_otgiULPI 角色
2023-04-26T14:33:09.432000-04:00 VU222340030SA 内核:CPU:1 PID:496 Comm:IRQ/260-wl18xx 污染:G O 5.4.102-ts+IMX_2.3.0+GEHC-dcar-ELO+g16c45ab42a03 #1
2023-04-26T14:33:09.432011-04:00 VU222340030SA 内核:硬件名称:Freescale i.MX6 Quad/DualLite (设备树)
2023-04-26T14:33:09.432022-04:00 VU22340030SA 内核:[<80016468>](discard_backtrace) from [<80012c98>](show_stack+0x10/0x14)
2023-04-26T14:33:09.432031-04:00 VU222340030SA 内核:[<80012c98>](show_stack) from [<80711918>](dump_stack+0x84/0x98)
2023-04-26T14:33:09.432039-04:00 VU222340030SA 内核:[<80711918>](dump_stack) from [<8002e6fc>](__warn+0xd8/0xf0)
2023-04-26T14:33:09.432048-04:00 VU222340030SA 内核:[<8002e6fc>](__WARN) from [<8002e7a4>](WARN_slowpath_fmt+0x90/0xa0)
2023-04-26T14:33:09.432057-04:00 VU222340030SA 内核:[<8002e7a4>](WARN_Slowpath_fmt)(<7f2301bc>](wl12xx_sDIO_RAW_WRITE+0x8/0x13c [wlcore_sDIO ])
2023-04-26T14:33:09.432066-04:00 VU222340030SA 内核:[<7f2301bc>](wl12xx_SDIO_RAW_WRITE [wlcore_SDIO]) from [<7f325b48>](wlcore_runtime_resume+0xc8/0x1F4 [wlcloud])
2023-04-26T14:33:09.432077-04:00 VU222340030SA 内核:[<7f325b48>](wlcore_runtime_resume [wlcore])来自[<8041a3c8>](_rpm 回调+0xb4/0x11c)
2023-04-26T14:33:09.432086-04:00 VU222340030SA 内核:[<8041a3C8>](__rpm_callback)[<8041a484>](rpm_callbackground+0x54/0x80)
2023-04-26T14:33:09.432095-04:00 VU222340030SA 内核:[<8041a484>](rpm_callback)[<8041a070>](rpm_resume+0x344/0x4c0)
2023-04-26T14:33:09.432103-04:00 VU222340030SA 内核:[<8041a070>](rpm_resume) from [<8041a238>](__pm_runtime_resume+0x4c/0x64)
2023-04-26T14:33:09.432113-04:00 VU222340030SA 内核:[<8041a238>](__pm_runtime_resume) from [<7f329a60>](wlcore_irq_locked+0x50/0x710 [wlcore])
2023-04-26T14:33:09.432122-04:00 VU222340030SA 内核:[<7f329a60>](wlcore_irq_locked [wlcore])来自[<7f32a1f0>](wlcore_irq+0xd0/0x170 [wlcore])
2023-04-26T14:33:09.432132-04:00 VU222340030SA 内核:[<7f32a1f0>](wlcore_irq [wlcore])来自[<80074cf0>](irq_thread _fn+0x1c/0x7c)
2023-04-26T14:33:09.432142-04:00 VU222340030SA 内核:[<80074cf0>](IRQ_thread_fn)(来自[<80074fc0>](IRQ_thread+0x110/0x1d8)
2023-04-26T14:33:09.432151-04:00 VU222340030SA 内核:[<80074fc0>](IRQ_THREAD)来自[<8004bdd4>](kthready+0x14c/0x18c)
2023-04-26T14:33:09.432160-04:00 VU222340030SA 内核:[<8004bdd4>](kthread) from [<800090e8>](ret_from_fork+0x14/0x2C)
2023-04-26T14:33:09.432169-04:00 VU222340030SA 内核:异常堆栈(0xd9191fb0至0xd9191ff8)
2023-04-26T14:33:09.432177-04:00 VU222340030SA 内核:1fa0:00000000 00000000 00000000 00000000
2023-04-26T14:33:09.432187-04:00 VU223340030SA 内核:1fc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
2023-04-26T14:33:09.432197-04:00 VU222340030SA 内核:1fe0:00000000 00000000 00000000 00000000 00000013 00000000
2023-04-26T14:33:09.432207-04:00 VU222340030SA kernel:--[ End trace 9c447ae40b75f2df ]--
2023-04-26T14:33:09.432216-04:00 VU222340030SA 内核:wl1271_SDIO mmc2:0001:2:SDIO 写入失败(-110)
2023-04-26T14:33:09.432225-04:00 VU222340030SA 内核:wlcore:Warning Enable for recovery failed (为恢复启用警告)
2023-04-26T14:33:09.432235-04:00 VU222340030SA 内核:wlcore:Down
2023-04-26T14:33:09.432244-04:00 VU222340030SA 内核:ieee80211 phy0:已请求硬件重启
2023-04-26T14:33:09.989494-04:00 VU222340030SA 内核:wlcore:PHY 固件版本:版本8.2.0.0.246
2023-04-26T14:33:10.014562-04:00 VU222340030SA 内核:wlcore:error reg 域配置错误
2023-04-26T14:33:10.576522-04:00 VU222340030SA 内核:wlcore:PHY 固件版本:版本8.2.0.0.246
2023-04-26T14:33:10.585477-04:00 VU222340030SA kernel:wlcore:error reg 域配置错误
2023-04-26T14:33:11.148491-04:00 VU222340030SA 内核:wlcore:PHY 固件版本:版本8.2.0.0.246
2023-04-26T14:33:11.166913-04:00 VU222340030SA 内核:wlcore:Error reg 域配置错误
2023-04-26T14:33:11.166980-04:00 VU222340030SA 内核:wlcore:错误固件启动失败(尽管重试了3次)  

发生此错误后、无线接口关闭并重新启动系统是恢复无线功能的唯一方法。 有任何关于这里发生什么的线索吗? 客户设备出现此问题、我们无法在我们的设施中重新创建。 同时、非常感谢您提供有关重现此问题的步骤的建议。

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

    尊敬的 Cibu:

    您使用的内核5.4。  您知道您的客户是否正在尝试借助 WPA3进行连接吗? 如果可以、您是否应用了启用 WPA3的补丁? 您也可以要求客户尝试转到 WPA2。 如果这可以解决问题、则可能是原来的问题。  

    我还担心"尽管重试3次、但错误固件启动失败"。 您能否探测 WL_EN 线路并确认芯片正在尝试复位?  

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

    您好、Sabeeh:

    感谢您的答复。

    我可以确认没有使用 WPA3。 使用的安全协议为 WPA2 TLS。

    由于此问题发生在客户现场、因此我们无法探测 WL-EN 线路或进行任何类型的调试。 我们正在尝试在内部重现此问题、但到目前为止都没有成功。 根据提供的日志、您能否给出有关可能发生的情况或如何重现此问题的任何提示? 请注意、此崩溃发生时没有任何明显触发信号、即系统在发生崩溃时处于空闲状态。

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

    尊敬的 Cibu:

    重现此情况的最佳方法是要求客户使用相同的制造商和型号路由器或接入点。 然后、您的团队应该能够重现这种情况。  

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

    您好、Sabeeh:

    我们将尝试从客户处获取 AP 的品牌和型号。

    以下是有关我们的配置的其他信息:

    Linux 内核:5.4.102+IMX-2.3.0

    TI 驱动程序版本:"R8.8"

    wpa_Suplicant 版本:2.9

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

    尊敬的 Cibu:

    您是否还可以确认 WL18xx FW 版本? 当设备启动并显示在 dmesg 中时、应将其打印出来。  

    请注意、TI 未正式支持内核5.4。 但是、我发现此存储库可以帮助其他人应用内核5.4的补丁、它不附属于 TI: https://github.com/astrand/wilink8-wlan-build-utilites/tree/r8.8/patches/kernel_patches/5.4 

    您能否进行检查以确保应用了这些补丁?

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

    您好、Sabeeh:

    固件版本为8.9.0.0.90。

    我们正在尝试从客户那里获取接入点信息。 同时、继续应用您建议的第三方修补程序并使用它们进行测试-将会向您发布结果。

    谢谢。

    西布  

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

    您好、Sabeeh:

    在发生错误后、是否有办法恢复 wlan0接口? 以下是我们已尝试过的功能:

    -关闭并重新打开模块

    -卸载和重新加载内核模块(wl18xx、wlcore_sDIO、wlcore、mac80211、cfg80211)

    即使完成上述步骤、wlan0接口也会关闭、尝试启动时也会报告以下错误:

    ifconfig:wlan0:获取接口信息时出错:未找到设备

    重新引导是恢复接口的唯一方法。 是否可以在操作系统/驱动程序中执行任何操作来恢复 wlan0接口而不重启?

    谢谢。

    西布

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

    尊敬的 Cibu:

    我不确定您使用的主机、但至少对于 TI 处理器、您可以解除 MMC 接口的绑定、在软件中有效地移除该卡、然后再将其"绑定"回去。  

    我会查看此目录/sys/bus/platform/drivers 以获取 MMC 或 sdci 驱动程序。  

    例如、如下所示:
    $ CD /sys/bus/platform/drivers/sdhci-am654  

    $ echo fa200000.mmc >解除绑定

    $ echo fa200000.mmc > bind  

    该 fa20000是您正在使用的 MMC 或 sdci 设备的内存地址号。 很抱歉、这没有什么意义、因为它是特定于主机的、所以如果您不是 TI 主机、我无法提供确切的详细信息。  

    您是否考虑过应用这些补丁?

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

    还要检查 DTS。 确保使能引脚强制始终为高电平。 wlcore 驱动程序应该能够对其进行切换。 当器件正常工作时、您可以使用以下项对其进行测试:

    $ echo 1 > /sys/kernel/debug/ieee80211/phy0/wlcore/start_recovery  

    查看此命令是否成功。

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

    您好、Sabeeh:

    感谢您的答复。 我们是在 IMX.6平台上、因此地址和路径与 TI 平台截然不同。 我将检查 Wilink8模块是否可以在我们的平台上绑定/解除绑定。 还将检查 DTS 以确定使能引脚状态。

    关于补丁、问题是我们使用5.4内核、所有补丁都未经 TI 官方授权。 我们正在评估可以获取哪些补丁以及如何测试这些补丁。

    谢谢。

    西布

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

    您好、Sabeeh:

    相关问题-是否有方法可以从代码中检测此故障? 就像文件系统中设置的一个标志一样、我们可以检查它来检测接口是否已关闭?

    谢谢。

    西布

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

    尊敬的 Cibu:

    如果 WLAN 接口有问题、它最终会被移除。 您可以检查"$ ifconfig ($配置)"以查看 WLAN 是否仍在运行。

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

    您好、Sabeeh:

    我们从客户那里获得了有关 AP 和 WLC 的信息:

    AP:1,242,1142 (多数)、2800

    WLCS:5,508,55255208540

    谢谢。

    西布

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

    尊敬的 Cibu:

    感谢您提供此信息,我假设这些是思科品牌 AP? 我将与团队进行核实、看看是否与他们合作过。  

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

    您好、Sabeeh:

    是的、它们都是思科 AP 和 WLC。

    谢谢。

    西布