CYW54907 unable to enable Access Point

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

cross mob
kach_1524451
Level 3
Level 3
25 replies posted 10 replies posted 5 replies posted

Hi,

I am using CYW954907AEVAL1F development board. I was trying to enable Access Point in channel 34 with 40 MHz bandwidth. I am using WICED 6.4

The error i am getting is as below.

Set chanspec IOVAR failed result=2020

Error: wwd_wifi_start_ap failed

May i know what is the issue here? I also want to disable DFS for channel 52 @ 20 MHz bandwidth. We are doing a conducted test inside RF shield box. so, we are not interfering with other RF devices.

Can you provide us, information about above two queries?

Regards.

0 Likes
1 Solution

I think CH 34 is in the description list, but it is disabled in our regulatory release ,  we do it according regulatory rules.     for DFS setting, we have regulatory document released publicly .

https://www.cypress.com/documentation/application-notes/an225347-cypress-wi-fi-clm-regulatory-manual

you can have a reference .

View solution in original post

32 Replies
Zhengbao_Zhang
Moderator
Moderator
Moderator
250 sign-ins First comment on KBA 10 questions asked

hello:

which country code are you using now?

0 Likes

Hi,

I used US as country code. I also checked with other a few country code. The result is same.

Regards

0 Likes

Did you have a try with our test demo?

The directory is : 43xxx_Wi-Fi\apps\test\mfg_test

so we can set different commands with UART interface on PC environment.

0 Likes

Hi,

I added iPerf test program and added the command for AP.

Regards

0 Likes

or  you can add the command call in this function:

static wwd_result_t internal_ap_init( wiced_ssid_t* ssid, wiced_security_t auth_type, const uint8_t* security_key, uint8_t key_length, uint8_t channel )

you can find a good position in this method , there have many defines before AP is created.

Hi,

no matter which project we use, the scenario, i mentioned you is having same behavior.

can you please check in your side with WICED 6.4, for the channel and bandwidth i mentioned, country code set to US.

Regards

0 Likes

Hi,

do you have any update on these issues?

regards

0 Likes
lock attach
Attachments are accessible only for community members.

hello:

   use the attached patch for a test,  You need to copy the difference to your version since I didn't do it in exact 6.4 version.

0 Likes

Hi,

I have a look into the difference of channel setting and found the following difference

in WICED 6.4

    if ( (result = wwd_wifi_set_chanspec( WWD_AP_INTERFACE, channel, &wwd_wifi_sleep_flag )) != WWD_SUCCESS )

    {

        WPRINT_APP_INFO (( " Set chanspec IOVAR failed result=%d\n", result ));

        return result;

    }

where in patch

data = (uint32_t*) wwd_sdpcm_get_ioctl_buffer( &buffer, (uint16_t) 4 );

    CHECK_IOCTL_BUFFER_WITH_SEMAPHORE( data, &wwd_wifi_sleep_flag );

    *data = channel;

    CHECK_RETURN_WITH_SEMAPHORE( wwd_sdpcm_send_ioctl( SDPCM_SET, WLC_SET_CHANNEL, buffer, 0, WWD_AP_INTERFACE ), &wwd_wifi_sleep_flag );

So, may i know how shall i apply the patch? I just change the above portion of code and the behavior is still same.

Looking for your help on this.

Regards.

0 Likes

we should have more difference than you pointed out.  I think the most important is here:

please apply the patch and record in detail.

bandwidth = wifi_utils_get_bandwidth();\

// you can set a accurate value like 40, 80 here to track if the band width is set rightly.

WPRINT_APP_INFO (( " Bandwidth : %d\n", bandwidth ));
if ( bandwidth == 40 )
{
    chanspec = (wl_chanspec_t) htod16((channel | WL_CHANSPEC_BW_40 | WL_CHANSPEC_CTL_SB_NONE));
}
else if ( bandwidth == 80 )
{
    chanspec = (wl_chanspec_t) htod16((channel | WL_CHANSPEC_BW_80 | WL_CHANSPEC_CTL_SB_NONE));
}
else
{
    chanspec = (wl_chanspec_t) htod16((channel | WL_CHANSPEC_BW_20 | WL_CHANSPEC_CTL_SB_NONE));
}
chanspec |= wwd_channel_to_wl_band( channel );
0 Likes

sorry, I made a mistake,  the before folder should be after , the after should be before.

You can have a check also .

0 Likes

Hi,

After integration, i did testing with 3 different AP settings as below. Here i start AP with SSID called tester with wpa2 and 1234abcd as passkey.

Test -1

start_ap "tester" wpa2 "1234abcd" 40 20 192.168.1.2 255.255.255.0

In this case channel i selected 40 with 20 MHz bandwidth

I can see RF output after i received the last response. no issue in this case. Below is the log info

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Bandwidth : 20

calling chanspec IOVAR with chanspec=d028 channel=40

IPv4 network IP: 192.168.1.2

IPv6 network IP: FE80:0000:0000:0000:8C45:00FF:FED6:3B58

Test - 2

start_ap "tester" wpa2 "1234abcd" 34 40 192.168.1.2 255.255.255.0

In this case channel i selected 34 with 40 MHz bandwidth

I can't see RF output. got error. Below is the log info. I need to perform processor reset after i get the log below. as processor does not respond with serial command.

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Bandwidth : 40

calling chanspec IOVAR with chanspec=d822 channel=34

=== EXCEPTION ===

Debug event (e.g. breakpoint)

DFSR : 0x00000000

