Fairphone 2 (fairphone-fp2)/Downstream kernel

This page is only meant as a reference for the v3.4 downstream Linux kernel that is offered during pmbootstrap init. While some features work better than on mainline kernel I don't recommend using it for anything apart from debugging.
== WiFi ==
Using NetworkManager (preinstalled) doesn't work for me / my WiFi network because of some dhcp issue.
Enable the device-fairphone-fp2-nonfree-firmware package with the mainline kernel during pmbootstrap init
Create your wpa_supplicant.conf file in /etc/wpa_supplicant/wpa_supplicant.conf, start with adding you WiFi SSID and passphrase :
# wpa_passphrase "YOUR SSID" "YOUR PASSPHRASE" > /etc/wpa_supplicant/wpa_supplicant.conf
Add the following lines to the top of the file :
ctrl_interface=/run/wpa_supplicant
update_config=1
Then run as root on the device:
# 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
Try without the -Dnl80211 option if it doesn't work.
Connect to a network using this guide.
# Start a DHCP client on the wlan0 interface to get an IP address
udhcpc -iwlan0
Then you should have a working WiFi connection!
== Audio ==
For audio, read for now until it's more integrated.
== Input devices ==
# Input device
/dev/input/event0: synaptics_dsx
# Touchscreen events
# 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 ------------
# 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 ------------
# 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 ------------
# 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 ------------
== Photos ==
* Weston running