• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Excalibur - The Power Of 3G

niteNarmor

Android Expert
Jun 28, 2012
797
241
Jacksonville, NC
Tonite I bring you Excalibur - The Power Of 3G...

This is not a ROM.
This has been discussed thoroughly with help from an IT/networking friend.
This will work with both Sprint, Boost and Ting or any other phone manufacturer as long as you are rooted.


This has proven to have mixed results. For myself with two devices and poor signal - It has been proven better. With 3g speeds close to if not exceeding 1mb. Video stream no longer buffers. Constant, stable connections.

This has been tested by people in different environments with mixed results. Some work in a steel or concrete building with weak signal and have seen major increase in speed (from low 500kb to 1.3mb). While others have seen very slight increase (and I do mean slight. Like .01kb to .1kb increase).

I am not saying this will turn the world on its side. I AM SAYING THIS IS JUST ANOTHER 3G TWEAK. The results will speak for itself but if you have connection issues it would not hurt to try. This may or may not help everyone.

Now for the good stuff...

Code:
[COLOR=red]Disclaimer: Even though this will NOT prevent you from
starting your phone on fire, get your phone eaten by the
dog or you running your phone over with a car - If you do
not follow the steps provided or if you modify the code,
this can and will cause undesired affects. [i][U]THE TESTERS
NOR MYSELF ARE IN NO WAY RESPONSIBLE FOR WHAT
YOU FLASH OR MODIFY TO YOUR PHONE[/U][/i][/COLOR]

Please follow the steps below:

  1. Make a backup.
  2. Make a backup..
  3. Make a backup...
  4. Did I forget to mention - MAKE A BACKUP...
  5. Download ----> [SIZE=+2]Excalibur [/SIZE]<---- and place on the root of your sdcard
    Skip next step if you have the apk already.
  6. Download Speedtest.net from the Google Play Market.

    • Run Speedtest with 3G
    • Run Speedtest with just Wifi.
    Megatron users ---> you do not have this file. Verified and confirmed by
    dmcjr22 and myself. You can skip #7.​
  7. Go into your root file explorer of choice. If you have sysctl.conf in /system/etc then please rename the file to ---> sysctl.conf.bak...
  8. Reboot into CWM.
  9. Flash Excalibur.zip by being in the CWM menu scroll (pressing volume down button) to "install zip from sdcard".
  10. Press power.
  11. New menu comes forward - Select choose zip from sdcard (1st option) and press power.
  12. Scroll down and find Excalibur.zip and press power button.
  13. Let if finish.
  14. Reboot.
  15. Run Speedtest with 3g only.
  16. Run Speedtest with Wifi only.
Below is the the explanation of what the file is and what each function represents IN EXTREME DETAIL.


Code:
[FONT=Comic Sans MS]What is sysctl.conf?

[LIST]
[*][FONT=comic sans ms]Change the kernel parameters. Most of the values are
entered in the file /etc/sysctl.conf such as IP
forwarding, system security and virtual memory
configuration.[/FONT]
[/LIST]
VM or virtual memory:

[LIST]
[*][FONT=comic sans ms]Memory, often as simulated on a hard disk, that
emulates RAM, allowing an application to operate as
though the device has more memory than it actually
does.[/FONT]
[/LIST]
overcommit_memory:

[LIST]
[*][FONT=comic sans ms]This value contains a flag that 
enables memory overcommitment.[/FONT]
[/LIST]
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]When this flag is 0, the kernel attempts to estimate
the amount of free memory left when userspace
requests more memory.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=comic sans ms]When this flag is 1, the kernel pretends there is
always enough memory until it actually runs out.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=comic sans ms]When this flag is 2, the kernel uses a "never
overcommit" policy that attempts to prevent any
overcommit of memory.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=comic sans ms]This feature can be very useful because there are a
lot of programs that malloc() huge amounts of
memory "just-in-case" and don't use much of it.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=comic sans ms]The default value is 0.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]panic_on_oom:

[LIST]
[*][FONT=comic sans ms]This enables or disables panic on out-of-memory
feature.[/FONT]
[/LIST]
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If this is set to 0, the kernel will kill some rogue 
process, called oom_killer.  Usually, oom_killer can
kill rogue processes and system will survive.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If this is set to 1, the kernel panics when 
out-of-memory happens. However, if a process
limits using nodes by mempolicy/cpusets, and those
nodes become memory exhaustion status, one
process may be killed by oom-killer. No panic occurs
in this case. Because other nodes' memory may be
free. This means system total status may be not
fatal yet.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If this is set to 2, the kernel panics compulsorily even
on the above-mentioned. Even oom happens under
memory cgroup, the whole system panics.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]The default value is 0.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]oom_kill_allocating_task:

[LIST]
[*][FONT=comic sans ms]This enables or disables killing the OOM-triggering task
in out-of-memory situations.[/FONT]
[/LIST]
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If this is set to zero, the OOM killer will scan through
the entire tasklist and select a task based on
heuristics to kill. This normally selects a rogue
memory-hogging task that frees up a large amount of
memory when killed.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If this is set to non-zero, the OOM killer simply kills
the task that triggered the out-of-memory condition.
This avoids the expensive tasklist scan.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]dirty_background_ratio:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Contains, as a percentage of total system memory,
the number of pages at which the pdflush
background writeback daemon will start writing out 
dirty data.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If panic_on_oom is selected, it takes precedence
over whatever value is used in
oom_kill_allocating_task.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]The default value is 0.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]dirty_background_bytes:

