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 archived
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
371.8
Device package device-sony-nicki
Kernel package linux-sony-nicki-mainline
Features
Flashing
Whether 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
Whether charging and battery level reporting work.
Broken
Screen
Whether the display works; ideally with sleep mode and brightness control.
Broken
Touchscreen
Untested
Multimedia
3D Acceleration
Broken
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.
Works
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
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

Follow Installation/Using pmbootstrap. Select sony as the vendor and nicki as the codename.

Flashing:

  • Unlock the bootloader by following Sony's guide; get the unlock code from Sony's website (scroll to the bottom and choose "Xperia M" in the device selector).
  • Get lk2nd-msm8960.img from the latest lk2nd release and flash it to the boot partition; then reboot the device.
  • Once the device reboots, you should boot directly into lk2nd's fastboot; from there, use pmbootstrap flasher.
Warning WARNING: Display and backlight are currently non-functional, both in lk2nd and in Linux. You will see a black screen when flashing and booting - this is normal, as unfortunately the stock bootloader does not initialize the screen.

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".

TODO TODO: This table describes the status in the msm8227-mainline fork; the device package still needs to be updated to use it (it currently uses an older fork).
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