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/AM3352:与最新处理器 SDK 4.0集成的 WiLink 8 WiFi/SDIO 驱动程序问题

Guru**** 2558250 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/611569/linux-am3352-issue-with-wilink-8-wifi-sdio-driver-integration-with-latest-processor-sdk-4-0

器件型号:AM3352
Thread 中讨论的其他器件: WL1835

工具/软件:Linux

团队、

我收到客户的报告、与之前的 SDK 3.2相比、适用于 Sitara AM3352 (BZCE60)的最新 SDK 4.0可能会破坏 WiLink8集成。  他们非常积极地迁移到最新的2017 LTS 版本、以获得产品支持以及此平台中的一些 USB 稳定性改进。  

  • 我们是否有任何客户在新 SDK 4.0中通过 SDIO 使用 WL1835 WiFi 时遇到问题的报告?
  • 在最新平台中、WiLink8/SDIO 是否需要其他内核或器件树配置?

WiFi 似乎偶尔工作(非常)、但大多数时候驱动程序初始化失败-所有这些似乎都是与 WL8执行 SDIO 事务时的不同复杂情况(下面的示例都是内置内核驱动程序、 但据报告、它们在构建为模块时会看到很多相同的情况、但在启动过程中会更进一步)。

在极少数情况下、它会成功为器件加电、并在启动后继续进行固件上载、此时会显示 wlan0器件。 注意: 这在具有相同器件树源但 SDK 3.2内核4.4.32的相同硬件上运行非常愉快。

无论是重新启动还是完全重启,似乎都没有什么不同...我们非常确信硬件和电源在这两种情况下都正确设置。

有什么建议或其他提示来调试它? 客户已将 WL8和 MMC 驱动程序从4.4.32和4.9.28扩展到4.4.1.28、但通常很难评估哪些更改可能相关。

此致、

Garry

捕获的故障案例:

=========================== 8倍-------------------------------------

案例1:

