Other Parts Discussed in Thread: CC3220S,
Hello,
We recently did an OTA update of the code in a CC3220-based design we are working on. Prior to the update, all CC3220s were connected to our server via routers in our labs. Connections were established via DHCP.
After the OTA update, most units took the update, and ran just fine. However, six units did not connect back to our server. We have a User Interface that allows us to look at the WiFi parameters in the CC3220, and here is what we found:
The SSID returned in our user interface showed blank spaces. The SSID that had been resident was wiped. On some units, we cycled power, and the SSID was restored, indicating that the value in Serial Flash was still resident. But this was not the case on all controls.
Even stranger, the MAC Address returned on these units via the user interface showed a value of either “60000 0” or “60000 A00”. We found this even stranger, since our understanding is that the MAC Address is coded into the CC3220, and should not be changeable. Again, cycling power cleared this up on some, but not on all units.
We use these functions shown below in our code to obtain SSID and MAC Address
Has anyone seen this before, or have some thoughts on what may be happening here?
Thanks!
Paul
uint32_t wifi_get_IP_Address(void)
{
int16_t i16ret;
uint32_t ipAddress;
uint16_t len = sizeof(SlNetCfgIpV4Args_t);
uint16_t ConfigOpt = 0;
SlNetCfgIpV4Args_t ipV4 = {0};
i16ret = sl_NetCfgGet(SL_NETCFG_IPV4_STA_ADDR_MODE,&ConfigOpt,&len,(uint8_t *)&ipV4);
if (i16ret != 0)
ipAddress = 0; // if fail getting IP Address, return address of zero
else
ipAddress = ipV4.Ip; // else return IP Address received from SimpleLink
return ipAddress;
}
int16_t wifi_getMACaddress(uint8_t *macAddressVal)
{
_i16 getMacRet;
// Get MAC Address
uint16_t macAddressLen = SL_MAC_ADDR_LEN;
uint16_t ConfigOpt = 0;
getMacRet = sl_NetCfgGet(SL_NETCFG_MAC_ADDRESS_GET,&ConfigOpt,&macAddressLen,(uint8_t *)macAddressVal);
return (int16_t)getMacRet;
}