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/WL1831MOD:WL183MOD IRQ 线路保持有效

Guru**** 2524460 points
Other Parts Discussed in Thread: WL1831MOD, WL1831

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/615798/linux-wl1831mod-wl183mod-irq-line-staying-asserted

器件型号:WL1831MOD
Thread 中讨论的其他器件: WL1831

工具/软件:Linux

我在我们的平台上使用的 WL1831MOD 器件上看到了以下行为、详细信息如下:

OS - Linux 2.6.35

WL18xx 驱动程序 - 8.4_SP1

FW - 8.9.0.0.1.17

PHY FW - 8.2.0.224

我最初测试了此设备的 MultiBSSID 支持、遇到了一个问题、升级到8.4_SP1后发现问题已得到解决。

经过相对较短的时间、流量通过系统后、平台挂起;这是由 IRQ 线路一直处于高电平导致的。 该平台配置了高 IRQ 电平、并且主板卡在 IRQ 线程消耗所有处理器资源的位置。  此故障机制有几种不同的类型、但在所有情况下、IRQ 线路保持有效。

我可以看到、发生的情况是 IRQ 线程(wlcore_IRQ)在中断被置为有效后运行、但是清除中断的代码不运行、从而使 IRQ 线路处于高电平。 由于某种原因、线程会卡住或不清除中断而离开。 这会使电路板处于此不良状态。

我在测试 MultiBSSID 功能时首先看到了此问题。 我尝试设置单个 AP、但问题仍然存在。 我尝试使用 IRQ 设置上升沿来配置平台、但问题仍未解决。 IRQ 线路保持有效;电路板没有挂起、但是不再生成中断、因为 IRQ 线路上从该点开始没有边沿。

感谢您的帮助。

谢谢、

布鲁诺

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

    您好,  

    您的查询已分配给 WiFi 专家。 我们很快会回来。

    谢谢

    Saurabh

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

    我认为这已经在另一个主题上讨论过。
    我们无法真正支持 R8.4驱动程序/固件、尤其是因为您打算拥有可认证的产品、因此您必须升级到 R8.7_SP2

    前进的道路是努力并将最新的驱动程序移植到您的内核。 由于您的内核是2.6.x、不支持器件树、但我实际上看不到它的解决方法、因此它可能需要手动工作。

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

    您好、Eyal、

    我已经有一段时间回来了、因为我们已经在这里查看了我们的选项。  一个选项是移至内核的更新版本(4.1)以解决此(和其他)问题。

    我对此有一些基本问题。

    4.1内核在主线中包含 WL18xx 驱动程序。 我们不使用这些驱动程序而不使用您的脚本中当前构建的树外驱动程序是否有任何原因?

    我还在 TI WL18xx 集成指南中看到了以下内容

    通过器件树使用固定电压稳压器进行电源控制

    在支持器件树("config_of=y")的内核中,支持的电源控制选项是通过使用稳压器来实现的。
    设备树不支持设置电源选项。

    这是否意味着使用专用稳压器来控制 WL1831模块的电源?

    我们目前使用设置电源选项来控制器件的开启/关闭。 本文档指出、器件树不支持此功能。 这是 TI BSP 的问题还是器件树的架构内核问题?

    谢谢

    布鲁诺

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

    您好、Bruno、

    K4.1树中确实有 WiLink 驱动程序,但它们可能可以正常工作,但并不是最新的。

    我们的最新驱动程序基于 K4.4、我们的 k4.4内核中的大多数补丁已传输到主线、作为 k4.9的一部分、您应该已经拥有我们的最新驱动程序。

    如果您使用4.1驱动程序,您将不使用最新的驱动程序和稍后修复的错误以及新功能(例如网状网络) 不存在、如果您遇到稳定性问题等、则很难在此版本上为您提供支持、您必须从最新主线中重新移植修补程序。

    此外、最新的驱动程序仅支持器件树(CONFIG_of=y)。 板级配置文件已弃用。

    这是 Linux 中的一个架构变化、不仅与 WiLink 相关。

     我们的芯片的电源控制常用方法是使用固定电压稳压器、这种稳压器不是"真正的"稳压器、而是基于 GPIO 的稳压器、它与 MMC/SDIO 驱动器连接并用于打开/关闭 WiLink 芯片(控制 WLAN_ENABLE 引脚) 自动使用 MMC 电源管理(关闭/打开和支持/恢复)。

    固定电压稳压器是 Linux 内核中的标准驱动程序

    您可以查看许多板级配置文件示例、例如 AM335x-EVM.dts 等

    此致、

    Eyal