Jump to content

Motorola Moto G 2013 (motorola-falcon)

From postmarketOS Wiki
Motorola Moto G (1st gen)
Moto G 2013 is successfully running SXMO-DE-DWM
Moto G 2013 is successfully running SXMO-DE-DWM
Manufacturer Motorola
Name Moto G (1st gen)
Codename motorola-falcon
Released 2013
Type handset
Hardware
Chipset Qualcomm Snapdragon 400 (MSM8226)
CPU Quad-core 1.2 GHz Cortex-A7
GPU Adreno 305
Display 720x1280 IPS LCD
Storage 8 GB
Memory 1 GB
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Android 4.3
Extended version
The most recent supported version from the manufacturer.
Android 5.1 (Linux 3.4.42)
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.
3.4.113
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
877.9
Device package device-motorola-falcon
Kernel package linux-postmarketos-qcom-msm8226
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).
Broken
Battery
Charging and battery level reporting works
Partial
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Works
Magnetometer
Sensor to measure magnetism
Works
Hall Effect
Also known as flip cover sensor
Works
Haptics
Works

Contributors

Users owning this device

  • AAT596 (Notes: LineageOS 17.1)
  • Alexdmrk (Notes: Tested SXMO-DE-DWM: runs normally. eMMC storage banks died after third flashinf pmOS)
  • Cark
  • Dzeimis (Notes: 2 devices. Unlocked on 2024-04-05. One with pmOS built from source, another with stock android 5.1)
  • Egbert (Notes: currently used as remote control)
  • LaermWirke (Notes: XT1032)
  • Little-miss-synth (Notes: bootloader unlocked, running a stripped down instance of lineageOS and used as a digital audio player)
  • Living
  • Marshift
  • Maxnet (Notes: cannot unlock bootloader anymore in the official way)
  • Mjack3k (Notes: PMOS with SXMO UI.)
  • Roboe (Notes: (lended) hwrev: 0x83C0, cpu: MSM8226 CS, emmc: 16GB; unreliable eMMC; running debloated Lineage OS 14.1 as a portable FM radio)
  • StandaSK (Notes: Running mainline)
  • Thewiseguyshivam (Notes: Touchscreen not working on this, currently running stock Android with unlocked bootloader)
  • UltrasonicMadness (Notes: Screen doesn't work and the battery lid is missing)


Installing

There appears to be no special process to flashing the device, as long as the bootloader is unlocked first.

Note Motorola stopped providing bootloader unlock codes for some of their devices. The unlock page may or may not work for you. If it doesn't - there is no official, easy or free way to unlock the bootloader completely.

Once you're in fastboot by holding down Volume Down+Power, flashing it is as follows:

$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher boot
$ pmbootstrap flasher flash_kernel

It's highly recommended to flash kernel, otherwise the device won't boot PM: it will boot in Android firmware. Note: charger screen will be broken!

Installation from recovery zip via TWRP doesn't work

Hardware Status (downstream)

CURRENTLY BROKEN!

$ sudo hwtest gives:

Category Model Path Status Value
framebuffer mdssfb_80000 /sys/class/graphics/fb0 Working U:720x1280p-54
input gpio-keys /dev/input/event5 Working
input qpnp_pon /dev/input/event4 Working
input light-prox /dev/input/event3 Working
input synaptics_dsx_i2c /dev/input/event2 Working
input accelerometer /dev/input/event1 Working
input compass /dev/input/event0 Working

Note: XT1031 shows as MSM8x26 in /proc/cpuinfo:

Hardware	    : Qualcomm MSM8626
Revision	    : 83c0
Device		    : falcon
Radio		    : 3
MSM Hardware	: MSM8626 CS

Battery

charging-sdl is not supported, but charging works during usb networking. Battery/charging properties are exposed at /sys/class/power_supply/battery/.

Charger versus power key boot shows these differences in /proc/cmdline:

androidboot.mode=mot-charger           | androidboot.mode=normal
androidboot.powerup_reason=0x00000100  | androidboot.powerup_reason=0x00000080
bootreason=charger                     | bootreason=power_key_press

USB-OTG

Based on dmesg content (only), usb-otg connect/disconnect is recognized.

LED

Similar to the Moto G 2014, the LED can be controlled:

$ echo 255 > /sys/devices/leds-qpnp-rgb-e1dba000/leds/white/brightness

RGB LED documentation

Hardware Status (mainline)

Component Part number / Driver Works? Notes
eMMC Y
Touchscreen N
Button pm8226_resin Y Volume Down
Button gpio-keys Y Volume Up
Button pm8226_pwrkey Y Power
WiFi, Bluetooth N
Display (SimpleFB) Y
Display (DRM panel) ? N
Backlight pm8226? P Setup by bootloader, not currently configurable.
Front camera onsemi MT9M114 N
Rear camera onsemi AR0543 N
Rear camera flash pm8226? N
Notification LED pm8226 N Connected to MPP 6, can be controlled with gpio-led, but should support LPG (PWM) as well.
Hall effect sensor ROHM BU52017HFV Y Controlled with gpio-keys
Vibrator pm8226_vib Y
Accelerometer ST LIS3DH Y
Magnetometer Asahi Kasei AK8963 Y
Temperature sensor TI TMP108 P Works and DTS is complete, but the mainline driver doesn't support the ALERT interrupt signal.
Proximity / Ambient light sensor AMS/TAOS CT406 N Seems similar to AMS/TAOS TSL277x series, which is already supported in mainline.

UART

On phone schematics, there is a block called UART OVER HEADSET, that includes the chips u4950, u4951 and u4952, but they are very likely missing in production boards (DNI means Do Not Include?), as found on a picture of the board available on the web. Therefore the remaining option is try to get serial output from MSM_UART_TX/RX on JTAG:MINI, which was reported elsewhere on this wiki for Motorola devices.

lk2nd

lk2nd supports falcon starting with version 0.15.0 from September 2023. Follow the installation instructions in the git repo.

Links