I am working on a custom board using a iMX6 processor and a WL1837 radio module. I appear to be experiencing a problem related to Bluetooth coexistence which is severely impacting WLAN traffic in the Rx direction. The Wifi TX path of the WL1837 is fine during my tests. I integrated the WL1837 module into my system using the documentation found in the getting started guide.
http://processors.wiki.ti.com/index.php/WL18xx_First_Time_Getting_Started_Guide_%28IMX6%29
I have searched the forums for similar problems, but have not found a solution. Today I tested R8.6 SP1 (http://processors.wiki.ti.com/index.php/WiLink8_Release_Notes/R8.6_SP1) and the problem did not go away. Here are the details of my setup.
Software Setup
- Android 5.1.1 (BSP from NXP)
- WL1837 R8.6 SP1 driver
- MAC FW Rev 8.9.0.1.55
- PHY FW Rev 8.2.0.0.233
- Bluetooth Init Script FROM SP 3.9 (downloaded from www.ti.com/.../WL18XX-BT-SP)
Wireless Setup
- 802.11g (CH 6) excellent signal strength, -49 dBm
- WPA2-PSK AES
- Bluetooth Headset Connected (HFP BTSCO Audio via WL1837 PCM interface. WL1837 is PCM Master)
My main application is video conferencing. However, I’ve been able to show this problem by running iperf on my board in server mode and pairing a headset. Here are the reproduction steps and test details.
- Turn Bluetooth Off
- Connect the device to a to a 2.4 Ghz Wifi network.
- On the device run iperf in server mode (iperf -s)
- Start an iperf throughput from PC. Data packets may be TCP or UDP.
- In my environment I am seeing throughput of ~10 Mbits/sec.
- Enable Bluetooth (optionally Pair a headset)
- Throughput drops to about 5Mbits/sec.
- After ~30-90 seconds the throughput drops to 0
- Turn Bluetooth off, after about ~30 seconds the throughput is 10Mbits/sec again.
Additional Information
- The same issue is not observed if I connect the WL1837 to a 5 Ghz wifi network, so I am pretty sure this is a coexistence problem.
- The same issue is not observed if I run iperf as a client on my device and my PC as the server. So it appears that WiFi Rx is getting starved.
- Using the wlconf utility I tired to turn off the coexistence algorithm by changing the core.sg.state variable to 0. In this mode Wifi Rx does not cut out, Bluetooth SCO audio quality is severely impacted.
- The same problem happens with a WL1837MOD eval module and a SabreSD board.
I need help from TI to resolve this issue. For example, is there a special calibration process that must be done to tune the SG Coexistence parameters? Any advice and suggestions are welcome.
Scott