Software Power Table for QCA Dakota Platform







Griffin Wang  |  Software Engineer







ABSTRACT — Wireless products tend to be sold in different countries with different regulatory domains and different power tables. The original design in the QCA Dakota platform supports only 3 power tables: FCC, ETSI and MKK. In this document, we propose a flexible software solution to support more power tables for all countries.



I – Introduction

Wireless products have become increasingly popular in recent years making Wi-Fi connection available everywhere. But the transmit power limitation is different from country to country because the regulations in each region is different. The original design of QCA’s Dakota platform supports only 3 power tables: FCC, ETSI and MKK. But wireless products are sold to far more than countries than those that use these power tables. Countries require that we follow the local transmit power rule to limit the transmit power of wireless products. In our current situation, we will need to support India, Korea, Australia, New Zealand, and Canada. But the current architecture doesn’t have enough space to add more power tables. It’s a fixed format called the board data file, which is included as a binary file in firmware. QCA’s Wi-Fi driver relies on the country code to read the power table in the binary file.



II – Problem Statement

One solution is to separate the firmware image for different countries. Each firmware includes different board data files for the corresponding countries. But it will be hard to maintain the firmware image if it is modified by a firmware upgrade. Another solution is to include all countries’ board data files in one firmware image and change the board data file properly when selecting countries. In this solution, many board data files have to be included in one firmware version and need to replace the original one when changing countries. It not only increases the firmware size but needs to do some additional steps to replace the board data with the correct one and send to the target firmware.

Software Power Table for QCA Dakota Platform





III – Solution

In order to solve the above-mentioned problems, the solution provides a more flexible way to support multiple countries’ power tables. And it’s not necessary to add many board data files in the firmware, then replace the original one at run time. We follow the power table’s structure to add the power limitation for each country. Then it will be chosen when the corresponding country code is selected. The selected power table will be sent to the target firmware directly and applied to the radio. Its transmit power will then follow the settings in the power table for each channel.






IV – Structures Of Ctl Power Table And Country List

struct ctl_power_channel_pair {
u_int8_t ctl_channel;
u_int8_t ctl_power;
u_int8_t ctl_flag;
};
struct ctl_country_2G {
struct ctl_power_channel_pair country[];
};
struct ctl_country_5G {
struct ctl_power_channel_pair country[];
};
struct ctl_country_2G_Country1_2g[]={

/*11b*/ {}
/*11g*/ {}
/*11n ht20*/ {}
/*11n ht40*/ {}
}
……
/*11a*/ {}
/*11n ht20*/ {}
/*11n ht40*/ {}
/*11ac ht80*/ {}
}
struct ctl_country_5G_Country2_5g[]={}
……



V – Descriptions

1. Get a list of all countries that should be supported by the wireless products.

2. Follow the power table’s structure to create the power limitation for both 2.4G and 5G in different band and channels. Repeat step 2 for all of the countries in the country list.

3. Add a statement to decide the power table by the selected country code.

4. When the driver is loaded, it will read the original power table in board data file. When the user selects the country code, it will get the corresponding power table from the structure we created. Then overwrite the original power table.



VI – Conclusion

To include all countries’ power table in one software would be more flexible to support multiple countries, and we don’t need to maintain different firmwares or different boarddata files for each country or region. Besides, once we need to support more countries, we just need to add one more power table. Otherwise, if the power limitations are changed by the regulatory rule, we can modify the value in our power table with the new power table. But the limitation of this solution is it’s platform depended. It has to be changed when the platform and structure are changed. For example, 11ax would be different because the format of power table is changed.



Download PDF >





See all Technical Papers >