[LIST]
[*][FONT=comic sans ms]Contains the amount of dirty memory at which the pdflush background 
writeback daemon will start writeback.[/FONT]
[/LIST]
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Note: dirty_background_bytes is the counterpart of dirty_background_ratio. 
Only one of them may be specified at a time. When one sysctl is written it 
is immediately taken into account to evaluate the dirty memory limits and 
the other appears as 0 when read.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_ecn:

[LIST]
[*][FONT=comic sans ms]Enable Explicit Congestion Notification (ECN) in TCP. ECN is only used when 
both ends of the TCP flow support it. It is useful to avoid losses due to 
congestion (when the bottleneck router supports ECN).[/FONT]
[/LIST]
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS] Possible values are:[INDENT][INDENT]0 disable ECN
1 ECN enabled
2 Only server-side ECN enabled. If the other end does not support ECN, 
behavior is like with ECN disabled.[/INDENT][/INDENT][/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]The default value is 2.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]
route.flush
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Flushes all routes, and is only temporary – ie, one must run this command 
every time the cache is to be emptied.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_rfc1337:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If set, the TCP stack behaves conforming to RFC1337. If unset, we are not 
conforming to RFC, but prevent TCP TIME_WAIT assassination.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]The default value is 0.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]ip_no_pmtu_disc:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Disable Path MTU Discovery.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_sack:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Enable select acknowledgments (SACKS).[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_fack:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Enable FACK congestion avoidance and fast retransmission. The value is not 
used, if tcp_sack is not enabled.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_window_scaling:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Enable window scaling as defined in RFC1323.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_timestamps:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Enable timestamps as defined in RFC1323.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_rmem:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Vector of 3 INTEGERs: min, default, max[INDENT]min: Minimal size of receive buffer used by TCP sockets. It is 
guaranteed to each TCP socket, even under moderate memory pressure.

default: initial size of receive buffer used by TCP sockets. This value 
overrides net.core.rmem_default used by other protocols. This value 
results in window of 65535 with default setting of tcp_adv_win_scale and 
tcp_app_win:0 and a bit less for default tcp_app_win.

max: maximal size of receive buffer allowed for automatically selected 
receiver buffers for TCP socket. This value does not override net.core.rmem_max.[/INDENT]Calling setsockopt() with SO_RCVBUF disables automatic tuning of that socket's 
receive buffer size, in which case this value is ignored.[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_wmem - vector of 3 INTEGERs: min, default, max
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS][INDENT]min: Amount of memory reserved for send buffers for TCP sockets.
Each TCP socket has rights to use it due to fact of its birth.

default: initial size of send buffer used by TCP sockets.  This
value overrides net.core.wmem_default used by other protocols.
It is usually lower than net.core.wmem_default.

max: Maximal amount of memory allowed for automatically tuned
send buffers for TCP sockets. This value does not override
net.core.wmem_max.  Calling setsockopt() with SO_SNDBUF disables
automatic tuning of that socket's send buffer size, in which case
this value is ignored.[/INDENT][/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]
tcp_mem - vector of 3 INTEGERs: min, pressure, max
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS][INDENT]min: below this number of pages TCP is not bothered about its
memory appetite.

pressure: when amount of memory allocated by TCP exceeds this number
of pages, TCP moderates its memory consumption and enters memory
pressure mode, which is exited when memory consumption falls
under "min".

max: number of pages allowed for queueing by all TCP sockets.

Defaults are calculated at boot time from amount of available
memory.[/INDENT][/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_no_metrics_save:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]By default, TCP saves various connection metrics in the route cache when the 
connection closes, so that connections established in the near future can use 
these to set initial conditions.  Usually, this increases overall performance, 
but may sometimes cause performance degradation.  If set, TCP will not cache 
metrics on closing connections[/FONT][/FONT]
[/LIST]
[FONT=Comic Sans MS]tcp_moderate_rcvbuf:
[/FONT]
[LIST]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]If set, TCP performs receive buffer auto-tuning, attempting to automatically 
size the buffer (no greater than tcp_rmem[2]) to match the size required by 
the path for full throughput.[/FONT][/FONT]
[*][FONT=Comic Sans MS][FONT=Comic Sans MS]Enabled by default.[/FONT][/FONT]
[/LIST]
Thank you to dmcjr22 for testing this along side of me.
MARCUSANT for the program.
 
**** i forgot to make a back up XD i was like back up back up back up and when i got into cwm i flashed it right away XD im on megatron 6.1.1 but.....

before
3g ping 131ms down 882kbps up 662kbps
wifi ping 42ms down 2488kbps up 874kbps

after
3g ping 183ms down 344kbps up 306kbps
wifi ping 42ms 1494kbs up 797kbps
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones