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.

[参考译文] M2-CC3351:适用于 LF-6.12.y 的 CC33XX 内核补丁

Guru**** 2644125 points

Other Parts Discussed in Thread: CC3351

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1574582/m2-cc3351-cc33xx-kernel-patch-for-lf-6-12-y

器件型号: M2-CC3351
Thread 中讨论的其他器件: CC3351

工具/软件:

您好、

 ti/cc33xx_linux_package_1_0_2_10/cc33xx/patches/cc33xx_kernel.patch 中的补丁 是针对 lf-6.1.y 创建的
我只能部分地应用它,一些文件在 lf-6.1.y 和 lf-6.12.y 之间发生更改,并导致修补程序失败。

您能为我们提供 6.12 的更新补丁吗?
THX、
Robbine2e.ti.com/.../1106.output.txt
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Robin、

    您看到的是预期输出。

    步骤如下:

    1.应用 cc33xx SDK 提供的修补程序、该修补程序是基于内核 6.1、会导致错误。  

    2.然后为 6.12.y 应用转发补丁,这应该会纠正任何错误。 (补丁-P1 <... github.com/.../0001-drivers-cc33xx-forward-port-cc33xx-1.0.2.10-SDK-to-6.patch)

    因此、请继续应用 6.12.y 补丁、如果您仍然遇到问题、请告诉我。

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

    您好、

    好的、我按照您所描述的那样继续操作。

    在应用第二个补丁来更正 6.12.y 上第一个补丁的错误后、仍然存在编译错误。
    我必须创建第 3 个修补程序才能构建它(将它添加为附件)。

    之后、我才得以构建。

    我根据 6.1.y 文件夹中的设备树补丁更改了我们的设备树。
    添加了用于获取最新固件文件的 Yocto 配方。

    现在我们有了 wlan0 接口。

    我现在的下一个问题是:  
    如何启用并发模式 AP 和 STA?
    我希望这里有 2 个接口、但我需要在某处进行配置?

    e2e.ti.com/.../0027.the_5F00_additional_5F00_patch.txt

    此致、

    Robbin

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

    您好、Robbin、

    很高兴听到您能够使补丁正常工作。  

    默认情况下、Linux 驱动程序将创建 wlan0 接口、但不会创建 wlan1。 您可以通过启动 hostapd 为 AP 创建 wlan1、然后 wlan0 接口可与 wpa_supplicant 结合用于您的 STA 接口。  

    我们的 SDK 中有一个名为“ap_start.sh"的“的示例脚本、演示了如何创建 wlan1 接口。 请参阅 cc33xx_rootfs/usr/share/cc33xx/ap_start.sh。

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

    您好、

    1.我能够手动打开 AP wlan1 接口:
    /usr/sbin/iw phy $(ls /sys/class/ieee80211 /) interface add wlan1 type managed
    我们会在启动用户空间 Wiif-app 之前执行此操作。 但是、加载 DE 固件/驱动程序时、是否没有办法让它自动启动?

    2.第二件事,创建一个没有安全性的 AP,看起来它是有效的。 我也可以连接它。
    但是、当我创建具有安全 WPA2 的 AP 时、DE 驱动程序会变得有点疯狂。 我也无法连接到它。
    日志在附件中。

    e2e.ti.com/.../error_5F00_logs.txt


    此致、

    Robbin


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

    您好、Robbin、

    但是、在加载 DE 固件/驱动程序时、是否没有办法让它自动启动?

    否、我们目前没有这种功能、因为并非每个用户都希望出现这种行为。  

    但是、当我创建具有安全性 WPA2 的 AP 时、驱动程序会有点疯狂。 我也无法连接到它。

    您能否共享与此相关的 hostapd.conf 文件? 我想重现您的问题。

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

    您好、

    那么、您能提供使用工作中的 hostapd.conf 吗?  
    我们不使用 hostapd、但作为测试、我可以试一试。

    最后、我们需要让它与 NetworkManager 配合使用。 我们的用户空间应用程序通过 DBUS 与 NetworkManager 进行通信。
    该函数使用 wpa-supplicant。

    我也可以重现使用“nmcli"创建“创建连接的问题:


    命令:

    nmcli conn add con-name wlan1_ap ifname wlan1 type wifi SSID MyAP mode ap wifi .band bg \
    IPv4.METHOD MANUAL IPv6.METHOD DISABLED connection.autoconnect IPv4.addresses 192.168.99.1/24 \
    802.2-11-wireless-security.key-mgmt WPA-PSK 802.2-11-wireless-security.PSK “MySecretPass"</s>“

    创建连接时、它会立即出错。
    然后我删除连接 AGAI、我们得到了很多:
    [346.793817] wlcore:读取内核状态期间出现 IO 错误

     
    我在附件中添加了完整的日志文件。

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

    我的理论是、WPA1 安全类型被发送到 FW、从而导致 FW 崩溃。 我来尝试看看是否可以重现这个问题。

    下面是一个 hostapd.conf 示例:

    # SSID to be used in IEEE 802.11 management frames
    ssid=CC33xxAP
    # Channel number (IEEE 802.11)
    channel=6
    # ieee80211n: Whether IEEE 802.11n (HT) is enabled
    # 0 = disabled (default)
    # 1 = enabled
    # Note: You will also need to enable WMM for full HT functionality.
    ieee80211n=1
    # ht_capab: HT capabilities (list of flags)
    ht_capab=[SHORT-GI-20]
    ##### WPA/IEEE 802.11i configuration ##########################################
    wpa=2
    wpa_passphrase=yourpasswordhere
    # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
    # Default: IEEE 802.11b
    hw_mode=g
    # Pairwise cipher for WPA (v1) (default: TKIP)
    wpa_pairwise=CCMP
    # Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
    rsn_pairwise=CCMP

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

    问题是 cc3351 固件在 AP 模式下不支持 TKIP。 如果指定了此参数、固件将崩溃。

    请求方(与 NetworkManager 一起使用的基础守护程序、即使是用于 AP 模式)默认对 TKIP 和 CCMP 进行加密、因此、如果您没有 在配置中明确限制它、您将获得固件不支持的 AP 配置。

    我已经要求 TI 解决了几次崩溃问题、具体原因是可能会遇到这种“默认“行为。 它不需要在 AP 模式下支持 TKIP、只是不会崩溃。 到目前为止没有任何用处……

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

    尊敬的 Dean:

    您是否知道 nmcli 中用于强制 WPA2 的正确命令?

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

    尝试将以下内容添加到配置文件中:

    WIFI-sec.pairwise CCMP wifi-sec.proto RSN

    (WIFI-sec 是无线安全的别名)

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

    尊敬的 Dean:

    尝试使用“wifi-sec.pairwise CCMP wifi-sec.proto RSN“强制执行此操作


    nmcli conn add con-name wlan1_ap ifname wlan1 类型 wifi SSID MyAP 模式 ap wifi.band bg pv4.方法手动 ipv6 禁用 connection.autoconnect 是 IPv4 地址 192.168.99.1/24 802.2-11-wireless-security.key-mgmt wpa-PSK 802.2-11-wireless-security.PSK “MySecretPass" wi-sec.pairwise“ wi-sec.pairwise CCMP wifi-sec.proto RSN

    [65843.841669] wlcore:启动 cmd 角色启用失败
    [65843.853329] wlcore:启动 cmd 角色启用失败
    [65843.872798] wlcore:启动 cmd 角色启用失败
    [65843.884462] wlcore:启动 cmd 角色启用失败
    [65843.904330] wlcore:启动 cmd 角色启用失败

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

    我尝试借助 WPA3 启动 AP 时也出现了同样的问题

    “802-11-wireless-security.key-mgmt SAE “

    nmcli conn add con-name wlan1_ap ifname wlan1 type wifi SSID MyAP mode ap wifi .band bg \
    IPv4.METHOD MANUAL IPv6.METHOD DISABLED connection.autoconnect 是 IPv4.addresses 192.168.99.1/24 \
    802-11-wireless-security.key-mgmt SAE 802-11-wireless-security.PSK “MySecretPass" 802-11-wireless-security.proto“ 802-11-wireless-security.proto RSN

    [71517.531685] wlcore:启动 cmd 角色启用失败
    [71517.543915] wlcore:启动 cmd 角色启用失败
    [71517.563703] wlcore:启动 cmd 角色启用时出错

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

    您好、Robbin、

    再说一次,我对 nmcli 不太熟悉。 最好是通过 hostapd 测试相同的内容、因为这是我们在 SDK 中使用的协议。

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

    您好、  

    好的,我会尝试用 hostapd 重现,但正如我所说,我们不会在最后使用它
    我们需要它通过 NetworkManager 和 wpa_supplicant 工作。

    很奇怪、我们通过网络管理器创建 AP 来导致固件崩溃。

    您能用重现它吗?:

    nmcli conn add con-name wlan1_ap ifname wlan1 type wifi SSID MyAP mode ap wifi .band bg \
    IPv4.METHOD MANUAL IPv6.METHOD DISABLED connection.autoconnect 是 IPv4.addresses 192.168.99.1/24 \
    802.2-11-wireless-security.key-mgmt WPA-PSK 802.2-11-wireless-security.PSK “MySecretPass"</s>“

    如果是、固件是否应该在某个地方修复或提及通过 NetworkManager 和 WPA 请求程序支持的或不支持的内容?

    此致、

    Robbin

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

    您好、Robbin、

    理解问题。 很遗憾、我的版本没有安装 nmcli、因此请给我一些时间使用 nmcli 进行构建、并更详细地查看此问题。  

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

    您好、Robbin、  

    我能够创建构建并重现固件崩溃。 我发现网络管理器使用 wpa_supplicant 的 AP 模式功能、该功能包含 hostapd 提供的功能子集。 因此、当您键入“WPA-PSK"时“时、实际使用的是 WPA/WPA2 混合模式 (TKIP)、CC33xx 上的 AP 模式也不支持该模式、因此会导致崩溃。

    但是、开放模式 (802-11-wireless-security.key-mgmt none) 应该可以正常工作。 使用 open 时、我没有看到固件崩溃、但我无法启动 AP 模式、可能是因为我在处理 nmcli 和 AP 模式时经验不足。

    因此、如果您需要 AP 模式、则请使用 hostapd。 这是在我们的器件上使用 AP 模式时经过验证和全面测试(包括开放网络)的方法。

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

    您好、

    感谢您的关注!

    我能够通过 network_manager (nmcli) 设置 AP、仅使用 WPA2、而不使用混合模式 (WPA/WPA2)。

    以下是使用 nmcli 工具执行此操作的方法:

    nmcli conn add con-name wlan1_ap ifname wlan1 type wifi SSID MyAP mode ap wifi .band bg \
    IPv4.METHOD MANUAL IPv6.METHOD DISABLED connection.autoconnect 是 IPv4.addresses 192.168.99.1/24 \
    802-11-wireless-security.key-mgmt WPA-PSK \
    802-11-wireless-security.PSK “123456789"\</s>“
    802-11-wireless-security.proto RSN \
    802.1-11-wireless-security.pairwise CCMP

    接下来可能是 另一个问题。

    为了使驱动程序能够运行在内核 6.12.34、我不得不在描述的内容之上自行添加一个补丁。

    您说:

    “""""""""""""""</s>“ “““““““““““““

    步骤如下:

    1.应用 cc33xx SDK 提供的修补程序、该修补程序是基于内核 6.1、会导致错误。  

    2.然后为 6.12.y 应用转发补丁,这应该会纠正任何错误。 (补丁-P1 <... github.com/.../0001-drivers-cc33xx-forward-port-cc33xx-1.0.2.10-SDK-to-6.patch)

    因此、请继续应用 6.12.y 补丁、如果您仍然遇到问题、请告诉我。

    “""""""""""</s>“ “““““““““

    正如我上面提到的,这是不够的,我仍然不得不手动纠正一些事情。
    让司机工作有点麻烦。 为什么内核 6.12.y 上没有包含所有内容的补丁?
    内核未来 LTS 版本的支持速度将有多快?

    我们目前正在评估不同的模块、并考虑所有这些因素、以选择最适合我们需求的模块。
    事实上、当我们使用混合模式 WPA/WPA2(而不是仅使用 WPA2)配置驱动程序时、驱动程序就会崩溃、这不会增加对的信心
    稳定性。

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

    您好、

    我们进行了更多测试、使 WPA、WPA2 和 WPA3 能够用于我们的 NXP 模块。

    我们在 TI 模块中使用相同的设置、仅使用我们能够连接的 WPA2。

    关于最后一条消息、添加 CCMP 后、WPA2 开始工作、没有 CCPM、 固件崩溃:
    802-11-wireless-security.pairwise:CCMP
    802-11-wireless-security.group: CCMP

    您能否提供适用于 WPA 和 WPA3 的 hostapd 配置?
    也许这样我们可以推断出适用于 TI 模块的正确设置、因为我们现在使用的设置仅适用于 NXP 模块。

    此致、  

    Robbin

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

    您好、Robbin、

    正如我上面提到的、这还不够、我还必须手动更正一些问题。
    让司机工作有点麻烦。 为什么内核 6.12.y 上没有包含所有内容的补丁?
    您将以多快的速度支持内核的未来 LTS 版本?

    您是否能够分享您的更改? 我针对特定的内核版本测试每个修补程序、因此如果您遇到问题、我非常愿意听到它、并且为了提高质量、肯定会改进修补程序。

    您能否提供适用于 WPA 和 WPA3 的 hostapd 配置?

    您指的是 WPA2 和 WPA3? 但是的、让我在今天晚些时候提供这些内容。

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

    没有 WPA2、我们使其正常工作、您提供了这样的配置文件。

    但 WPA 和 WPA3 尚未正常工作。

    当然,我不得不做的额外的改变是在我上面的第二篇文章。
    “0027.the_additional_patch.txt"</s>“

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

    明白了、感谢您把它弄清楚。

    同样、我们不支持 AP 模式下的 WPA、因为您会遇到 TKIP 问题和 FW 崩溃。 但我可以分享 WPA3 hostapd.conf。

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

    您好、Robbin、

    下面是一个启用了 WPA3 的 hostapd.conf 示例:

    interface=wlan1
    ssid=CC33xxAP
    # Channel number (IEEE 802.11)
    channel=6
    # ieee80211n: Whether IEEE 802.11n (HT) is enabled
    # 0 = disabled (default)
    # 1 = enabled
    # Note: You will also need to enable WMM for full HT functionality.
    ieee80211n=1
    # ht_capab: HT capabilities (list of flags)
    ht_capab=[SHORT-GI-20]
    ##### WPA/IEEE 802.11i configuration ##########################################
    wpa=2
    wpa_passphrase=yourpasswordhere
    wpa_key_mgmt=SAE
    # Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
    # Default: IEEE 802.11b
    hw_mode=g
    # Pairwise cipher for WPA (v1) (default: TKIP)
    wpa_pairwise=CCMP
    # Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
    rsn_pairwise=CCMP
    ieee80211w=1
    sae_require_mfp=1
    sae_pwe=2

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

    您好、Robbin、

    仅供参考、我已经复制了您的编译器问题并将更改集成到此 PR 中。 更改与您的“the_additional_patch.txt"几乎“几乎相同:

    https://github.com/TexasInstruments-Sandbox/cc33xx-linux-mpu-ports/pull/26