Jump to content

Samsung Galaxy Tab A 9.7 2015 (samsung-gt510): Difference between revisions

From postmarketOS Wiki
TravMurav (talk | contribs)
m no nfc, other stuff is WIP
Knuxify (talk | contribs)
m gitlab.com -> gitlab.postmarketos.org (bot edit)
 
(37 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{Infobox device
{{Infobox device
| manufacturer = Samsung
| manufacturer = Samsung
| name =  Galaxy Tab A 9.7 WiFi (2015)
| name =  Galaxy Tab A 9.7 (2015)
| codename = samsung-gt510wifi
| codename = samsung-gt510
| image = File:Gt510wifi_fixed.jpg
| image = File:Gt510wifi_fixed.jpg
| imagecaption = Samsung Galaxy Tab A 9.7 WiFi (2015)
| imagecaption = Samsung Galaxy Tab A 9.7 WiFi (2015)
| releaseyear = 2015
| releaseyear = 2015
| originalsoftware = Android 7.1.1 with Linux Kernel version 3.10.49
| category = community
| pmoskernel = 5.6.0
| originalsoftware = Android
| chipset = Qualcomm APQ8016 Snapdragon 410
| originalversion = 7.1.1 (Linux 3.10.49)
| pmoskernel = Mainline
| chipset = Qualcomm Snapdragon 410 (MSM8916)
| cpu = Quad-core 1.2 GHz Cortex-A53
| cpu = Quad-core 1.2 GHz Cortex-A53
| gpu = Qualcomm Adreno 306
| gpu = Qualcomm Adreno 306
| storage = 16GB
| storage = 16GB
| display = 1024x768 (XGA) PLS
| display = 768x1024 (XGA) PLS
| memory = 1.5GB
| memory = 2GB
| architecture = aarch64
| architecture = aarch64
| type = Tablet
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
| status_usbnet = Y
| status_usbnet = Y
Line 22: Line 25:
| status_wifi = Y
| status_wifi = Y
| status_xwayland = Y
| status_xwayland = Y
| status_fde =  
| status_fde = Y
| status_mainline = Y
| status_mainline = Y
| status_battery =
| status_battery = P
| status_3d = P
| status_3d = Y
| status_accel = Y
| status_accel = Y
| status_light = Y
| status_barometer = -
| status_hall = Y
| status_audio = Y
| status_audio = Y
| status_bluetooth = Y
| status_bluetooth = Y
| status_camera =
| status_camera =
| status_gps =
| status_gps = Y
| status_mobiledata = -
| status_mobiledata = Y
| status_sms = -
| status_sms = Y
| status_calls = -
| status_calls = P
| status =  
| status =  
| booting = yes
| booting = yes
| status_otg =
| status_otg =
| status_nfc = -
| status_nfc = -
| status_irtx = -
| whet_dhry = 904.0
| whet_dhry = 904.0
}}
}}{{Based on SoC|Qualcomm_Snapdragon_410/412_(MSM8916)|Snapdragon 410}}
 
