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 Android
Original version 4.3
Extended version 5.1 (Linux 3.4.42)
postmarketOS
Category testing
Pre-built images no
Mainline yes
postmarketOS kernel 3.4.113
Unixbench Whet/Dhry score 877.9
Features
Flashing
Works
USB Networking
Broken
Internal storage
Battery
Partial
Screen
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Audio
Camera
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
USB OTG
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Proximity
Hall Effect
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)
  • 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)
  • 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 radio FM)
  • StandaSK (Notes: Running mainline)
  • UltrasonicMadness (Notes: Screen doesn't work and the battery lid is missing)


Untested

  • Interfaces other than weston and sxmo (plasma, xfce4 are not working yet)
  • Using full disk encryption

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 N
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.
Ambient light TAOS CT406
Proximity TAOS CT406

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