Enhances the AOSP with MPTCP support.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
default.xml

README.md

Android 4.1.2 with MPTCP

This is a Multipath TCP port for Android 4.1.2. Currently, it runs only on Nexus S.

Requirements

Initialize build environment

See http://source.android.com/source/initializing.html And follow the instructions at http://source.android.com/source/building-devices.html#obtaining-proprietary-binaries

The following may take a while. You can speed up the syncing and building using the -jn option, which will separate the task up into n threads. For building there are three different options:

1. The AOSP+MPTCP with Root Access (Google Apps are integrated automatically)

Run:

$ repo init -u https://github.com/mptcp-nexus/android.git -b root
$ repo sync -j4

After synchronising the repo you need to run from the root directory of the repository:

$ ./script/enhanceAOSP.sh -root
2. The AOSP+MPTCP with integrated Google Apps

Run:

$ repo init -u https://github.com/mptcp-nexus/android.git -b gapps
$ repo sync -j4

After synchronising the repo you need to run from the root directory of the repository:

$ ./script/enhanceAOSP.sh -gapps
3. Only the AOSP with MPTCP:
$ repo init https://github.com/mptcp-nexus/android.git
$ repo sync -j4

Update the bootloader (if Android 4.1 is not installed)

Building

Simply run:

$ source build/envsetup.sh
$ lunch full_crespo-userdebug
$ make -j4

Installation

Turn the Nexus S to fastboot mode (turn it of and then on again using Volume Up and Power), connect it and then run:

$ fastboot -w flashall

About the project

The main part of the MPTCP for Android is the kernel (prebuilt included, sources available at Multipath TCP kernel), which is a port from the Linux kernel implementation of [MPTCP] (https://github.com/multipath-tcp/mptcp).

To allow for full MPTCP expierence, the following extensions are included:

  • A modified Android Connection Manager, which enables 3G and WiFi in parallel (in android_framework_base).
  • A modified Network Daemon, which automatically configures routes for both interfaces (in android_system_netd).
  • A modified iproute2 package to enable the MPTCPControl app to support MPTCP specific commands (in android_external_iproute2).

Acknowledgments:

This work was partially supported by the German BMBF within the project [SKIMS] (http://skims.realmv6.org).

Contact:

Please, send any suggestions, bugs, or questions to Raphael Wutzke