Samsung Galaxy Tab S2 9.7 LTE (samsung-gts210velte)

From postmarketOS Wiki
Samsung Galaxy Tab S2 9.7 LTE
Samsung Galaxy Tab S2 9.7 LTE
Samsung Galaxy Tab S2 9.7 LTE
Manufacturer Samsung
Name Galaxy Tab S2 9.7 LTE
Codename samsung-gts210velte
Released 2016
Type tablet
Hardware
Chipset Qualcomm Snapdragon 652 (MSM8976)
CPU Octa-core Cortex-A53 & Cortex-A72, 4 x 1.8 GHz & 4 x 1.4 GHz
GPU Adreno 510
Display 1536x2048 (264 PPI) HD Super AMOLED
Storage 32 GB
Memory 3 GB
Architecture aarch64
Software
Original software Android
Original version 7.0
postmarketOS
Category testing
Pre-built images no
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Audio
Camera
Camera Flash
Connectivity
WiFi
Bluetooth
GPS
NFC
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
USB OTG
HDMI/DP
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer


Contributors

  • K-laus

Maintainer(s)

  • K-laus

What works

  • compiling kernel
  • booting
  • ssh connection
  • screen output
  • touch screen

What does not work

  • everything else

How to enter flash mode

  • Recovery: With the device powered off, hold Home + Volume Up + Power.
  • Download: With the device powered off, hold Home + Volume Down + Power.

Sometimes, to enter Recovery it is needed to first enter Download mode, then again hold Home + Volume Down + Power and while screen goes blank, switch to hold Home + Volume Up + Power.

Unlocking

In Android go to settings -> System -> About phone and tap the build number 7 times. Then go to settings -> system -> developer options and enable OEM unlocking

Partition Infos

from an adb shell of LineageOS 15.1 installation, after installing some additional apps:

gts210velte:/ $ cat /proc/partitions
major minor  #blocks  name

 179        0   30535680 mmcblk0
 179        1        512 mmcblk0p1
 179        2        512 mmcblk0p2
 179        3         32 mmcblk0p3
 179        4         32 mmcblk0p4
 179        5       2048 mmcblk0p5
 179        6        512 mmcblk0p6
 179        7       2048 mmcblk0p7
 179        8        512 mmcblk0p8
 179        9       3072 mmcblk0p9
 179       10         16 mmcblk0p10
 179       11        256 mmcblk0p11
 179       12        256 mmcblk0p12
 179       13      10672 mmcblk0p13
 179       14       3072 mmcblk0p14
 179       15       3072 mmcblk0p15
 179       16      10240 mmcblk0p16
 179       17      14336 mmcblk0p17
 179       18      32768 mmcblk0p18
 179       19      32768 mmcblk0p19
 179       20       7168 mmcblk0p20
 179       21       5121 mmcblk0p21
 179       22       6135 mmcblk0p22
 179       23       3072 mmcblk0p23
 179       24          8 mmcblk0p24
 179       25      32768 mmcblk0p25
 179       26       1024 mmcblk0p26
 179       27       1024 mmcblk0p27
 179       28        512 mmcblk0p28
 179       29         32 mmcblk0p29
 179       30       1024 mmcblk0p30
 179       31        256 mmcblk0p31
 259        0      16384 mmcblk0p32
 259        1     106720 mmcblk0p33
 259        2      24576 mmcblk0p34
 259        3       9216 mmcblk0p35
 259        4    4300800 mmcblk0p36
 259        5     204800 mmcblk0p37
 259        6      40960 mmcblk0p38
 259        7   25653228 mmcblk0p39
 179       32       4096 mmcblk0rpmb
