Fairphone 2 (fairphone-fp2)
Fairphone 2 | |
Manufacturer | Fairphone |
---|---|
Name | 2 |
Codename | fairphone-fp2 |
Released | 2015 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 801 (MSM8974AB-AB) |
CPU | 4x 2.26 GHz Krait 400 |
GPU | Adreno 330 |
Display | 1080x1920 IPS |
Storage | 32 GB |
Memory | 2 GB |
Architecture | armv7 |
Software | |
Original software | Android |
Original version | 5.1 |
FOSS bootloader | yes |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage | |
SD card | |
Battery |
Broken |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Broken |
Camera |
Partial |
Camera Flash |
Broken |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Partial |
Modem | |
Calls |
Partial |
SMS |
Works |
Mobile data |
Works |
Miscellaneous | |
FDE |
Works |
USB-A |
Broken |
USB OTG |
Works |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
Broken |
Ambient Light |
Broken |
Proximity |
Broken |
Haptics |
Works |
This wiki page is made for mainline kernel. The downstream kernel in the pmbootstrap init selection is not covered here, see the dedicated wiki page for downstream. |
Contributors
- Luca Weiss (z3ntu)
Device owners
- DancesWithCycles (Notes: orange coat: tbd)
- DancesWithCycles (Notes: white coat: tbd)
- Kbingham (Notes: Camera Set A)
- Kbingham (Notes: Camera Set B)
- Roboe (Notes: (borrowed) physically broken radio or modem, I don't recall right now)
- Roboe (Notes: mostly unused after 7 years daily driving; first revision display module, a spare upgraded one available; running Lineage OS)
- Rudloff
- TPJS (Notes: stock, unknown screen type)
- UltrasonicMadness (Notes: Runs Ubuntu Touch 16.04, has occasional problems with screen flickering and unreliable touch screen)
- Unrznbl (Notes: 2022-09-21 old hardware panel so not supported in mainline and no touchscreen, though display works)
- Vladuwka12 (Notes: Running Ubuntu Touch 16.04)
- Z3ntu
How to enter flash mode
Hold Volume Down while booting the device. The notification LED will blink blue when in fastboot mode.
Installation
If you have a very old bootloader installed, installation might fail. Flash any recent stock software onto the device first if you experience any such problem. |
For installation you need to flash lk2nd and flash the rootfs. Do not flash the boot
partition since lk2nd uses fs-boot functionality to boot the kernel from the /boot
partition of the rootfs.
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs --partition userdata
Phosh and Plasma Mobile UIs have been shown to work.
Device status
While the infobox gives a general overview, there's some important extra notes here.
Stability
In general msm8974 devices on mainline kernel aren't particularly stable. You may find random reboots which can lead to data loss. IOMMU is not yet supported so there's no memory protection for components like GPU. No CPU frequency scaling is supported so your device might run hot. No fuel gauge (for battery percentage reporting) is supported so you won't see if your battery runs below 0% and won't turn off, which might damage your battery.
Display module (panel/touchscreen)
The kernel should support both the old and new display modules. You can identify the display module on your device based on this forum post. However if you have the old display module, the touchscreen might not work due to issues with power sequencing (turning screen off turns touchscreen off, however turning screen on doesn't reinitialize the touchscreen).
Lk2nd should automatically detect which display panel is installed and adjust the Linux dtb accordingly.