Modify programmatically WIFI MAC in CYW943907A processor

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

cross mob
MaFa_974161
Level 5
Level 5
100 sign-ins 50 replies posted 50 questions asked

Hello.

 

I want to modify programmatically WIFI MAC address in CYW943907A processor.

 

I try this solution ...

 

/* set new mac */

wiced_mac_t mac = { .octet = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF } };

wiced_result_t wiced_result = wiced_dct_write( (void*) &mac, DCT_WIFI_CONFIG_SECTION, OFFSETOF ( platform_dct_wifi_config_t, mac_address ), sizeof ( wiced_mac_t ) );

if ( wiced_result != WICED_SUCCESS )
{
WPRINT_APP_INFO( ("[##] wiced_dct_write(mac_address) failed, wiced_result = %d\n", (int)wiced_result) );
return wiced_result;
}

return WICED_SUCCESS;

 

"wiced_dct_write" execute correctly (it returns WICED_SUCCESS) but I observe no MAC change after CYW943907A reset

 

 

0 Likes
1 Solution
MaFa_974161
Level 5
Level 5
100 sign-ins 50 replies posted 50 questions asked

ok, if I set ... for example 0x00 0x11 0x22 0x33 0x44 0x55 it works

 

/* set new mac */

wiced_mac_t mac = { .octet = { 0x00,0x11,0x22,0x33,0x44,0x55 } };

wiced_result_t wiced_result = wiced_dct_write( (void*) &mac, DCT_WIFI_CONFIG_SECTION, OFFSETOF ( platform_dct_wifi_config_t, mac_address ), sizeof ( wiced_mac_t ) );

if ( wiced_result != WICED_SUCCESS )
{
WPRINT_APP_INFO( ("[##] wiced_dct_write(mac_address) failed, wiced_result = %d\n", (int)wiced_result) );
return wiced_result;
}

return WICED_SUCCESS;

View solution in original post

1 Reply
MaFa_974161
Level 5
Level 5
100 sign-ins 50 replies posted 50 questions asked

ok, if I set ... for example 0x00 0x11 0x22 0x33 0x44 0x55 it works

 

/* set new mac */

wiced_mac_t mac = { .octet = { 0x00,0x11,0x22,0x33,0x44,0x55 } };

wiced_result_t wiced_result = wiced_dct_write( (void*) &mac, DCT_WIFI_CONFIG_SECTION, OFFSETOF ( platform_dct_wifi_config_t, mac_address ), sizeof ( wiced_mac_t ) );

if ( wiced_result != WICED_SUCCESS )
{
WPRINT_APP_INFO( ("[##] wiced_dct_write(mac_address) failed, wiced_result = %d\n", (int)wiced_result) );
return wiced_result;
}

return WICED_SUCCESS;