Android Smartphone Experiment

From FGWiki
Jump to: navigation, search

Purpose

Cyanogenmod (a community-maintined Android distribution) can extend the life of an Android-based phone that's no longer supported by a service provider by permitting a recent version of Android to run. I propose we try an experiment with Cyanogenmod: take an informal survey of phone stock to see whether it would be useful to try; load Cyanogenmod onto a couple of phones to start the documentation process; and then return to an upcoming monthly meeting with a concrete proposal for how/whether to use Cyanogenmod at FG.

This page will contain some initial documentation of the Android / Cyanogenmod smartphone experiment first described during the Monthly Meeting - 2014-07-08.

(Note: Cyanogenmod is just one of a family of community-maintained Android distributions. It may turn out that others could be useful too.)

Goals

  • Determine whether community-maintained Android distributions are viable for smartphones donated to Free Geek.
  • Determine some criteria for which smartphone models to include.
  • Experiment with Android distributions on specific phones to attempt to gauge the variety of processes and time requirements required.
  • Deliver some sample phones to the store and/or a monthly meeting to gauge viability of the end result.
  • Begin projections to judge future impact of this toolset on Free Geek (e.g. will phones become more common? More standardized? Will this apply to tablets and can we expect to start receiving those? etc.)

Resources

Guinea Pig Phones

HTC Hero 130

Details

Result

  • Used Cyanogenmod 7.2.0-hero (Android 2.3.7)
  • Not sure if this is a typical case, as the most challenging part of the installation (recovery tool install) was not needed
  • Appears to be usable, if somewhat slow.
  • Need to determine whether we want to consider phones that use Gingerbread, as that version will lose supported status next.

Motorola Defy

Details

  • Enter recover mode by powering on with "Volume Down" button held. Release "Power On" once display is on; release "Volume Down" once rescue icon appears in middle of screen.
  • Factory reset available using these instructions: https://motorola-global-en-uk.custhelp.com/app/answers/detail/a_id/55500
  • Root the phone (see CM install instructions)
    • Create a temporary MotoBlur account (e.g. using mailinator.com)
    • Put FramaRoot on MicroSD card
    • Install FramaRoot
  • Install Clockwork recovery (see CM instructions)
    • (I had to update Motorola's Android first per the note in the CM instructions; use the "check for updates" tool in the phone. Reinstalling FramaRoot above may be required after doing this.)
    • (This process strayed from the instructions. FramaRoot did not get the su binary working; instead, I had to build a custom script for FramaRoot to run that followed subsequent instructions. Fortunately this worked.)
  • Flash with CyanogenMod
    • Insert a MicroSD card with the CyanogenMod package on it
    • Boot into ClockworkMod
    • Flash with the update.

Results

  • Time-consuming and challenging. The instructions didn't work for my phone and this led to 2 hours of wild goose chase. However, the phone works in the end.
  • Functional enough; similar to the HTC Hero.

Samsung Galaxy S

Details

  • Installation steps documented at http://wiki.cyanogenmod.org/w/Install_CM_for_galaxysmtd
  • Installation broadly requires two steps: 1) Bootloader update, then 2) Cyanogenmod installation
  • Installation required command-line tools (Android Developer Kit) in order to complete
  • Version used: Cyanogen 10.2.0-galaxysmtd (Android 4.3.1)

Results

  • Installation was challenging; will require some advanced knowledge
  • Time-consuming; this was my first experiment with Cyanogenmod
  • Was able to succesfully recover a bricked phone (filesystem damaged prior to Cyanogenmod installation)
  • Resulting phone is usable as a daily driver, but occasionally struggles with normal tasks due to relatively slow CPU.
  • Web browsing, email, camera, music player generally good; maps slow but usable; Facebook sometimes unreliable

Conclusions

  • Need to develop simple heuristics to help receiving volunteers to separate potential phones from the rest of the pack.
    • Suggestions: big touch screen; camera has 5MP or more advertised on back
    • Model name/number may not be easy to determine (probably easiest to get it from settings area by powering on the phone when possible)
  • Need to develop a decision-making process for deciding which phones are worth the time
  • Need to decide whether to install Google applications, which are not included with CM (includes the "Play" app store, maps, etc.)
  • Skill requirement is an issue.
    • This will likely be too challenging to delegate to volunteers who don't have experience with advanced troubleshooting (e.g. writing scripts and mining through obscure forums)
    • However, if we are able to interest some volunteers, they will likely quickly develop a troubleshooting skillset that will apply to an array of phones, as the basic tools are the same (e.g. adb and ClockworkMod).
    • Store value of a 4-year-old phone may not justify the time investment from expert volunteers.
  • Tools required:
    • A MicroSD card and reader/writer/adapter. Cheap, but these are flight risks.
    • A SIM card to test calling would be nice; we can probably make do with volunteers using their own initially, but that's tough to expect people to do for long term.