Jump to content

Samsung Galaxy S4 Mini LTE (samsung-serranolte): Difference between revisions

From postmarketOS Wiki
Gfgit (talk | contribs)
m Add link to newer msm kernel
Gfgit (talk | contribs)
Add more links to existing repositories, remove maintainer notice (can be obtained from repo directly)
Line 160: Line 160:


[https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-msm/-/blob/aosp-common/aosp/clo/main/Documentation/devicetree/bindings/input/atmel,maxtouch.txt Kernel Docs]
[https://git.codelinaro.org/clo/qsdk/oss/kernel/linux-msm/-/blob/aosp-common/aosp/clo/main/Documentation/devicetree/bindings/input/atmel,maxtouch.txt Kernel Docs]
<code>
ATMEL MAXTOUCH DRIVER
M: Nick Dyer <nick@shmanahar.org>
T: git git://github.com/ndyer/linux.git
S: Maintained
F: Documentation/devicetree/bindings/input/atmel,maxtouch.txt
F: drivers/input/touchscreen/atmel_mxt_ts.c
F: include/linux/platform_data/atmel_mxt_ts.h
</code>


=== WiFi WCN3660 ===
=== WiFi WCN3660 ===
Line 187: Line 177:


Need to find where it comes from
Need to find where it comes from
=== LineageOS repositories ===
(Taken from [https://xdaforums.com/t/rom-i9190-i9192-i9195-l520-r890-unofficial-11-0-0-lineageos-18-1-for-s4-mini.4189967/ 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


== Links ==
== Links ==

Revision as of 12:44, 15 December 2023

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
Released 2013
Type handset
Hardware
Chipset Qualcomm Snapdragon 400 (MSM8930)
CPU 1.7 GHz dual-core Krait 300
GPU Adreno 305
Display 960x540
Storage 8 GB, microSD
Memory 1.5GB
Architecture armv7
Software
Original software Android
Original version 4.4.2
postmarketOS
Category testing
Pre-built images no
Mainline no
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Broken
Audio
Broken
Camera
Broken
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
Broken
NFC
No data
Modem
Calls
Broken
SMS
Works
Mobile data
Broken
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
Broken
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


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)
  • Gfgit (Notes: Boots LineageOS 18.1 kernel, WiFi needs fixing)
  • Ignapk (Notes: Current test subject)
  • Jakko
  • Mykhal (Notes: TODO; and elsewhere i9195 is named serranoltexx, so not sure)
  • Piero-e (Notes: international LTE / gt-i9195 / running unofficial /e/OS android.11 based (serranoltexx))
  • SmP971 (Notes: stock rom)
  • TPJS (Notes: Mint condition; stock so far)
  • Ungeskriptet


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)

Installation

How 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

See also https://youtu.be/7dTJoOnhRZk. Then flash the phone with the:

  • 5. postmarketOS distribution data (i.e. all the GUI files, system utilities, shell, etc.):

pmbootstrap flasher flash_rootfs

  • 6. Linux kernel:

pmbootstrap flasher flash_kernel


Alternative Install Method (TWRP Recovery)

  • 1. pmbootstrap install --android-recovery-zip
  • 2. pmbootstrap flasher --method=adb sideload

Hardware

Component Model Notes
MUIC Texas Instruments TSU6721
eMMC Sandisk SEM08G 8GB
Charging PM8921 Uses PMIC
Volume/Power/Home keys GPIO
Touchscreen Atmel MXT336S
Capacitive keys Coreriver TC360
Gyroscope/Accelerometer TDK InvenSense MPU-6500
Light/Proximity sensor Sharp GP2A gp2a020
Magnetometer Yamaha YAS532
Audio msm8230tapansnd
Audio DAC Qualcomm WCD9304
Infrared blaster Lattice ice4
GPU Adreno 305
Wi-Fi/Bluetooth Qualcomm Atheros Prima (WCN3660)
NFC Broadcom BCM2079x
GPS ?
Modem ?
Front camera Samsung s5k6a3yx
Main camera Samsung s5k3h5xa

Notes

This newer kernel seems to boot. I've applied some patches on top. https://github.com/gfgit/android_kernel_samsung_msm8930-common/tree/fix_gcc6_build

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

Links