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/AM3354:使用 Kernel 4.9连接 Wilink8的 SDIO 接口出现问题

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/768194/linux-am3354-problem-with-sdio-interface-to-wilink8-with-kernel-4-9

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

工具/软件:Linux

您好!

我们的 AM3354设计采用了 TI 的 Wilink8 WL1831模块、该模块通过 MMC2进行连接。 处理器和 Wilink8模块之间存在 SDIO 通信问题。 我们在启动过程中会出现以下错误...

mmc2:排队未知 CIS tuple 0x3f (0字节)

[11.287697]  mmc2:将未知 CIS tuple 0x01排队(15字节)

[11.3002228]  mmc2:对未知 CIS 进行排队、生成0x30 (0字节)

[11.364043]  mmc2:将未知 CIS tuple 排队0x07

(笑声)

我们发现以下 E2E 主题描述了我们遇到的相同行为。 当 MMC 最大频率设置为48MHz 时、我们会遇到问题、但当我们将其设置为47MHz 时、问题就会消失。

http://e2e.ti.com/support/legacy_forums/embedded/linux/f/354/t/611569

在我看来、降低1MHz 时钟速度不可能解决信号完整性问题、我想这是可能的、只是听起来不太可能。 尽管它在47MHz 下工作、但我们没有很高的可信度、除非我们知道问题的原因、否则这是一个有效的修复方法。

另一个数据点是、如果我们在同一个板载内核3.14上运行、则运行正常。

对此、我有几个具体的问题

1. TI 是否看到过任何其他有关此问题的报告?

2.这可能是内核问题、还是更有可能是电路板信号完整性问题?

3.哪些方面值得检查?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brad、
    'ifconfig wlan0 up'的输出是什么? 无线接口是否已正确启用?

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

    我没有收到该信息、但我很确定它会返回并说"没有此类器件"。 我根据提供的以下信息来进行此操作。这是在启动后立即执行的。

    # ifconfig
    LO       链路环接:本地环回  
             iNet addr:127.0.0.1 掩码:255.0.0.0
             正在运行 MTU:65536 公制:1的上环回
             RX 数据包:0错误:0丢弃:0超限:0帧:0
             TX 数据包:0错误:0丢弃:0超限:0载波:0
             冲突:0 txqueuelen:1
             RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

    # ifconfig wlan0 down
    ifconfig:SIOCGIFFLAGS:无此类设备
    #[89.064233]  random:crng init done

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、这似乎不是 SDIO 时钟频率问题。 WL18xxMOD 在启动时似乎未检测到。 我假设这是在客户电路板上、而不是在 AM335x EVM 上。 您是否查看了客户的 DTS 文件以确保正确集成了 WiLink8相关模块? 您可以将其用作参考: github.com/.../am335x-evm.dts。 确保在启动期间 WLAN_EN 被置为有效/切换。

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

    感谢您的帮助。

    我仍然有疑问。 我们可以更改 dts 中的参数、从48MHz 开始、无法工作到47MHz、然后工作。这是唯一的变化。 我参考的另一个 E2E 帖子中描述的相同行为。 另一个数据点是在内核日志上打印的错误代码。

    mmc2:排队未知 CIS tuple 0x3f (0字节)

    [11.287697]  mmc2:将未知 CIS tuple 0x01排队(15字节)

    [11.3002228]  mmc2:对未知 CIS 进行排队、生成0x30 (0字节)

    [11.364043]  mmc2:将未知 CIS tuple 排队0x07

    (笑声)

    我查看了 SDIO 驱动程序源、其中打印了这些错误代码、这是通过 SDIO 读取错误值的结果、驱动程序不会将读取的样片识别为有效的 CIS 表 ID。 这让我相信、我们可能会在 SDIO 接口上遇到信号完整性问题。 不过不确定。

    我想、我希望获得任何调试想法、或者这是一个已知问题。 另一个奇数数据点是、如果我们使用3.14内核、则没有问题。 这仅在我们切换到4.9内核时出现。 这会有何影响?

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,如果问题在降低 SDIO 时钟频率后消失,我建议在示波器上捕获 SDIO 数据/命令信号,以检查信号完整性并查看是否存在任何明显的下冲/过冲。

    谢谢
    Saurabh
x 出现错误。请重试或与管理员联系。