Fairphone 2 (fairphone-fp2)

From postmarketOS
Fairphone 2
Fairphone 2
Fairphone 2
Manufacturer Fairphone
Name 2
Codename fairphone-fp2
Released 2015
Category testing
Original software Android
Original version 5.1
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
Type handset
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Works
Mainline
Works
Battery
Broken
3D Acceleration
Works
Audio
Broken
Bluetooth
Works
Camera
Partial
GPS
Partial
Mobile data
Works
Internal storage
SMS
Works
Calls
Partial
USB OTG
Works
Sensors
Accelerometer
Broken
Magnetometer
Broken
Ambient Light
Broken
Proximity
Broken
Misc
Built-in DVB
Camera Flash
Broken
USB-A
Broken
Memory Card
Haptics
Works
FOSS bootloader
Works


Note 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: secondary phone 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)
  • Z3ntu


How to enter flash mode

Hold Volume Down while booting the device. The notification LED will blink blue when in fastboot mode.

Installation

Note 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.

Links