Skip to content

Latest commit

 

History

History
82 lines (72 loc) · 2.29 KB

README.md

File metadata and controls

82 lines (72 loc) · 2.29 KB

Android_TCP_variants

Evaluation of TCP Variants on Android Platform

Android TCP congestion control commands:

check current congestion control algorithm:

$cat /proc/sys/net/ipv4/tcp_congestion_control

check available congestion control algorithms:

$cat /proc/sys/net/ipv4/tcp_available_congestion_control

ANDROID SETUP:

Device: Nexus 7 (Wi-Fi) - 2013 model 32GB storage

By default, only TCP Cubic and TCP Reno are available on Nexus 7. We need to enable and compile other TCP variants in kernel sources.

Building Android Kernel:

Environment Setup:

$export PATH=<path-to-prebuilt-gcc>/arm-eabi-4.6/bin:$PATH
$export ARCH=arm
$export SUBARCH=arm
$export CROSS_COMPILE=arm-eabi-

MAKE Commands:

$make flo_defconfig
$make

We need to create boot.img for flashing on the Android device after building the kernel.

$./mkbootimg --base 0 --pagesize 2048 --kernel_offset 0x80208000 --ramdisk_offset 0x82200000 --second_offset 0x81100000 --tags_offset 0x80200100 --cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=flo user_debug=31 msm_rtb.filter=0x3F ehci-hcd.park=3 vmalloc=340M' --kernel kernel --ramdisk ramdisk.cpio.gz -o boot.img

Install adb and fastboot:

Nexus 7 Factory images:

Download latest factory images of Nexus 7 from below

ROOT Guide (Nexus 7):

We use CF Auto Root for Rooting the device CF Auto Root: Download and extract below package

$adb devices
$adb reboot bootloader
$root-windows.bat
<<device gets rooted in around 5 minutes>>

Enter ROOT mode:

$adb devices
$adb shell
$su
#

RESET Android Device:

$adb devices
$adb reboot bootloader
$fastboot oem unlock
$fastboot -w
$fastboot oem lock
$fastboot reboot