Project

General

Profile

TargetsEvaluation » History » Version 42

Denis 'GNUtoo' Carikli, 11/16/2012 05:34 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 26 Paul Kocialkowski
h2. Devices status
34 3 Denis 'GNUtoo' Carikli
35 26 Paul Kocialkowski
h3. Android devices
36 1 Brian Kemp
37 31 Denis 'GNUtoo' Carikli
|_. Device |_. Manufacturer |_. CyanogenMod port |_. Flash method |_. SoC |_. Graphics |_. Sound |_. Modem |_. WiFi/Bluetooth |_. Camera |_. GPS |_. Sensors |
38
| *One* | *GeeksPhone* | Yes | Recovery | MSM7K | Should be fast | Should work | Non-standard, bad design for freedom | WiFi is the same as GTA04 | MSM undocumented mechanism | Probably NMEA from modem, bad design for freedom | ? |
39
| *Zero* | *GeeksPhone* | Yes | Fastboot | MSM7227 | Should be fast | May need firmwares | ? | Needs firmwares | MSM undocumented mechanism | Probably NMEA from modem, bad design for freedom | ? |
40 3 Denis 'GNUtoo' Carikli
41 26 Paul Kocialkowski
h3. Other devices
42 3 Denis 'GNUtoo' Carikli
43 26 Paul Kocialkowski
|_. Device |_. Manufacturer |_. Android port |_. Bootloader |_. SoC |_. Standardness |_. Blobs |_. Firmwares |_. Modem |_. Notes |
44
| *Neo Freerunner* | *Openmoko* | "AoF":http://code.google.com/p/android-on-freerunner/ | u-boot, flash with dfu-utils | Samsung S3C2442, CPU @400Mhz | Audio: ALSA, GPS: NMEA, Modem: AT | No | No | Total isolation | Hardware is too old to be support by Replicant, armv4t |
45
| *N900* | *Nokia* | Nitdroid | chainloaded u-boot, flash with 0xff | OMAP3430, CPU @600Mhz | 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 | 
46
| *iPhone* | *Apple* | "iDroid":http://www.idroidproject.org | iDroid bootloader seems free | iPhone 3G: Similar to Samsung S5PC110 | iPhone 3G: Audio: ALSA, Modem: AT, WiFi: libertas | Probably needs some | Probably needs some | Known to never sleep | |
47
| *FLOW G1.55* | *GizmoForYou* | "Stock":https://gitorious.org/flow-g1-5/ | xloader + u-boot | OMAP3 | Audio: ALSA, Modem: AT | ? | WiFi/Bluetooth | Needs to be check, could be OK | Instructions to build Android 2.2 for it are provided: http://www.gizmoforyou.net/wiki/index.php/Building_G155_Android Unfortunately that phone isn’t cheap. |
48 3 Denis 'GNUtoo' Carikli
49 27 Paul Kocialkowski
There is a small number of Do-it-yourself phones where the user is expected to assemble his phone. Examples of this include the "odroid":http://www.hardkernel.com/ phones with comes with android support.
50 5 Denis 'GNUtoo' Carikli
However the issue is that not all users wants or are able to assemble their own phones.
51
52
h1. Comparison of potential targets
53
54 11 Denis 'GNUtoo' Carikli
h2. Support easyness
55
56 37 Denis 'GNUtoo' Carikli
|Phone|Soc|Android target version|Gralloc|RIL|Audio|camera|sensors| GPS | proprietary files to replace | Who has one? |
57 38 Denis 'GNUtoo' Carikli
|Geeksphone one | Qualcomm MSM7K | 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 | ? | paulk |
58 1 Brian Kemp
|Nokia N900 | TI OMAP3  | ? (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 | ?  | ? |GNUtoo |
59 42 Denis 'GNUtoo' Carikli
|"Samsung Galaxy SIII":https://en.wikipedia.org/wiki/Galaxy_SIII |  "Samsung Exynos4 Quad":https://en.wikipedia.org/wiki/Exynos | 4.x | ? | Easy thanks to samsung-ril+libsamsung-ipc | free software audio libraries available in cyanogenmod | ? | ? | unknown| "here":https://raw.github.com/CyanogenMod/android_device_samsung_i9300/jellybean/proprietary-files.sh  |Nobody |
60 41 Denis 'GNUtoo' Carikli
| "Galaxy Tab 2 7":https://en.wikipedia.org/wiki/Galaxy_Tab_2_%287.0%29 | OMAP4430 | 4.x | 600x1024 : smaller resolution than galaxy nexus => doable | Easy thanks to samsung-ril+libsamsung-ipc | ? | tiler, hard but same than galaxy Nexus | ? | ? | "here":https://raw.github.com/CyanogenMod/android_device_samsung_p3100/jellybean/proprietary-common-files.txt and "here":https://raw.github.com/CyanogenMod/android_device_samsung_p3100/jellybean/proprietary-p3100-files.txt | GNUtoo can get one cheap |
61 15 Denis 'GNUtoo' Carikli
62 14 Denis 'GNUtoo' Carikli
h2. Hardware freedom
63
64 19 Denis 'GNUtoo' Carikli
|Phone|Bootloader| Firmwares |Modem transport|Modem peripherals|Modem Storage|
65 14 Denis 'GNUtoo' Carikli
|Geeksphone One| proprietary | Wifi, ? | shared memory | Mic, GPS | Shared NAND |
66 1 Brian Kemp
|Samsung Galaxy Nexus | Proprietary, partially signed | Wifi,? | High speed serial if OMAP4 SOC (shared memory for other versions) | ? | ? | 
67 19 Denis 'GNUtoo' Carikli
|Samsung Galaxy SII| proprietary | Wifi, ? | ? | ? | ? |
68 1 Brian Kemp
|Samsung Galaxy SIII | proprietary | Wifi, ? | ? | ?  | ? |
69
|Nokia N900 | proprietary, partially signed | wifi,camera,bluetooth,? | High speed serial | GPS | ? |
70 29 Denis 'GNUtoo' Carikli
71
h2. TODO:
72
73
Evaluate
74
* Nexus 10
75
* Nexus 7
76
* Galaxy Tab 2 7"