Google Nexus 5 (lg-hammerhead)

From postmarketOS
Jump to: navigation, search
LG Nexus 5
Nexus 5 running plasma mobile
Nexus 5 running plasma mobile
Manufacturer LG
Name Nexus 5
Codename lg-hammerhead
Released 2013
Original software Android 4.4.4 on Linux 3.4.0
Hardware
Chipset Qualcomm MSM8974 Snapdragon 800
CPU 4x 2.3 GHz Krait 400
GPU Adreno 330
Display 1080x1920 IPS
Storage 16/32 GB
Memory 2 GB
Architecture armhf
Unixbench Whet/Dhry score 415.0
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
Xwayland
Works
FDE
Mainline
Works
Battery
3D Acceleration
Works
Accelerometer
Audio
Broken
Bluetooth
Camera
GPS
Mobile data
Partial
SMS
Works
Calls
Partial
USB OTG
Works



Contributors

  • MartijnBraam
  • dzervas
  • lawl
  • bshah
  • opendata

Fastboot Mode

First make sure to enable USB debugging in Android ([1]) Then with device powered off, hold down Volume Down and Power buttons simultaneously for a few seconds, until Fastboot Mode screen appears.

OEM Unlock

Get device into Fastboot Mode, plug in USB cable, then:

$ sudo fastboot oem unlock

When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message regarding flashing will appear briefly.

Installation

First build the image:

$ git clone https://gitlab.com/postmarketOS/pmbootstrap
$ cd pmbootstrap/
$ ./pmbootstrap.py init
$ ./pmbootstrap.py install --no-fde

Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:

$ ./pmbootstrap.py flasher flash_rootfs --partition userdata
$  sudo fastboot format system
$ ./pmbootstrap.py flasher flash_kernel

Issues

Bluetooth

Bluetooth seems to be lacking some firmware.

From dmesg:

[    0.650667] bluetooth hci0: Direct firmware load for brcm/BCM4335C0.hcd failed with error -2

Using instructions at https://wiki.alpinelinux.org/wiki/Raspberry_Pi_3_-_Setting_Up_Bluetooth

apk add bluez
rc-update add bluetooth

Running bluetoothctl seems to indicate that the controller is recognized:

https://wiki.alpinelinux.org/wiki/Raspberry_Pi_3_-_Setting_Up_Bluetooth
[bluetooth]# power off
Changing power off succeeded
[bluetooth]# power on
Changing power on succeeded
[CHG] Controller 07:16:16:94:0E:5D Powered: yes

WiFi workaround on boot

The wifi adapter works in NetworkManager, but it boots in airplane mode and NetworkManager does not detect that. Therefore at boot you need to disable the wifi adapter first, and then re-enable it. This can easily be done in the graphic shell (Plasma Mobile has an airplane mode switch in the pull-down menu: check it and uncheck it) or through the shell:

$ sudo nmcli radio all off
$ sudo nmcli radio all on

Webbrowser

In plasma-mobile, Angelfish webbrowser does not run. You may want to install, configure and use qtwebbrowser, Firefox and/or Chromium.


Troubleshooting

Fastboot unknown chunk type

Flashing with fastboot seems to fail for some outdated firmware, it prints the message "FAILED (remote: Unknown chunk type)" when trying to flash the rootfs to userdata. This can be solved by updating to the latest baseband firmware and bootloader.

Remote Data Too Large

Sometimes `./pmbootstrap.py flasher flash_kernel` can fail with an error message that includes "Failed (remote: data too large)". This might be solved by updating by reflashing the latest version of the stock Android image for the device.

Links

Photos