[OnePlus 5 Guides, News, & Discussion] darkdragon88:
Hi all,

Before I get started I will say that I just so happened to test this method out and it worked for my problem specifically so it may not be the all WiFi fixing source you are looking for. Second, I'm no developer or programmer, I simply found an old thread, tested, and wanted to share. Let's get started.

Symptoms:

My home internet is 150/150 Mbps download and upload speed. The 5 GHz network always had the full 150 download but upload would be around 5 or 6 (rarely 150) regardless if I forced the 5 GHz connection only. At work on 2.4 GHz I would have much poorer WiFi signal strength than my old OnePlus One. At home my 2.4 GHz connection was very much a hit or miss -I believe this is similar to what many others have felt and the recommended fix is to force the 2.4 GHz connection. An interesting tidbit is when I used my VPN (PIA) the upload speed jumped up to nearly full speed, which made me think this is not a hardware related issue.

Potential fix:

I dug up an old OnePlus 2 article on XDA located here (and specifically page 2): https://xdaforums.com/oneplus-2/general/fix-wifi-mm-based-roms-t3344190/page2

I took the WCNSS.zip, unzipped the WCNSS_qcom_cfg.ini file and replaced the file in system\etc\wifi. Please make a backup of your original but you should also note you can easily re-install it. Also note that this requires root. After doing that I rebooted my phone and my connection speeds at home have been great. It's the weekend so I haven't tested signal strength at work but I know I can adjust the Txpower value slightly and hope it doesn't overheat.

If it matters I am also using the ElementalX kernel with the Westwood TCP congestion algorithm. I also changed the gChannelBondingMode24GHz=1 which is actually not included in Oxygen OS 4.5.5. FWIW I tried to add that line in to the original file and there was no change.

TL;DR Root required. Download OP2 WCNSS.zip from here: https://xdaforums.com/oneplus-2/general/fix-wifi-mm-based-roms-t3344190/page2

Replace the WCNSS_qcom_cfg.ini file located in system\etc\wifi. Reboot.

My last words for this post is that I don't know what effect or effects this may have but I wanted to do something about this issue on my own. Not sure if this helps anyone or not but it helped me so I thought I would share.

EDIT:

I found that changing the two values located near the bottom of the WCNSS_qcom_cfg.ini file for the OP5's original data got me the same results:

TSOEnable=1 to 0 -this is the TCP Offload which seems to change large amounts of network data into smaller bits. This doesn't work for my network apparently so disabling it helped my speed.

gChannelBondingMode24GHz=1 -add this in for wideband support (ie your 2.4GHz network on 40Hz)

gEnableWoW=3 -this is "commented" out with #, so remove that and set this value to 3. This has worked for some for stability and speed.

gEnableIpTcpUdpChecksumOffload=1 *I had this value at 0 but there is no effect for me changing it to 0 so leave it at 1 (default).

Edit 2 (Aug 12): I see that Qualcomm provides the WiFi so I took the WiFi folder from an HTC U11. I still found my upload to be slow so I changed TSOEnable=0 again and so far things have been good -I changed no other values. The wpa_supplicant_overlay.conf and wpa_supplicant.conf are slightly different than the stock OnePlus 5 files so I would recommend replacing the entire folder's contents to test.

https://drive.google.com/open?id=0By0BkGnCgaRUWWo2Q283STJhQ0k I uploaded it here.

OxygenOS 4.5.10 - WiFi fix seems to be fixed! There was an IPv6 issue with Snapdragon 835 (or so I was told by OnePlus).