DFAR : 0x00000000

IFSR : 0x00000002

IFAR : 0x004C8B7E

CPSR : 0x000001D7

R0   : 0x000007E4

R1   : 0x00000107

R2   : 0x00545C8C

R3   : 0x000007E4

R4   : 0x00540298

R5   : 0x00545F48

R6   : 0x00000000

R7   : 0x00545D60

R8   : 0x00000000

R9   : 0x00000000

R10  : 0x00544808

R11  : 0x00000000

R12  : 0x00002008

LR   : 0x004C8B7E

=================

Test - 3

start_ap "tester" wpa2 "1234abcd" 52 20 192.168.1.2 255.255.255.0

In this case channel i selected 52 with 20 MHz bandwidth

I can see RF output after around 1 minutes of when i received the last response. Maybe because of DFS in this case. Below is the log info

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Bandwidth : 20

calling chanspec IOVAR with chanspec=d034 channel=52

IPv4 network IP: 192.168.1.2

IPv6 network IP: FE80:0000:0000:0000:8C45:00FF:FED6:3B58

Regards.

0 Likes

For HT40, please choose channel 38,46,54,62  mid: 102,110,118,126,134,142 or  high band: 151, 159

0 Likes

Hi,

As you mentioned i tested AP with channel 38,46,54,62  mid: 102,110,118,126,134,142 or  high band: 151, 159

38 = no issue, can able to see RF beacon after starting AP.

46 = no issue, can able to see RF beacon after starting AP.

54 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

62 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

102 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

110 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

118 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

126 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

134 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

142 = issue, can't get RF out after starting AP, takes 1 minute time to get RF beacon.

151 = no issue, can able to see RF beacon after starting AP.

159 = no issue, can able to see RF beacon after starting AP.

May i know why, you mentioned for HT40 only can use channel 38,46,54,62  mid: 102,110,118,126,134,142 or  high band: 151, 159

Because the channel map for 40 MHz bandwidth contain much more other channels, what happen with those channel?

The channels i mentioned issue above, DFS is enable (i think so), how can i disable DFS?

Regards

0 Likes

For channel you can try different country for a test,  5G channels should have more limitions like DFS you said .

Hi,

I am using country set as US

channel 34 is also under HT40 setting, but why i am getting error?

How can i disable DFS? we are doing conducted test under RF shielded environment.

Regards.

0 Likes

    I see the lowest channel is 36.  and RF tests should use MFG test app and commands list , not suggest you to do such test by changing normal firmware.

0 Likes

Hi,

If you look into channel spec list, channel 34 is a valid channel with HT40.

Can you send me the list of channel document this chipset support?

I am also looking for disabling DFS. can you provide me information for that.

Regards

0 Likes

I think CH 34 is in the description list, but it is disabled in our regulatory release ,  we do it according regulatory rules.     for DFS setting, we have regulatory document released publicly .

https://www.cypress.com/documentation/application-notes/an225347-cypress-wi-fi-clm-regulatory-manual

you can have a reference .

Hi,

so, there is no way we can bypass DFS?

Regards

0 Likes

hello:

   We have a detailed description in the document , not easily to tell you the steps.

so need your help to check the document in detail.

0 Likes

hi,

then let me go through the document you provided and get back to you in a day or so.

regards

0 Likes

hi,

i am not using non signaling or test mode. i am looking for DFS disabling method, from document what i found as per below.

wl dfs_preism 1  // To enable and disable the CAC (60sec). 0 = disable, 1 = enable

wl radar 1  // Enable radar detection

wl dfs_ism_monitor 0 // To enable and disable the channel from moving when radar signal is detected. 0 = enable, 1 = disable

Now all above command only can run using wl exe. but, when i set AP by signaling mode for example, if i create a simple application, where i call starting AP, how can i execute those command? can you guide me, where i can get those api? so i can call inside my code.

Regards

0 Likes

wwd_wifi_set_iovar_value( IOVAR_STR_*, 1, WWD_STA_INTERFACE);

you can have a try with this api..

change the IOVAR_STR* and its value  to the one you want . better to find a good position to change the value.

some commands need a  down and up sequence to make it work.

wwd_result_t wwd_wifi_set_down( void )

wwd_wifi_set_iovar_value( IOVAR_STR, 1, WWD_STA_INTERFACE);

wwd_result_t wwd_wifi_set_up( void )

0 Likes

Hi,

Thanks. I managed to make it work now.

I have one more question. This radio chip set support power range from -31 to +31 dBm. using tx power API i can't set anything below 0 dBm. May i know why? when i look into low level functions, i found internally the value what i set get multiplied by 4 and write to network processor.

Can you provide me some detail information on this?

Regards.

0 Likes

I only can get this command explanation from document:

Use this command to change the power in real time. Can also use the quarter step

command wl txpwr1 -o -q XX, where XX is any value between 0 to 100.

0 Likes

Hi,

What is the unit? I am looking for dBm unit.

Regards.

0 Likes

the unit is dbm .

0 Likes

hi,

so, it's support from 0 to 100 dBm?

regards

0 Likes

Can also use the quarter step

command wl txpwr1 -o -q XX, where XX is any value between 0 to 100

Multiply the number with 1/4 will be the actual dbm value.

0 Likes

hi,

sure, i will try this.

but can you tell me this 0 to 100 map to what power level in dBm?

they all looks like positive number. am i right? so, below 0 dBm, we can't set it.

Regards

0 Likes

Yes, I can't find the interface also.

0 Likes