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.

[参考译文] WL1837MOD:mmc1出现 WIFI 故障:尝试硬件重置卡、收到错误-110

Guru**** 2483355 points
Other Parts Discussed in Thread: WL1837MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1279728/wl1837mod-wifi-failure-with-mmc1-tried-to-hw-reset-card-got-error--110

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

我有一个 wl1837mod、其带有 openwrt 的 Zynq 处理器。 通常、模块可以正常工作、但在引导时偶尔会失败、并显示以下日志

[ 12.620000] wl18xx_driver wl18xx.0.auto:直接加载 ti-connectivity/wl18xx-conf.bin 固件失败,错误-2
[ 12.630000] wl18xx_driver wl18xx.0.auto:回退到 sysfs 回退、适用于:ti-connectivity/wl18xx-conf.bin
[ 12.680000] wlcore:Error Could not get configuration binary ti-connectivity/wl18xx-conf.bin:-12
[ 12.690000] wlcore:警告回默认配置
[ 12.930000] mmc1:尝试硬件重置卡,得到错误-110
[13.170000]------- [剪切此处]-------
[ 13.180000]警告:CPU:0 PID:232 at backports-6.1.24/drivers/net/i/ti/wlcore/SDIO.c:123 wl12xx_sDIO_RAW_WRITE+0xd0/0x130 [wlcore_sDIO ]
[ 13.190000]链接模块: XT_connlimit wl18xx(O) PPPoE ppp_async 选项 nf_conncount XT_state XT_helper XT_conntrack XT_connmark XT_connmark XT_connbytes XT_CT wlcore (O) USB_WWAN snd_usb_audio qmi_pppox ppp_gew
[ 13.190000] iptable_mangle iptable_filter ipt_ecn ip_tables CRC_CCITT compat (O) CDC_WDM ax88796b XT_set ip_set_list_set ip_set_has_netport ip_set_hash_netport ip_set_hash_netnet ip_set_hash_notiface IP_i
[13.210000] CPU: 0 PID: 232 Comm: kworker/0:2污染: G O 5.15.118 #0
[ 13.210000]硬件名称: Xilinx Zynq 平台
[ 13.210000] workqueue:事件 request_firmware_work_func
[13.210000][ ](relaxed_backtrace),来自[ ](show_stack+0x10/0x14)
[13.210000][ ](show_stack)从[ ](dump_stack_lvl+0x40/0x4c)
[13.210000][ ](dump_stack_lvl)来自[ ](__warn+0x8c/0x100)
[13.210000][ ](__WARN)从[ ](WARN_RAMPALE_FMT+0x68/0x78)
[13.210000][ ](warn_sleppath_fmt),来自[ ](wl12xx_sDIO _raw_write+0xd0/0x130 [wlcore_sdio])
[13.210000][ ](wl12xx_sDIO_RAW_WRITE [wlcore_sdio])、来自 ](wlcore_set_partition+0xd8/0x4d0 [wlcore])
[13.210000][ ](wlcore_set_partition [wlcore]),来自[ ](wl1271_recovery_work+0x2b8/0x580 [wlcore])
[13.210000][ ](wl1271_recovery_work [wlcore])来自 ](wlcore_NVS_CB+0x110/0xa3c [wlcore])
[13.210000][ ](wlcore_NVS_CB [wlcore])来自 ](request_firmware_work_func+0x40/0x68)
[13.210000][ ](request_firmware_work_func)来自[ ](proc_one_work+0x210/0x474)
[13.210000][ ](process _one_work)从[ ](Worker_thread+0x4c/0x598)
[13.210000][ ](worker_thread)来自[ ](kthread+0x148/0x164)
[13.210000][ ](kthread)从[ ](ret_from_fork+0x14/0x24)
[13.210000]异常栈(0xc0e37fb0至0xc0e37ff8)
[ 13.210000] 7fa0:00000000 00000000 00000000 00000000
[ 13.210000] 7fc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 13.210000] 7fe0:00000000 00000000 00000000 00000000 00000013 00000000
[ 13.220000]--[结束迹线456e94b2b5bbdbd8 ]--
[ 13.230000] wl1271_SDIO mmc1:0001:2:SDIO 写入失败(-110)
[ 24.200000] macb e000b000.Ethernet eth0:针对固定/MII 链路模式进行配置

