Is there a process that will make a BCM43362 device( SDK2.3) NOT default to a 802.11N fomat when connecting to a WAP... but rather at 802.11B or G format? Range and connectivity, are more important than data speed.

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

cross mob
Anonymous
Not applicable

We are trying to develop a IoT device  using the BCM 43362 device.

Is there a process that will make a BCM43362 device( SDK2.3) NOT default to a 802.11N fomat when connecting to a WAP... but rather at 802.11B or G format? 

Range and connectivity, are more important than data speed.

Thank you

dave w

0 Likes
5 Replies
JacobT_81
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

A call to the below function should disable 802.11n:

wiced_wifi_disable_11n_support( WICED_AP_INTERFACE, WICED_TRUE );

Jacob

jakewtorres wrote:

A call to the below function should disable 802.11n:

wiced_wifi_disable_11n_support( WICED_AP_INTERFACE, WICED_TRUE );

wiced_wifi_disable_11n_support() does not exist in SDK-2.3.

0 Likes

I know nothing about SDK-2.3, but here are the implementation in SDK-3.5.2

#define IOVAR_STR_NMODE                  "nmode"

typedef enum

{

    WICED_11N_SUPPORT_DISABLED = 0,

    WICED_11N_SUPPORT_ENABLED  = 1,

} wiced_11n_support_t;

static inline wiced_result_t wiced_wifi_disable_11n_support( wiced_interface_t interface, wiced_bool_t disable )

{

    return (wiced_result_t) wwd_wifi_set_11n_support( (wwd_interface_t)interface, (disable==WICED_FALSE)?WICED_11N_SUPPORT_ENABLED : WICED_11N_SUPPORT_DISABLED );

}

wwd_result_t wwd_wifi_set_11n_support( wwd_interface_t interface, wiced_11n_support_t value )

{

    wiced_buffer_t buffer;

    uint32_t*      data;

    /* Assert when WLAN is UP */

    wiced_assert("WLAN is UP. Ensure WLAN is DOWN before invoking this API", wwd_wlan_status.state == WLAN_DOWN );

    /* Configure PHY for N-Mode */

    data = wwd_sdpcm_get_iovar_buffer( &buffer, sizeof(uint32_t), IOVAR_STR_NMODE );

    CHECK_IOCTL_BUFFER( data );

    *data = value;

    CHECK_RETURN( wwd_sdpcm_send_iovar( SDPCM_SET, buffer, NULL, interface ) );

    return WWD_SUCCESS;

}

Try look for something similar in SDK-2.3...... Good luck.

0 Likes

rfdave01​:
Do you have any evidence, perhaps with other products, for your concern about range and connectivity?

According to IEEE 802.11 - Wikipedia, the free encyclopedia, 802.11n does have better range.

@Cypress team:

Is 802.11b/g expected to outperform 11n with range and connectivity?

To be specific, rfdave01's case BCM43362 or my case BCM94343W?

I guess the API that disables 11n is designed for power consumption reasons.

0 Likes
Anonymous
Not applicable

Usually lower the rate, the better the range. But you typically don't need to bother with that, because the device will automatically adjust the rate based on the range.

This is handled by rate control. A simplistic view is:

802.11 requires the receiver to ack the packet. If the transmitter doesn't receive an ACK, it will retry and even after a few retries it doesn't receive an ACK, it will drop the rate.