Replicant к сожалению практически бесполезная штука, даже у одного из лучше всего поддерживаемых репликантов аппаратов столько проблем и с безопастностью и с работоспособностью, что он мало к чему пригоден:General freedom issues on the Galaxy S 3 (I9300):¶
The bootloader is proprietary and signed. So far it's only possible to replace part of it but that requires yet another nonfree (first stage) bootloader.
The bootloader also loads a proprietary OS on the main CPU, in TrustZone. See this analysis for more details on the precise implementation for the Galaxy SIII.
Some peripherals do require proprietary firmwares to work:
See some of which have to be loaded by the system.
See also the "Missing without non-free firmwares" status in ReplicantStatus.
The bootrom is the first code that is executed. That code is stored in a read-only memory and has no free license: see freedom-privacy-security-issues for more details.
Like most mass storage device, the microSD has a nonfree firmware. Older devices have had firmware update released as GPL, so it might be possible to build a free firmware out of it if some people spend some time to do work on it.
The hardware is proprietary, and we are not aware if any complete schematics is available somewhere on the Internet.
Modem related:
The modem runs non-free software, which is loaded but not shipped by Replicant.
When using flight mode, The main CPU has to ask the modem to put itself in low power mode (and not transmit anymore).
When booting Replicant 6 in flight mode, the modem still communicates with the SIM card.
When booting Replicant 6 with the modem disabled (modem.sh off) either in flight modem or without being in flight mode, no access to the SIM card is done.
The modem is somewhat isolated:
It doesn't use shared memory to communicate with the main CPU, instead it uses HSIC, which is a version of USB 2.0 meant to interface chips together directly. Here the modem also cannot change USB IDs without having the main CPU reset the HSIC bus. This means that the modem could still take control of the Android part (for instance by emulating a keyboard) but it could only do so at boot, and the OS could also catch it. It could be improved with kernel USB whitelist and/or usbguard.
We are not aware of it being able to access the GPS, but it wouldn't be surprising if it still could (by having a direct connection to it: since no schematics are publicly available we have easy no way to check).
It has no access to the other CPU peripherals.
Hardware table.
SoC Samsung Exynos 4412 iFixit Linux kernel support
GPU Mali 400 wikipedia Linux kernel and secret userspace
Audio Codec WM8994 Linux kernel Linux kernel support (ALSA)
Modem XMM6260 Linux kernel Free userspace implementation: Samsung-RIL/libsamsung-ipc
Wi-Fi BCM4334 Linux kernel Linux kernel support, proprietary loaded firmware
Bluetooth BCM4334 Linux kernel Linux kernel support, proprietary loaded firmware
NFC PN544 Linux kernel Linux kernel support
GPS BCM47511 iFixit Proprietary userspace, no free implementation: BCM4751
Accelerometer LSM330DLC Linux kernel Linux kernel support, free userspace
Compass AKM8975 Kernel sources Linux kernel support, free userspace
Light/proximity sensor CM36651 Kernel sources Linux kernel support, free userspace
Gyroscope LSM330DLC Kernel sources Linux kernel support, free userspace
Barometer LPS331AP Kernel sources Linux kernel support, free userspace
Camera (back) S5C73M3 Linux kernel Linux kernel support, free userspace
Camera (front) S5K6A3 Linux kernel Linux kernel support, free userspace, proprietary loaded firmwar