Samsung Galaxy Tab A 9.7 2015 (samsung-gt510)

From postmarketOS Wiki
Samsung Galaxy Tab A 9.7 (2015)
Samsung Galaxy Tab A 9.7 WiFi (2015)
Samsung Galaxy Tab A 9.7 WiFi (2015)
Manufacturer Samsung
Name Galaxy Tab A 9.7 (2015)
Codename samsung-gt510
Released 2015
Type tablet
Hardware
Chipset Qualcomm Snapdragon 410 (MSM8916)
CPU Quad-core 1.2 GHz Cortex-A53
GPU Qualcomm Adreno 306
Display 768x1024 (XGA) PLS
Storage 16GB
Memory 2GB
Architecture aarch64
Software
Original software Android
Original version 7.1.1 (Linux 3.10.49)
postmarketOS
Category community
Pre-built images yes
postmarketOS kernel Mainline
Unixbench Whet/Dhry score 904.0
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Partial
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Works
Modem
Calls
Partial
SMS
Works
Mobile data
Works
Miscellaneous
FDE
Works
USB OTG
HDMI/DP
Sensors
Accelerometer
Works
Magnetometer
Ambient Light
Works
Proximity
Hall Effect
Works
Haptics
This device is based on the Snapdragon 410.
See the SoC page for common tips, guides and troubleshooting steps

Samsung Galaxy Tab A (2015) is a series of devices based on Qualcomm Snapdragon 410 SoC which has great mainline Linux support.

This page should generally apply to any 9.7 inch variant of the device (WiFi, LTE, with and without the pen support). Note that those variants may have different amount of RAM. For 8.0 inch variants see Samsung Galaxy Tab A 8.0.

Variant differences

The device has multiple variants, the main differences in the features are shown in the table below:

Feature WIFI LTE Notes
GPS Partial Works WiFi variant needs investigation. Modem support is not enabled for the WiFi variant at this time.
Mobile data Unavailable Works
SMS Unavailable Works
Calls Unavailable Partial See "Known Issues" below for call audio.

Contributors

  • jja2000
  • TravMurav
  • Minecrell (and others from the msm8916-mainline team)

Maintainer(s)

  • TravMurav
  • jja2000

Users owning this device

  • Fell (Notes: pmOS)
  • Grimler
  • Jja2000 (Notes: Contributed, I have two of these now)
  • Lebedinets (Notes: SM-T555)
  • QC8086 (Notes: WiFi)
  • Roboe (Notes: (second hand) SM-P550 16GB (gt5note10wifi); broken S-Pen tip; running pmOS stable with lk2nd bootloader (flipped touch by the Y-axis after loading unofficial TWRP, .-.))
  • Russanandres (Notes: PMOS)
  • Samcday
  • TravMurav (Notes: SM-T555 (LTE variant))
  • UxAmadeus


How to enter flash mode

Download mode: When turned off hold Power + Volume Up + Home

lk2nd Fastboot: When turned off hold Power + Volume Down

Installation

lk2nd is a secondary bootloader that provides a standard fastboot interface, which can be used to boot postmarketOS without Android boot flashed or pmbootstrap flasher flash_kernel.

  1. Download lk2nd-msm8916.img from Releases page on Github.
  2. Boot your phone to bootloader (Odin/Download) mode by holding Volume Down and Home while powering up.
  3. Follow lk2nd instructions to install lk2nd. Basically flash it to the boot partition (heimdall flash --BOOT lk2nd-msm8916.img)
  4. Follow Qualcomm_Snapdragon_410/412_(MSM8916)#Installation to install postmarketOS.
Note Note: Enter lk2nd fastboot mode by pressing only Volume Down + Power (without Home). Pressing Home additionally will bring you to the Samsung Download mode.

Known Issues

  • Charger driver is not present at this time, but bootloader seem to enable it if the device was turned on by plugging the cable in. You can check if the device charges by reading the value from /sys/class/power_supply/max170xx_battery/current_now
  • Phone calls audio on LTE variants may be only available via headphones output at this time.
  • Due to a bug (?) in DSI driver, Brightness change DSI commands sent to the panel result in de-sync of the video data and produce some visual artifacts. To remove the artifacts simply turn the display off and on. You may want to make sure that automatic brightness control is disabled.

Mainline Kernel Status

Table of components in the device

