TargetsEvaluation » History » Version 24
Paul Kocialkowski, 11/07/2012 04:45 PM
| 1 | 1 | Brian Kemp | h1. Good Potential Targets |
|---|---|---|---|
| 2 | |||
| 3 | 23 | Paul Kocialkowski | h2. Requirements |
| 4 | 1 | Brian Kemp | |
| 5 | 23 | Paul Kocialkowski | h3. Basic |
| 6 | 1 | Brian Kemp | |
| 7 | 23 | Paul Kocialkowski | List of the bare minimum requirements for a device to be ported to Replicant: |
| 8 | * The device must be supported by CyanogenMod officially (better) or via 3rd party repos |
||
| 9 | * There must be a way to flash images (via bootloader or recovery) using a free program |
||
| 10 | * The kernel must not be signed: the bootloader must not check the kernel signature |
||
| 11 | * The kernel sources must have been released |
||
| 12 | * The network type must be GSM, no CDMA phone can be supported for now |
||
| 13 | 1 | Brian Kemp | |
| 14 | 23 | Paul Kocialkowski | h3. Good target |
| 15 | 1 | Brian Kemp | |
| 16 | 23 | Paul Kocialkowski | What makes a good target for Replicant: |
| 17 | * Bootloader must be ready to flash images, or be very easy to unlock |
||
| 18 | * Free user-space implementation for most of the hardware already available |
||
| 19 | * Standard or well-known protocols used in the hardware (V4L2/ALSA/NMEA, etc) |
||
| 20 | * Firmwares needed only for WiFi/Bluetooth, and not sound, screen, touchscreen, camera, etc |
||
| 21 | * Freedom-compliant hardware design: Modem isolation (no shared mem, GPS, audio) |
||
| 22 | |||
| 23 | h3. Ideal target |
||
| 24 | |||
| 25 | An ideal target for Replicant would be: |
||
| 26 | * Free bootloaders that allow easy flashing for the user |
||
| 27 | * All the hardware using standard protocols, kernel-drivers and no user-space binary blobs |
||
| 28 | 1 | Brian Kemp | * Components that do not require loadable firmware |
| 29 | 23 | Paul Kocialkowski | * Ways to update the internal firmwares of the chips (for instance to allow a free software modem implementation) |
| 30 | * Total modem isolation (doesn't control audio, nor GPS, mem, NAND, etc) |
||
| 31 | 24 | Paul Kocialkowski | * SIM unlock |
| 32 | 3 | Denis 'GNUtoo' Carikli | |
| 33 | 23 | Paul Kocialkowski | h1. Devices status |
| 34 | 3 | Denis 'GNUtoo' Carikli | |
| 35 | 24 | Paul Kocialkowski | |_. Device |_. Manufacturer |_. CyanogenMod |_. Bootloader |_. Standardness |_. Blobs |_. Firmwares |_. Modem |_. Notes | |
| 36 | | *Neo Freerunner* | *Openmoko* | No, "AoF":http://code.google.com/p/android-on-freerunner/ | u-boot, flash with dfu-utils | Audio: ALSA, GPS: NMEA, Modem: AT | No | No | Total isolation | Hardware is too old to be support by Replicant, armv4t | |
||
| 37 | | *N900* | *Nokia* | No, Nitdroid | chainloaded u-boot, flash with 0xff | Voice calls depend on cmt_speech pulseaudio plugin, modem protocol is non-standard but implemented in ofono | Nitdroid uses blobs | Nitdroid uses firmwares | Issues | Nitdroid is hard to build and undocumented | |
||
| 38 | | *iPhone* | *Apple* | No, "iDroid":http://www.idroidproject.org | iDroid bootloader seems free | iPhone 3G: Audio: ALSA, Modem: AT, WiFi: libertas | Probably needs some | Probably needs some | Known to never sleep | | |
||
| 39 | | *One* | *GeeksPhone* | Yes | non-free, can't flash | Modem: non-standard, Camera: non-standard | Graphics, RIL, camera | MSM7x: modem has a lot of control | MSM SoC is easy to support on Android | |
||
| 40 | 3 | Denis 'GNUtoo' Carikli | |
| 41 | h1. Geeksphone Zero |
||
| 42 | |||
| 43 | Has root: YES |
||
| 44 | Sim Unlocked: YES |
||
| 45 | In production: YES |
||
| 46 | |||
| 47 | The Geeksphone Zero allows custom Android and Linux images to be run instead of the deault ones. |
||
| 48 | Cyanogenmod (the android derivate Replicant is based on) provides support for the Geeksphone Zero. |
||
| 49 | 4 | Denis 'GNUtoo' Carikli | |
| 50 | SoC is Qualcomm MSM7227 (easy to support on Android). |
||
| 51 | 3 | Denis 'GNUtoo' Carikli | |
| 52 | h1. GizmoForYou FLOW G1.55 |
||
| 53 | |||
| 54 | Has root: YES? |
||
| 55 | Sim Unlocked: YES? |
||
| 56 | In production: ? |
||
| 57 | |||
| 58 | Overo boards used in this phone are OMAP 3 with free xloader and u-boot (like in GTA04). |
||
| 59 | Modem uses AT and Android reference RIL (free) is used. Audio is ALSA. |
||
| 60 | |||
| 61 | Instructions to build Android 2.2 for it are provided: http://www.gizmoforyou.net/wiki/index.php/Building_G155_Android |
||
| 62 | The Android 2.2 source code is availble here: https://gitorious.org/flow-g1-5/ |
||
| 63 | |||
| 64 | Non-free firmwares are needed for WiFi, bluetooth, etc on the Overo boards that include these. |
||
| 65 | Also, a non-free gralloc lib is used (for graphical acceleration). The 0xdroid project should be able to provide a free gralloc for OMAP 3 boards as a working replacement. |
||
| 66 | |||
| 67 | Documentation (datasheets) are also available for most hardware components. |
||
| 68 | |||
| 69 | Unfortunately that phone isn’t cheap. |
||
| 70 | |||
| 71 | h1. DIY Phones |
||
| 72 | |||
| 73 | Has root: ? |
||
| 74 | Sim Unlocked: ? |
||
| 75 | In production: ? |
||
| 76 | |||
| 77 | There is a small number of Do-it-yourself phones where the user is |
||
| 78 | expected to assemble his phone. |
||
| 79 | Examples of this include the odroid |
||
| 80 | 5 | Denis 'GNUtoo' Carikli | ( http://www.hardkernel.com/ ) phones with comes with android support. |
| 81 | However the issue is that not all users wants or are able to assemble their own phones. |
||
| 82 | |||
| 83 | h1. Comparison of potential targets |
||
| 84 | |||
| 85 | 11 | Denis 'GNUtoo' Carikli | h2. Support easyness |
| 86 | |||
| 87 | 22 | Denis 'GNUtoo' Carikli | |Phone|Android target version|Gralloc|RIL|Audio|camera|sensors| GPS | |
| 88 | 21 | Denis 'GNUtoo' Carikli | |Geeksphone one | maybe 2.3? |Easy, probably supported by hardware/msm7k audioHardware libraries|AT possible(TODO:contact VquickSilver for details),but proprietary ril uses RPC binary protocol(TODO:contact morphis for details) | Easy, probably supported by hardware/msm7k audioHardware libraries|difficult since no one finished support for msm camera yet.|unknown| unknown yet | |
| 89 | 12 | Denis 'GNUtoo' Carikli | |Samsung Galaxy Nexus| 4.x, unsure if backporting to 2.3 is doable| recovery from replicant ics-preparation worked but not the gralloc(garbage on screen) | Easy thanks to samsung-ril+libsamsung-ipc | ALSA with free software module in cyanogenmod and AOSP | Seem to have a free camera library | ? | doable(SIRF)| |
| 90 | 18 | Denis 'GNUtoo' Carikli | |Samsung Galaxy SII| ? | ? | Easy thanks to samsung-ril+libsamsung-ipc | no free software module available, but is ALSA (seems doable) however the yamaha CODEC source code seem to be somehow offuscated according to some people| ? | ? | doable(SIRF) | |
| 91 | 14 | Denis 'GNUtoo' Carikli | |Samsung Galaxy SIII | 4.x, unsure if backporting to 2.3 is doable| ? | Easy thanks to samsung-ril+libsamsung-ipc | free software audio libraries available in cyanogenmod | ? | ? | unknown| |
| 92 | |Nokia N900 | ? (look at Forking Nitdroid) | ? | Documented in free software GNU/Linux compatible code | Documented in free software GNU/Linux compatible code | Standard interface | Should be easy | ? | |
||
| 93 | 15 | Denis 'GNUtoo' Carikli | |
| 94 | 14 | Denis 'GNUtoo' Carikli | h2. Hardware freedom |
| 95 | |||
| 96 | 19 | Denis 'GNUtoo' Carikli | |Phone|Bootloader| Firmwares |Modem transport|Modem peripherals|Modem Storage| |
| 97 | 14 | Denis 'GNUtoo' Carikli | |Geeksphone One| proprietary | Wifi, ? | shared memory | Mic, GPS | Shared NAND | |
| 98 | 1 | Brian Kemp | |Samsung Galaxy Nexus | Proprietary, partially signed | Wifi,? | High speed serial if OMAP4 SOC (shared memory for other versions) | ? | ? | |
| 99 | 19 | Denis 'GNUtoo' Carikli | |Samsung Galaxy SII| proprietary | Wifi, ? | ? | ? | ? | |
| 100 | 1 | Brian Kemp | |Samsung Galaxy SIII | proprietary | Wifi, ? | ? | ? | ? | |
| 101 | |Nokia N900 | proprietary, partially signed | wifi,camera,bluetooth,? | High speed serial | GPS | ? | |