Jump to content

Samsung Galaxy S4 Mini LTE (samsung-serranolte)

From postmarketOS Wiki
(Redirected from Samsung Galaxy S4 Mini LTE)
Samsung Galaxy S4 Mini LTE
S4 Mini running PostmarketOS and Xfce4
S4 Mini running PostmarketOS and Xfce4
Manufacturer Samsung
Name Galaxy S4 Mini LTE
Codename samsung-serranolte
Model GT-I9190, GT-I9192, GT-I9195, GT-I9195L, GT-I9197, SCH-I435, SGH-I257, SGH-I257M, SHV-E370K
Released 2013
Type handset
Hardware
Chipset Qualcomm Snapdragon 400 (MSM8930)
CPU 2x 1.7 GHz Krait 300
GPU 450 MHz Adreno 305
Display 4.3 inch 16:9, 540x960 60 Hz Super AMOLED, 24 Bit (16777216 colors)
Storage 8/16 GB EMMC 4.5 + microSDXC + USB OTG
Memory 1.5 GB 533 MHz LPDDR2 single-channel
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Android 4.2.2
Extended version
The most recent supported version from the manufacturer.
Android 5.0.1
Optional software Android (LineageOS) (Unofficial)
FOSS bootloader yes
postmarketOS
Category downstream
Pre-built images
Whether pre-built images are available from the postmarketOS Installation page.
no
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
Device package device-samsung-serranolte
Kernel package linux-samsung-serranolte
Firmware package firmware-samsung-serranolte
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
Internal storage
eMMC, SD cards, UFS...
Untested
SD card
Also includes other external storage cards.
Untested
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Untested
IR TX
Untested
Connectivity
WiFi
Untested
Bluetooth
Broken
GPS
Broken
NFC
Near Field Communication
Untested
Modem
Calls
Broken
SMS
Works
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching.
Untested
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Broken
Magnetometer
Sensor to measure the Earth's magnetism
Untested
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Untested
Proximity
Untested
Hall Effect
Measures magnetic fields; usually used as a flip cover sensor
Untested
Haptics
Untested


Contributors

  • rrooij (initial port)
  • scintill (USB network, modem)
  • maccraft123 (broken his s4mini)
  • Zocker1012 (broken glass, experimenting with edge channel)
  • Everyone else on IRC (feel free to put your name)

Users owning this device

  • Bastindo (Notes: I have several of these)
  • Ferenc-
  • Gfgit (Notes: Boots LineageOS 18.1 kernel, WiFi needs fixing)
  • Ignapk (Notes: Current test subject)
  • Jakko
  • Julian (Notes: GT-I9195, broken power button, current mainlining target)
  • Julian (Notes: GT-I9195, runs LinageOS)
  • Lunaoverflow (Notes: Spare phone)
  • Madhaxbro (Notes: GT-I9195, runs lk2nd + DivestOS Android. Ready for testing. Weak battery. Supported in lk2nd. Classic design. Could run mainline some day.)
  • Minecrell (Notes: GT-I9195)
  • Mykhal (Notes: TODO; and elsewhere i9195 is named serranoltexx, so not sure)
  • Omarplayz (Notes: works? using the GT-I9195/serranoltexx model (2nd note: using the initfs extra will result in a black screen))
  • Piero-e (Notes: international LTE / gt-i9195 / running unofficial /e/OS android.11 based (serranoltexx))
  • R0rt1z2
  • SmP971 (Notes: stock rom)
  • Status5650
  • Ungeskriptet
  • Werti (Notes: Mint condition; running PMOS (WiFi not working))


Model variants

Galaxy S4 Mini (LTE) "Serrano"

  • GT-I9195 (Global, 4G, NFC) - Compatible.
  • GT-I9195L (Latin America, 4G, NFC) - Compatible?
  • GT-I9195T (Australia, 4G, NFC) - Compatible?
  • GT-I9197 (4G, no NFC) - Compatible?
  • GT-I9198 (TD-SCDMA, NFC) - Compatible?
  • SCH-I435 (US?, Verizon LTE, NFC) - Locked? Compatible?
  • SGH-I257 (Canada?, LTE?) - Compatible?
  • SGH-I257M (Canada, AWS LTE, NFC, no FM Radio) - Compatible?
  • SHV-E370K (Korea?, LTE?) - Compatible?