Component Model Mainline kernel driver Status
RGB LED ? ? Doesn't exist in hardware?
MicroUSB - Yes Working in kernel fork (Only Peripheral mode)
eMMC (Android lists) Toshiba 400073 Yes Working in kernel fork
Battery/Charging/Fuelgauge MAX77849 ? Fuel-Gauge works with mainline driver, charger may work unconfigured.
Volume/Power/Home keys GPIO Yes Working in kernel fork
Capacitive keys Part of Atmel Touchscreen No Needs driver changes
Accelerometer STMicroelectronics K2HH Yes, supported in kernel fork Same as matisseve, should work without trouble
Light Sensor Capella Micro CM3323 Yes
Display Samsung S6D7AA0 LTL101AT01 Yes Working in kernel fork
Backlight IC Texas Instruments lp8558 Not strictly needed Brightness is set through DSI, PWM signal goes to lp8558 (results in artifacts as DSI commands desync the video data)
Audio PM8916/MAX98357A Yes Audio over headset and mic work. Speakers are powered by external amp (MAX98357A or similar).
Touch Screen Atmel MXT 1664T Yes Working in kernel fork
USB Switch / MUIC Part of MAX77849 ? ?
Proximity sensor Semtech SX9500 Yes Working in kernel fork, proximity sensor on the front
GPU Adreno 306 Yes Working in kernel fork
Wi-Fi WNC3660B Yes Working in kernel fork, Using the WCN3660B compatible
Bluetooth WCN3660B Yes Working in kernel fork, Using the WCN3660B compatible
GPS qcom hexagon modem In userspace Part of modem DSP: Can be handled by ModemManager or gpsd. LTE variant should work, WiFi variant need investigation.
Front camera Siliconfile Technologies Inc. SR200PC20 No Not sure, but there's a datasheet
Main camera Siliconfile Technologies Inc. SR544 No Old v4l2 patch for unrelated hardware, may be adaptable to current Mainline

Running some diagnostics programs on Android will likely point out some more info about sensors and any other specifications. At some point I (jja2000) will switch around to Android for a bit to fill in the table. If anyone reading this finds some driver for any of the missing parts let me know on Matrix and if possible edit the table itself.

WiFi variant

The WiFi variant gt510wifi (model number SM-T550, 1.5/16GB) is APQ8016 (at least according to /proc/cpuinfo under adb on the OEM device). As mentioned above, the WiFi variant is currently packaged as a feature-limited version of MSM8916, rather than as a feature-rich version of APQ8016 (e.g., arrow-db410c). The sparse sensor suite agrees with that given in the table above, namely K2HH, CM3323, SX9500.

The flash mode access differs from above (or there is simply a typo above [unverified]),

Recovery mode: When turned off hold Power + Volume Up + Home

Download/odin mode: When turned off hold Power + Volume Down + Home

GPS

For overview, see MSM8916#Modem.

gt510wifi:~$ apk info|grep rproc
soc-qcom-msm8916-rproc-all
gt510wifi:~$ qrtr-lookup 16
 Service Version Instance Node  Port
      16       2        0    0    14 Location service (~ PDS v2)
gt510wifi:~$ ls -l /dev/modem
ls: cannot access '/dev/modem': No such file or directory

Guess at a device (basically, a character string, not a true URI),

gt510wifi:~$ qmicli -d qrtr://0 --loc-get-nmea-types
Successfully retrieved NMEA types: gga, rmc, gsv, gsa, vtg, pqxfi
gt510wifi:~$ qmicli -d qrtr://0 --loc-get-operation-mode
Successfully retrieved operation mode: standalone
gt510wifi:~$ qmicli -d qrtr://0 --loc-get-engine-lock
Successfully retrieved engine lock: none

If nmea-types are none, the value should be reset as soon as some satellites are seen. The command (if any) to start location service is unknown. Upstream gpsd does not contain PDS driver; use an unpackaged version,

gt510wifi:~$ which gpsd
/usr/local/sbin/gpsd
gt510wifi:~$ gpsd -V
gpsd: 3.22 (revision 3.22)
gt510wifi:~$ gpsd -l
  NMEA0183
  Qualcomm PDS
  PPS

Manually start the daemon, as root,

# /usr/local/sbin/gpsd -bn pds://any

Run an ncurses-based client,

gt510wifi:~$ gpsmon
...
GLGSV GPGSV GPGGA GNGNS GPVTG GPGSA GNGSA BDGSA GPRMC

Manually stop the daemon.

# pkill -u nobody gpsd

Location services are not exposed in the case rproc-all is replaced with soc-qcom-msm8916-rproc-no-modem.

Pictures

See also