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/WL1837MOD:802.11s 网状网络+ SAE

Guru**** 2562110 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/672135/linux-wl1837mod-802-11s-mesh-sae

器件型号:WL1837MOD
Thread 中讨论的其他器件:WL1837

工具/软件:Linux

e2e.ti.com/.../20180315_5F00_112000_5F00_FW76_2D00_airsniff.pcapng.gze2e.ti.com/.../wpa_5F00_20182615_5F00_102613_5F00_fw69_5F00_7CEC79C7C9AE.loge2e.ti.com/.../wpa_5F00_20182615_5F00_102623_5F00_fw69_5F00_04A3164B2B79.logHi、

我在 WiFi 网状场景中评估 wl1837。 测试设置包含2个相同的 BeagleBone Black 板:

系统:具有无线连接 Cape 的 BeagleBone Black
Yocto:Master@128dd9ec601fab4d213ffe703a79b0e8814ad907
meta-ti:master@4565d60e68e961c1e2b90b647c96f3f756ff0d79
元- openembedded: master@271ce3576be25d8012af15961f827aa2235e6434
内核:TI-LSK-Linux-4.14.y@57341df0b46c6be612d7487fb0a1df8b056449d8 +无线 Cape 的 DT 补丁
wpa_supplicant:wpa_supplicant-2.6
wl1837:FW 8.9.0.0.76

[152823.402038] wlcore:PHY 固件版本:版本8.2.0.240
[152823.499433] wlcore:固件已启动(版本8.9.0.0.76)

wpa-supplicant.conf:

CTRL_interface=/var/run/wpa_supplicant
CTRL_interface_group=0
update_config=1
country=de

