Jump to content

Samsung Galaxy A21s (samsung-a21s)

From postmarketOS Wiki
Samsung Galaxy A21s
Samsung Galaxy A21s running Phosh
Samsung Galaxy A21s running Phosh
Manufacturer Samsung
Name Galaxy A21s
Codename samsung-a21s
Model SM-A217F
Released 2020
Type handset
Hardware
Chipset Samsung Exynos 850
Display 720x1600 PLS LCD
Storage 32/64/128 GB eMMC 5.1 + microSDXC
Memory 3/4/6 GB LPDDR4X
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (One UI) 10 (One UI 2)
Extended version
The most recent supported version from the manufacturer.
Android (One UI) 12 (One UI 4.1)
FOSS bootloader no
postmarketOS
Category testing
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
Device package device-samsung-a21s out-of-tree
Kernel package linux-samsung-a21s out-of-tree
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.
Broken
Battery
Whether charging and battery level reporting work.
Broken
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Broken
Connectivity
WiFi
Broken
Bluetooth
Broken
GPS
Broken
NFC
Near Field Communication
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
Proximity
Broken

Contributors

Users owning this device

  • Bruhboy666dev
  • Kotik (Notes: CrDroid 11.3, Android 15(I still don't upgraded CrDroid version), 4/64.)
  • Leo
  • Lx.niko
  • Madhaxbro (Notes: SM-A217F, runs LineageOS. Basic modern Smartphone, capable CPU and weak GPU. The SoC is supported in mainline. Has uniLoader support.)
  • RiskyGUY22
  • Wojtekojtek (Notes: Aftermarket screen)
  • Zerkalo (Notes: not tested yet)

How to unlock bootloader

Warning WARNING: Unlocking the bootloader will wipe all data and may void the warranty
  1. Connect the device to a Wi-Fi network.
  2. Enable Developer Options by pressing the “Build Number” option at least 7 times, in the “Settings” app within the “About” menu
  3. Within the “Settings” app go to “Date and Time” and change the date to be 2 years in the past
  4. Reboot the device
  5. Go to the Developer Options menu in the “Settings” app and enable OEM unlock
  6. Power off the device, and boot it into download mode:
  7. With the device powered off, hold Volume Up + Volume Down then connect USB cable to PC.
  8. Now, click the button that the onscreen instructions correlate to “Device unlock mode” and/or “Unlock Bootloader”.
  9. Your device will reboot and format all user data, you may now unplug the USB cable from your device.
  10. Run through Android Setup, it is crucial that you connect to a Wi-Fi network when setting up the device
  11. Re-enable Development settings by clicking the “Build Number” option 7 times, in the “Settings” app within the “About” menu, and verify that “OEM Unlock” is still enabled in the “Developer options” menu.

How to install a custom recovery

  1. Unplug device from computer and power off
  2. Simultaneously plug device into computer while holding Volume Up + Volume Down
  3. Follow on screen instructions to enter download mode
  4. Download the recovery.img here: https://mirrorbits.lineageos.org/full/a21s/20260909/recovery.img
  5. Assuming you are on Linux, run this command and after it is finished immediately hold Volume Up + Power until you enter recovery mode
$ sudo heimdall flash --RECOVERY recovery.img
  1. Now press Advanced -> Enter fastboot and continue to Installation.

Installation

Use pmbootstrap to build your own installation image. NOTE: This device was tested using phosh ui.

$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher flash_vbmeta
$ pmbootstrap flasher flash_dtbo
$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs