Project

General

Profile

TargetsEvaluation » History » Version 25

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 25 Paul Kocialkowski
-> make one table for Android devices, another for the others, with relevant sections
36
37 24 Paul Kocialkowski
|_. Device |_. Manufacturer |_. CyanogenMod |_. Bootloader |_. Standardness |_. Blobs |_. Firmwares |_. Modem |_. Notes |
38
| *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 |
39
| *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 | 
40
| *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 | |
41
| *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 |
42 3 Denis 'GNUtoo' Carikli
43
h1. Geeksphone Zero
44
45
Has root: YES
46
Sim Unlocked: YES
47
In production: YES
48
49
The Geeksphone Zero allows custom Android and Linux images to be run instead of the deault ones.
50
Cyanogenmod (the android derivate Replicant is based on) provides support for the Geeksphone Zero.
51 4 Denis 'GNUtoo' Carikli
52
SoC is Qualcomm MSM7227 (easy to support on Android).
53 3 Denis 'GNUtoo' Carikli
54
h1. GizmoForYou FLOW G1.55
55
56
Has root: YES?
57
Sim Unlocked: YES?
58
In production: ?
59
60
Overo boards used in this phone are OMAP 3 with free xloader and u-boot (like in GTA04).
61
Modem uses AT and Android reference RIL (free) is used. Audio is ALSA.
62
63
Instructions to build Android 2.2 for it are provided: http://www.gizmoforyou.net/wiki/index.php/Building_G155_Android
64
The Android 2.2 source code is availble here: https://gitorious.org/flow-g1-5/
65
66
Non-free firmwares are needed for WiFi, bluetooth, etc on the Overo boards that include these.
67
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.
68
69
Documentation (datasheets) are also available for most hardware components.
70
71
Unfortunately that phone isn’t cheap.
72
73
h1. DIY Phones
74
75
Has root: ?
76
Sim Unlocked: ?
77
In production: ?
78
79
There is a small number of Do-it-yourself phones where the user is
80
expected to assemble his phone.
81
Examples of this include the odroid
82 5 Denis 'GNUtoo' Carikli
( http://www.hardkernel.com/ ) phones with comes with android support.
83
However the issue is that not all users wants or are able to assemble their own phones.
84
85
h1. Comparison of potential targets
86
87 11 Denis 'GNUtoo' Carikli
h2. Support easyness
88
89 22 Denis 'GNUtoo' Carikli
|Phone|Android target version|Gralloc|RIL|Audio|camera|sensors| GPS | 
90 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 | 
91 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)| 
92 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) |
93 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|
94
|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 | ?  |
95 15 Denis 'GNUtoo' Carikli
96 14 Denis 'GNUtoo' Carikli
h2. Hardware freedom
97
98 19 Denis 'GNUtoo' Carikli
|Phone|Bootloader| Firmwares |Modem transport|Modem peripherals|Modem Storage|
99 14 Denis 'GNUtoo' Carikli
|Geeksphone One| proprietary | Wifi, ? | shared memory | Mic, GPS | Shared NAND |
100 1 Brian Kemp
|Samsung Galaxy Nexus | Proprietary, partially signed | Wifi,? | High speed serial if OMAP4 SOC (shared memory for other versions) | ? | ? | 
101 19 Denis 'GNUtoo' Carikli
|Samsung Galaxy SII| proprietary | Wifi, ? | ? | ? | ? |
102 1 Brian Kemp
|Samsung Galaxy SIII | proprietary | Wifi, ? | ? | ?  | ? |
103
|Nokia N900 | proprietary, partially signed | wifi,camera,bluetooth,? | High speed serial | GPS | ? |