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.

[参考译文] LAUNCHXL-CC3235SF:如何调试 WIFI 连接设置

Guru**** 2484615 points
Other Parts Discussed in Thread: CC3200, CC3235SF, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1264143/launchxl-cc3235sf-how-to-debug-wifi-connection-setup

器件型号:LAUNCHXL-CC3235SF
主题中讨论的其他器件:CC3235SF、CC3200、 UNIFLASH

我尝试将 Simplelink CC3235SF 连接到 WPA 企业网络、因此需要遵循 swru455m 中的说明。 EAP 方法为 TLS。 wlanconnect 函数返回成功、但处理程序回调从未被调用、因此未正确设置连接。 在 RADIUS 服务器日志中、我可以看到、在 从 Simplelink 设备发出初始访问请求后、RADIUS 服务器不再收到其他消息。 现在、我想知道 Simplelink 器件为什么没有在连接过程中继续执行。 如何从网络处理器获取调试信息?

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

    你可以获得 NWP 日志-见  swru455m 中的第20章。

    您也可以检查空气嗅探器日志(或 AP/半径侧的嗅探器)。

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

    尊敬的 Tobias:

    CC32xx 器件和 EAP 最常见的问题是 CC32xx 仅支持 TLS 1.0。 目前 RADIUS 服务器通常禁止使用 TLS 1.0。 许多公司的安全策略甚至不允许启用 TSL 1.0。

    1月

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

    大家好、Jan、

    感谢您的回答!  我已经在故障排除过程中阅读了您的帖子(e2e.ti.com/.../4681547 TLS 1.0的限制。 由于我目前仍在使用 CC3235SF 执行初始测试、因此我自己运行测试网络。  因此,我也在 freeradius 服务器中明确启用了 TLS 1.0。 您是否有 TI 说明 WPA 企业环境下 TLS 1.0限制的官方文档?

    此外、您是否了解采用 WPA Enterprise 和 TLS 作为 EAP 方法的 CC3235SF 的其他常见问题?

    托比亚斯

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

    尊敬的 Kobi:

    感谢您的回答!  我已经看到 第20章(swru455m)中描述的日志记录位置。 但是、由于它只为我提供加密的日志数据、因此我还没有进一步查看它。 您是否有机会为我解密数据?  或者、您能请我与能够做到这一点的联系人联系吗?  在任何情况下、这对我来说都是一个非常有趣的方法。  

    由于我目前仍在使用 CC3235SF 执行初始测试、因此我自己运行测试网络。 这使我可以完全访问所有配置,特别是访问 RADIUS 服务器的日志文件。  如我初始博文中所述、这些日志文件强烈建议我问题出在 CC3235SF 一侧。  但我仍将使用无线监听器来确保数据包正确到达 CC3235SF。

    托比亚斯

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

    尊敬的 Tobias:

    我不知道有任何 TI 官方文档规定了 TLS 1.0的 EAP 限制。 我只知道 TI 员工在 e2e 论坛上关于此主题的声明以及 TI 员工私下提供的信息。

    我不知道 EAP 安全的任何其他常见问题。 以前我还记得大型网络中 EAP 的超时问题。 但我不确定这是否仅与 CC3200器件或更新的器件 CC3220/CC3235相关。

    正如我以前所记得的,正确配置 FreeRADIUS 服务器以保证 EAP 安全可能很棘手。 过去、我使用 FreeRADIUS 3.0.21版测试了 CC3220、并且以下 EAP 方法正常运行:EAP-TLS、EAP-TTLS-TLS、EAP-TTLS-MSCHAPv2、EAP-PEAP0-MSCHAPv2、EAP-PEAP0-PSK、 EAP-FAST-AUTH-PROVISIONING

    您在 WLAN 断开异步处理程序中看到了什么原因代码? 您是否能够通过 EAP 安全性将其他设备(手机)连接到您的 WiFi 网络?

    1月

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

    大家好、Jan、

    您是指 第4章 (swru455m)中描述并由  slcb_WlanEvtHdlr 处理的异步 WLAN 事件吗?  如我的初始文章中所述、我没有遇到任何这些事件、WLAN_CONNECT 函数 返回成功。

    我  用 Windows 客户端和 Linux 客户端测试了 WiFi。 两个客户端都能够通过 EAP 安全性成功连接到 WiFi。 因此、我假设网络设置工作正常。

    托比亚斯

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

    尊敬的 Tobias

    预期 sl_WlanConnect ()将返回成功,除非它在输入参数解析时不会失败。 但在与 EAP WiFi 网络连接不成功的情况下,我会期望调用处理程序 SimpleLinkWlanEventHandler ()的状态为 sl_WLAN_EVENT_DISCONNECT,并断开原因代码.Disconnect.ReasonCode

    如何在 FreeRADIUS 服务器上启用 TLS 1.0? 您是否/mods-enabled/eap 文件中使用了选项 TLS_MIN_VERSION ="1.0"? 因为某些版本的 FreeRADIUS 服务器上的其他选项不能正常工作。

    NWP 日志的问题。 只需在该主题中捕获 NWP 日志并上传二进制文件。 用于分析 NWP 日志的 TI 工具尚未公开提供、因此需要由 TI 工程师进行分析。

    1月

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

    大家好、Jan、

    很遗憾、我没有收到任何异步 WLAN 事件。

    是的、我  在 /mods-enabled/eap 文件中使用了 TLS_MIN_VERSION ="1.0"。

    我知道器件上的认证文件是"安全"文件。 是这样吗? 由于 sl_FsOpen()函数需要一个令牌来打开这些文件,我可以想象 NWP 在这些文件中也有问题。 您能告诉我您是如何将证书文件写入器件的吗?

    托比亚斯

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

    您好!

    我只使用静态令牌。 我的"简化"写作函数如下所示:

    int slApiCertWrite(int type, unsigned char* buff, int len)  {
    
      int            retVal, hdl;
      unsigned long  token;
      unsigned char  *fileName;
    
      // overeni hlavicky souboru (prvni dva znaky musi byt 0x30 0x82 pro .DER)
      if ((len>0) && ((buff[0]!=0x30) || (buff[1]!=0x82))) return E_FILE_CERT_HDR;
    
      // nastaveni celeho jmena souboru pro zapis
      switch(type) {
    
        // EAP (/sys/cert/private.key)
        case 0:
          fileName = (unsigned char*)&FILE_EAP_KEY;
          break;
    
        // EAP (/sys/cert/client.der)
        case 1:
          fileName = (unsigned char*)&FILE_EAP_CERT;
          break;
    
        // EAP (/sys/cert/ca.der)
        case 2:
          fileName = (unsigned char*)&FILE_EAP_CA;
          break;
      }
    
      token = TOKEN_FILE_EAP;
    
      // smazani souboru pokud existuje
      retVal = sl_FsDel(fileName, token);
      if ((retVal < 0) && (retVal != SL_ERROR_FS_FILE_NOT_EXISTS)) {
        return E_FILE_CERT_DELETE;
      }
    
      // pouze smazat soubor, dale nepokracuj...
      if (len == 0) return 0;
    
      // otevreni souboru pro zapis
      hdl = sl_FsOpen(fileName,
                      (SL_FS_CREATE |
                       SL_FS_CREATE_SECURE |
                       SL_FS_CREATE_VENDOR_TOKEN |
                       SL_FS_CREATE_NOSIGNATURE |
                       SL_FS_CREATE_MAX_SIZE(len)),
                      &token);
      if (hdl < 0) {
        return E_FILE_CERT_CREATE;
      }
    
      // zapis dat do souboru
      retVal = sl_FsWrite(hdl, 0, buff, len);
      if (retVal < 0) {
        return E_FILE_CERT_WRITE;
      }
    
      // uzavreni souboru
      retVal = sl_FsClose(hdl, NULL, NULL, 0);
      if (retVal < 0) {
        return E_FILE_CERT_CLOSE;
      }
      return 0;
    }

    (抱歉评论捷克语:-))

    1月

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

    好的、我尝试了不同的方法、并使用 Uniflash (作为映像的一部分)将证书文件写入器件。

    关于您的写作函数、我有两个问题。

    1.) 您的函数的签名  

    int slApiCertWrite(int type, unsigned char* buff, int len)
     告诉我 已移交包含 certifactes 的缓冲区。  该缓冲区是在哪里创建的、是如何创建的? 您是否已将证书硬编码到源代码中?

    2.) 下面几行使我感到困惑 ,因为文档"swru455M"第4.6.2章指出这些文件必须为 PEM 格式。

      // overeni hlavicky souboru (prvni dva znaky musi byt 0x30 0x82 pro .DER)
      if ((len>0) && ((buff[0]!=0x30) || (buff[1]!=0x82))) return E_FILE_CERT_HDR;

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

    您好!

    1) 1)没有证书未在代码上进行硬编码。 我使用自己的在应用处理器上运行的 Web 服务器。 我实施了通过网络上传证书、CA 文件和私钥的功能。

    2)它可以用两种格式。 DER,。 用于 EAP 安全的 PEM。 但无论内容如何、文件名始终相同。 在我的设备,我决定只支持. DER 格式。 因为。 DER 格式导致最终用户错误的可能性较小(例如,. PEM 文件是文本、可包含多个证书等。)

    说实话、我认为在 CC32xx 器件上使用 EAP 安全是在浪费时间、尤其是在开发商用器件。 最近了解到、几乎所有大型公司都没有 TLS 1.0策略。

    1月

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

    好的、 最后这里是我的加密日志文件。  如果有人可以让我访问文件的内容,那将是非常友好的。

    e2e.ti.com/.../cc3235sf.log

    此外、我现在还可以观察到断开连接事件。 大约20分钟后出现、原因代码为1。

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

    您好!

    原因代码1定义为 SL_WLAN_DISCONNECT_UNSPECIFIC。 您是否看到前面显示的原因代码208,209,210?

    NWP 日志文件似乎具有正确的数据结构。 请等待 TI 的分析。

    1月

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

    尊敬的 Tobias:

    您正在使用哪种 SP 版本?

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

    无论如何、该日志文件是不可读的。

    请捕获另一个并确保所有终端设置符合要求。

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

    我假设 使用了 simplelink_cc32xx_sdk_7_10_00_13中的 SP、因为在 image.syscfg 文件中会激活"使用来自 SDK 的服务包"选项。 这是 sp_4.13.0.2_3.7.0.1_3.1.0.26.bin、位于 simplelink_cc32xx_sdk_7_10_00_13/tools/cc32xx_tools/servicepack-cc3x35下。

    日志文件是不可读的、这是什么意思? 我在 Linux 下使用20.1.2.2 (swru455m)的终端设置记录了它。 然后、我花了20分钟才发现文件必须有后缀才能在此处上传。 因此我选择了任意后缀.log、因为我是 Linux 用户、文件后缀对我来说是可选的

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

    除了我们的解析器无法解析此文件之外、我无法告诉您什么是错误的。

    有时我们会这样说(可能与 UART 线路的可靠性和质量有关)。

    请尝试获取另一个捕获、希望它可以更好地工作、

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

    好的、这是另一个日志文件:

    e2e.ti.com/.../2626.teraterm_5F00_cc3235sf.log

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

    好的、这是另一个日志文件:

    e2e.ti.com/.../5488.teraterm_5F00_cc3235sf.log

    我不知道文件现在为什么如此显示。 我让一位同事通过 Teraterm 在 Windows 下记录该文件

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

    这是一个很好的,但很难知道是什么问题。

    您提供的证书似乎存在一些问题(NWP 无法解析其中至少一个)、但我无法确定、需要咨询模块所有者(下周)。

    您是否可以捕获空气监听器日志(例如使用 Wireshark + WiFi 加密狗)? 我想排除 TLS1.0问题

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

    嗨、

    很抱歉响应时间太长。 因为我不熟悉 Wireshark、所以需要一些时间才能为您提供一个空气 Snifer 日志。 此外、我非常确信 Radius 服务器已针对 TLS 1.0正确配置。 在 Radius 服务器日志中、可以看到服务器从 Simplelink 设备上请求证书。  但是、不幸的是、在这之后什么也不会发生。 因此、我更希望首先从器件本身的日志文件中获取相关信息。

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

    请验证您正在使用的证书-似乎其中一个证书无效。

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

    我已经验证了这些证书。 它们按预期在另一个 Linux 客户端上工作。 您能否准确地告诉我导致问题的是哪个证书?  此外,有关问题的详细信息比"似乎无效"更为详细将会有所帮助。

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

    证书必须采用 DER (二进制)格式。  

    当前日志未给出确切的故障点。  

    我们需要创建调试服务包以获取更多详细信息。 这需要一些时间。

    您以前是否曾与企业合作过(使用 cc32xx)?

    请注意、我们仍然无法排除我们无法解决的 TLS1.0问题。