Jump to content

Samsung Galaxy S7 (samsung-herolte)

From postmarketOS Wiki
Samsung Galaxy S7
Samsung Galaxy S7 running PMOS SXMO
Samsung Galaxy S7 running PMOS SXMO
Manufacturer Samsung
Name Galaxy S7
Codename samsung-herolte
Released 2016
Type handset
Hardware
Chipset Samsung Exynos 8890 Octa
CPU 4x 2.3GHz Mongoose M1
4x 1.6GHz Cortex-A53
GPU 650MHz Mali-T880 MP12
Display 1440x2560 AMOLED
Storage 32/64 GB UFS 2.0
Memory 4 GB LPDDR4 1794MHz
Architecture aarch64
Software
Original software Android
Original version
The version the device was shipped with.
6.0
postmarketOS
Category testing
Pre-built images
Whether pre-built images are available here.
no
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Partial
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
Works
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
Works
Bluetooth
Untested
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested


Note This is the exynos device. For the qualcomm version, see samsung-heroqlte.

Contributors

  • Polynomdivision

Users owning this device


What works

  • Compiling the kernel and booting (!314)
  • Wifi with the proprietary firmware (!309)
  • Display
  • TouchScreen
  • Flashing via android recovery zip
  • Wayland/Weston/Xwayland

Notes

  • Most variants are single SIM, SM-G930FD is hybrid dual SIM.
  • The device and kernel packages are basically just a copy of the Galaxy S7 Edge's packages. The only difference is that the two devices use different panels.
  • using command: apk upgrade can cause loading forever...

Mainline notes

For uniLoader:

  • To enable the framebuffer we need to write 0x1290 to address 0x13960070. To get this value search for the decon_f base address and add 0x70 (HW_SW_TRIG_CONTROL) to it, then use devmem2 together with the value you calculated on a downstream kernel with CONFIG_DEVMEM enabled.
  • The MUIC UART is located under address 0x14c50000. To get minimal output follow this guide (add 0x20 to the UART address for the TX offset).

Hardware

Parts Hardware Driver Status
GPU Mali-T880 MP12
Modem Exynos Shannon 335
Touchscreen ?
Panel ?
Fuelgauge MAX77854
Accelerometer/Gyroscope K6DS3TR
Ambient Light/Proximity TMD49xx
Magnetometer YAS537
Barometer LPS25H
Hall Effect ?
Grip Sensor ?
HRM Sensor ?
Home Button ?
Fingerprint ?
Touch Keys ? tm2-touchkey?
Status LED ?
Haptics ?
Sound ?
Front Camera ?
Back Camera ?

Input Events in Android

Event Source
0 Touchkeys
1 Touchscreen
2 ?
3 ?
4 ?
5 ?
6 ?
7 ?
8 Power/Volume/Home
9 ?
10 ?

Installation

  • Install TWRP recovery as described here.
  • Wipe the device while in TWRP.
  • Put device in download mode by holding the home, volume down and power buttons when powered off.
  • Execute $ pmbootstrap flasher flash_kernel to flash the kernel. (Note: You do not need to reflash the kernel if you want to reinstall PMOS with a different image)
  • Reboot Device into TWRP Recovery and execute pmbootstrap install --android-recovery-zip
  • While in TWRP, enable sideloading by going to Advanced -> ADB Sideload and then execute $ pmbootstrap flasher --method=adb sideload

Links