Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,730,261 Members 51,953 Now Online
XDA Developers Android and Mobile Development Forum

FIX for Wifi-Roaming-bug

Tip us?
 
felixchris
Old
(Last edited by felixchris; 21st February 2013 at 08:22 PM.) Reason: CWM-file created
#1  
felixchris's Avatar
Member - OP
Thanks Meter 38
Posts: 71
Join Date: May 2012
Location: Esslingen
Wink FIX for Wifi-Roaming-bug

This thread is about the 3 types of known wifi-roaming bugs, how to differentiate these and fix at least one of them with a little hack.

Documentation of the bug avioded by this workaround on Google: Click Here

[B][SIZE="4"]BIG NEWS!! As mentioned by a spanish user above there are newer firmwares, that are correcting the wifi-roaming bug, that was fixed by this fix.

Confirmed by an german OTA-Update. So try upgrading your firmware to fix the bug.

But : Keep in mind that an OTA-Update, official from Samsung wont install on a modified system. This includes also our modified wpa-supplicant. So if you want to use a newer firmware you have to restore the old wpa-supplicant: wpa_supplicant.zip(From The newest Firmware in Germany[OTA-Eplus, JZO54K.I9300XXELL4)

General facts to know about buggy Wifi-Roaming on Android Devices:


Bugs types that are existing
1.The phone never tries to roam by, unless it completely loses signal. Then it connects to the strongest AP. This is the typical Galaxy S2 bug.

2.The phone never tries to roam, and on top of that tries to reconnect to the specific AP that it knows, even if it is right next to a better one while connecting. This has been observed on some Nexus devices, but is apparently fixed on the Galaxy Nexus running CM10.

3.The phone tries to roam as it can see a better AP, but drops the connection and reconnects to the stronger AP shortly after. That's the typical Galaxy S3 and Galaxy Nexus bug, which is fixed by the hack described in this thread.



Only Bug 3 in this list is fixed by this hack. It will not help for the other two bugs!

To determine which bug you are observing, try this:

- Pick two access points that are within range of each other, we will call them AP1 and AP2.

- Locate the phone close to AP1, turn on wifi, and connect to the network. You should get full signal strength.

- Start listening to a web radio stream using e.g. TuneIn Radio (available on Play Store), configure the buffer size to the minimum possible.

- Slowly walk towards AP2, watching the signal strength indicator.

- If you reach AP2 and the phone still shows a low signal strength (at most one bar) after 10-20 seconds:
You are observing a different bug which is not avoided by this workaround.

- Turn off wifi and turn it back on again.

- If the phone now connects to AP2 and shows a high signal strength, you are observing the Galaxy S2 bug --> Bug 1 in the list

- If the phone still connects to AP1 and shows a low signal strength, you are observing the Nexus bug --> Bug 2 in the list

- If the connection drops before getting close enough to AP2, the access points are too far away from each other. -->Retry with a different set of access points.

- If the signal strength seems to increase while getting closer to AP2, but then the wifi icon disappears briefly and comes back after a few seconds, and the web radio stream drops, you are observing the Galaxy S3 bug, and this workaround will help you. --> Bug 3 in the list

- If the signal strength increases while getting closer to AP2, the wifi icon doesn't disappear, and the web radio stream doesn't drop, everything is working normally --> no bug:
-You might have a device that just doesn't have a wifi bug. Apparently such devices indeed exist.
-You might have a Galaxy S3 or Galaxy Nexus, but you were lucky. Try walking back to AP1 and check if it drops the connection this time.
-You might have already applied the workaround above, or a different fix for the same bug. (However there doesn't seem to be one yet.)

__________________________________________________ __________________________________________________ __________________

Now as you know which bug your device has you maybe have noticed that your device has bug type 3, here is the hack to fix it:


IMPORTANT: IM NOT RESPONSIBLE FOR NOT WORKING DEVICES AFTER THIS PROCEDURE. INSTALL AT YOUR OWN RISK!! THIS MOD IS EXPERIMENTAL!!

THIS MOD ONLY IS CONFIRMED WORKING FOR THE SAMSUNG GALAXY i9300 AND THE SAMSUNG GALAXY NEXUS i9250




For the installation procedure i give here root rights are needed. It also is recommended to make a CWM-Backup before. If you are unsure about root rights or dont know how to use a Custom Recovery feel free to ask before you do anything.

Installation Instructions for the Standalone-file(no Custom-Recovery needed):

1. Download Standalone-file.zip and unzip


2. Search for your original "wpa_supplicant"-file in \system\bin.

You can use any Explorer that offers root-acess but be sure you set the permissions to rwx r-x r-x if you use another file explorer as i mentioned. It is needed for the file to have the permission to be executed

(f.e. Root Browser Lite)

3. Copy your original "wpa_supplicant"-file to any location you will remember in case anything goes wrong.

4. Delete the original "wpa_supplicant"-file from the folder

5. Paste the modified "wpa_supplicant"-file downloaded from here in \system\bin. Make sure the file still is named "wpa_supplicant"

6. Reboot your device


Installation Instructions for CWM Flashable-file(CWM-Recovery needed):

1. Download Flashable CWM-file.zip

2. Copy the downloaded file to your sdcard.

3. Search for your original "wpa_supplicant"-file in \system\bin.

You can use any Explorer that offers root-acess but be sure you set the permissions to rwx r-x r-x if you use another file explorer as i mentioned. It is needed for the file to have the permission to be executed

(f.e. Root Browser Lite)

4. Copy your original "wpa_supplicant"-file to any location you will remember in case anything goes wrong.

5. Reboot to recovery and flash the downloaded file.

6. Reboot your device.



Your device should now roam correctly from one AP to another.

Please leave your feedback here in the thread and hit the thanks-button if it fixed your problem. ENJOY

FOR ADDITIONAL INFO: Click Here
__________________________________________________ __________________________________________________ __________________

Special Thanks to:

- TheSeven, who created this hack
- querty12, who created the flashable CWM-file
- Gabeloooooo, who was the first to give me feedback about this
The Following 13 Users Say Thank You to felixchris For This Useful Post: [ Click to Expand ]
 
Gabeloooooo
Old
#2  
Senior Member
Thanks Meter 11
Posts: 103
Join Date: Jul 2012
I hope this leads to a fix. GS3 is garbage when there is more than 1 AP, makes VOIP useless.
 
felixchris
Old
#3  
felixchris's Avatar
Member - OP
Thanks Meter 38
Posts: 71
Join Date: May 2012
Location: Esslingen
Yeah thats the Main Problem with this.
Also Streaming apps, spotify and so on suffer from this issue

I will add the modified wpa_supplicant to replace with the old on soon
Rockin my beloved Nexus 4 - MultiROM [Cyanogenmod 11 / Android L Preview]
 
Gabeloooooo
Old
#4  
Senior Member
Thanks Meter 11
Posts: 103
Join Date: Jul 2012
Quote:
Originally Posted by felixchris View Post
Yeah thats the Main Problem with this.
Also Streaming apps, spotify and so on suffer from this issue

I will add the modified wpa_supplicant to replace with the old on soon
Technically speaking, will someone be able to make this fix available for stock sammy roms as well?
 
felixchris
Old
#5  
felixchris's Avatar
Member - OP
Thanks Meter 38
Posts: 71
Join Date: May 2012
Location: Esslingen
Quote:
Originally Posted by Gabeloooooo View Post
Technically speaking, will someone be able to make this fix available for stock sammy roms as well?
Actually this fix was tested on Stock Rom and Cyanogenmod It works on official Stock Roms as well Just have to be rooted
Rockin my beloved Nexus 4 - MultiROM [Cyanogenmod 11 / Android L Preview]
 
Gabeloooooo
Old
(Last edited by Gabeloooooo; 27th November 2012 at 07:52 PM.)
#6  
Senior Member
Thanks Meter 11
Posts: 103
Join Date: Jul 2012
Tried it, breaks wifi. Can't enable wifi anymore. (i9300 stock 4.1.1)

And oddly enough, restoring the old file back to system\bin doesnt fix it. Will do a couple of tests than will restore from nandroid.

Ok, the reason it didn't work is permissions. Copying using ES explorer did not give the execute permission. Now both files allow me to enable wifi. Will report back on AP roaming after using for a while.
 
felixchris
Old
#7  
felixchris's Avatar
Member - OP
Thanks Meter 38
Posts: 71
Join Date: May 2012
Location: Esslingen
Thanks for your feedback Gabeloooooo

Can you please, after finishing your tests, tell me which permissions you did to set ? as i can mentione it in the instructions
i only tested with root browser...
Rockin my beloved Nexus 4 - MultiROM [Cyanogenmod 11 / Android L Preview]
 
Gabeloooooo
Old
#8  
Senior Member
Thanks Meter 11
Posts: 103
Join Date: Jul 2012
Used this: rwx r-x r-x
The Following User Says Thank You to Gabeloooooo For This Useful Post: [ Click to Expand ]
 
felixchris
Old
#9  
felixchris's Avatar
Member - OP
Thanks Meter 38
Posts: 71
Join Date: May 2012
Location: Esslingen
thx will add it to the instructions
Rockin my beloved Nexus 4 - MultiROM [Cyanogenmod 11 / Android L Preview]
 
Gabeloooooo
Old
(Last edited by Gabeloooooo; 29th November 2012 at 06:03 PM.)
#10  
Senior Member
Thanks Meter 11
Posts: 103
Join Date: Jul 2012
Things seem MUCH better with this fix. It is no longer constantly disconnecting. MAJOR IMPROVEMENT!!

I haven't tested groove ip yet, too many bad experiences in the past, but will try it this week to see how it fares.

The Following User Says Thank You to Gabeloooooo For This Useful Post: [ Click to Expand ]
Tags
bugfix, fix, roaming, wifi, wireless ap
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes