BCM43438: Bad wifi throughput

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

cross mob
AxLi_1746341
Level 7
Level 7
10 comments on KBA 5 comments on KBA First comment on KBA

Hi,

I'm testing BCM43438 wifi throughput using a modified version of snip.https_client.

I modify the code to use http instead https.

int test_count = 10;

while (test_count--) {

    wiced_time_get_time(&t1);

    result = wiced_http_get( &ip_address, SIMPLE_GET_REQUEST, buffer, BUFFER_LENGTH);

    wiced_time_get_time(&t2);

    printf("http_get time=%d\n", t2 - t1);

}

I got below result while running on BCM43438 with NetX build:

[17:35:06:997] http_get time=901␍␊

[17:35:07:721] http_get time=710␍␊

[17:35:08:665] http_get time=893␍␊

[17:35:09:414] http_get time=726␍␊

[17:35:10:401] http_get time=947␍␊

[17:35:11:437] http_get time=988␍␊

[17:35:12:457] http_get time=954␍␊

[17:35:13:156] http_get time=679␍␊

[17:35:14:141] http_get time=942␍␊

[17:35:15:127] http_get time=944

Average: 868.4

Compare to my another BCM4390 device with NetX build:

[17:48:46:360] http_get time=653␍␊

[17:48:47:079] http_get time=694␍␊

[17:48:47:769] http_get time=652␍␊

[17:48:48:485] http_get time=672␍␊

[17:48:49:197] http_get time=656␍␊

[17:48:49:915] http_get time=697␍␊

[17:48:50:637] http_get time=655␍␊

[17:48:51:645] http_get time=962␍␊

[17:48:52:379] http_get time=698␍␊

[17:48:53:071] http_get time=664

Average: 700.3

Similar result with LwIP build.

I also tried testing other http server and got similar result.

Obviously, the BCM43438 has bad throughput.

My observation shows BCM43438 takes longer time to receive the response from server.

I'm not sure if it's BCM43438 hardware limitation or a problem in the wlan firmware.

Can this get improve?

Can someone help?

0 Likes
1 Reply
AxLi_1746341
Level 7
Level 7
10 comments on KBA 5 comments on KBA First comment on KBA

I did iperf test:

BCM43438:

[14:56:32:660] > iperf -c 192.168.0.103 -i 1 -t 10␍␊

[14:56:36:342] ------------------------------------------------------------␍␊

[14:56:36:351] Client connecting to 192.168.0.103, TCP port 5001␍␊

[14:56:36:363] TCP window size: 10.1 KByte (default)␍␊

[14:56:36:363] ------------------------------------------------------------␍␊

[14:56:37:364] [ ID] Interval       Transfer     Bandwidth␍␊

[14:56:37:371] [  0]  0.0- 1.0 sec   320 KBytes  2.62 Mbits/sec␍␊

[14:56:38:363] [  0]  1.0- 2.0 sec   688 KBytes  5.64 Mbits/sec␍␊

[14:56:39:365] [  0]  2.0- 3.0 sec   564 KBytes  4.62 Mbits/sec␍␊

[14:56:40:367] [  0]  3.0- 4.0 sec   694 KBytes  5.69 Mbits/sec␍␊

[14:56:41:363] [  0]  4.0- 5.0 sec   700 KBytes  5.73 Mbits/sec␍␊

[14:56:42:369] [  0]  5.0- 6.0 sec   712 KBytes  5.83 Mbits/sec␍␊

[14:56:43:372] [  0]  6.0- 7.0 sec   640 KBytes  5.24 Mbits/sec␍␊

[14:56:44:375] [  0]  7.0- 8.0 sec   658 KBytes  5.39 Mbits/sec␍␊

[14:56:45:363] [  0]  8.0- 9.0 sec   688 KBytes  5.64 Mbits/sec␍␊

[14:56:46:373] [  0]  9.0-10.0 sec   712 KBytes  5.83 Mbits/sec␍␊

[14:56:46:380] [  0]  0.0-10.0 sec  6.23 MBytes  5.22 Mbits/sec␍

BCM4390:

[15:04:30:100] > iperf -c 192.168.0.103 -i 1␍␊

[15:04:31:237] ------------------------------------------------------------␍␊

[15:04:31:243] Client connecting to 192.168.0.103, TCP port 5001␍␊

[15:04:31:265] TCP window size: 10.1 KByte (default)␍␊

[15:04:31:265] ------------------------------------------------------------␍␊

[15:04:32:267] [ ID] Interval       Transfer     Bandwidth␍␊

[15:04:32:272] [  0]  0.0- 1.0 sec   964 KBytes  7.90 Mbits/sec␍␊

[15:04:33:274] [  0]  1.0- 2.0 sec  1.07 MBytes  8.99 Mbits/sec␍␊

[15:04:34:283] [  0]  2.0- 3.0 sec  1.06 MBytes  8.88 Mbits/sec␍␊

[15:04:35:287] [  0]  3.0- 4.0 sec   870 KBytes  7.13 Mbits/sec␍␊

[15:04:36:293] [  0]  4.0- 5.0 sec   648 KBytes  5.31 Mbits/sec␍␊

[15:04:37:296] [  0]  5.0- 6.0 sec   664 KBytes  5.44 Mbits/sec␍␊

[15:04:38:305] [  0]  6.0- 7.0 sec  1.04 MBytes  8.77 Mbits/sec␍␊

[15:04:39:310] [  0]  7.0- 8.0 sec   672 KBytes  5.51 Mbits/sec␍␊

[15:04:40:312] [  0]  8.0- 9.0 sec   990 KBytes  8.11 Mbits/sec␍␊

[15:04:41:323] [  0]  9.0-10.0 sec  1.06 MBytes  8.90 Mbits/sec␍␊

[15:04:41:328] [  0]  0.0-10.0 sec  8.93 MBytes  7.49 Mbits/sec␍␊

BCM43438 v.s. BCM4390: 5.22 Mbits/sec v.s. 7.49 Mbits/sec

The difference is  about 30%.

Comments?

0 Likes