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:4.1.15中的 wl12xx 回归、带有 ad-hoc wifi (连续 cmd 连接失败错误)

Guru**** 2587345 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/594461/linux-wl12xx-regression-in-4-1-15-with-ad-hoc-wifi-continuous-cmd-join-failed-error

Thread 中讨论的其他器件:WL1271

工具/软件:Linux

您好!

我们有使用 TI WL1271 WIFI 收发器的电路板。 之前、我们使用 wl12xx 驱动程序在 Linux 3.0.35 (用于 i.mx 6 sololite)上成功使用了它。 一切都运行良好、我们的产品使用点对点 WiFi 在5到10个电路板的系统之间进行通信。 一切都运行良好。 感谢您的这项能力。

但是、我们需要升级到 Linux 4.1.5。 在该版本中、我们发现、尽管接入点的 WiFi 工作正常、但点对点 WiFi 根本不工作。 下面是一个将显示故障的简单单节点测试:

iwconfig wlan0模式 ad-hoc ESSID testadhoc

ifconfig wlan0 192.168.1.10 up

其效果是、在几秒钟内、错误(附在下面)将反复出现、并且无法设置 ad hoc WiFi 网络。

通过搜索 e2e 网站、可以看到其他人也遇到过这种情况。 我很惊讶地看到 TI 员工用以下类似的方式进行回复:

"ad hoc has been replaced with WiFi Direct for WL127x devices (对于 WL127x 器件、ad hoc 已被 WiFi Direct 替换)"。

这似乎与所有其他专业 SoC 供应商背道而驰。 没有任何客户希望升级内核、然后发现主要用户空间功能已完全损坏。

因此、请就如何修复 TI 实施中的回归问题向我们提供建议。 是否修复了使用旧固件的问题(4.1.15 TI 连接导致固件 6.3.10.0.133)?

或者、是否有一个特定补丁可以应用于4.1.15以恢复 TI 对临时 WiFi 所做的特定更改?  

此致!

Jaya

