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:如何配置备用 DNS 服务器

Guru**** 2587365 points


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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/886781/launchxl-cc3235sf-how-to-configure-alternate-dns-server

器件型号:LAUNCHXL-CC3235SF

您好!

设置备用 DNS 服务器选项时遇到问题。

为了提供一个示例,我修改了 HttpGet 演示例(包含在 SDK 中)的 Connect()函数如下:

空连接(空)

  SlWlanSecParams_t secParams ={0};
  int16_t ret = 0;
  secParams.Key =(signed char*) security_key;
  secParams.KeyLen = strlen (security_key);
  secParams.Type = SECURITY_TYPE;
  display_printf (display、0、0、"正在连接到:%s\r\n、ssID_NAME);

   //使用8.8.8.8作为备用 DNS

  SlNetCfgIpV4DnsClientArgs_t DnsOpt;
  DnsOpt.DnsSecondServerAddr = sl_IPv4_VAL (8、8、8);
  RET = sl_NetCfgSet (sl_netcfg_IPv4_DNS_CLIENT、0、sizeof (SlNetCfgIpV4DnsClientArgs_t)、(unsigned char *)&DnsOpt);
  RET = SL_Stop (300);
  RET = SL_Start (0、0、0);

  RET = sl_WlanConnect ((signed char*) ssn_name、strlen (ssn_name)、0、secParams、0);

  IF (RET)
 {
   printError ("连接失败"、ret);
 }

也就是说、我在调用 sl_WlanConnect()之前添加了对 sl_NetCfgSet 的调用。

当我禁用路由器中的自动 DNS 服务器功能时、对 sl_WlanConnect 的调用失败。

如果我再进行调用  

状态= sl_NetCfgGet (sl_netcfg_IPv4_DHCP_CLIENT、&ConfigOpt、&pConfigLen、(_u8 *)&dhcpCl);

dhcpCl.dns[2] 返回一个0.0.0.0作为 IP 地址。  

感谢你的帮助。

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

    您好、Gabino、

    您配置辅助 DNS 服务器地址的调用看起来正常(与我们提供的参考匹配)。 该设置也是持久的、因此即使 sl_Start/Stop 不应是强制性的、也不应导致问题。

    在您的读取中、您看起来是使用 sl_netcfg_IPv4_DHCP_CLIENT 而不是 sl_netcfg_IPv4_DNS_CLIENT。 您应该使用"DNS Client"并按如下方式执行读取-

    //在连接
    _U16 ConfigOpt = 0之前读取 DNS 第二个服务器地址;
    _U16 pConfigLen = sizeof (SlNetCfgIpV4dnsArgs_t);SlNetCfgClientV4DnsClientArgs_t
    DnsOpt;
    Opt = sl_NetCfgGet (sl_netcfg_IPv4_DNS_ConfigLet、SlNetCfgv4_CLIENT 和 ConfigLet)
    (unsigned char *)&DnsOpt);
    if (ret)
    {
    //错误
    while (1);
    }
    
    Display_printf (display、0、0、"%d:%d:%d:%d \n\r\n "、
    SL_IPV4_BYTE (DnsOpt.DnsSecondServerAddr、3)、
    SL_IPV4_BYTE (DnsOpt.DnsSecondServerAddr、2)、
    SL_IPV4_BYTE (DnsOpt.DnsSecondServerAddr、1)、
    SL_IPV4_BYTE (DnsOpt.DnsSecondServerAddr、0)); 

    您的目标是验证辅助 DNS 服务器地址是否正常工作、还是希望在禁用 DHCP 服务器功能时调试连接到路由器的问题?

    您是否能够获取连接过程的 Wi-Fi 监听器捕获?

    这将帮助我们更好地了解连接失败的原因。

    此致、

    本·M