This is a Multipath TCP port for Android 4.1.2. Currently, it runs only on Nexus S.
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:
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
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
$ repo init https://github.com/mptcp-nexus/android.git
$ repo sync -j4
- Download and extract https://developers.google.com/android/nexus/images#sojujzo54k
- Install
fastboot
(cf., https://developers.google.com/android/nexus/images#instructions - you can use the binaries from the SDK) - Delete the last line beginning with 'fastboot' in
flash-all.sh
- Execute
flash-all.sh
Simply run:
$ source build/envsetup.sh
$ lunch full_crespo-userdebug
$ make -j4
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
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).
This work was partially supported by the German BMBF within the project [SKIMS] (http://skims.realmv6.org).
Please, send any suggestions, bugs, or questions to Raphael Wutzke