- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using a CYW43012 as part of Murata's LBEE59B1LV module. In our product, we need to reduce the transmit power of the CYW43012 to account for the antenna gain.
When using the Manufacturing Test firmware (wl0: Sep 1 2021 22:28:20 version 13.10.271.273 (9278a67 CY WLTEST) FWID 01-d304ce6e) , I can see that changes to maxp2ga0 and agbg0 are reflected in the output of running "wl curpower". When I perform an active scan using "iw", these settings do not seem to affect the output power of the device.
Details of the firmware, and the NVRAM dump:
# wl ver
wl0: Sep 1 2021 22:28:20 version 13.10.271.273 (9278a67 CY WLTEST) FWID 01-d304ce6e
# wl nvram_dump | grep -e "maxp2ga0" -e "agbg0"
agbg0=0x82
maxp2ga0=0x44
wl indicates that these changes are taking effect, e.g. the agbg0 setting is correctly being handled as a 2.5dB gain on the antenna:
# wl curpower | (head; tail -n 4)
Power Control: On, HW
Current Channel: 1
BSS Channel: 0/5
BSS Local Max: 0.0 dBm
BSS Local Constraint: 0.0 dB
Channel Width: 20MHz
User Target: 31.75 dBm
SROM Antgain 2G: 2.50 dB
SROM Antgain 5G: 0.0 dB
SAR: -32.0 dB
Maximum Power Target among all rates:15.50
Last est. power : 0.00
Power Target for the current rate :10.00
Last adjusted est. power : 0.00
An example use of iw to scan in a specific channel (which we then observe using a spectrum analyzer)
# iw dev wlan0 scan freq 2412 > /dev/null
Expected behaviour:
Changing the antenna gain the NVRAM file (i.e. by adjusting agbg0) will adjust the transmit power when performing an active scan.
Observed behaviour:
No change in transmit power.
Questions:
- Is the contents of the CLM blob overriding these settings?
- If so, how can we adjust the CLM blob?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is no way to confirm power numbers by inspection. To modify the CLM BLOB please check with your module vendor and they should be able to help. Meddling with the NVRAM parameters does vary the board limits ultimately effecting the transmit power, but it is recommended that you don't do this and if you have to, please check with your module vendor first.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I'm not mistaken (I could be), the antenna gain parameter is only relevant if the CLM blob power settings were configured as EIRP values. If they were configured as Conducted, then the antenna gain isn't relevant.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply.
Is there a way for me to parse/decode the "CLM blob power settings"?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You could try the '-v' flag on the curpower command; if I recall correctly that will give you all the powers/rates. But I don't think it gives info on the EIRP vs Conducted setting.
A tool to dump the CLM file contents would be great...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The transmitted power is min(CLM BLOB, NVRAM limit) - 1.5dB
As @DeRa_4514941 said, the antenna gain is taken into account if the numbers are set as EIRP.
To figure out the limits and power transmitted, you need to use the wl curpower command with the mfgtest fw.
command sequence.
wl country <country_name>
wl channel <channel_no>
wl mpc 0
wl up
wl curpower
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply.
@Murali_R wrote:
The transmitted power is min(CLM BLOB, NVRAM limit) - 1.5dB
the antenna gain is taken into account if the numbers are set as EIRP.
Is it possible for me to determine this by inspection of the CLM blob, or by some command using the "wl" tool? The observed behaviour is that changing the NVRAM setting for
maxp2ga0=0x44
does change the "board limit" and "power target" reported by wl curpower., e.g. with maxp2ga0=0x4a :
# wl curpower Power Control: On, HW Current Channel: 1 BSS Channel: 0/5 BSS Local Max: 0.0 dBm BSS Local Constraint: 0.0 dB Channel Width: 20MHz User Target: 31.75 dBm SROM Antgain 2G: 0.0 dB SROM Antgain 5G: 0.0 dB SAR: -32.0 dB Open loop: Off Current rate: [MCS7] ht mcs 7 Tx Exp 0 BW 20 sgi Regulatory Limits: Rate Chains 20MHz DSSS 1 23.00 OFDM 1 21.50 MCS0_7 1 21.50 VHT8_9SS1 1 21.50 ----8<----8<---- Snip Core Index: 0 Board Limits: Rate Chains 20MHz DSSS 1 18.50 OFDM6 1 18.50 OFDM9 1 18.50 OFDM12 1 17.50 OFDM18 1 17.50 OFDM24 1 17.50 OFDM36 1 16.50 OFDM48 1 16.50 OFDM54 1 15.50 MCS0 1 18.50 MCS1 1 18.50 MCS2 1 18.50 MCS3 1 17.50 MCS4 1 16.50 MCS5 1 16.50 MCS6 1 15.50 MCS7 1 14.50 VHT8_9SS1 1 12.50 VHT10_11SS1 1 18.50 ----8<----8<---- Snip
Reducing maxp2ga0 from 0x4a to 0x44 gives a 6 x 0.25dB = 1.5dB reduction in the board limit as expected:
oot@arago:~# wl curpower Power Control: On, HW Current Channel: 1 BSS Channel: 0/5 BSS Local Max: 0.0 dBm BSS Local Constraint: 0.0 dB Channel Width: 20MHz User Target: 31.75 dBm SROM Antgain 2G: 0.0 dB SROM Antgain 5G: 0.0 dB SAR: -32.0 dB Open loop: Off Current rate: [MCS7] ht mcs 7 Tx Exp 0 BW 20 sgi Regulatory Limits: Rate Chains 20MHz DSSS 1 23.00 OFDM 1 21.50 MCS0_7 1 21.50 VHT8_9SS1 1 21.50 ----8<----8<---- Snip Core Index: 0 Board Limits: Rate Chains 20MHz DSSS 1 17.00 OFDM6 1 17.00 OFDM9 1 17.00 OFDM12 1 16.00 OFDM18 1 16.00 OFDM24 1 16.00 OFDM36 1 15.00 OFDM48 1 15.00 OFDM54 1 14.00 MCS0 1 17.00 MCS1 1 17.00 MCS2 1 17.00 MCS3 1 16.00 MCS4 1 15.00 MCS5 1 15.00 MCS6 1 14.00 MCS7 1 13.00 VHT8_9SS1 1 11.00 VHT10_11SS1 1 17.00
----8<----8<---- Snip
e.g. for MCS0 the board limit reduced from 18.5dBm to 17.0dBm.
The observed behaviour (on the spectrum analyzer) is that the output power does not reduce. This is consistent with the numbers not being set to EIRP, as you've mentioned above.
Is it possible for me to confirm this by inspection of the CLM blob, or by running a different command with "wl"? Is this something that I can modify in the CLM blob?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is no way to confirm power numbers by inspection. To modify the CLM BLOB please check with your module vendor and they should be able to help. Meddling with the NVRAM parameters does vary the board limits ultimately effecting the transmit power, but it is recommended that you don't do this and if you have to, please check with your module vendor first.