Jump to content

Motorola Moto G13 / G23 (motorola-penangf)

From postmarketOS Wiki
Motorola G13
G23
File:Motorola-penangf.png
Manufacturer Motorola
Name G13
G23
Codename motorola-penangf
Released 2023
Type handset
Hardware
Chipset MediaTek Helio G85 (MT6769Z)
CPU Octa-core (2x2.0 GHz Cortex-A75
6x1.8 GHz Cortex-A55)
GPU Mali-G52 MC2
Display 720 x 1600 IPS LCD 90Hz
Storage 64 GB / 128 GB
Memory 4 GB / 8GB RAM
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android 13
Extended version
The most recent supported version from the manufacturer.
Android
postmarketOS
Category testing
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Untested
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
Charging and battery level reporting works
Broken
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
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.
Untested
USB OTG
USB On-The-Go or USB-C Role switching
Untested

Users owning this device

  • DiabloSat (Notes: G13, Unlocked, Kaeru, UART RX soldered)
  • Leahh (Notes: Perfect condition, Unlocked, Kaeru)
  • R0rt1z2 (Notes: G13, Unlocked kaeru, UART wires soldered)
  • R0rt1z2 (Notes: G23, dead motherboard, UART wires soldered)


How to enter flash mode

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

Unlocking the bootloader

Warning WARNING: THIS DEVICE USES ARB, SO IT IS STRONGLY ADVISED TO FLASH THE STOCK FIRMWARE WITH SP FLASH TOOL BEFORE UNLOCKING THE BOOTLOADER, OR YOU MIGHT RISK A HARD BRICK IF ANDROID 13 IS STILL PRESENT IN ONE OF YOUR SLOTS

This device uses the seccfg lock state to manage bootloader unlocking, and there are multiple methods to achieve this.

The official method involves enabling the "OEM Unlocking toggle" in Developer Settings and generating an unlock code. You can use this website to generate the code and check its guide to install it and unlock the bootloader.

Alternatively, you can unlock the bootloader by exploiting carbonara, a MediaTek DA1 vulnerability that allows you to boot an unsigned DA2. This lets you modify the seccfg partition and unlock the bootloader. A work-in-progress tool is currently being developed for this method.

Note NOTE: After unlocking, it is strongly recommended to flash kaeru to replace the broken stock bootloader, which has bugs and flashing limitations.

Installation

To prepare the device for booting mainline, you need to erase the vendor_boot partition:

$ fastboot erase vendor_boot

If using the stock bootloader, you will also have to flash a minimal DTBO for the mainline kernel to boot:

$ fastboot flash dtbo minimal-dtbo.img

Lastly, build a v2 boot image and flash the result to the boot partition:

$ fastboot flash boot boot.img

UART

UART access is available through the pads exposed next to the battery connector. However to UART has been intentionally restricted as part of "perceived security" measures by default.

To enable UART, it is necessary to remove the protective metal shield and solder 1K resistors to the UART lines to restore the functionality of the test points.

Note NOTE: Alternatively, a tiny tin bridge can be used, which will function the same as 1K resistors.
Missing TX / RX resistors on the Moto G13 / G23 board

The first boot stage, BROM, will output startup logs at 115200 baud rate. After the BROM stage, the baud rate will change to 921600 and will remain at that speed until the phone is fully booted (as soon as the phone reaches the lock screen / home screen UART logs will stop).

Warning WARNING: By default, UART logs aren't complete. To get full logs, you have to hold both volume keys while booting the phone. If you don't, you'll be greeted with a Log Turned Off. message.

Other notes

USBDL in BROM has been disabled on this device by the OEM, which means you won’t be able to access it. As a result, you should never attempt to modify or erase the Preloader partition.

Corrupting the Preloader will lead to a hard brick, and the only way to recover from this is by directly reflashing the eMMC, a process commonly referred to as JTAG. For more information, refer to the f**ymoto guide on the subject.

Downstream Kernel

The downstream kernel is currently completely broken.

We are waiting for the full working sources, functional modules, and proper build instructions to be provided.

Please, track any updates in this issue in the kernel-mtk repository from Motorola.

See also