network={
SSID="TestMesh
MODE=5
频率=2437
key_mgmt=SAE
PSK="test1234"

没有加密网状网络设置的情况下工作正常。 MPM 和 Ping 正常。
使用 SAE 加密时、MPM 不连接。
使用 USB 加密狗的网状网络处理在此设置中有效。

查找两个电路板的随附 wpa_supplicant 日志和 Wireshark 监听。

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

    您好!

    我具有几乎相同的设置并面临相同的行为。

    谢谢、

    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    支持 SAE。 您是否能够在站点模式下连接到安全 AP?

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

    您好!

    是的、我可以进行连接。 已在 mode=0和 key_mgmt=WPA-PSK 下测试。

    谢谢

    TC

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

    您好!

    是的、我可以在站点模式下连接到安全 AP、而不会出现任何问题。

    谢谢、
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    伙计们、
    感谢您的报告。 我检查了我的平台,实际上 SAE 连接失败。 SDK hostap/wpa_supp 缺少一些补丁。 使其正常工作的步骤:

    -请访问 wiki processors.wiki.ti.com/.../WL18xx_System_Build_Scripts 并修改 setup-env 以指向内核 CC
    -下载源 文件 processors.wiki.ti.com/.../WL18xx_System_Build_Scripts
    您无需构建所有内容-只需构建 libnl、wpa_supplicant、hostap、脚本即可。 为以下各项运行单独的命令:
    build_wl18xx.sh libnl
    build_wl18xx.sh wpa_supplicant


    -构建的二进制文件位于 FS/文件夹中
    -将二进制文件复制到 SD 卡文件系统
    -在 SD 卡上,将/usr/local/sbin 和/usr/local/bin 中的文件复制到 usr/sbin (这可确保更新 hostap、wpa_supplicant)
    网状安全连接现在应该可以工作

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

    尊敬的 Saurabh:

    感谢您的回答。
    我将在本周结束时尝试。

    您是否确切知道缺少哪些修补程序?

    谢谢、
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Patrick:
    有多个与网格相关的修补程序-克隆存储库后,您可以从 src\hostap 运行"git log"。

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

    尊敬的 Saurabh:

    非常感谢您的回答。

    您是否在设置中测试了两个网格点是否可以相互 ping 通?

    如果我们听从您的建议并访问 wiki、我们将获得 MPM 连接
    而不能 ping 通。

    SDK: TI-processor-SDK-Linux-AM335x-EVM-04.02.00.09/
    wpa_supplicant: R8.7_SP3
    固件:
    版本8.2.0.237
    版本8.9.0.0.70

    Thomas

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

    尊敬的 Thomas:

    我能够在2个 Beaglebones 上使用 SAE 进行网格化、但只能在它们上运行。

    现在、我面临的问题是、2个 Beaglebones 不想与另一家供应商的另一个 WiFi 芯片组进行通信。
    (具有相同的驱动程序和 wpa_supplicant 版本)、但我必须首先进行一些调查

    不管怎样,我的问题背后的魔力是以下驱动程序 git 所承诺的,这些驱动程序未包含在我的驱动程序版本中:
    05eb4a78d23d6ec8656f8a33cf1ac816c3c35183@git://git.ti.com/wilink8-wlan/wl18xx.git
    3d8c1108cec32b1820fb38d8cd793b2d5c0a0e1a@git://git.ti.com/wilink8-wlan/wl18xx.git

    BTW:

    我无法使用高于8.9.0.0.70的固件运行网状网络。

    FW:8.9.0.0.70:正在工作
    FW:8.9.0.0.69:也在工作
    8.9.0.0.70以上的固件版本:对于网格、似乎已损坏

    谢谢、
    Patrick

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

    非常感谢您的提示、
    在57341df0b46c@git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git 上应用05eb4a78d、
    允许使用 FW 8.9.0.0.70进行加密连接和 ping

    我们遇到了两种不同固件版本的情况。
    a) MPM 连接、但 ping 不起作用、这似乎与您发现的缺少对"RX Boradcast Key"的支持有关。
    b) MPM 根本不连接、这是我们在第一篇帖子中描述的问题。
    我们只需交换固件版本即可更改方案。

    我们决定使用 b)、原因是最新的固件版本会发生这种情况。
    就我们分析的情况而言,只要交换加密的行动框架,就不会出现在监听中。
    根据我们对 Linux 内核的调试、我们非常确信这些帧会传递到固件并在固件中丢失、这是出于任何原因造成的。

    @Saurabh:在较新的固件版本中是否有明显的原因? 你有什么想法吗?

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

    尊敬的 Saurabh:

    您是否有关于 Thomas 报告的问题的任何新闻?

    谢谢、
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    伙计们,澄清一下:使用驱动程序和 hostap 修补程序-.69工作正常(安全连接和 ping 工作正常),但>=.70失败(安全连接工作但 ping 失败)?

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

    尊敬的 Saurabh:

    1.固件版本为.69时一切正常(使用驱动 程序和 hostapd 补丁)
    2.固件版本>.70:MPM 根本不连接、因此 IP 通信不起作用


    3.我还面临以下问题:
    如果我从不同的 WiFi 芯片组供应商(例如、基于 ath10k 或 ath9k 的芯片组)连接另一个网状点
    我会收到很多警告消息、即使是成对和组密钥密码在任何地方都是相同的:
    Wlcore:警告 RX 中损坏的数据包:状态:0x1 len:65
    (请参阅 drivers/net/wireless/ti/wlcore/rx.c +155)

    BU 首先解决问题2 (对于第3题、我必须深入了解详情)。

    谢谢、
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Patrick、
    感谢您的澄清。 我们将在结束时尝试运行这些迭代、并返回给您。

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

    下面是我们实际状态的简短摘要。

    使用我们的 Yocto 从第一个帖子构建时、但使用4.4 ti WiLink 版本替换内核
    Upstream _44@git://git.ti.com/wilink8-wlan/wl18xx.git
    加密网格可与经过测试的固件版本(70、76和78)配合使用、但不能与其他供应商配合使用。
    注意:这适用于主线 wpa_supplicant 2.6

    使用内核4.9.59的 SDK 构建映像
    和具有 wiki 中建议的补丁的 SDK 中的 wpa_supplicant
    允许连接 FW 70、但 ping 不起作用。
    注:如果没有 wpa_supplicant 修补程序,连接将不起作用。

    使用内核 ti-lk-linux-4.14.y@git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
    在 Yocto 映像中、需要 Patrick 建议的内核补丁、以允许使用 FW 70进行连接和 ping。
    注:固件版本>70不起作用。

    我们的目标是获得
    加密网格支持
    -在主线内核上
    -主线 wpa_supplicant
    -与其他供应商兼容

    BR
    Thomas
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Thomas、
    感谢您的总结。 我们需要一些时间才能在最后解决此问题 我们将在获得结果时向您更新。

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

    非常感谢您的帖子!
    在应用这两个修补程序之后
    SAE 开始使用我的内核在 Mesh 上工作(4.9)

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

    同意这是一次很好的讨论。 这有助于我使用 WPA2.6 (和2.7)和内核4.9 (在我的示例中是在 iMX6上)实现大部分工作的 SAE 设置。 我热切期待 TI 提供有关建议进行哪些更改和版本的指导。

    不会破坏核心对话(因为我认为这仍然与手头的问题相关)... 如果您的用户具有其他3层连接 SAE 设置(在任何修补状态下)、您现在是否会看到如下错误:

    Wlcore:警告 RX 中损坏的数据包:状态:0x1 len:336 

    发送特定数据包时、例如 DHCP 请求?

    奇怪的是,udhcpc 发出的 DHCP 请求使其正常运行,但远程端看不到 systemd-networkd 发送的请求,而我看到了该错误。 我可以识别这两个客户端发送的数据包之间的一个区别是 systemd-networkd 将 DSCP 字段设置为48 (二),而 udhcp 将其取消设置。

    当然、我不明白使用 SAE 时这些 QoS 功能如何受到影响、以及导致此损坏的原因、除了这可能与我们尝试修补的管理帧问题有关。

    --

    编辑:我对标有 QoS 的数据包进行了更多的调查、这并不是很简单(可能是一个红色的错误)。 我可以使用 iperf 标记具有相同类别的数据包、这些数据包可以正常运行。 我不确定为什么每次启用 SAE 时、来自 systemd-networkd 的这些 DHCP 请求都会被标记为已损坏。

    --

    编辑2:systemd-networkd DHCP 请求失败的问题与 DSCP 字段有关。 systemd 绕过正常的 netfilter/iptables 机制并创建原始 UDP 套接字以发送这些数据包(Web 搜索显示 ISC DHCP 客户端也执行此操作)。 当我修改 systemd 代码以不在这些数据包上设置 TOS 类并使用 CS0 (默认值)时、它们会将其传递给用户。 那么、为什么 TOS 与 SAE 下的原始插座断开、但 TOS 在通过网络滤波器时会起作用?

    --

    编辑3 (希望是最终版本):好的! DSCP 的核心问题与原始套接字或 netfilter/iptables 没有任何关系、它与此字段是在多播数据包中设置的事实有关。 如果在任何多播数据包中将 DSCP 设置为0以外的类,则远程端不会接收 DSCP 以下代码揭示了该问题:

    #!/usr/bin/env python3
    
    导入套接字
    
    MCSOCK_GRP ='224.1.1'
    MCast_port = 5007
    
    addrinfo = socket.getaddrinfo (MCast_GRP、无)[0]
    sock = sock.Socket (addrinfo[0]、socket.dSCP_DGRAM、socket.IPPROTO_UDP)
    sock.setsockopt(socket.SOL_IP、sock.ip_ast_port (0x20)、MCast_port (
    sock.sendto(b'test') 

    当在一端调用此函数时、远程端将打印出损坏的数据包错误。 删除对设置 IP_TOS 的调用后、通常会在 tcpdump 中看到这些数据包。  

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

    尊敬的 Saurabh:

    你那有新消息吗?

    谢谢、
    Patrick

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Patrick、
    我们没有此更新。 我们注意到、某些补丁没有将其添加到主线中。 如果您使用的是内核4.4或类似版本、则可以使用反向端口将最新的 WiLink8驱动程序移植到您的内核、但如果您使用的是内核4.9、则必须使用树内驱动程序并手动应用补丁-就像您现在所做的那样。 我们必须手动扫描补丁、确定缺少哪些补丁、并测试此主题中提到的固件兼容性问题。 我们将其列入我们的待办事项列表、我们需要一段时间才能开始。 我们将在有更新时通知您。

    Saurabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    伙计们、
    供参考:使用最新的 TI WiLink8驱动程序 R8.7_SP3反向移植到内核4.4、在安全网状网络上 ping b/w 网状节点可以正常工作。 编译脚本: processors.wiki.ti.com/.../WL18xx_System_Build_Scripts 。 驱动程序: git.ti.com/.../wl18xx 。 当我们可以将这些修补程序向上流式传输到主线时、我们将制定时间表。 会让您随时了解最新信息

    Saurabh