Needs more research.

Galaxy S4 Mini (Duos)

  • GT-I9190 (Global, 3G) - Compatible?
  • GT-I9192 (Global, 3G, Dual SIM) - Compatible?

Galaxy S4 Mini Plus / Galaxy S4 Mini Value Edition (VE) "Serrano v2?"

  • GT-I9192I (Global, 3G, Dual SIM) - Incompatible!
  • GT-I9195I (Global, 4G, NFC) - Incompatible!

See #Similar devices for more details.

Note Note: Some parts appear to be the same for this device. The SoC is different. Needs investigation.

Boot modes

Fastboot (lk2nd menu) - hold Volume Down during boot, or (only for lk2nd Fastboot) - execute $ fastboot reboot bootloader on a connected USB host, or (also lk2nd) - select it on the bootloader menu by pressing Volume Down or Volume Up three times, then confirm using Power

Recovery (using lk2nd) - hold Volume Up during boot, or - enter Fastboot mode and select it on the bootloader menu by pressing Volume Down twice, confirm using Power

Recovery (using Samsung bootloader) - hold Home+Volume Up+Power, or (with USB debugging enabled) - execute $ adb reboot recovery on a connected USB host

DFU (Odin/Download) mode - hold Home+Volume Down+Power, or (with USB debugging enabled) - execute $ adb reboot download on a connected USB host

Installation

Heimdall method (recommended)

In case you are unfamiliar with postmarketOS, follow this guide until you arrive at the Flashing section, then return here.

Heimdall is a cross-platform and open-source tool suite used for flashing software onto Samsung devices which is integrated in pmbootstrap script (this means you do not have to install Heimdall yourself).

To use pmbootstrap to interact with the device through Heimdall and flash data to the device you need to enter "flash mode":

  1. Switch off the phone
  2. Press and hold the VolumeDown, Home and Power buttons until a warning screen appears
  3. Connect the phone to the computer
  4. Press the VolumeUp button

Then the device can be interacted with through the pmbootstrap script:

   $ pmbootstrap flasher flash_rootfs # Flash the rootfs with postmarketOS distribution data
   $ pmbootstrap flasher flash_kernel # Flash the rootfs with the linux kernel

The phone might reboot after the first flasher command, if it does re-enter the flash mode as explained above and flash the remaining.

adb sideload method

The alternative method for those who want to maintain their custom recovery image is adb sideload from recoveries that support it e.g. TWRP

   $ pmbootstrap install --android-recovery-zip # Set up pmos for sideloading
   $ pmbootstrap flasher --method=adb sideload # Flash the pmos on the device through sideloading

Downstream kernel

What works

  • Compiling the kernel
  • Flashing postmarketos
  • Booting
  • Screen display
  • Multi-touch
  • Plasma Mobile(slideshow mode)
  • Xfce
  • Mate
  • Weston
  • Touch screen (!1313)
  • USB Networking (!1260)
  • Sending SMS via terminal (!1314)
  • Accelerometer (echo 1 > /sys/class/input/input2/enable)
  • Proximity sensor (echo 1 > /sys/class/input/input4/enable)
  • Light sensor (echo 1 > /sys/class/input/input5/enable)
  • Power button (/dev/input/event0)
  • Volume/Home buttons (/dev/input/event8)
  • Menu/Back touch buttons (/dev/input/event9)