gts210velte:/ $ ls -la /dev/block/bootdevice                                                     
lrwxrwxrwx    1 root         root                39 Feb 19  2016 /dev/block/bootdevice -> /dev/block/platform/soc.0/7824900.sdhci
gts210velte:/ $ ls -la /dev/block/platform/soc.0/7824900.sdhci/by-name/
drwxr-xr-x    2 root         root               820 Feb 19  2016 .
drwxr-xr-x    4 root         root               900 Feb 19  2016 ..
lrwxrwxrwx    1 root         root                20 Feb 19  2016 aboot -> /dev/block/mmcblk0p5
lrwxrwxrwx    1 root         root                21 Feb 19  2016 apnhlos -> /dev/block/mmcblk0p34
lrwxrwxrwx    1 root         root                21 Feb 19  2016 backup -> /dev/block/mmcblk0p22
lrwxrwxrwx    1 root         root                21 Feb 19  2016 boot -> /dev/block/mmcblk0p18
lrwxrwxrwx    1 root         root                21 Feb 19  2016 bota -> /dev/block/mmcblk0p20
lrwxrwxrwx    1 root         root                21 Feb 19  2016 cache -> /dev/block/mmcblk0p37
lrwxrwxrwx    1 root         root                21 Feb 19  2016 cmnlib -> /dev/block/mmcblk0p12
lrwxrwxrwx    1 root         root                21 Feb 19  2016 config -> /dev/block/mmcblk0p29
lrwxrwxrwx    1 root         root                20 Feb 19  2016 ddr -> /dev/block/mmcblk0p3
lrwxrwxrwx    1 root         root                21 Feb 19  2016 devcfg -> /dev/block/mmcblk0p31
lrwxrwxrwx    1 root         root                21 Feb 19  2016 dsp -> /dev/block/mmcblk0p32
lrwxrwxrwx    1 root         root                21 Feb 19  2016 efs -> /dev/block/mmcblk0p17
lrwxrwxrwx    1 root         root                21 Feb 19  2016 fota -> /dev/block/mmcblk0p21
lrwxrwxrwx    1 root         root                21 Feb 19  2016 fsc -> /dev/block/mmcblk0p23
lrwxrwxrwx    1 root         root                20 Feb 19  2016 fsg -> /dev/block/mmcblk0p9
lrwxrwxrwx    1 root         root                21 Feb 19  2016 hidden -> /dev/block/mmcblk0p38
lrwxrwxrwx    1 root         root                20 Feb 19  2016 hyp -> /dev/block/mmcblk0p8
lrwxrwxrwx    1 root         root                21 Feb 19  2016 keymaster -> /dev/block/mmcblk0p11
lrwxrwxrwx    1 root         root                21 Feb 19  2016 keystore -> /dev/block/mmcblk0p28
lrwxrwxrwx    1 root         root                20 Feb 19  2016 limits -> /dev/block/mmcblk0p4
lrwxrwxrwx    1 root         root                21 Feb 19  2016 modem -> /dev/block/mmcblk0p33
lrwxrwxrwx    1 root         root                21 Feb 19  2016 modemst1 -> /dev/block/mmcblk0p14
lrwxrwxrwx    1 root         root                21 Feb 19  2016 modemst2 -> /dev/block/mmcblk0p15
lrwxrwxrwx    1 root         root                21 Feb 19  2016 mota -> /dev/block/mmcblk0p30
lrwxrwxrwx    1 root         root                21 Feb 19  2016 pad -> /dev/block/mmcblk0p13
lrwxrwxrwx    1 root         root                21 Feb 19  2016 param -> /dev/block/mmcblk0p16
lrwxrwxrwx    1 root         root                21 Feb 19  2016 persdata -> /dev/block/mmcblk0p35
lrwxrwxrwx    1 root         root                21 Feb 19  2016 persist -> /dev/block/mmcblk0p25
lrwxrwxrwx    1 root         root                21 Feb 19  2016 persistent -> /dev/block/mmcblk0p26
lrwxrwxrwx    1 root         root                21 Feb 19  2016 recovery -> /dev/block/mmcblk0p19
lrwxrwxrwx    1 root         root                20 Feb 19  2016 rpm -> /dev/block/mmcblk0p6
lrwxrwxrwx    1 root         root                20 Feb 19  2016 sbl1 -> /dev/block/mmcblk0p1
lrwxrwxrwx    1 root         root                20 Feb 19  2016 sbl1bak -> /dev/block/mmcblk0p2
lrwxrwxrwx    1 root         root                21 Feb 19  2016 sec -> /dev/block/mmcblk0p10
lrwxrwxrwx    1 root         root                21 Feb 19  2016 ssd -> /dev/block/mmcblk0p24
lrwxrwxrwx    1 root         root                21 Feb 19  2016 steady -> /dev/block/mmcblk0p27
lrwxrwxrwx    1 root         root                21 Feb 19  2016 system -> /dev/block/mmcblk0p36
lrwxrwxrwx    1 root         root                20 Feb 19  2016 tz -> /dev/block/mmcblk0p7
lrwxrwxrwx    1 root         root                21 Feb 19  2016 userdata -> /dev/block/mmcblk0p39

Installation

installed system directly on device:

  • pmbootstrap install
  • pmbootstrap flasher flash_rootfs
  • pmbootstrap flasher flash_kernel # after this command finishes, device reboots and pmOS starts :-)
  • had to follow USB_Network#Assigning_an_IP_address as IP to host computer was not automatically assigned:
    • sudo ip link set TheNetDevName address 12:12:12:12:12:12
    • not always needed?: sudo ip address add dev TheNetDevName 172.16.42.2/24; sudo dhclient -v TheNetDevName
  • ssh -p 22 user@172.16.42.1

Developer Notes

  • device is nearly identical to Samsung Galaxy Tab S2 9.7 Wifi (samsung-gts210vewifi) aka. SM-T813, just has LTE modem additionally.
  • linux-samsung-gts210velte (vendor-kernel 3.10.102) only works if compiled with gcc6 right now, otherwise get 'Unhandled fault: alignment fault (0x96000061) at 0xffffff8001787f4c' errors on kernel startup, and device always reboots.

See also

https://gitlab.postmarketos.org/postmarketOS/pmaports/merge_requests/346