如果我们在循环中加载和卸载 wlcore_sDIO 驱动器、也会出现这种情况。

有什么想法可能会发生什么?

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

    固件版本信息
    Wlcore:PHY 固件版本:版本8.2.0.0.243
    wlcore:已启动固件(版本8.9.0.0.83)

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

    尊敬的 Manish:  

    您使用的内核版本是什么? 这是新问题还是您从未启动过 wl18x 器件?

    从此日志看来、您需要添加 wl18xx-conf.bin 文件。 您可以从此处获取该文件并重命名它: https://git.ti.com/cgit/wilink8-wlan/18xx-ti-utils/tree/wlconf/wl18xx-conf-default.bin?h=R8.8 

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

    您是否还可以共享 DTS?

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


    谢谢。 我使用了来自同一主分支但结果相同的 bin。 我将尝试从 R8.8分支中的 bin 文件。  我使用的是5.15.118内核。

    DTB 如下: 

    wlan_en_reg:fixedrelator@2{


    兼容="固定稳压器";
    regulator-name ="wlan-en-regulator";
    稳压器最小微伏=<1800000>;
    稳压器最大微伏电压=<1800000>;
    startup-delay-us =<90000>;

    GPIO =<&GPIO0 25 GPIO_ACTIVE_HIGH>;
    高电平有效使能;
    };



    &sdhci1{
    状态="可以";
    VMMC-SUPPLY =<&WLAN_en_reg>;
    总线宽度=<4>;
    xlnx、mio_BANK =<1>;

    CAP-Power-Off-Card;
    保持电源在暂停状态;

    不可拆卸;
    CAP-SDIO-IRQ;
    DISABLE-WP;
    WiFi-主机;
    NO-1-8-V;

    #address-Cells =<1>;
    #size-cells =<0>;
    wlcore:wlcore@0{
    兼容="ti、wl1837";
    寄存器=<2>;
    INTERRUPT-PARENT =<&GPIO0>;
    // interrupts =<26 IRQ_TYPE_EDGE_RISING >;
    中断=<26 IRQ_TYPE_LEVEL_HIGH>;
    };
    };
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Manish:

    我在 DTS 中看到、您已注释掉 EDGE_RISING 中断、因此我认为您已经尝试过、但我建议您在假设 Zynq 主机支持的情况下、保持选中 EDGE_RISING。   

    我认为 DTS 看起来不错、但我对 Zynq 平台不完全熟悉。  

    将 wl18xx-conf.bin 添加到 lib/firmware/ti-connectivity/文件夹中后、错误是否会解决?

    另外、我会使用逻辑分析仪或示波器来查看使能线路、并确保其正常工作。  

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

    感谢您的建议。 添加 wl18xx-conf.bin 没有帮助。

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

    我知道这可能没有帮助、但该错误是否解决了? 您能发布完整的 dmesg 日志吗?

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

    您是否要询问以下错误。 是的、解决了。

    wlcore:无法获取配置二进制文件 ti-connectivity/wl18xx-conf.bin:-12

    我正在尝试使用新的 wl18xx-conf.bin 和 RISING_EDGE 中断重新生成该错误。

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

    尊敬的 Manish:

    还要尝试探测 WL_EN 引脚、查看其是否工作正常。  

    通常、某些客户可以使用以下命令轻松重现任何错误:

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

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

    如果您拥有 BT_EN、情况会更好一点、但仍然能够重现故障。

    https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/483382/occasional-sdio-read-failed--110-on-wl1837mod


    BT_EN 与 SDIO 之间是否存在关系? 还有其他要看的吗?  

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

    尊敬的 Manish:

    否、BT_EN 引脚可控制单独的系统、与 SDIO 无关。  

    由于您有时可以打开 WiFi、我认为这不是软件问题。 我建议您浏览硬件集成指南: http://www.ti.com/lit/pdf/swru437 

    您的 SDIO 线路可能存在问题吗? 它们是否过长或长度不正确匹配?