Hi,
We use WL1837MODGIMOC with a zynq board to host a P2P GO network to send/receive data from a mobile application.
The issue described below occurs with several Android tablets - I've reproduced it with Samsung T580, T813 and T713.
I also tried hosting a p2p go network on my Linux laptop and my raspberry pi, which these Android devices have no issues sending TCP packets to. This leads me to believe that the problem could be somewhere on our side or with the wifi module.
Contents of p2p.conf for wpa_supplicant:
ctrl_interface=/var/run/wpa_supplicant ap_scan=2 device_name=mydevice device_type=1-0050F204-1 p2p_go_intent=15 p2p_pref_chan=115:40 network={ ssid=... psk=... mode=3 disabled=2 proto=RSN pairwise=CCMP key_mgmt=WPA-PSK }
Start the network:
wpa_supplicant -B -i wlan0 -c p2p.conf wpa_cli p2p_group_add persistent=0 ifconfig p2p-wlan0-0 192.168.1.1 udhcpd -S dhcpserver.conf
Then, I'm connecting to this network with an Android tablet and testing throughput with iperf3. This is what the typical iperf3 output looks like from the Android side immediately after connecting to the p2p go network:
Linux localhost 3.10.84-13024869 #1 SMP PREEMPT Thu Jun 7 22:14:19 KST 2018 armv8l Time: Thu, 20 Sep 2018 17:02:13 GMT Connecting to host 192.168.1.1, port 5201 Cookie: localhost.1537462930.814506.68231ff9 TCP MSS: 1448 (default) [ 4] local 192.168.1.10 port 44159 connected to 192.168.1.1 port 5201 Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 0 second test [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.01 sec 341 KBytes 2.78 Mbits/sec [ 4] 1.01-2.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 2.01-3.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 3.01-4.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 4.00-5.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 5.01-6.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 6.01-7.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 8.00-9.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 9.01-10.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 10.00-11.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 11.01-12.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 12.01-13.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 13.00-14.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 14.01-15.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 15.00-16.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 16.00-17.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 17.01-18.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 18.01-19.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 19.01-20.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 20.00-21.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 21.00-22.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 22.01-23.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 23.00-24.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 24.01-25.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 25.01-26.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 26.00-27.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 27.01-28.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 28.01-29.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 29.00-30.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 30.01-31.00 sec 0.00 Bytes 0.00 bits/sec [ 4] 31.00-32.01 sec 0.00 Bytes 0.00 bits/sec [ 4] 32.01-33.00 sec 362 KBytes 2.98 Mbits/sec [ 4] 33.00-34.00 sec 2.62 MBytes 21.9 Mbits/sec [ 4] 34.00-35.00 sec 3.08 MBytes 25.8 Mbits/sec [ 4] 35.00-36.00 sec 2.42 MBytes 20.3 Mbits/sec [ 4] 36.00-37.00 sec 2.47 MBytes 20.7 Mbits/sec
Afterwards it's fine. If we stay connected to the network, I can restart iperf3 and see traffic right away. The issue happens just after switching networks. Note: It does not occur with UDP (using -u in iperf3).
I've done packet captures from both sides while running iperf3 and I frequently see things like this:
The capture below was taken on the board with WL1837MODGIMOC. Notice the huge time gap between packets 122 and 132 in this TCP conversation.
This next capture was taken on a rooted SM-T580 at the same time. Notice how it's trying to send the same packet a few times until it finally happens at the 18 second mark.
Another important observation: if I don't use p2p go, and communicate with the tablet through a wifi router, there are no such issues! However, the p2p go functionality if very important to us.
We are using R8.7_SP3 and the firmware version is 8.9.0.0.79. We have builds with kernel 4.4.0 and 4.14.0, both have the same issue.
Any assistance is be greatly appreciated!
Thank you,