Jump to content

Nokia 8110 4G (nokia-argon)

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).
Nokia 8110 4G
File:Nokia-argon-xfce.jpg
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
The software and version the device was shipped with.
KaiOS 2.5
Extended version
The most recent supported version from the manufacturer.
KaiOS
Optional software GerdaOS
postmarketOS
Category archived
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
pmOS kernel
The kernel version that runs on the device's port.
msm8916-mainline
Optional Generic Port Generic MSM8909 (qcom-msm8909)
Device package device-nokia-argon
Kernel package linux-postmarketos-qcom-msm8916
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
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Works
Modem
Calls
Partial
SMS
Works
Mobile data
Works
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works

Contributors

Users owning this device


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.

Installing lk2nd

You can flash lk2nd via those method as mention below after you have downloaded or compiled one


How to enter flash mode

Recovery mode

$ adb reboot recovery


Alternately holding down Up and power while turning on the phone can make the device boot into recovery mode.

Fastboot mode

According to bananahackers wiki the fastboot accessable when the boot (and recovery) partition corrupted.

Note Make sure you have root on adb if not then root the device

Here is how to corrupted recovery partition and reboot into fastboot :

$ adb shell echo 0 > /dev/block/bootdevice/by-name/recovery
$ adb reboot recovery

EDL mode

Hold down Up and Down while plugging in or turning on the phone.

Flashing

You can flash the device via EDL or ADB or fastboot

EDL method

Use the loader from https://edl.bananahackers.net and the edl.py fork at https://github.com/andybalholm/edl/pull/1.

example flashing boot partition with lk2nd image via EDL mode:

$ cd /path/to/edl
$ python edl.py -loader /path/to/loader.mbn -w boot /path/to/lk2nd/lk2nd.img

ADB method

Make sure you have root on adb if not then root the device

example flashing boot partition with lk2nd image via ADB:

$ adb push /path/to/lk2nd-msm8909.img /data/local/tmp/

$ adb shell 'cat /data/local/tmp/lk2nd-msm8909.img > /dev/block/bootdevice/by-name/boot'

$ adb reboot

fastboot method

example flashing boot partition with lk2nd image via fastboot:

$ fastboot flash boot lk2nd-msm8909.img 

$ fastboot reboot

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.

Dri userland components missing

Note The fellow issue is currently fixed is in pmOS.
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

TTY hung/Xorg wont start up

It seem for some reason the tty hung on the MIPI DBI screen.(See this issue)

Apparently that issue also caused xorg to hang when starting up

This the last message started in the log when it started to hung

[   241.459] (--) using VT number 7

Also doing the fellow would make xorg stop hanging up

# rm -rf /dev/tty*

Therefore it is likely caused by the tty issue.

Modem

Battery

Uses the voltage mode BMS driver, see Wileyfox_Swift_(wileyfox-crackling)#Battery_and_charging for warnings and more information.

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 ;)

  1. Back up your splash partition
  2. 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, try dd if=splash_backup.img of=splash_header count=512B instead
  3. Create a 240x320 PNG with whatever method suits you best
  4. Convert your file to raw rgb565le data ffmpeg -hide_banner -i splash.png -f rawvideo -vcodec rawvideo -pix_fmt rgb565le splash.raw
  5. Check if your splash looks right ffplay -f rawvideo -pixel_format rgb565le -video_size 240x320 -framerate 1 splash.raw
  6. Assemble your finished splash partition image cat splash_header splash.raw > splash.img
  7. Flash it to the splash partition
  8. Enjoy

Gallery

See also