On 9-5-2016 23:18, Arend Van Spriel wrote: > On 9-5-2016 18:59, Barry Reinhold wrote: >> Arend (and Hante), >> >> I appreciate the feedback on the core problem - that brings the issue into a >> lot sharper focus. Based on your response I assume we should be able to see >> successful coexistence with Bluetooth and 802.11 STA mode, as well as STA >> and AP (with Bluetooth turned off). However, BT with AP mode should fail, >> and BT with AP and STA will fail. >> >> I will rerun some of our crude tests to see if I can corroborate your >> understanding by testing the different "should coexist" and "should not >> coexist" cases. >> >> You have a very interesting lead in statement in your response (bottom of >> message) but the sentence just ends with "because of...". Would you be >> willing to complete that thought, I would like to further understand the >> nature of the problem. > > These kind of references are why inline replies are preferrable. Anyway > let me try and finish that sentence. An AP has to be able to sent a > beacon on fixed times and subsequent traffic. As BT is master in most if
something dropped off again. It should say: ... and _handle_ subsequent traffic. > not all bt-coex schemes that can easily screw up the beacon timing, > which by the way is a reason for clients to disconnect. > >> Is there a known reason why the brcmfmac does not support the >> set_bitrate_mask() callback (such as the associated family of chips do not >> support rate limiting) or is this something that nobody has cared about to >> do date, ie, is it something that could be done if there was interest and >> resources? > > No specific reason. > > Regards, > Arend > >> ________________________________________ >> From: Arend Van Spriel <arend.vanspr...@broadcom.com> >> Sent: Monday, May 9, 2016 8:23 >> To: Barry Reinhold; linux-wireless@vger.kernel.org >> Cc: Tom Harada; brcm80211-dev-list >> Subject: Re: Limit rate of BCM34348 on Raspberry PI-3 via brcmfmac >> >> On 7-5-2016 21:24, Barry Reinhold wrote: >>> 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. >> >> Hi Barry, >> >> What you are trying to do is simply not possible. Indeed the RF is such >> that Wifi and BT share the same antenna, which is the root-cause of the >> problems you see. When the antenna is used by BT the Wifi is >> unavailable. This is handled by bt-coex, but that is designed >> specifically for station mode. This is simply not possible when the Wifi >> is operating in AP mode, because of >> >> The reason why things get better/working when using g-rates is probably >> because INQUIRE scan takes 14 x 1.25ms = 17.5 ms (thanks for the >> calculation, Hante) and wifi frame retries at g-rate get past that. >> cfg80211_ops have .set_bitrate_mask() callback, but brcmfmac does not >> implement that. >> >> Regards, >> Arend >> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html