Project

General

Profile

TargetsEvaluation » History » Revision 47

Revision 46 (Denis 'GNUtoo' Carikli, 11/16/2012 05:43 PM) → Revision 47/214 (Denis 'GNUtoo' Carikli, 11/16/2012 05:44 PM)

h1. Good Potential Targets 

 h2. Requirements 

 h3. Basic 

 List of the bare minimum requirements for a device to be ported to Replicant: 
 * The device must be supported by CyanogenMod officially (better) or via 3rd party repos 
 * There must be a way to flash images (via bootloader or recovery) using a free program 
 * The kernel must not be signed: the bootloader must not check the kernel signature 
 * The kernel sources must have been released 
 * The network type must be GSM, no CDMA phone can be supported for now 

 h3. Good target 

 What makes a good target for Replicant: 
 * Bootloader must be ready to flash images, or be very easy to unlock 
 * Free user-space implementation for most of the hardware already available 
 * Standard or well-known protocols used in the hardware (V4L2/ALSA/NMEA, etc) 
 * Firmwares needed only for WiFi/Bluetooth, and not sound, screen, touchscreen, camera, etc 
 * Freedom-compliant hardware design: Modem isolation (no shared mem, GPS, audio) 

 h3. Ideal target 

 An ideal target for Replicant would be: 
 * Free bootloaders that allow easy flashing for the user 
 * All the hardware using standard protocols, kernel-drivers and no user-space binary blobs 
 * Components that do not require loadable firmware 
 * Ways to update the internal firmwares of the chips (for instance to allow a free software modem implementation) 
 * Total modem isolation (doesn't control audio, nor GPS, mem, NAND, etc) 
 * SIM unlock 

 h2. Devices status 

 h3. Android devices 

 |_. Device |_. Manufacturer |_. CyanogenMod port |_. Flash method |_. SoC |_. Graphics |_. Sound |_. Modem |_. WiFi/Bluetooth |_. Camera |_. GPS |_. Sensors | 
 | *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 | ? | 
 | *Zero* | *GeeksPhone* | Yes | Fastboot | MSM7227 | Should be fast | May need firmwares | ? | Needs firmwares | MSM undocumented mechanism | Probably NMEA from modem, bad design for freedom | ? | 

 h3. Other devices 

 |_. Device |_. Manufacturer |_. Android port |_. Bootloader |_. SoC |_. Standardness |_. Blobs |_. Firmwares |_. Modem |_. Notes | 
 | *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 | 
 | *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 |  
 | *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 | | 
 | *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. | 

 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. 
 However the issue is that not all users wants or are able to assemble their own phones. 

 h1. Comparison of potential targets 

 h2. Support easyness 

 |Phone|Soc|Android target version|Gralloc|RIL|Audio|camera|sensors| GPS | proprietary files to replace | Who has one? | 
 |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 | 
 |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 | 
 |"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 | 
 | "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 | has a free software library    | 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 | 
 | "Nexus 10":https://en.wikipedia.org/wiki/Nexus_10 | "Samsung Exynos 5250":https://en.wikipedia.org/wiki/Exynos | 4.x? | free software, depends on 3d ? or not? difficult? (because of a ultra-high resolution: 2560x1600 ) | None (No GSM) | Free software | Free software | Free software | Free software | "probably Only 3d, and remove firmwares":https://android.googlesource.com/device/samsung/manta/+/270fe991a1a8d054f89cbcb32960374d732cc969/proprietary-blobs.txt    | Nobody | 

 h2. Hardware freedom 

 |Phone|Bootloader| Firmwares |Modem transport|Modem peripherals|Modem Storage| 
 |Geeksphone One| proprietary | Wifi, ? | shared memory | Mic, GPS | Shared NAND | 
 |Nokia N900 | proprietary, partially signed | wifi,camera,bluetooth,? | High speed serial | GPS | ? | 
 |Samsung Galaxy SIII | proprietary | Wifi, ? | ? | ?    | ? | 
 |Samsung Galaxy Tab 2 7" | ? | Wifi,? | High speed serial if OMAP4 SOC (shared memory for other versions) | ? | ? | 
 |Nexus 10 | ? | Wifi, others | No Modem | No Modem | No Modem | 

  

 h2. TODO: 

 Evaluate 
 * Nexus 10 
 * Nexus 7 
 * Galaxy Tab 2 7"