TargetsEvaluation » History » Revision 70
Revision 69 (Denis 'GNUtoo' Carikli, 12/19/2012 05:18 PM) → Revision 70/214 (Denis 'GNUtoo' Carikli, 12/19/2012 05:23 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. Potential targets (Good and Bad) |_. Device |_. Manufacturer |_. CyanogenMod port |_. Flash method |_. SoC |_. Graphics |_. Sound |_. Modem |_. WiFi/Bluetooth |_. Camera |_. GPS |_. Sensors |_. Notes |_. Freedom Issues | | *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 => BAD | | *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 => BAD | | *"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 has one | ? | | *"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 | ? | | ? | | *"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 | GNUtoo should get one | pretty good if you don't push the camera firmware | | *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 | ? | | ? | | *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 | | ? | | *Nexus 4* | *LG* | ? | Probably Fastboot | Qualcomm Snapdragon S4 Pro APQ8064 | ? | ? | ? | ? | ? | ? | ? | ? | Really BAD: has too much proprietary things and the hardware is bad 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 | 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 | | *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... | | *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.