Jump to content

Fairphone 2 (fairphone-fp2): Difference between revisions

From postmarketOS Wiki
m WiFi: <source lang="shell-session">
Move downstream parts onto separate page, update some other bits
Line 25: Line 25:
| status_3d =  
| status_3d =  
| status_accel =  
| status_accel =  
| status_audio = Y
| status_audio =  
| status_bluetooth =
| status_bluetooth =
| status_camera =
| status_camera =
Line 49: Line 49:
== How to enter flash mode ==
== How to enter flash mode ==


Hold vol-down while booting the device. The splash screen doesn't indicate that the phone is in fastboot mode, but you can test it by running <code>fastboot devices</code> on a PC that's connected via USB. Additionally, in more recent versions of the system software, the blue LED blinks when in fastboot mode.
Hold volume down while booting the device. The notification LED will blink blue when in fastboot mode.


== Installation ==
== Installation ==


Note that you have to have a recent bootloader installed. You can download a zip to flash from the recovery [https://github.com/WeAreFairphone/modem_zip_generator/releases at this link].
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.


Installation procedure is the same as with most other devices.
Installation procedure is the same as with most other devices, but in brief I recommend:
 
* <pre>pmbootstrap flasher flash_kernel</pre>
Currently (25.07.2022) the downstream kernel is not working. You have to chose mainline during the pmbootstrap init.
* <pre>pmbootstrap flasher flash_rootfs --partition userdata</pre>
 
== WiFi ==
 
Using NetworkManager (preinstalled) doesn't work for me / my WiFi network because of some dhcp issue.
 
Enable the <code>device-fairphone-fp2-nonfree-firmware</code> package with the mainline kernel during <code>pmbootstrap init</code>
 
Create your wpa_supplicant.conf file in /etc/wpa_supplicant/wpa_supplicant.conf, start with adding you WiFi SSID and passphrase :
 
<source lang="shell-session">
# wpa_passphrase "YOUR SSID" "YOUR PASSPHRASE" > /etc/wpa_supplicant/wpa_supplicant.conf
</source>
 
Add the following lines to the top of the file :
 
<source>
ctrl_interface=/run/wpa_supplicant
update_config=1
</source>
 
Then run as root on the device:
 
<source lang="shell-session">
# Stop NetworkManager as it interferes with wpa_supplicant
service networkmanager stop
# Start wpa_supplicant
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
</source>
Try without the <code>-Dnl80211</code> option if it doesn't work.
 
Connect to a network using [https://wiki.archlinux.org/index.php/WPA_supplicant#Connecting_with_wpa_cli this guide].
 
<source lang="shell-session">
# Start a DHCP client on the wlan0 interface to get an IP address
udhcpc -iwlan0
</source>
 
Then you should have a working WiFi connection!
 
== Audio ==
 
For audio, read {{MR|38|pmaports}} for now until it's more integrated.
 
== Input devices ==
<source>
# Input device
/dev/input/event0:      synaptics_dsx
 
# Touchscreen events
</source>
 
<source>
# Input device
/dev/input/event1:      qpnp_pon
 
# Power button
Event: time 7644.433669, type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: time 7644.433673, -------------- SYN_REPORT ------------
Event: time 7644.682747, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 7644.682750, -------------- SYN_REPORT ------------
</source>
 
<source>
# Input device
/dev/input/event2:      gpio-keys
 
# Volume up
Event: time 7575.930067, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 7575.930083, -------------- SYN_REPORT ------------
Event: time 7576.100068, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 7576.100083, -------------- SYN_REPORT ------------
 
# Volume down
Event: time 7577.650077, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 7577.650093, -------------- SYN_REPORT ------------
Event: time 7577.840067, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 7577.840082, -------------- SYN_REPORT ------------
 
# Camera
Event: time 7579.180072, type 1 (EV_KEY), code 766 (?), value 1
Event: time 7579.180089, -------------- SYN_REPORT ------------
Event: time 7579.430052, type 1 (EV_KEY), code 766 (?), value 0
Event: time 7579.430067, -------------- SYN_REPORT ------------
</source>
 
<source>
# Input device
/dev/input/event3:      msm8974-taiko-mtp-snd-card Button Jack
 
# Button on headphones
Event: time 7490.180845, type 1 (EV_KEY), code 226 (KEY_MEDIA), value 1
Event: time 7490.180865, -------------- SYN_REPORT ------------
Event: time 7492.228265, type 1 (EV_KEY), code 226 (KEY_MEDIA), value 0
Event: time 7492.228270, -------------- SYN_REPORT ------------
</source>
 
<source>
# Input device
/dev/input/event4:      msm8974-taiko-mtp-snd-card Headset Jack
 
# Plug in headphones Nr.1
Event: time 7329.700387, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 1
Event: time 7329.700389, type 5 (EV_SW), code 4 (SW_MICROPHONE_INSERT), value 1
Event: time 7329.700394, type 5 (EV_SW), code 17 (?), value 1
Event: time 7329.700396, -------------- SYN_REPORT ------------
 
# Unplug headphones Nr.1
Event: time 7336.406334, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 0
Event: time 7336.406337, type 5 (EV_SW), code 4 (SW_MICROPHONE_INSERT), value 0
Event: time 7336.406339, type 5 (EV_SW), code 17 (?), value 0
Event: time 7336.406341, -------------- SYN_REPORT ------------
 
# Plug in headphones Nr.2
Event: time 7406.442631, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 1
Event: time 7406.442636, -------------- SYN_REPORT ------------
 
# Unplug headphones Nr.2
Event: time 7433.144596, type 5 (EV_SW), code 2 (SW_HEADPHONE_INSERT), value 0
Event: time 7433.144600, -------------- SYN_REPORT ------------
</source>
== Photos ==
 
* [https://wiki.postmarketos.org/images/7/7e/Fairphone_2.jpg Weston running]


== Links ==
== Links ==


* [[Fairphone_2_(fairphone-fp2)/Downstream_kernel|postmarketOS wiki page for downstream kernel only]]
* [https://github.com/LineageOS/android_kernel_fairphone_msm8974/ LineageOS kernel source]
* [https://github.com/LineageOS/android_kernel_fairphone_msm8974/ LineageOS kernel source]
* [https://github.com/FairphoneMirrors/android_kernel_lk_fairphone_fp2 Bootloader/lk source]
* [https://github.com/FairphoneMirrors/android_kernel_lk_fairphone_fp2 Bootloader/lk source]
* [https://forum.fairphone.com/t/postmarketos-ten-years-support/32279/10 Fairphone Forum thread]
* [https://forum.fairphone.com/t/postmarketos-ten-years-support/32279/10 Fairphone Forum thread]

Revision as of 15:47, 15 November 2022

Fairphone Fairphone 2
Fairphone 2
Fairphone 2
Manufacturer Fairphone
Name Fairphone 2
Codename fairphone-fp2
Released 2015
Hardware
Chipset Qualcomm MSM8974AB-AB Snapdragon 801
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 5.1 on Linux 3.4
postmarketOS
Category testing
Pre-built images no
Mainline yes
postmarketOS kernel 3.4.0
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
No data
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


Contributors

  • Luca Weiss (z3ntu)

Maintainer(s)

  • Luca Weiss (z3ntu)

Device owners

  • DancesWithCycles (Notes: orange coat: tbd)
  • DancesWithCycles (Notes: white coat: tbd)
  • Jrfern (Notes: Panel otm1902b, original cameras)
  • 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.

Installation procedure is the same as with most other devices, but in brief I recommend:

  • pmbootstrap flasher flash_kernel
  • pmbootstrap flasher flash_rootfs --partition userdata

Links