Nokia 8110 4G (nokia-argon)
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). |
Manufacturer | Nokia |
---|---|
Name | 8110 4G |
Codename | nokia-argon |
Released | 2018 |
Type | feature phone |
Hardware | |
Chipset | Qualcomm Snapdragon 205 (MSM8905) |
CPU | 2x 1.1 GHz Cortex-A7 |
GPU | Adreno 304 |
Display | 240x320 TFT |
Storage | 4 GB |
Memory | 512 MB |
Architecture | armv7 |
Software | |
Original software | KaiOS |
Original version | 2.5 |
Optional software | GerdaOS |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
postmarketOS kernel | msm8916-mainline |
Optional Generic Port | Generic MSM8909 (qcom-msm8909) |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage | |
SD card | |
Battery |
Works |
Screen |
Works |
Multimedia | |
3D Acceleration | |
Audio | |
Camera | |
Camera Flash | |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Works |
Modem | |
Calls |
Partial |
SMS |
Works |
Mobile data |
Works |
Miscellaneous | |
FDE |
Works |
HDMI/DP | |
Sensors | |
Magnetometer | |
Ambient Light | |
Proximity | |
Hall Effect | |
Haptics | |
Barometer | |
Contributors
Users owning this device
- Aa13q
- Adomerle (Notes: On pmOS)
- Affenull2345
- Belkaliz (Notes: WIP)
- FuchsPunk
- Socksinspace (Notes: it's...something)
Display
The display is connected via SPI and works with the tinydrm panel-mipi-dbi driver. It is usable even without GPU or MDP3 support. MDP3 seems to be unused on this device because it isn't connected to the display in any way. Backlight control also works.
in case of:
MESA-LOADER: failed to open panel-mipi-dbi: Error loading shared library /usr/lib/xorg/modules/dri/panel-mipi-dbi_dri.so: No such file or directory (search paths /usr/lib/xorg/modules/dri, suffix _dri)
see also: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26129
building 24th mesa helps providing panel-mipi-dbi driver, while tinydm still not loading yet:
tinydm logs: https://paste.mozilla.org/zo78ATpY
Modem
Battery
Uses the voltage mode BMS driver, see Wileyfox_Swift_(wileyfox-crackling)#Battery_and_charging for warnings and more information.
Flashing
EDL mode can be entered by pressing the Up and Down keys while plugging in or turning on the phone. Use the loader from https://edl.bananahackers.net and the edl.py fork at https://github.com/andybalholm/edl.
Partitions can also be written directly using dd on rooted devices.
example flashing boot partition with lk2nd image via EDL mode:
$ cd /path/to/fork-from-andybalholm/edl
$ python edl.py -loader /path/to/nokia-argon-edl-loader-from-bananahackers/8110.mbn -w boot /path/to/lk2nd-by-affenul/build-lk2nd-msm8909/lk2nd.img
Installation
Install lk2nd from https://github.com/msm8916-mainline/lk2nd into the boot partition. After that, you can use pmbootstrap flasher commands to flash postmarketOS via the fastboot interface provided by lk2nd.
Commands could look like this:
$ git clone https://github.com/msm8916-mainline/lk2nd.git
$ cd lk2nd
$ make TOOLCHAIN_PREFIX=arm-none-eabi- lk2nd-msm8909
expected output:
...
compiling lk2nd/device/dts/msm8909/msm8905-qrd-skub.dts
compiling lk2nd/device/dts/msm8909/msm8909-mtp.dts
generating image with 2 appended DTBs: build-lk2nd-msm8909/lk.bin-dtb
generating Android boot image: build-lk2nd-msm8909/lk2nd.img
see also: https://github.com/msm8916-mainline/lk2nd#building
Because this lk2nd does not support fs-boot yet, pmbootstrap flasher flash_kernel
is required even when booting from an SD card.
Modifying Boot Logo
The boot logo resides on the splash partition and is encoded as raw rgb565le image data. the whole partition is made up of a 512B header, 153600B image data (16 bits per pixel x 240 x 320 / 8), and padded with zeros to the end of the partition.
Here is how you can have your very own custom boot logo, maybe the postmarketOS logo, or a big Tux ;)
- Back up your splash partition
- Extract your header
dd if=splash_backup.img of=splash_header count=1
should do the trick, if you do not end up with a 512B file, trydd if=splash_backup.img of=splash_header count=512B
instead - Create a 240x320 PNG with whatever method suits you best
- Convert your file to raw rgb565le data
ffmpeg -hide_banner -i splash.png -f rawvideo -vcodec rawvideo -pix_fmt rgb565le splash.raw
- Check if your splash looks right
ffplay -f rawvideo -pixel_format rgb565le -video_size 240x320 -framerate 1 splash.raw
- Assemble your finished splash partition image
cat splash_header splash.raw > splash.img
- Flash it to the splash partition
- Enjoy