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
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
Battery
Whether charging and battery level reporting work.
Broken
Screen
Whether the display works; ideally with sleep mode and brightness control.
Partial
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
Handles automatic screen rotation in many interfaces.
Broken
Magnetometer
Sensor to measure the Earth's magnetism
Broken
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Broken
Proximity
Broken
Haptics
Broken
U-Boot
Primary Bootloader
Whether it is possible to replace stock bootloader with U-Boot.
Works
Secondary Bootloader
Whether it is possible to chainload U-Boot from stock bootloader.
Works
Mainline
Whether latest upstream versions of U-Boot are not broken and it is possible to use them.
Works
Internal Storage
Whether it is possible to boot from internal storage (e.g. eMMC or UFS).
Works
USB Host
Whether it is possible to boot from a USB storage or connect a keyboard.
Works
USB Peripheral
Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode.
Works
Display
Works
Keyboard
Works
Buttons
Whether it is possible to navigate in boot menu or grub with volume and power buttons.
Partial


Contributors

  • BotchedRPR
  • AKArien

Users owning this device


How to enter flash mode

  • Fastboot mode (U-Boot): Hold down the Volume Down key after the device vibrates.
  • 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

0. Unlock your bootloader, by going into Developer Options in Android, and toggling OEM Unlocking on, then booting to Fastboot and running

$ fastboot flashing unlock
$ # now agree on your device with the Volume Up key

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

2. Install Das U-Boot. It's available here. To flash, use:

$ fastboot flash lk <path-to-u-boot.img> reboot

3. Your device should reboot and display the U-Boot logo, as well as a note that it is in Fastboot mode.

4. Now you can flash the device with pmbootstrap, like normal.

$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs
$ fastboot reboot

5. Enjoy postmarketOS!

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 u-boot)
  • 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

UART 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