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.

CC3220MOD: Any way to build the image with uniflash with one country code, set a (different) country code before using WIFI, and still have valid regulatory certification?

Part Number: CC3220MOD
Other Parts Discussed in Thread: UNIFLASH,

I understand that you select a country code in the uniflash tool when creating the image, and that this results in a set of PHY (TX) parameters.

However, it appears that there is functionality in the NWP API for setting the county code (although it seems to only apply to AP mode which we won't use)

sl_WlanSet(SL_WLAN_CFG_GENERAL_PARAM_ID, SL_WLAN_GENERAL_PARAM_OPT_COUNTRY_CODE, 2, Str);

and something called  SL_WLAN_GENERAL_PARAM_OPT_USER_COUNTRY_ATTRIB, mentioned in the list of persistent information in Appendix B, but apparently not documented.


We want to have one worldwide product SKU, and program the CC3220MOD in production so that it needs to be configured by another part of the system before WIFI is enabled.

When the customer initially sets up the product, he/she selects and confirms the country code (using a BLE connection). Preferably we want to put one worldwide image in the CC3220MOD serial flash in production, and then have our CC3220MOD application waiting to receive the country code before it starts configuring and using the WIFI part. We would be able to selectively reset the CC3220MOD, so it would be OK if a reboot is needed after writing the country-specific configuration to the serial flash.

The alternative might be to maintain three complete serial flash images for the EU, US and JP regions, and to use the UART bootloader to flash one of them during product setup after the customer has selected the country code. This might be slow and would need a lot of space in our external flash. Also, we would anyhow need the process to be repeatable (in case the customer does a mistake) so it would be a problem if country-specific information is part of any OTP structure.

It is of course important that the regulatory certification is still valid after the customer selects the country code, i.e. that any low-level PHY settings etc that uniflash might be supposed to configure also get correctly set if the country code is selected separately from flashing the rest of the image.

Any help on how to achieve this in practice would be highly appreciated!

  • Hi,

    The country code settings will also apply to STA mode, and are important since if set incorrectly it would be possible for a CC3220 to not connect to an AP if it is using a channel disabled by the country code settings.

    You should be able to set the device's country code to 'US', as it is the most restrictive in terms of channels allowed. Then, once your customer has provided their actual region, you can use the sl_WlanSet() API to change the country code at runtime. Changing the country code at runtime will result in the same behavior as if the selected country code was applied at firmware write time.

    See this E2E thread for more discussion:https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/904504

    Let me know if you need more clarification or have further questions on the country code settings.

    Regards,

    Michael

  • Thanks for clarifying that changing the country code also applies to STA mode.

    Still, I wonder about RF certification validity, for example US/EU/JP specific TX backoffs that would required for regulatory compliance. As far as I understand, EU and JP has the same 2.4GHz channels, but there are differences when it comes to low-level PHY parameters because the regulatory limits on the spectral mask are different. Will such low-level PHY parameters also be set correctly when the country code is changed via the sl_WlanSet() API?

    What is confusing in this respect is Figure 19 "Advanced RF 2.4G Settings" on page 18 of the SWRU469G document, where it seems you select one of three sets of "BO Offset" values. I assume that you are supposed to select the set corresponding to the country code. Will the radio still use the correct set of "BO Offset" values even when the country code is later changed via the sl_WlanSet() API? Or should we enter "lowest common denominator" BO offset values in this table in UniFlash, so that the radio would be compliant everywhere?

    (In the figure, all the default offsets have the value "0" - if it will always be like that, then there is of course no issue).

  • Hello PTR,

    First, the Uniflash Advanced RF Settings you are pointing to in the SWRU469 document is for the CC3x35 devices. These settings are not available for the CC3x20 if the correct device type is chosen when you start a new project.

    In terms of the CC3220MOD RF certification validity, all US/EU/JP certification requirements can be met by using the Service Pack found in the latest SDK, including low-level PHY parameters when the country code is changed via SW. This Service Pack includes the same RF settings that were used to accommodate for FCC, ISED, ETSI, JP, and SRRC testing, and obtain all certifications.

    Please see our CC3xxx Certification page for access to our certification reports and certification support request.

    BR,

    Seong