Jump to content

Sony Xperia M (sony-nicki)

From postmarketOS Wiki
Sony Xperia M
Sony Xperia M
Sony Xperia M
Manufacturer Sony
Name Xperia M
Codename sony-nicki
Released 2013
Type handset
Hardware
Chipset Qualcomm Snapdragon S4 Plus (MSM8227)
CPU Dual-core 1.0 GHz Krait
GPU Adreno 305
Display 4", 480x854 px
Storage 4 GB
Memory 1 GB
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Android 4.1.x (Linux 3.4.0)
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
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
371.8
Device package device-sony-nicki
Kernel package linux-postmarketos-qcom-msm8930
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).
Works
Battery
Charging and battery level reporting works
Partial
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Connectivity
WiFi
Untested
Bluetooth
Untested
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested

Contributors

Device owners

  • Adelahmed
  • Eldyj (Notes: Broken touchscreen. Untested with PMOS)
  • ImAdam
  • Knuxify
  • SuperPou (Notes: i flashed mmcblk0 and now it is a bricc)
  • Tau
  • Zekiu (Notes: C1905; broken. no display, holding power button causes the phone to vibrate constantly; vendor: "orange")


How to enter flash mode

With device powered off, hold [VOLUME +] and plug USB cable in. Device's LED will turn blue, meaning it has entered fastboot mode.

Installation

Works with both pmbootstrap flasher and TWRP zip. No errors were found in that process.

If using a large rootfs (like with plasma-mobile) fastboot with throw a "no space left on device" error. Flashing as a .zip with TWRP solves the problem.

Parts table and mainline status

It's worth noting that this phone was made by FIH Mobile, a subsidiary of Foxconn. The internal codename in the kernel sources is "Project S3A".

Element type Element Works? Notes
Chipset MSM8227 Mainline work being done in https://github.com/msm8227-mainline/linux. I2C, UART and USB work; storage is enabled but untested.
Graphics Adreno 305
Display "Orise" FWVGA ??? Can't tell the panel model from the driver. Might be one of the "Orise Technology" panels in mainline?
Touchscreen Synaptics RMI4 Supported in mainline.
Accelerometer Bosch BMA250 Supported in mainline.
Proximity and ambient light sensor Capella Micro CM36283 Not supported in mainline, though may be similar to CM36651?
Magnetometer Bosch BMM050 Supported in mainline.
NFC PN544 Supported in mainline.
Back camera Samsung S5K4E1/ON Semiconductor AR0543 Not supported in mainline. S5K4E1 seems to be present on my device. AR0543 datasheet
Camera flash TI LM3642 Supported in mainline.
Selfie camera Himax HM03D5 Not supported in mainline.
RGB LED PWM-based ???
PMIC PM8038/PM8921
Audio codec WCD9304 (WCD9310?)

Additional info

UART location

UART pad location on the motherboard.

The UART pins are located on the phone's motherboard. They take some effort to get to - you have to:

  • Take off the back casing and inner frame (you will need to undo the screws, then pry it up until all clips are undone)
  • Take off the SIM/SD card board
  • Take off the shield around the CPU/RAM (it can be lifted out of place with some prying, it's not soldered in place).

Full disassembly instructions can be found in the service manual - follow steps 3.1, 3.2, 3.3, then 4.24. After that, you should have access to the main portion of the motherboard and can take off the CPU shield.

See the photo on the side for UART locations. The output voltage is 1.8v. (Note that "UART TX" refers to the board's TX and should be connected to the receiver's RX pin.)

Partition list

Device Label Size in blocks
mmcblk0p1 TA 2048
mmcblk0p2 sbl1 128
mmcblk0p3 sbl2 256
mmcblk0p4 s1sbl2 256
mmcblk0p5 sbl3 512
mmcblk0p6 aboot 512
mmcblk0p7 tz 512
mmcblk0p8 alt_sbl1 128
mmcblk0p9 alt_sbl2 256
mmcblk0p10 alt_s1sbl2 256
mmcblk0p11 alt_sbl3 512
mmcblk0p12 alt_aboot 512
mmcblk0p13 alt_tz 512
mmcblk0p14 rpm 512
mmcblk0p15 alt_rpm 512
mmcblk0p16 LTALabel 16384
mmcblk0p17 boot 20480
mmcblk0p18 modem 65536
mmcblk0p19 modemst1 3072
mmcblk0p20 modemst2 3072
mmcblk0p21 fsg 3072
mmcblk0p22 ramdump 5120
mmcblk0p23 FOTAKernel 16384
mmcblk0p24 persist 4096
mmcblk0p25 system 1228800
mmcblk0p26 cache 256000
mmcblk0p27 data 2183151

See also