Search Linux Wireless

Limit rate of BCM34348 on Raspberry PI-3 via brcmfmac

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have observed erratic behavior with http connectivity over the WiFi interface of the Raspberry PI 3. This appears to be consistent with issues that a number of other people have reported. I fear, but can not provide definitive evidence, that these failures could be an RF design/layout issue with the RP-3 itself.

The purpose of this post is to see if this possible issue can be confirmed by others, and to seek a possible work around by re configuring the BCM43438 chip via the brcmfmac driver; or the other associated wifi modules.
 
How the issue is being seen:

Note: The testing I have done is limited and has the potential to be misleading, so any input on improving the test process would be appreciated.

There are two metrics we are using to define/see failure: (1) Loss/delay in ICMP Echo requests/replys (pings),  and (2) The output of messages in journalctl from the wpa_supplicant or hostapd (sudo journalctl -u wpa_supplicant -u hostapd -f) indicating a disconnect event with associated reason - typically 0 - (wlan0: CTRL-EVENT-DISCONNECTED bssid=60:02:92:cd:c9:30 reason=0).
Ping times vary from 1 to several hundred ms, to outright loss.
There are also failures to reassociate (wlan0: CTRL-EVENT-ASSOC-REJECT status_code=16).

The test Environment is composed of:
An official  Raspberry PI-3 model B with an official Raspberry PI-3 power supply.
Raspbian release: Jesse (March 18)
Kernel 4.4.6
wpa_supplicant 2.3
brcmfmac 7.45.41.23 (as reported by ethool)
BCM43438 firmware: 01-cc44eda9c
BlueZ 5.23

We are running both wpa_supplicant and hostapd, (disabling hostapd does not impact the results of the tests).
We have an application that is monitoring for BTLE/Bluetooth connections so it is scanning on a regular basis, as well as sending out Bluetooth INQUIRE messages.

WiFi Access Points:
1. Cisco DPC3939B (supports n)
2. Cisco Linksys E1200 (supports n)
3. Netgear WNDR3400 (supports n)
4. Linksys WAP54G v3 (does not support n)

 

Test Process

 
While the application is running (thus generating Bluetooth activity)
1. Connect a PC to the RPi3's software access point and ping the RPi3 continuously.
2. Connect the RPi3 to an AP from the set above.
3. Let the system run for 10 minutes while counting wpa_supplicant disconnects and lost pings.

Observations:
In our testing we noticed that either we essentially got no errors, or we got 12+ errors. Some error rates high enough that we couldn't count them as they just scrolled off our screen. Hence we considered thing to work (less then 2 errors) or failed (greater than 10 errors).

The results table for the different APs is as follows:
DPC3939B - Failed
E1200 - Failed
WNDR3400 - Failed
WAP54G - Passed

Since only the WAP54G passed (no n support), we modified the data rate on the Netgear WND3400 and limited its data rate to 54 mbs, at this point the WNDR3400 passed.

We then tried changing channels. this did not impact the metrics we were monitoring.

Now being suspicious of RF issues on the board, we modified our application which performs the Bluetooth communications so that Bluetooth was disabled. This did not eliminate errors but dramatically reduced them. We then modified our application to generate a lot of Bluetooth inquiry messages and discovered that the generation and resulting response from INQUIRY messages correlated with journalctl disconnection messages. 

We repeated this on the AP WAP54G and the rate limited WNDR3400 and did not see problems.

Our initial conjecture is that there is some coexistence/RF issue with the RPI-3 board when using Bluetooth and WiFi that is impacting when operating with a IEEE 802.11 N AP.

Notes and steps taken:
Background reading led us to try the following fixes that have worked for others:
1. Disable power management
2. Set the Country Code to US
These fixes did not help.
 
I have two questions:
1. Are there some obvious things I can do to identify/validate the initial conjecture as to the cause of the error?
2. Is there a way to force the RPI-3 when operating as a client of another AP to rate limit or function as a "G" device?  If the RPI-3 or the BCM43438 do indeed have RF issues it would seem like some work around will be needed. I could not identify a way to limit the data rate in brcmfmac.

 

Barry Reinhold
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux