Jump to content

Nothing CMF Phone 1 (nothing-tetris)

From postmarketOS Wiki
Nothing CMF Phone 1
A CMF Phone 1 device, on the postmarketOS splash screen.
A CMF Phone 1 device, on the postmarketOS splash screen.
Manufacturer Nothing
Name CMF Phone 1
Codename nothing-tetris
Model A015
Released 2024
Type handset
Hardware
Chipset MediaTek MT6878
CPU 4x 2.5 GHz ARM Cortex-A78
4x ARM Cortex-A55
GPU ARM Mali-G615 MC2
Display 1080x2400 AMOLED
Storage 128/256GB
Memory 6GB (only in some markets)/8GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (Nothing OS) 14
Extended version
The most recent supported version from the manufacturer.
Android (Nothing OS)
FOSS bootloader partial
postmarketOS
Category testing
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.17-rc5
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
10,090.4
Device package device-nothing-tetris
Kernel package linux-postmarketos-mediatek-mt6878
Features
Flashing
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
Broken
Battery
Charging and battery level reporting works
Broken
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Broken
Connectivity
WiFi
Broken
Bluetooth
Broken
GPS
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Broken
USB OTG
USB On-The-Go or USB-C Role switching
Broken
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Broken
Ambient Light
Broken
Haptics
Broken
Power Sensor
Sensor to monitor current, voltage and power. Not fuel gauge!
Broken
U-Boot
Primary Bootloader
It is possible to replace stock bootloader with U-Boot.
Broken
Secondary Bootloader
It is possible to chainload U-Boot from stock bootloader.
Works
Mainline
Latest versions of U-Boot are not broken and it is possible to use them.
Broken
Internal Storage
It is possible to boot from internal storage (e.g. eMMC or UFS).
Broken
SD card
It is possible to boot from SD card.
Broken
USB Host
It is possible to boot from a USB storage or connect a keyboard.
Broken
USB Peripheral
It is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode.
Broken
Display
Broken
Keyboard
Broken
Buttons
It is possible to navigate in boot menu or grub with volume and power buttons.
Broken

Contributors

  • BotchedRPR
  • AKArien

Users owning this device


How to enter flash mode

  • Boot menu: Hold Volume Up and Power until you see a "NOTHING PHONE INFO" boot menu.
  • Fastboot mode: Enter the boot menu, select fastboot with Volume Up and enter with Volume Down
  • Recovery mode: Enter the boot menu, select recovery with Volume Up and enter with Volume Down

Installation

1. Select the device in pmbootstrap and run install as normal.

2. To prepare the device for booting mainline, you need to erase some partitions:

$ fastboot erase vendor_boot erase init_boot

3. Then, install a patched bootloader - lplk to allow booting mainline kernel without hacks

$ fastboot flash lk lplk.img reboot bootloader

4. Now you can flash the device with pmbootstrap (BOOT IMAGE CHANGES NOT MERGED TO PMAPORTS YET - CREATE HEADER V2 BOOT IMAGE MANUALLY), as normal :)

Device quirks

  • Fastboot appears to not work properly if the device is plugged into the host when entering fastboot mode. In this case, any fastboot command will halt seemingly forever and without action. A command can still be executed by unplugging the device, issuing the command, and then reconnecting the cable; or simply by rebooting to fastboot again without a cable connected. (Has to be verified the bug still exists under lplk)
  • UART is not enabled by default. To enable it, you can run:
fastboot oem p2u on
  • This device can very likely run U-Boot as its first stage bootloader! After unlocking, bl2_ext does NOT verify lk's signature and that means it can freely be replaced! However...
  • This device uses a new flashing protocol, unsupported by mtkclient. It can read partitions, but flashing fails (and yes, I am alive is real and comes from device.):
[SEC_POLICY] lock_state = 0x3
Security deny for [lk_a].
I am alive.

UART

After enabling UART from fastboot, it can be accessed on the motherboard, close to the camera (requires disassembly). The pins operate at 1,7V.

UART pads with wires soldered to them. The top pad is RX and the bottom pad is TX. They are located slightly to the right and below the camera on the motherboard.
UART pads with wires soldered to them.

See also