Project

General

Profile

TargetsEvaluation » History » Version 82

Brian Kemp, 03/17/2013 08:10 PM
Motorola Defy: Bootloader locked

1 81 Paul Kocialkowski
h1. Targets Evaluation
2 1 Brian Kemp
3 81 Paul Kocialkowski
h2. Evaluation criteria
4 1 Brian Kemp
5 81 Paul Kocialkowski
h3. Minimal requirements
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 75 Paul Kocialkowski
h3. Known to be bad targets
34
35
Here is a list of the bad targets for Replicant and reasons why:
36 79 Paul Kocialkowski
* *MSM/QSD* devices are known to have bad hardware design where the modem controls GPS, audio (including mic), RAM, NAND.
37
However, some MSM/QSD SoCs don't ship with a modem embedded, so they may be good targets.
38
* *Nvidia Tegra 2* devices are known to be too slow with Replicant, since there is no NEON nor any free hwcomposer/gralloc.
39
Perhaps newer Tegra SoCs (which include NEON) would be faster on Replicant.
40 82 Brian Kemp
* Motorola phones manufactured after the Milestone (inclusive). These have non-free locked bootloaders that check kernel signatures.
41 75 Paul Kocialkowski
42 81 Paul Kocialkowski
h2. Devices evaluation
43 68 Denis 'GNUtoo' Carikli
44 76 Paul Kocialkowski
h3. Android devices
45
46 72 Denis 'GNUtoo' Carikli
|_. Device |_. Manufacturer |_. CyanogenMod port |_. Flash method |_. SoC |_. Graphics |_. Sound |_. Modem |_. WiFi/Bluetooth |_. Camera |_. GPS |_. Sensors |_. Notes |_. Freedom Issues |
47
| *One* | *GeeksPhone* | CM 7.2 (Android 2.3) | Recovery | MSM7K | Should be fast | Should work | Non-standard protocol but AT seems possible, bad design for freedom | WiFi is *not* the same as GTA02 and requires firmwares | MSM undocumented mechanism | Probably NMEA from modem, bad design for freedom | ? | PaulK has one | Qualcomm => Hardware is BAD for freedom |
48 1 Brian Kemp
| *Zero* | *GeeksPhone* | CM 7.2 (Android 2.3) | Fastboot | MSM7227 | Should be fast | May need firmwares | ? | Need firmwares | MSM undocumented mechanism | Probably NMEA from modem, bad design for freedom | ? | | Qualcomm => Hardware is BAD for freedom |
49 80 Paul Kocialkowski
| *"Galaxy Tab 8.9":https://en.wikipedia.org/wiki/Samsung_Galaxy_Tab_10.1* | *Samsung* | CM 9.0 (Android 4.0) | Heimdall/Recovery | Tegra 4 | ? | Free module | Samsung IPC, XMM6260 | Need firmwares | Non-free tegra module, perhaps not even v4l2 | BCM4751: secret protocol | ? | PaulK had one but failed to port to it because of Tegra slowness issues. | ? |
50 1 Brian Kemp
| *"Galaxy S3":https://en.wikipedia.org/wiki/Galaxy_SIII* | *Samsung* | CM 9.0 (Android 4.0) | Heimdall/Recovery | "Exynos 4412":https://en.wikipedia.org/wiki/Exynos | Should work, maybe as well as Galaxy S2 | Free module | Samsung IPC | Need firmwares | Non-free | BCM47511: secret protocol | ? | | ? |
51 80 Paul Kocialkowski
| *"Galaxy Tab 2 7":https://en.wikipedia.org/wiki/Galaxy_Tab_2_%287.0%29* | *Samsung* | CM 9.0 (Android 4.0) | Heimdall/Recovery | OMAP 4430 | Should be fast | Free module | Samsung IPC, transport is over high speed serial on OMAP SoC (shared memory on other versions) | Need firmwares | Needs Ducati M3 firmware and PowerVR user-space (tiler camera) | BCM4751: secret protocol | Non-free | Ported to Replicant, GNUtoo has one | pretty good if you don't push the camera firmware, "modem uses HSI":https://github.com/CyanogenMod/android_kernel_samsung_espresso10/blob/ics/arch/arm/configs/cyanogenmod_p3100_defconfig#L1054 which is good |
52
| *"Galaxy Tab 2 10.1":https://en.wikipedia.org/wiki/Samsung_Galaxy_Tab_2_%2810.1%29* | *Samsung* | CM 9.0 (Android 4.0) | Heimdall/Recovery | OMAP 4430 | Should be fast | Free module | Samsung IPC | Need firmwares | Needs Ducati M3 firmware and PowerVR user-space (tiler camera) | BCM4751: secret protocol | Non-free | Ported to Replicant, PaulK has one | Seems ok from block diagram, "modem uses HSI":https://github.com/CyanogenMod/android_kernel_samsung_espresso10/blob/ics/arch/arm/configs/cyanogenmod_p3100_defconfig#L1054 which is good |
53 68 Denis 'GNUtoo' Carikli
| *Nexus 7* | *Asus* | CM 10 (Android 4.1) | Fastboot | Tegra 4 | ? | Free module | 3G version modem uses AT | Need firmwares | Non-free tegra module, perhaps not even v4l2 | BCM4751: secret protocol | ? | | ? |
54
| *Nexus 10* | *Samsung* | ? | Fastboot | "Exynos 5250":https://en.wikipedia.org/wiki/Exynos | Free gralloc, hwcomposer, non-free 3d, beware: ultra high resolution(could be slow) | Free module | N/A (Has No Modem) | Need firmwares | Free module | BCM4751: secret protocol | Free module | | ? |
55 1 Brian Kemp
| *Nexus 4* | *LG* | CM 10.1 (Android 4.2) | Fastboot | Qualcomm Snapdragon S4 Pro APQ8064 | ? | ? | Unknown protocol | Need firmware | ? | ? | ? | ? | Really BAD: "has too much proprietary things":https://android.googlesource.com/device/lge/mako/+/77f8e6b51a8f26ea9288a9186179511a92c07df0/proprietary-blobs.txt and the hardware is bad for freedom: modem transport is over HSIC (high speed USB), but it controls the GPS (included in the modem chip), audio and perhaps NAND too |
56 82 Brian Kemp
| *Defy* | *Motorola* | CM 7.2 (Android 2.3) | Recovery, in-system recovery flash | OMAP 3630 | Should work | ? | ? | ? | Non-free | ? | ? | Bootloader is locked | *Kernel is signed*, making a Replicant port impossible |
57 71 Denis 'GNUtoo' Carikli
58 26 Paul Kocialkowski
h3. Other devices
59 3 Denis 'GNUtoo' Carikli
60 14 Denis 'GNUtoo' Carikli
|_. Device |_. Manufacturer |_. Android port |_. Bootloader |_. SoC |_. Standardness |_. Blobs |_. Firmwares |_. Modem |_. Notes |
61
| *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 |
62 60 Paul Kocialkowski
| *N900* | *Nokia* | Nitdroid | partially signed, 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 (WiFi, bluetooth, camera) | GPS is controlled by the modem, modem transport is over high-speed serial | GNUtoo has one, Nitdroid is hard to build and undocumented | 
63 65 Denis 'GNUtoo' Carikli
| *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 | already supported by the "Idroid project":http://www.idroidproject.org ,however it has "a really bad status":http://www.idroidproject.org/wiki/Status : it can't suspend to ram...  |
64 19 Denis 'GNUtoo' Carikli
| *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. |
65 46 Denis 'GNUtoo' Carikli
66 47 Denis 'GNUtoo' Carikli
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.
67
However the issue is that not all users wants or are able to assemble their own phones.