Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,781,898 Members 50,512 Now Online
XDA Developers Android and Mobile Development Forum

[FIX] For wifi connection dropping too easily/often

Tip us?
 
croesus
Old
#111  
croesus's Avatar
Senior Member
Thanks Meter 38
Posts: 329
Join Date: Nov 2007
Location: Ankara
Is it compatible with ICS? I flashed this but my phone stuck at boot.
 
Marcoevich
Old
#112  
Senior Member
Thanks Meter 8
Posts: 121
Join Date: Jan 2012
Looks like a good fix to me. Does it still work? Is it compatible with Fallout v4.4.0? In that case I would be happy to flash this one
 
kylon
Old
#113  
kylon's Avatar
Senior Member
Thanks Meter 1,347
Posts: 2,375
Join Date: Dec 2010

 
DONATE TO ME
Not flashable in sense 3-3.5-4
My Gitorious

My works:

HTC WILDFIRE
kylon kernel
RemPuzzleRom
Mini Turbo Boost
CWM 6.x
Wifi tweak

HTC DESIRE S
AndromadusMod kernel
CyanogenMod builds - Antutu @2Ghz xD


My Phone:

Nexus 5 White 16G
Unlocked - CM11.0 Night
 
nazri5363
Old
#114  
Senior Member
Thanks Meter 60
Posts: 435
Join Date: Jul 2011
Location: Pulai
Quote:
Originally Posted by kylon View Post
Not flashable in sense 3-3.5-4
i can confirm this fix is flashable in sense 3.5 (i'am using endymion)...wifi still drops but only when putting phone on table...when hold in hand, signal get full bar....before this only 3-4 bar....
 
BigPickle80
Old
#115  
BigPickle80's Avatar
Senior Member
Thanks Meter 31
Posts: 235
Join Date: Sep 2011
Didn't work with 4.0.

Can it work with Jelly Time?
http://forum.xda-developers.com/show....php?t=1903496
 
kylon
Old
#116  
kylon's Avatar
Senior Member
Thanks Meter 1,347
Posts: 2,375
Join Date: Dec 2010

 
DONATE TO ME
No u have to edit the framework jar manually
My Gitorious

My works:

HTC WILDFIRE
kylon kernel
RemPuzzleRom
Mini Turbo Boost
CWM 6.x
Wifi tweak

HTC DESIRE S
AndromadusMod kernel
CyanogenMod builds - Antutu @2Ghz xD


My Phone:

Nexus 5 White 16G
Unlocked - CM11.0 Night
 
nikant
Old
(Last edited by nikant; 29th June 2013 at 12:25 PM.)
#117  
Senior Member
Thanks Meter 32
Posts: 190
Join Date: Jul 2009
Default [PATCH] framework.jar for altering WiFi RSSI values in ICS

/*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns before flashing it!
* YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/


A big thanks to gtg465x, kylon and others in the forum for explaining things in posts. It's their work mostly and not mine.

I'm writing this here just in case someone needs the info..

Since I had a problem with the reception of WiFi signal in a Desire S and I've been searching the forum for many days to find a solution to this that I got no responce I decided to search for the framework.jar file patch that has to be done with the /etc/calibration file change to the value of rssi_offset so that Desire S won't drop the connection so easily. Tried also to contact gtg465x but I guess he's busy.

This was done to ICE_DS 6.5 ROM

The patch goes as this:
(1. I am not a developer (used to code, not in android though)
2. I modified the values only by -10 dBm just for test you can change to -20 if you like
3. feel free to correct my wrongs)



gtg465x describes very nicely here what needs to be done http://forum.xda-developers.com/show...php?p=25174730 but this is for GB ROM
Read carefully to edit your /etc/calibration file. In that post it's changed to -20, in my test to -10

but ICE_DS 6.5 is a ICS ROM

and the code in WiFiManager.smali is as follows
(the sections that need to be edited)
Code:
.field private static final MAX_RSSI:I = -0x37 #changed to -0x41

.field private static final MIN_RSSI:I = -0x64 #changed to -0x6e
Code:
.method public static calculateSignalLevel(II)I
    .registers 9
    .parameter "rssi"
    .parameter "numLevels"

    .prologue
    const/4 v6, 0x5

    const/16 v5, -0x46 #changed to -0x50

    const/16 v4, -0x50 #changed to -0x5a

    .line 963
    const/4 v1, 0x0

    .line 964
    .local v1, level:I
    const/4 v3, 0x4

    if-eq p1, v3, :cond_b

    if-ne p1, v6, :cond_23

    .line 965
    :cond_b
    if-lt p0, v5, :cond_13

    .line 966
    const/4 v1, 0x3

    .line 974
    :goto_e
    if-ne p1, v6, :cond_12

    add-int/lit8 v1, v1, 0x1

    .line 986
    :cond_12
    :goto_12
    return v1

    .line 967
    :cond_13
    if-ge p0, v5, :cond_19

    if-lt p0, v4, :cond_19

    .line 968
    const/4 v1, 0x2

    goto :goto_e

    .line 969
    :cond_19
    if-ge p0, v4, :cond_21

    const/16 v3, -0x55 #changed to -0x5f

    if-lt p0, v3, :cond_21

    .line 970
    const/4 v1, 0x1

    goto :goto_e

    .line 972
    :cond_21
    const/4 v1, 0x0

    goto :goto_e

    .line 976
    :cond_23
    const/16 v3, -0x64 #changed to -0x6e

    if-gt p0, v3, :cond_29

    .line 977
    const/4 v1, 0x0

    goto :goto_12

    .line 978
    :cond_29
    const/16 v3, -0x37 #changed to -0x41

    if-lt p0, v3, :cond_30

    .line 979
    add-int/lit8 v1, p1, -0x1

    goto :goto_12

    .line 981
    :cond_30
    const/high16 v0, 0x4234

    .line 982
    .local v0, inputRange:F
    add-int/lit8 v3, p1, -0x1

    int-to-float v2, v3

    .line 983
    .local v2, outputRange:F
    add-int/lit8 v3, p0, 0x64

    int-to-float v3, v3

    mul-float/2addr v3, v2

    div-float/2addr v3, v0

    float-to-int v1, v3

    goto :goto_12
.end method

this translates to java as (the original values)
Code:
 public static int calculateSignalLevel(int paramInt1, int paramInt2)
  {
    if ((paramInt2 == 4) || (paramInt2 == 5))
    {
      int i;
      if (paramInt1 >= -70)
        i = 3;
      for (;;)
      {
        if (paramInt2 == 5)
          i++;
        return i;
        if ((paramInt1 < -70) && (paramInt1 >= -80))
          i = 2; else if ((paramInt1 < -80) && (paramInt1 >= -85))
          i = 1; else
          i = 0;
      }
    }
    if (paramInt1 <= -100)
      return 0;
    if (paramInt1 >= -55)
      return paramInt2 - 1;
    return (int)((paramInt2 - 1) * (paramInt1 + 100) / 45.0F);
  }

There is also another section in WiFiManager.smali called calculateSignalLevel(III)I
 
Code:
.method public static calculateSignalLevel(III)I
    .registers 7
    .parameter "rssi"
    .parameter "numLevels"
    .parameter "frequency"

    .prologue
    const/16 v3, -0x41

    const/16 v2, -0x46

    .line 2027
    const/16 v1, 0x1324

    if-le p2, v1, :cond_22

    .line 2028
    const/4 v0, 0x0

    .line 2029
    .local v0, level:I
    if-lt p0, v3, :cond_12

    .line 2030
    const/4 v0, 0x3

    .line 2038
    :goto_c
    const/4 v1, 0x5

    if-ne p1, v1, :cond_11

    add-int/lit8 v0, v0, 0x1

    .line 2041
    .end local v0           #level:I
    :cond_11
    :goto_11
    return v0

    .line 2031
    .restart local v0       #level:I
    :cond_12
    if-ge p0, v3, :cond_18

    if-lt p0, v2, :cond_18

    .line 2032
    const/4 v0, 0x2

    goto :goto_c

    .line 2033
    :cond_18
    if-ge p0, v2, :cond_20

    const/16 v1, -0x4b

    if-lt p0, v1, :cond_20

    .line 2034
    const/4 v0, 0x1

    goto :goto_c

    .line 2036
    :cond_20
    const/4 v0, 0x0

    goto :goto_c

    .line 2041
    .end local v0           #level:I
    :cond_22
    invoke-static {p0, p1}, Landroid/net/wifi/WifiManager;->calculateSignalLevel(II)I

    move-result v0

    goto :goto_11
.end method
which reads as:

Code:
  public static int calculateSignalLevel(int paramInt1, int paramInt2, int paramInt3)
  {
    if (paramInt3 > 4900)
    {
      int i;
      if (paramInt1 >= -65)
        i = 3;
      for (;;)
      {
        if (paramInt2 == 5)
          i++;
        return i;
        if ((paramInt1 < -65) && (paramInt1 >= -70))
          i = 2; else if ((paramInt1 < -70) && (paramInt1 >= -75))
          i = 1; else
          i = 0;
      }
    }
    return calculateSignalLevel(paramInt1, paramInt2);
  }


but I have the believe (which I may well be wrong) that has to do something about WiMax (if (paramInt3 > 4900)) so I didn't touch that.
click if my post helped you!

get some space
The Following 2 Users Say Thank You to nikant For This Useful Post: [ Click to Expand ]
 
rkumbhar
Old
#118  
Senior Member
Thanks Meter 14
Posts: 204
Join Date: Aug 2011
Location: Mumbai
for flashing this zip i need S-OFF or Not
 
niravnn
Old
#119  
niravnn's Avatar
Senior Member
Thanks Meter 231
Posts: 648
Join Date: Aug 2011
Location: Bardoli
Quote:
Originally Posted by rkumbhar View Post
for flashing this zip i need S-OFF or Not
you need s-off
 
broucker
Old
#120  
Senior Member
Thanks Meter 6
Posts: 131
Join Date: Nov 2010
Location: deva
Fellows! is there a wifi fix for 4.0.4 stock (the official dev android for this phone)? got to mention that i've rooted it.

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes