Serval Project, Xxxxx 2016
These notes accompany the release in Xxxxx 2016 of version 0.94 of the Serval Mesh app for Android 2.2 “Froyo” and above.
Serval Mesh is an app for Android 2.2 “Froyo” and above. It provides free, secure phone-to-phone voice calling, SMS and file sharing over Wi-Fi or [Bluetooth][], without the need for a SIM card or a commercial mobile telephone carrier. In other words, it lets your Android phone call other Android phones running Serval Mesh within Wi-Fi range.
The Serval Mesh Privacy Policy describes how Serval Mesh handles your personal and other sensitive information.
Serval Mesh is EXPERIMENTAL SOFTWARE. It has not yet reached version 1.0, and is intended for pre-production, demonstration purposes only. It may not work as advertised, it may lose or alter messages and files that it carries, it may consume a lot of space, speed and battery, and it may crash unexpectedly.
On the Serval Mesh "Connect" screen, connecting to "Ad Hoc Mesh" will request root permission (super-user) on your Android device in order to put Wi-Fi into Ad-Hoc mode. If you grant super-user permission to Serval Mesh, it will attempt to reinstall the Wi-Fi driver software on your device, which could result in YOUR DEVICE BECOMING PERMANENTLY DISABLED ("BRICKED").
On the Serval Mesh "Connect" screen, selecting "Portable Wi-Fi Hotspot" will put your device's Wi-Fi into Access Point mode. If you have a mobile data plan, this will give nearby devices access to your mobile data plan, and COULD COST YOU MONEY.
The Serval Mesh "Connect" screen allows you to connect to other Serval Mesh devices that act as Access Points (Hotspots) or Ad Hoc peers. If you do so, this will cut off normal Wi-Fi network access while Serval Mesh is running, and services like Google Updates, E-mail, social media and other notifications may not work.
Serval Mesh telephony is a “best effort” service, primarily intended for when conventional telephony is not possible or cost effective, and MUST NOT BE RELIED UPON for emergencies in place of carrier-grade communications systems. The Serval Project cannot be held responsible for any performance or non-performance of the technologies that they provide in good will, and if you use these technologies you must agree to indemnify the Serval Project from any such claims.
The Serval Mesh software copies all files shared using the Rhizome file distribution service to other phones and devices running the Serval Mesh software, regardless of size, content or intended recipient. The Serval Project cannot be held responsible for the legality or propriety of any files received via Rhizome, nor for any loss, damage or offence caused by the transmission or receipt of any content via Rhizome.
See the disclaimers below.
TBC
This release of Serval Mesh has been tested on a variety of Android devices, and is expected to run on almost any Android phone. It does NOT require root.
Prior releases of Serval Mesh are known to work on the following devices, which is included for historical purposes, as many of the following devices support ad-hoc Wi-Fi mode for those for whom that is interesting:
-
Huawei IDEOS X1 u8180, running Android 2.2.2 (rooted) and CyanogenMod 2.3.7
-
HTC Sensation, running Android 2.3.4 (rooted) and HTC Sense 3.0
-
HTC One S
-
Motorola Milestone
-
Huawei IDEOS u8150
-
Samsung Galaxy Tab 7 inch
-
Samsung Galaxy Gio S5660, running Android 2.3.6 (rooted)
-
Samsung Vitality SCH-R720
-
ZTE Score X500
-
HTC/Google G1 (“Dream”)
Previous releases of Serval Mesh were known to work on the following devices with minor problems:
-
Samsung Galaxy S2 GT-I9100, running Android 2.3 (rooted): Ad-Hoc Wi-Fi is not completely compatible with the Ad-Hoc Wi-Fi on other devices, specifically the Huawei IDEOS phones listed above. If the Galaxy S2 is the first device to join the mesh, then IDEOS phones cannot join. However, if an IDEOS phone is the first device, then the Galaxy S2 does join okay.
-
Google Nexus 1: does not interoperate well with HTC/Google G1.
The following devices have major known problems when attempting to use ad-hoc Wi-Fi in this or prior releases:
-
HTC Wildfire A3335
-
Samsung Galaxy Nexus: Wi-Fi Ad-Hoc mode does not start; Wi-Fi mode reverts to Off.
-
Motorola Razr i XT890: Wi-Fi control does not work.
-
Samsung Galaxy Note 2: does not detect peers. Possibly the same problem as the Galaxy S2 described above, but not tested.
See the Mobile Device Compatability Table for more details and devices.
-
While Serval Mesh services are enabled and you are connected to a Wi-Fi network with active peers, Android may be prevented from sleeping. This may drain the battery quickly -- see batphone issue #91.
-
Voice call quality degrades whenever Rhizome or MeshMS operations or transfers are in progress. Rhizome can worsen network congestion, transfers are not throttled and can lead to additional network latency and packet loss due to a problem known as Bufferbloat. -- see serval-dna issue #1.
-
Voice call quality is variable. We try to enable echo cancellation, if supported by the handset. However some echo may have to be controlled by lowering speaker volume or using earphones. Audio latency (delay) can exceed one second in some situations -- see batphone issue #93.
-
Voice call audio has been observed to be missing on a Nexus 4 running 4.2.1, and upgrading to a 4.2.2 custom ROM restored audio -- see batphone issue #77 and batphone issue #96.
-
VoMP does not play a "ringing" sound while placing a call, nor a "hangup" sound when the other party hangs up, nor any other indicator of networking failures -- see batphone issue #76.
-
Every new MeshMS message increases the size of the Rhizome payload that contains all the messages in that conversation ply. So every MeshMS conversation will consume more network bandwidth and SD Card space as it grows -- see serval-dna issue #28. This cannot be worked around.
-
If a user starts a Serval Hotspot on the "Connect" screen, then the application overwrites the user's own personal hotspot name (and settings) with "ap.servalproject.org". When the Serval Hotspot is turned off, Serval Mesh restores the user's own personal hotspot settings, which involves turning the user's Wi-Fi hotspot on and off briefly. This could cause some concern or confusion, but is the only way that Android provides to restore hotspot settings.
There are more known bugs and issues listed under the GitHub Issues page for batphone issues and serval-dna issues.
Serval Mesh is free software produced by the Serval Project and many contributors. The copyright in all source code is owned by Serval Project Inc., an organisation incorporated in the state of South Australia in the Commonwealth of Australia.
The Java/XML source code of Serval Mesh is licensed to the public under the GNU General Public License version 3. The serval-dna component of Serval Mesh is licensed to the public under the GNU General Public License version 2.
All technical documentation is licensed to the public under the Creative Commons Attribution 4.0 International license.
All source code and technical documentation is freely available from the Serval Project's batphone and serval-dna Git repositories on GitHub.
This release would not have been possible without the support of United States Agency for International Development and Radio Free Asia.
Earlier development of Serval Mesh has been funded by the New America Foundation's Open Technology Institute, the Shuttleworth Foundation, Nlnet Foundation, OpenITP, and our "True Believers":
- Douglas P. Chamberlin
- Walter Ebert
- Andrew G. Morgan, California, USA
- Fred Fisher
The Serval Project was founded by Dr Paul Gardner-Stephen and Romana Challans, both academic staff at the School of Computer Science, Engineering and Mathematics at Flinders University in South Australia. Their work on the Serval Project is made possible by the ongoing support of the university.
SERVAL MESH refers to the software, protocols, systems and other goods, tangible and intangible produced by The Serval Project, Serval Project, Inc., and Serval Project Pty Limited.
SERVAL MESH COMES WITH NO WARRANTY, EXPRESSED OR IMPLIED, AND IS NOT FIT FOR MERCHANTABILITY FOR ANY PURPOSE. USE AT YOUR SOLE RISK.
SERVAL MESH WILL REDUCE THE BATTERY LIFE OF DEVICES ON WHICH IT RUNS.
SERVAL MESH MAY CONSUME ALL STORAGE, both LOCAL and EXTERNAL (eg, MICRO SD CARD) ON THE DEVICES ON WHICH IT RUNS.
SERVAL MESH SHOULD NOT BE INSTALLED ON DEVICES WHICH ARE DEPENDED UPON FOR EMERGENCY COMMUNICATION.
SERVAL MESH MAY TRANSMIT SOME DATA IN THE CLEAR.
SERVAL MESH PROTECTIONS against IMPERSONATION or OTHER MISAPPROPRIATION of IDENTITY ESTABLISHING FACTORS MAY BE DEFECTIVE and MAY NOT PERFORM AS EXPECTED.
SERVAL MESH SHOULD NOT BE RELIED UPON IN AN EMERGENCY is it is an INCOMPLETE PROTOTYPE and BEST EFFORT in nature, and may FAIL TO OPERATE.
SERVAL MESH may COST YOU MONEY if you have a MOBILE DATA PLAN by TURNING OFF WI-FI NETWORK ACCESS or by allowing NEARBY DEVICES TO USE YOUR DATA PLAN WITHOUT YOUR KNOWLEDGE OR CONSENT.
SERVAL MESH may REVEAL AND/OR BROADCAST YOUR LOCATION, IDENTITY OR OTHER INFORMATION through its normal operation.
SERVAL MESH is an INCOMPLETE, PRE-PRODUCTION software, experimental in nature and is not to be considered fit for merchantability for any purpose. It has many defects, omissions and errors that will hamper its fulfilling of its intended purposes.
Copyright 2016 Serval Project Inc.
This document is available under the Creative Commons Attribution 4.0
International licence.