Sony Xperia M (sony-nicki)
![]() 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 |
![]() |
Kernel package |
![]() |
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
- Konrad Dybcio (@konradybcio)
- knuxify (User:Knuxify)
Device owners
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

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
- !1611 Initial merge request
- display hack (needs to be reworked in the future to make it compatible with a display manager)
- Mainline kernel notes