What does not work

  • HW acceleration (we need libhybris or mainlining or freedreno)
  • User Interface: gnome (stuck at boot animation)
  • User Interface: gnome-mobile (won't install through pmbootstrap)

HID Buttons

See Troubleshooting:HID buttons

<nowiki>

evtest /dev/input/event9 shows these events:

Event type 0 (EV_SYN) Event type 1 (EV_KEY)

 Event code 102 (KEY_HOME)
 Event code 114 (KEY_VOLUMEDOWN)
 Event code 115 (KEY_VOLUMEUP)

Event type 5 (EV_SW)

 Event code 0 (SW_LID) state 0

evtest /dev/input/event10 shows these events:

Event type 0 (EV_SYN)

 Event type 1 (EV_KEY)
   Event code 158 (KEY_BACK)
   Event code 254 (?)
 Event type 3 (EV_ABS)
 Event type 17 (EV_LED)
   Event code 8 (LED_MISC) state 0

Notes

Development

  • !1099 initial pull request
  • #1612 Unable to install on S4 Mini (samsung-i9195)
  • This newer kernel seems to boot. I've applied some patches on top.
  • Some devices have a samsung-serranoltexx codename which appears to be compatible with the image of samsung-serranolte, it's unknown what the difference is.

Mainlining

There is an ongoing mainlining effort in https://github.com/msm8227-mainline/linux. See also Qualcomm S4/Krait 200 mainlining. There is no mainline package for this device yet.

Component support

Component Model Kernel Driver Device Tree Notes
CPU MSM8930AB (2x Krait 300 at 1.7GHz) P Y Only MSM8930 support (2x Krait 200 at 1.2GHz)
Regulators PM8917 P P Some regulators don't work due to missing SSBI regulator driver
Charging/Fual gauge PM8917 P N
Power key PM8917 Y Y
MUIC TI TSU6721 N N Datasheet, TSU6111 driver detects status at boot, but fails to pick up changes
Display panel Samsung AMS427AP24/S6E88A0 Y N
Volume/Home keys, hall effect GPIO Y Y
Touchscreen Atmel MXT336S Y N Requires SSBI regulator driver
Capacitive keys Coreriver TC360 Y P Backlight requires SSBI regulator driver
Gyroscope/Accelerometer TDK InvenSense MPU-6500 Y Y
Light/Proximity sensor Sharp GP2A020 Y Y
Magnetometer Yamaha YAS532 Y Y
Haptics Regulator Y N Requires SSBI regulator driver
Audio msm8230tapansnd N
Audio DAC Qualcomm WCD9304 N
Infrared blaster Lattice ice4 N
GPU Adreno 305 Y N
Wi-Fi/Bluetooth Qualcomm Atheros Prima (WCN3660) Y N
NFC Broadcom BCM2079x N N
GPS ? N
Modem ? N
Camera Flash Microchip MIC2871 N N Datasheet
Front camera Samsung s5k6a3yx Y N
Main camera Samsung s5k3h5xa N N

Mainline preliminary work

This section lists all information I've found online which can be useful to mainline this device. Please edit if you found more stuff to add.

Device tree for MSM8930 and experimental charger driver

https://github.com/flto/linux/tree/msm8930

This branch contains 12 commits to support MSM8930 and PM8291 charger plus some Nokia Lumia 625 (nokia-rm941) specific code that we should skip.

Other similar charger driver to use as reference code qcom_smbb

Touchscreen

exynos5420-peach-pit.dts#L660

exynos5420 board seems to have same touchscreen chip Atmel MXT336S (Datasheet PDF)

Kernel Docs

WiFi WCN3660

qcom_wcnss_iris.c#L170

Main Camera s5k3h5xa

Downstream kernel drive seems crashing at boot, still have to investigate. Did not yet try LineageOS 18.1 kernel. Did not yet found newer driver code.

There is a maybe relevant discussion on XDA cyanogenmod-10-2

Possible newer kernel AOSP Common

https://github.com/danascape/kernel-msm-5.4/

Need to find where it comes from

LineageOS repositories

(Taken from XDA LineageOS 18.1 for S4 Mini)

Kernel:

https://github.com/LineageOS/android_kernel_samsung_msm8930-common

Device trees (plus Android specific code):

https://github.com/LineageOS/android_device_samsung_msm8930-common

https://github.com/LineageOS/android_device_samsung_serrano-common

https://github.com/LineageOS/android_device_samsung_serrano3gxx

https://github.com/LineageOS/android_device_samsung_serranodsdd

https://github.com/LineageOS/android_device_samsung_serranoltexx

https://github.com/arco/android_device_samsung_serranoltespr

https://github.com/arco/android_device_samsung_serranolteusc

Useful software

Bootloader builds

Recovery builds

Firmware builds

Firmware tools

  • Latest version of samloader Tool for downloading firmware from official Samsung update servers. Written in python. Consider packaging it.

Packages

  • android-tools Used for Fastboot, ADB, sparse images (simg), and more. From SDK.
  • heimdall Tool for dealing with Samsung's Odin protocol. Used to install firmware.

Device support

Links

Source code

Board schematics

  • SM-G730V schematics Same SoC/PMIC. Almost the same peripherals. Seems like an earlier revision of the same board.

Specifications

Similar devices