Jump to content

Motorola Moto G 2013 (motorola-falcon): Difference between revisions

From postmarketOS Wiki
StandaSK (talk | contribs)
m Hardware Status (mainline): Add magnetometer
StandaSK (talk | contribs)
Hardware Status (mainline): merge CT406 entries, add note about TSL277x
 
(27 intermediate revisions by 3 users not shown)
Line 4: Line 4:
| codename = motorola-falcon
| codename = motorola-falcon
| image = File:moto-g-weston.jpeg
| image = File:moto-g-weston.jpeg
| imagecaption = Moto G 2013 running Weston
| imagecaption = Moto G 2013 is successfully running SXMO-DE-DWM
| releaseyear = 2013
| releaseyear = 2013
| originalsoftware = Android
| originalsoftware = Android
Line 19: Line 19:
| type = handset
| type = handset
| whet_dhry = 877.9
| whet_dhry = 877.9
| status_usbnet = Y
| status_usbnet = N
| status_flashing = Y
| status_flashing = Y
| status_touch = Y
| status_touch = N
| status_screen = Y
| status_screen = Y
| status_wifi = Y
| status_wifi = Y
| status_xwayland = Y
| status_xwayland = Y
| status_fde =  
| status_fde =  
| status_mainline =  
| status_mainline = Y
| status_battery =
| status_battery = P
| status_3d =  
| status_3d =  
| status_accel =
| status_audio =  
| status_audio =  
| status_bluetooth = N
| status_bluetooth = N
Line 39: Line 38:
| status_otg =  
| status_otg =  
| status_nfc = -
| status_nfc = -
| status_accel = Y
| status_magnet = Y
| status_hall = Y
| status_barometer = -
| status_dvb = -
| status_keyboard = -
| status_touchpad = -
| status_usba = -
| status_sdcard = -
| status_hdmidp = -
| status_irtx = -
| status_irtx = -
| status_irrx = -
| status_haptics = Y
| status_ethernet = -
| booting = yes
| booting = yes
}}
}}
Line 47: Line 59:
* [https://github.com/rymate1234/ rymate1234]
* [https://github.com/rymate1234/ rymate1234]
* [[User:StandaSK|StandaSK]]
* [[User:StandaSK|StandaSK]]
* [[User:Alexdmrk|Alexdmrk]]


== Users owning this device ==
== Users owning this device ==
{{Device owners}}
{{Device owners}}
== Untested ==
* Interfaces other than weston (plasma, xfce4 are not working yet)
* Using full disk encryption


== Installing ==
== Installing ==
Line 68: Line 76:
$ pmbootstrap install
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher boot  
$ pmbootstrap flasher boot
$ pmbootstrap flasher flash_kernel
</syntaxhighlight>
</syntaxhighlight>


You can also use <code> $ pmbootstrap flasher flash_kernel</code> to flash the kernel, however this breaks the charging splash screen
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 without <code>pmbootstrap</code>, [[Installation_from_recovery_mode#Copy_the_generated_image_to_an_SD_card|copy to SD Card]] works, in this case using usb-otg; same caveat regarding charging.
Installation from recovery zip via TWRP doesn't work


== Useful stuff ==
== Hardware Status (downstream) ==
 
'''CURRENTLY BROKEN!'''
Similar to the [[Moto_G_2014_(motorola-titan)|Moto G 2014]], the LED can be controlled:


<syntaxhighlight lang="shell-session">
$ echo 255 > /sys/devices/leds-qpnp-rgb-e1dba000/leds/white/brightness
</syntaxhighlight>
[https://github.com/LineageOS/android_kernel_motorola_msm8226/blob/cm-14.1/drivers/leds/leds-qpnp.c#L187-L189 RGB LED documentation]
== Hardware Status (downstream) ==
<code>$  sudo hwtest</code> gives:
<code>$  sudo hwtest</code> gives:


Line 149: Line 150:


=== Battery ===
=== Battery ===
As mentioned in [[#Installation]] <code>charging-sdl</code> is not supported, but charging works during usb networking.  Battery/charging properties are exposed at <code>/sys/class/power_supply/battery/</code>.
<code>charging-sdl</code> is not supported, but charging works during usb networking.  Battery/charging properties are exposed at <code>/sys/class/power_supply/battery/</code>.


Charger versus power key boot shows these differences in <code>/proc/cmdline</code>:
Charger versus power key boot shows these differences in <code>/proc/cmdline</code>:
Line 161: Line 162:
=== USB-OTG ===
=== USB-OTG ===
Based on dmesg content (only), usb-otg connect/disconnect is recognized.
Based on dmesg content (only), usb-otg connect/disconnect is recognized.
=== LED ===
Similar to the [[Moto_G_2014_(motorola-titan)|Moto G 2014]], the LED can be controlled:
<syntaxhighlight lang="shell-session">
$ echo 255 > /sys/devices/leds-qpnp-rgb-e1dba000/leds/white/brightness
</syntaxhighlight>
[https://github.com/LineageOS/android_kernel_motorola_msm8226/blob/cm-14.1/drivers/leds/leds-qpnp.c#L187-L189 RGB LED documentation]


== Hardware Status (mainline) ==
== Hardware Status (mainline) ==
Line 210: Line 221:
|
|
|-
|-
|Front Camera
|Backlight
|?
|pm8226?
|P
|Setup by bootloader, not currently configurable.
|-
|Front camera
|onsemi MT9M114
|N
|
|-
|Rear camera
|onsemi AR0543
|N
|N
|
|
|-
|-
|Rear Camera
|Rear camera flash
|?
|pm8226?
|N
|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
|Hall effect sensor
|gpio-keys
|ROHM BU52017HFV
| Y
| Y
|
|Controlled with gpio-keys
|-
|-
|Vibrator
|Vibrator
Line 231: Line 257:
|-
|-
|Accelerometer
|Accelerometer
|?
|ST LIS3DH
| N
| Y
|
|
|-
|-
|Magnetometer
|Magnetometer
|Asahi Kasei AK8963
|Asahi Kasei AK8963
| N
| Y
|
|
|-
|-
Line 244: Line 270:
| P
| P
|Works and DTS is complete, but the mainline driver doesn't support the ALERT interrupt signal.
|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.
|}
|}


Line 258: Line 289:
* [https://github.com/LineageOS/android_kernel_motorola_msm8226/blob/cm-14.1/arch/arm/configs/falcon_defconfig falcon_defconfig (downstream defconfig)]
* [https://github.com/LineageOS/android_kernel_motorola_msm8226/blob/cm-14.1/arch/arm/configs/falcon_defconfig falcon_defconfig (downstream defconfig)]
* {{Device package|motorola-falcon}}
* {{Device package|motorola-falcon}}
* {{Kernel package|motorola-falcon}}
* {{Kernel package|motorola-falcon}} (downstream)
* {{Kernel package|postmarketos-qcom-msm8226}} (near-mainline)
* {{MR|5087|pmaports}} Merge request adding initial near-mainline support
* {{MR|5087|pmaports}} Merge request adding initial near-mainline support
* [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/qcom/msm8226-motorola-falcon.dts Mainline device tree]

Latest revision as of 18:16, 8 January 2025

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
No data
Battery
Partial
Screen
Works
Touchscreen
Broken
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
No data
Proximity
No data
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)


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