'''Samsung Galaxy Tab A (2015)''' is a series of devices based on [[Qualcomm_Snapdragon_410/412_(MSM8916)|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_2015_(samsung-gt58)|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:
{| class="wikitable"
|-
! style=min-width:8em | Feature !! style=min-width:8em | WIFI !! style=min-width:8em | LTE !! Notes
|-
! GPS
| class="feature feature-partial" | Partial || class="feature feature-yes" | Works || [[#WiFi variant|WiFi variant]] needs investigation. Modem support is not enabled for the WiFi variant at this time.
|-
! Mobile data
| class="feature feature-unavailable" | Unavailable || class="feature feature-yes" | Works ||
|-
! SMS
| class="feature feature-unavailable" | Unavailable || class="feature feature-yes" | Works ||
|-
! Calls
| class="feature feature-unavailable" | Unavailable || class="feature feature-partial" | Partial || See "Known Issues" below for call audio.
|}


== Contributors ==
== Contributors ==
* jja2000
* jja2000
* TravMurav
* Minecrell (and others from the msm8916-mainline team)
* Minecrell (and others from the msm8916-mainline team)


== Maintainer(s) ==
== Maintainer(s) ==
* TravMurav
* jja2000
* jja2000
* TravMurav (LTE variant)
* The MSM8916-Mainline team


== Users owning this device ==
== Users owning this device ==
{{Device owners}}
{{Device owners}}
<!-- autogenerated, use {{Owns device|devicepage|notes}} on your profile page -->
<!-- use _ instead of spaces in device page name, e.g. {{Owns device|Nokia_N900|broken screen}}-->
<!-- you may need to purge page cache to see changes (more->purge cache)-->
<!-- you can use {{My devices}} on your profile page to show table with all your devices -->


== How to enter flash mode ==
== How to enter flash mode ==
Line 62: Line 88:


'''lk2nd Fastboot:'''
'''lk2nd Fastboot:'''
Boot up the device after installation
When turned off hold Power + Volume Down


== Installation ==
== Installation ==
# Install [https://github.com/msm8916-mainline/lk2nd#readme lk2nd] (alternative bootloader that provides a standard fastboot interface) when a new release includes this device's device tree.
{{lk2nd|samsung=true|target=msm8916}}
# Follow [[Qualcomm_Snapdragon_410/412_(MSM8916)#Installation]].
 
== 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 <code>/sys/class/power_supply/max170xx_battery/current_now</code>
* 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 ==
== Mainline Kernel Status ==
<div class="toccolours mw-collapsible mw-collapsed" style="overflow: auto;">
Table of components in the device
<div class="mw-collapsible-content">
{| class="wikitable"
{| class="wikitable"
|-
|-
  ! Component !! Model !! Mainline kernel driver !! Status
  ! Component !! Model !! Mainline kernel driver !! Status
|-
|-
| RGB LED || ? || ? || ?
| RGB LED || ? || ? || Doesn't exist in hardware?
|-
|-
| MicroUSB || - || Yes || Working in kernel fork
| MicroUSB || - || Yes || Working in kernel fork (Only Peripheral mode)
|-
|-
| eMMC || (Android lists) Toshiba 400073 || Yes || Working in kernel fork
| eMMC || (Android lists) Toshiba 400073 || Yes || Working in kernel fork
|-
|-
| Battery/Charging/Fuelgauge || MAX77849 || ? || ?
| Battery/Charging/Fuelgauge || MAX77849 || ? || Fuel-Gauge works with mainline driver, charger may work unconfigured.
|-
|-
| Volume/Power/Home keys || GPIO || Yes || Working in kernel fork
| Volume/Power/Home keys || GPIO || Yes || Working in kernel fork
Line 85: Line 119:
| Capacitive keys || Part of Atmel Touchscreen || No || Needs driver changes
| Capacitive keys || Part of Atmel Touchscreen || No || Needs driver changes
|-
|-
| Accelerometer || STMicroelectronics K2HH || [https://github.com/msm8916-mainline/linux/blob/master/drivers/iio/accel/st_accel_i2c.c Yes, supported in kernel fork] || Same as matissevewifi, should work without trouble
| Accelerometer || STMicroelectronics K2HH || [https://github.com/msm8916-mainline/linux/blob/master/drivers/iio/accel/st_accel_i2c.c Yes, supported in kernel fork] || Same as matisseve, should work without trouble
|-
|-
| Light Sensor || Capella Micro CM3323 || Yes || Missing DT bindings
| Light Sensor || Capella Micro CM3323 || Yes ||  
|-
|-
| Display || Samsung S6D7AA0 LTL101AT01 || No || Working in kernel fork
| 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
| 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).
| Audio || PM8916/MAX98357A || Yes || Audio over headset and mic work. Speakers are powered by external amp (MAX98357A or similar).
Line 107: Line 141:
| Bluetooth || WCN3660B || Yes || Working in kernel fork, Using the WCN3660B compatible
| Bluetooth || WCN3660B || Yes || Working in kernel fork, Using the WCN3660B compatible
|-
|-
| GPS || ? || ? || Part of modem DSP
| 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 || [https://forum.xda-developers.com/showpost.php?p=28482154&postcount=242 Not sure, but there's a datasheet] ||
| Front camera || Siliconfile Technologies Inc. SR200PC20 || No || [https://forum.xda-developers.com/showpost.php?p=28482154&postcount=242 Not sure, but there's a datasheet]
|-
|-
| Main camera || Siliconfile Technologies Inc. SR544 || [https://github.com/jgsun/mrvl-3.14/commit/d595e2b Old v4l2 patch for unrelated hardware], may be adaptable to current Mainline ||
| Main camera || Siliconfile Technologies Inc. SR544 || No || [https://github.com/jgsun/mrvl-3.14/commit/d595e2b 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 or if possible edit the table itself.
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.
 
</div></div>
 
===WiFi variant===
The WiFi variant gt510wifi (model number SM-T550, 1.5/16GB) is APQ8016 (at least according to <code>/proc/cpuinfo</code> under <code>adb</code> 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_DragonBoard_410c_(arrow-db410c)|arrow-db410c]]).
The sparse sensor suite agrees with that given in the table above, namely K2HH, CM3323, SX9500.
 
The flash mode access differs from [[Samsung_Galaxy_Tab_A_9.7_2015_(samsung-gt510)#How_to_enter_flash_mode|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 [[Qualcomm_Snapdragon_410/412_(MSM8916)#Modem|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 <code>none</code>, the value should be reset as soon as some satellites are seen.
The command (if any) to start location service is unknown.
Upstream <code>gpsd</code> does not contain PDS driver; use an [[Arrow_DragonBoard_410c_(arrow-db410c)#Location_service_(PDS)|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 <code>rproc-all</code> is replaced with <code>soc-qcom-msm8916-rproc-no-modem</code>.
 
== Pictures ==
 
<gallery>
File:Gt510-interior.jpg|thumb|left|Samsung Galaxy Tab A running phosh
</gallery>


== See also ==
== See also ==
<!--
* {{Device package|samsung-gt510|community}}
Link to related gitlab issues or merge requests like the following (replace CHANGEME with the ID, e.g. 1234):
* [https://gitlab.postmarketos.org/postmarketOS/pmaports/-/tree/master/main/linux-postmarketos-qcom-msm8916 msm8916 mainline kernel package]
* {{MR|CHANGEME|pmaports}} Initial merge request
* [[Samsung_Galaxy_Tab_A_8.0_2015_(samsung-gt58)]]
* {{issue|CHANGEME|pmaports}} Some related issue
* [https://github.com/msm8916-mainline/linux Mainline kernel tree for msm8916 devices]
You can also add normal web links:
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 Replicant wiki page]
-->
* [https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/testing/device-samsung-gt510wifi Device package]
* [https://gitlab.com/postmarketOS/pmaports/tree/master/main/linux-postmarketos-qcom-msm8916 Kernel package]
* [[Samsung_Galaxy_Tab_A_8.0_LTE_(2015)_(samsung-gt58lte)]]
<!--
If you manage to get your device packages merged, uncomment links below and change DEVICE_CODENAME with the actual one.
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/device-DEVICE_CODENAME Device package]
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/linux-DEVICE_CODENAME Kernel package]
 
-->

Latest revision as of 14:00, 4 November 2024

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
No data
SD card
No data
Battery
Partial
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Works
Modem
Calls
Partial
SMS
Works
Mobile data
Works
Miscellaneous
FDE
Works
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
Works
Magnetometer
No data
Ambient Light
Works
Proximity
No data
Hall Effect
Works
Haptics
No data

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

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