CY43012 firmware appears to ignore various NVRAM setting when performing Wi-Fi scans (active probe)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ajf4
Level 1
Level 1
First reply posted First question asked First like given

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:

  1. Is the contents of the CLM blob overriding these settings?
    1. If so, how can we adjust the CLM blob?
0 Likes
1 Solution
Murali_R
Moderator
Moderator
Moderator
250 sign-ins 250 replies posted 100 solutions authored

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.

View solution in original post

0 Likes
6 Replies
DeRa_4514941
Level 2
Level 2
10 replies posted 5 replies posted 100 sign-ins

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.

Thanks for your reply.

Is there a way for me to parse/decode the "CLM blob power settings"?

0 Likes
DeRa_4514941
Level 2
Level 2
10 replies posted 5 replies posted 100 sign-ins

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...

0 Likes
Murali_R
Moderator
Moderator
Moderator
250 sign-ins 250 replies posted 100 solutions authored

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

ajf4
Level 1
Level 1
First reply posted First question asked First like given

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?

0 Likes
Murali_R
Moderator
Moderator
Moderator
250 sign-ins 250 replies posted 100 solutions authored

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.

0 Likes