wlcore:错误命令完成超时
------ [在此处剪切]-----
警告:CPU:0 PID:6在 drivers/net/wireless/ti/wlcore/main.c:802 wl12xx_queue_recovery_work。part.9+0x58/0x5c [wlcore]()
链接的模块:wlcore_SDIO wl12xx wlcore mxc_EPDC_fb mxc_EPDC_eink apds9500 max77696_regulator
CPU:0 PID:6 Comm:kworker/U2:0未被污染4.1.15-00032-g86a1157-脏#45
硬件名称:Freescale i.MX6 SoloLite (器件树)
工作队列:phy0 ieee80211_iface_work
[<80017380>](elee_backtrace)从[<80013ae0>](show_stack+0x10/0x14)
[<80013ae0>](show_stack)从[<807e2190>](dump_stack+0x84/0xc4)
[<807e2190>](dump_stack)从[<800373e0>](warn_slespath_common+0x84/b4)
[<800373e0>](WARN_RASPH_COMMON)从[<800374ac>](WARN_RASPH_NLOC+0x1c/0x24)
[<800374ac>](warn_slespath_null)从[<7f035158>](wl12xx_queue_recovery_work。part.9+0x58/0x5c [wlcore])
[[7f035158>](wl12xx_queue_recovery_work.part.9 [wlcore])来自[<7f039640>](wlcore_cmd_send_failure+0x80/0x4d8 [wlcore])
[<7f039640>](wlcore_cmd_send_failsafe [wlcore])来自[<7f03ae98>](wl12xx_cmd_role_start_IBSS+0x100/0x224 [wlcore])
[[7f03ae98>](wl12xx_cmd_role_start_IBSS [wlcore])从[<7f0367b8>](wl1271_op_BSS_info_changed+0xc94/0xe88 [wlcore])
[<7f0367b8>](wl1271_op_BSS_INFO_CHANGE_CHANGE[wlcore])从[<8078a118>](ieee80211_BSS_INFO_CHANGE_NOTIFY+0xd0/0x254)
[<8078a118>](ieee80211_BSS_INFO_CHANGE_NOTIFY)从[<8079a0e0>](_ieee80211_sta_join_IBSS+0x300/0x868)
[<8079a0e0>](_ieee80211_sta_join_IBSS)来自[<8079b418>](ie80211_sta_create_IBSS+0x88/0xe0)
[<8079b418>](ieee80211_sta_create_IBSS)来自[<8079c2a4>](ie80211_IBSS_work +0x340/0x474)
[<8079c2a4>](ieee80211_IBSS_work)来自[<8004c134>](process_One_Work+0x12c/0x4f4)
[<8004c134>](Process_One_Work)来自[<8004c548>](worker_thread+0x4c/0x4f4)
[<8004c548>](worker_thread)从[<80051578>](kthread+0xdc/0xf4)
[<80051578>](kthread)来自[<800101a8>](RET_FAND_F叉+0x14/0x2C)
--[结束线迹48977fae74cae91a ]---
wlcore:启动 cmd 角色启用失败
wlcore:警告 cmd join failed -110
IPv6:ADDRCONF (NETDEV_CHANGE):wlan0:链路就绪
wlcore:正在进行硬件恢复。 固件版本:版本6.3.10.0.133
Wlcore:PC:0x1b6d6、HINT_STS:0x00000001计数:1.
Wlcore:关闭
ieee80211 phy0:请求硬件重新启动
wlcore:固件已启动(版本6.3.0.10.0.133)
wlcore:错误命令完成超时
------ [在此处剪切]-----
警告:CPU:0 PID:19在 drivers/net/wireless/ti/wlcore/main.c:802 wl12xx_queue_recovery_work。part.9+0x58/0x5c [wlcore]()
链接的模块:wlcore_SDIO wl12xx wlcore mxc_EPDC_fb mxc_EPDC_eink apds9500 max77696_regulator
CPU:0 PID:19 Comm:kwork/0:1被污染:G W 4.1.15-00032-g86a1157-肮脏#45
硬件名称:Freescale i.MX6 SoloLite (器件树)
工作队列:事件 ieee80211_restart_work
[<80017380>](elee_backtrace)从[<80013ae0>](show_stack+0x10/0x14)
[<80013ae0>](show_stack)从[<807e2190>](dump_stack+0x84/0xc4)
[<807e2190>](dump_stack)从[<800373e0>](warn_slespath_common+0x84/b4)
[<800373e0>](WARN_RASPH_COMMON)从[<800374ac>](WARN_RASPH_NLOC+0x1c/0x24)
[<800374ac>](warn_slespath_null)从[<7f035158>](wl12xx_queue_recovery_work。part.9+0x58/0x5c [wlcore])
[[7f035158>](wl12xx_queue_recovery_work.part.9 [wlcore])来自[<7f039640>](wlcore_cmd_send_failure+0x80/0x4d8 [wlcore])
[<7f039640>](wlcore_cmd_send_failsafe [wlcore])来自[<7f03ae98>](wl12xx_cmd_role_start_IBSS+0x100/0x224 [wlcore])
[[7f03ae98>](wl12xx_cmd_role_start_IBSS [wlcore])从[<7f0367b8>](wl1271_op_BSS_info_changed+0xc94/0xe88 [wlcore])
[<7f0367b8>](wl1271_op_BSS_INFO_CHANGE_CHANGE[wlcore])从[<8078a118>](ieee80211_BSS_INFO_CHANGE_NOTIFY+0xd0/0x254)
[<8078a118>](ieee80211_BSS_INFO_CHANGE_NOTIFY)从[<807b9c74>](ie80211_reconfig+0x1ba0/0x2024)
[<807b9c74>](ieee80211_reconfig)来自[<80788800>](ie80211_restart_work + 0x60/0x8c)
[<80788800>](ieee80211_restart_work)从[<8004c134>](process_One_work + 0x12c/0x4f4)
[<8004c134>](Process_One_Work)来自[<8004c548>](worker_thread+0x4c/0x4f4)
[<8004c548>](worker_thread)从[<80051578>](kthread+0xdc/0xf4)
[<80051578>](kthread)来自[<800101a8>](RET_FAND_F叉+0x14/0x2C)
--[结束线迹48977fae74cae91b ]---
wlcore:启动 cmd 角色启用失败
wlcore:警告 cmd join failed -110
wlcore:正在进行硬件恢复。 固件版本:版本6.3.10.0.133
Wlcore:PC:0x1b6d6、HINT_STS:0x00000001计数:2.
Wlcore:关闭
ieee80211 phy0:请求硬件重新启动
wlcore:固件已启动(版本6.3.0.10.0.133)
wlcore:错误命令完成超时
------ [在此处剪切]-----

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

    您能否在具有内核4.4.4.41的最后一个 TI 官方版本中检查 wl1271的行为?

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

    你好,Tsvetolin Shulev,

    感谢您的回复。 正如我提到过的、我使用4.1.15、因为我使用的是基于 i.mx6sololite 的平台。 切换到另一个未经验证的内核并不是一个微不足道的步骤。 尤其是您没有表示对问题得到解决有任何信心!

    在建议我们将工作迁移到4.4.4.41之前、您能否确认 TI 已测试该版本中的特殊支持回归是否已修复? 是否有您看到的更改日志使您觉得4.4.41可以解决问题?

    此外、您还可以运行以下2个命令在设置中进行检查:

    iwconfig wlan0模式 ad-hoc ESSID testadhoc
    ifconfig wlan0 192.168.1.10 up
    #然后等待1分钟

    我希望我们能够得到一个有益和富有成效的答案。

    谢谢!