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/WL1835MOD:SDIO 无响应

Guru**** 2546020 points
Other Parts Discussed in Thread: WL1835MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/582425/linux-wl1835mod-no-response-on-sdio

器件型号:WL1835MOD

工具/软件:Linux

大家好、

我在 Linux 3.10上使用 WL1835Mod 来实现 WIFI 功能、目前当 SDIO 初始化时、SDIO_RESET 返回-110。 我在 SDIO 总线上捕获到了模块中的波形、如下所示、从主机发送的命令似乎是正确的、而模块没有给出任何响应。 在硬件上,电源与数据表相匹配,32KHz 时钟正在运行, 为运行模式设置引导设置,并且在主机初始化 SDIO 之前,我还在 WL_EN 上触发了一个高-低-高序列。  那么、我还错过了什么呢? 请提供任何提示。

B.R.

美国

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

    此查询已分配给相关专家。 我们很快会回来。

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

    您好!

    错误-110通常与 SDIO 信号完整性问题有关。 您是否曾尝试将 SDIO 时钟限制为低频(从1MHz 开始、看看它是否发生了变化?

    此外、您是否遵循有关 SDIO 总线电平转换的指南行:

    我建议您使用示波器探测线路、并查看信号是否清晰。

    BR、

    Eyal

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

    您好、Eyal、

    感谢您的回复、是的、我遵循了电平位移指南并使用了相同的位移 IC。

    根据问题中所附的波形、频率小于1MHz、测量点位于 WL1835mod 和电平转换器之间。

    (抱歉、我忘记标记这些行:它们是 cmd、clk、d0、d1、d2、 D3分别从上向下。)

    B.R.

    美国

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

    另外还有几个问题:

    1.您是使用3.10内核中的内置驱动程序,还是使用此内核构建我们的官方版本(R8.7_SP1)?
    2.您能否提供显示 SDIO 错误的完整内核启动日志? 希望看到它在哪个点失败。
    3.您是否验证了器件树设置是否正确以及所有 SDIO 引脚/WLAN_ENABLE 引脚是否正确复用?

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

    您好!

    我在3.10内核主线中使用驱动程序、而不是 TI 的官方版本、我的处理器是 i.MX25。但是、我认为这个问题与驱动程序或 DTS 无关、因为我在模块输入引脚上测量了正确的 SDIO 命令、 问题是、模块未响应正确的 SDIO 命令(如果我对波形的分析没有错)、但主机无法发送正确的命令。

    B.R.

    美国

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定3.10内核内的驱动程序的状态、因此接下来我不建议使用这条路径、但这是为了以后...
    您能否提供显示 SDIO 错误的完整内核启动日志? 希望看到它在哪个点失败。

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

    您好!

    我们没有将除 SDIO 总线+ WL_IRQ 之外的任何其他信号拉至主机、因此正如我在前面所说的、这个问题与驱动程序无关、因为在模块输入上已经观察到正确的 SDIO 命令、但没有来自模块的响应。 我想知道现在是否可以通过在 WL_EN 上触发一个 HIGH -> LOW -> HIGH 序列来重置模块? 我们系统中的加电顺序可能与数据表不同、因此我希望后续复位能够让模块正常工作。

    PS:日志已附加、但缺少信息。

    B.R.

    美国

    e2e.ti.com/.../5658.log.txt

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

    当主机探测 SDIO 总线时、WLAN_ENABLE 可能为低电平、因此在关断时不会做出响应。

    请按照中描述的方式仔细执行加电序列:

    请注意图1以了解正确的顺序、否则它将不起作用。

    BR、

    Eyal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    否、WL_EN 在探测时为高电平、首先、我将其设置为低电平并在模块输入上测量它、然后将其设置为高电平并再次测量它、最后通过"insmod SDHC...ko"来探测 SDIO

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

    在内核引导时、Linux 标准 SDIO 驱动程序应自动探测该模块。 我建议也将 SDHC...ko 模块内核构建到内核中。
    如果 wlan_enable 未开启引导、并且未探测到引导、则可以通过手动使用 insmod 来工作。
    此外、请注意启动顺序。 如果上电/断电顺序与上述文档中描述的不符、则可能会以相位方式损坏模块。

    BR、
    Eyal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    内置内核是我尝试的第一步、但在该阶段、我无法控制 wlan_enable、因此我将其构建为模块...
    我想我可能需要使用新的电路板来再次进行测试、希望它可以。

    非常感谢
    B.R.
    美国