[1.897953] WLAN_en_fixed:reguler_enable:= 0
[ 1.902616] MMC_reguler_set_OCR:reguler_enable ()= 0
[ 1.908121] MMC_reguler_set_OCR:regulator _set_voltage ()= 0
[ 1.9679] MMC_power_up:on
[ 1.970854] MMC_HW_3956]已在 AES
1.835395333.2-AES OMAP 上:1.9735000
:[1.003335395.000] 将运行具有实时优先级
的请求泵[1.992924] omap_hsmmc 4781000.mmc:卡声明支持低于定义范围
的电压[2.016843] mmc1:地址为0001
[2.031346]的新高速 SDIO 卡 omap-sham 53100000.sham:OMAP 修订版4.3上的硬件加速器
[2.039907] wlSDIO 1:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001:0001: SDIO PM caps = 0x1
[2.046998] wl18xx_driver wl18xx.0.auto: ti-connectivity firmware load for ti-connectivity wl18xx-conf.bin failed with error -2
[2.061771] wlcore:error could not get configuration binary ti-connectivity/wl18xx-conf.bin:-2
[2.071120] wlcore:warning lback to default config
[ 2.071771] wlcore:error
wlcore:b0849] wlcore done:wlcore done:wl0849] wlcore error:wldone:wlcore 注册的新接口驱动程序 snmd-usb-audio
[ 2.096848] NET:注册协议系列10
[2.103186] sit:IPv6、IPv4和 MPLS over IPv4隧道驱动程序
[2.110487] NET:注册协议系列17
[2.115023]注册的关键类型 DNS_RECOR
注册[2.119450] wl12xx_SDIO_POWER_ON:enter
[2.119469_up_mmc_up_rate][2.119245]+mmc_up_up_up_up_runtime[2.1194[2.11924]
已在
[ 2.147326] MMC_SDIO_POWER_RESTORE:MMC_SEND_IO_OP_COND ()= 0
[ 2.166405] OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持
[ 2.173221] mmc1:未知 CIS tuple 0x08 (0字节)队列
[2.173377] MMC_SDIO_POWER_RESTORE

= 2.17322][2.1724_LMC_power [2.17xx](mmc_power -32_power -lIC_RESTORE = 2.17xx:[2.1732_power -mmc2)[2.1732_power [2.1732_power [2.1724_power -lIO_power [2.33xx][2.1732_power -lICT_LIC
错误无法设置
[ 2.173494] wlan_en_fixed 上的电源:reguler_disable:enter
[ 2.173512] wlan_en_fixed:reguler_ena_gpio_ctrl:disable (0)
[ 2.173518] wlan_en_fixed:= 0
[ 2.173525] mc_regulator _set_ocr:regulator _disable (2.173518] wlan_en_off]
[2.1723x_off

案例2:

[ 1.878790]随机:快速初始化完成
[ 1.897950] WLAN_en_fixed:reguler_enable:= 0
[ 1.902612] MMC_reguler_set_OCR:regulator _enable ()= 0
[ 1.908116] MMC_regulator _set_ocr:regulator ()= 0
[ 1.967967911] MMC_power_up:已
在

AES 1.895335OMAP 上:[1.9735000] AES 1.8400] 将运行具有实时优先级
的请求泵[1.992881] omap_hmc 4781000.mmc:卡声明支持低于定义范围
的电压[2.016854] mmc1:地址为0001
[2.031346]的新高速 SDIO 卡 omap-sham 53100000.sham:OMAP 修订版4.3
[2.038612] wlSDIO:0001:1:1:0001:0001:0001:0001:0001:0001 SDIO PM caps = 0x1
[2.045926] wl18xx_driver wl18xx.0.auto: ti-connectivity firmware load for ti-connectivity wl18xx-conf.bin failed with error -2
[2.059579] wlcore:error could not get configuration binary ti-connectivity/wl18xx-conf.bin:-2
[2.070798] wlcore:warning lback to default config
[2.076573] wlcore:wlcore done
:wlcore error:wl0836] wlcore done:wlcore error:wldone 注册的新接口驱动程序 snmd-usb-audio
[ 2.096750] NET:注册协议系列10
[2.103115] sit:IPv6、IPv4和 MPLS over IPv4隧道驱动程序
[2.110404] NET:注册协议系列17
[2.114938]注册的 DNS_resolver 注册的关键类型
[2.119363] wl12xx_SDIO_POWER_ON:输入
[2.372_mmc_up_rate]
已在
[ 2.147234] MMC_SDIO_POWER_RESTORE:MMC_SEND_IO_OP_COND ()= 0
[ 2.150070] mmc1:排队未知 CIS tuple 0x04 (151字节)
[ 2.211591] OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持
[ 2.256783] mmc1:BAD TPL_SD21208][2.2642] bytes [2.2642] mmcio tuple [2.2642]

(CSI_E_RESTORE [2.2642] MMC_SDIO_INIT_CARD ()=-22
[ 2.272666] wl12xx_SDIO_POWER_ON:MMC_POWER_RESTORE_HOST ()=-22
[ 2.278719] wl12xx_SDIO_POWER_ON:=-22
[ 2.282571] wlcore:error could set on
[ 2.28116] wlan_en_adregulator
:2.2852] inu_inu_zh_inu_inu_inu_regulator:[2.288051] wlan_inu_inu_inu_inu_en_inu_inu_inu_inu_inu_inu_inu_inu_

案例3:

[ 1.878814]随机:快速初始化完成
[ 1.89797974] WLAN_en_fixed:reguler_enable:= 0
[ 1.902635] MMC_reguler_set_OCR:regulator _enable()= 0
[ 1.908138138] MMC_regulator _set_ocr:regulator _voltage ()= 0
[ 1.967941] MMC_power_ups [OMAP-AES
1.97356.0066]已在
OMAP
上:1.973566] 将运行具有实时优先级
的请求泵[1.992951] omap_hsmmc 4781000.mmc:卡声明支持低于定义范围
的电压[2.016836] mmc1:地址为0001
[2.031296]的新高速 SDIO 卡 omap-sham 53100000.sham:OMAP 版本4.3上的硬件加速器
[2.039907] wl1271:mmc1:0001:0001:0001:0001 SDIO PM caps = 0x1
[2.047043] wl18xx_driver wl18xx.0.auto: ti-connectivity firmware load for ti-connectivity wl18xx-conf.bin failed with error -2
[2.061928] wlcore:error could not get configuration binary ti-connectivity/wl18xx-conf.bin:-2
[2.071500] wlcore:warning lback to default config
[ 2.0793] wlcore setup:wlus_wlcore done:wl0835] wlcore error
:wlcore done:wl0835] wlcore error:wlcore 注册的新接口驱动程序 snmd-usb-audio
[ 2.096920] NET:注册协议系列10
[2.103156] sit:IPv6、IPv4和 MPLS over IPv4隧道驱动程序
[2.110544] NET:注册协议系列17
[2.115086]注册的 DNS_旋 变传感器类型
[2.119515] wl12xx_SDIO_POWER_ON:输入
[2.119523_MODE_RATE_MODE]
已在
[ 2.147393] MMC_SDIO_POWER_RESTORE:MMC_SEND_IO_OP_COND ()= 0
[ 2.147673] mmc1:排队未知 CIS tuple 0x03 (2字节)
[ 2.147787] mmc1:排队未知 CIS tuple 0x12 (0字节)
[ 2.148025] mmc1:排队
未知 CIS tuple 0x8087 (0字节) 排队未知 CIS tuple 0x01 (0字节)
[ 2.148830] mmc1:排队未知 CIS tuple 0x01 (0字节)
[ 2.149933] mmc1:排队未知 CIS tuple 0x01 (63字节)
[ 2.151956] mmc1:队列未知 CIS tuple 0x0a (0字节)
[ 2.152203] mmc1:2.15203]
mmc2:bad_power c2:vs 0x20_mc2:v_bad_c2 MMC_SDIO_INIT_CARD ()=-22
[ 2.152223] wl12xx_SDIO_POWER_ON:MMC_POWER_RESTORE_HOST ()=-22
[ 2.152228] wl12xx_SDIO_POWER_ON:=-22
[ 2.152231] wlcore:Error 无法设置上的电源[2.152328] wlan_disable [2.2324_orchd_en_en_orchorator



:][2.152346] wlan_off_set wlan_regulator:2.152324_en_en_off_en_off_or_off]
off
[ 2.260097] omap_volte_late_init:未添加电压驱动器支持
[ 2.273851] adc310x_i2c_probe:enter

(笑声) 我已要求记录 WL1835成功启动的情况。

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

    这似乎是时钟问题、您能否尝试减小时钟、例如、可以通过针对 MMC 节点的 devicetree 实现、如下所示:

    Max-frequency =<1000000>;

    从较低频率1MHz 开始、查看是否发生故障、然后缓慢增大该频率、直至其下降。

    谢谢、
    Prabhakar LAD
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢-这是我所需要的重要信息!

    在快速进行二进制斩波之后、它似乎在48MHz 时持续失败、并且在47MHz 时持续工作(尚未尝试将阈值微调到超过1MHz 步长)。

    现在、我想知道我应该给它多大的余地、也就是说、它可能会因硬件而有很大的差异、因此选择稍低的最大频率会更安全、例如45MHz?

    此致

    Stu
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您获得一致的结果@47Mhz,则硬件上的差异不应太大,除非硬件中存在某些问题。 但是、如果速度不是更安全侧的问题、您可以将其设置为较低的45MHz 频率。

    谢谢、
    Prabhakar LAD