Jump to content

Haier G151 (haier-g151)

From postmarketOS Wiki
Note This page is about the dedicated port of this device. There is also an optional generic port available for this device - see Generic MSM8909 (qcom-msm8909).
Haier G151
Andromax A
Manufacturer Haier
Name G151
Andromax A
Codename haier-g151
Model g151/a16c3h
Released 2016
Type handset
Hardware
Chipset Qualcomm Snapdragon 210 (MSM8909)
CPU Quad-core 1.1 GHz Cortex-A7
GPU Adreno 304
Display 480x854
Storage 8GB
Memory 1GB
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Android 5.1
Extended version
The most recent supported version from the manufacturer.
Android 5.1
postmarketOS
Category testing
Pre-built images
Whether pre-built images are available from the postmarketOS Installation page.
no
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.12.1
Optional Generic Port Generic MSM8909 (qcom-msm8909)
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS...
Works
SD card
Also includes other external storage cards.
Works
Battery
Whether charging and battery level reporting work.
Untested
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Touchscreen
Untested
Multimedia
3D Acceleration
Partial
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Untested
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Untested
Proximity
Untested


Users owning this device

  • Icyllite (Notes: Owns 2 units, actively maintained. one for testing and other one for my mini home server)


Installation

🚧 This page is a work-in-progress. Some information contained within may be inaccurate or incomplete.

Preparations

The device's first stage bootloader have a quirk where it refuses to boot lk2nd regardless of what you do, therefore we have to completely replace the first stage bootloader with lk1st

Compiling and flashing lk1st

Warning WARNING: Be aware that if anything goes wrong, your device may be unable to boot, you can always reflash your old first stage bootloader through edl. but given how scarce the files for this device on the internet, it's always a good idea to back up the device's partitions first.

Build lk1st

  $ git clone https://github.com/msm8916-mainline/lk2nd && cd lk2nd
  $ make TOOLCHAIN_PREFIX=arm-linux-gnueabi- LK2ND_BUNDLE_DTB="msm8909-1gb-qrd-skuc.dtb" LK2ND_DISPLAY="ili9806e_fwvga_hsd_hlt_video" LK2ND_COMPATIBLE="haier,g151" lk1st-msm8909

Flashing lk1st

After done compiling, we'd see emmc_appsboot.mbn in the build directory, thats what we'd have to flash

In order to flash you'd, have to put your device in edl mode, and have edl tool installed. https://github.com/bkerler/edl

The test point is here as shown, you'd have to short both SCL and USBBOOT pins in order to enter edl mode

Once in edl mode, flashing our new bootloader is as simple as running

python3 edl w aboot emmc_appsboot.mbn

Once done, you can follow Qualcomm_Snapdragon_410/412_(MSM8916)#Installation to install postmarketOS.

See also