Samsung Galaxy Tab A 8.0 2015 (samsung-gt58): Difference between revisions
m rollbackEdits.php mass rollback Tag: Rollback |
m gitlab.com -> gitlab.postmarketos.org (bot edit) |
||
(15 intermediate revisions by 8 users not shown) | |||
Line 7: | Line 7: | ||
| releaseyear = 2015 | | releaseyear = 2015 | ||
| category = community | | category = community | ||
| originalsoftware = Android 7.1.1 | | originalsoftware = Android | ||
| originalversion = 7.1.1 (Linux 3.10.49) | |||
| pmoskernel = Mainline | |||
| chipset = Qualcomm Snapdragon 410 (MSM8916) | | 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 = 16 GB | | storage = 16 GB | ||
| genericdevice=Generic MSM8916 (qcom-msm8916) | |||
| optionalgenericdevice = yes | |||
| display = 768x1024 (XGA) PLS | | display = 768x1024 (XGA) PLS | ||
| memory = 2 GB | | memory = 2 GB | ||
Line 27: | Line 31: | ||
| status_3d = Y | | status_3d = Y | ||
| status_accel = Y | | status_accel = Y | ||
| status_hall = Y | |||
| status_barometer = - | |||
| status_keyboard = - | |||
| status_usba = - | |||
| status_audio = Y | | status_audio = Y | ||
| status_bluetooth = Y | | status_bluetooth = Y | ||
Line 40: | Line 48: | ||
| status_nfc = - | | status_nfc = - | ||
| status_irtx = - | | status_irtx = - | ||
}}{{Based on SoC|Qualcomm_Snapdragon_410/412_(MSM8916)|Snapdragon 410}} | }}{{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. | '''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. | ||
Line 53: | Line 61: | ||
|- | |- | ||
! GPS | ! GPS | ||
| | | style="text-align:center;" |Partial || class="feature feature-yes" | Works || WiFi: cli [[#GPS investigation gt58wifi (SM-T350)|investigation]] WIP. | ||
|- | |- | ||
! Mobile data | ! Mobile data | ||
Line 66: | Line 74: | ||
Note: The WiFi variant gt58wifi chipset is [[Qualcomm_Snapdragon_410/412_(MSM8916)|APQ8016]]. | Note: The WiFi variant gt58wifi chipset is [[Qualcomm_Snapdragon_410/412_(MSM8916)|APQ8016]]. | ||
== Contributors == | == Contributors == | ||
Line 97: | Line 103: | ||
* '''How to charge device ?''' | * '''How to charge device ?''' | ||
Charger driver is not present at this time. Turn off your device and plug it in. The device will boot and get charged. You can check if the device charges by reading the value from <code>/sys/class/power_supply/max170xx_battery/current_now</code> | Charger driver is not present at this time. Turn off your device and plug it in. The device will boot and get charged. You can check if the device charges by reading the value from <code>/sys/class/power_supply/max170xx_battery/current_now</code> | ||
Battery percentage | |||
<code>/sys/class/power_supply/max170xx_battery/capacity</code> | |||
* '''Display Artifacts during brightness adjustment''' | * '''Display Artifacts during brightness adjustment''' | ||
Line 126: | Line 135: | ||
| Light Sensor || Capella Micro CM3323 (Same as gt510wifi) || Yes || Yes | | Light Sensor || Capella Micro CM3323 (Same as gt510wifi) || Yes || Yes | ||
|- | |- | ||
| Display || Samsung S6D7AA0 LSL080AL03 || | | Display || Samsung S6D7AA0 LSL080AL03 || Yes || Working in kernel fork | ||
|- | |- | ||
| Backlight IC || Texas Instruments lp8556 || Not strictly needed || Brightness is set through DSI, PWM signal goes to lp8556 | | Backlight IC || Texas Instruments lp8556 || Not strictly needed || Brightness is set through DSI, PWM signal goes to lp8556 | ||
Line 473: | Line 482: | ||
*# https://datasheets.maximintegrated.com/en/ds/MAX77818.pdf | *# https://datasheets.maximintegrated.com/en/ds/MAX77818.pdf | ||
*# https://datasheets.maximintegrated.com/en/ds/MAX77829.pdf | *# https://datasheets.maximintegrated.com/en/ds/MAX77829.pdf | ||
== Hardware / sensor status and details == | |||
Output from <code>hwtest</code> on SM-T350, pmos V23.12. | |||
Note that hwtest expects accelerometer units to be ''g'', whereas the data appear to be ''m/s<sup>2</sup>''. | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width:640px; overflow:auto;"> | |||
hwtest | |||
<div class="mw-collapsible-content"> | |||
{| class="wikitable feature-colors" | |||
! style="text-align:left;"| Category | |||
! style="text-align:left;"| Model | |||
! style="text-align:left;"| Path | |||
! style="text-align:left;"| Status | |||
! style="text-align:left;"| Value | |||
|- | |||
|framebuffer | |||
|msmdrmfb | |||
|/sys/class/graphics/fb0 | |||
| class="feature-yes"| Working | |||
|U:768x1024p-0 | |||
|- | |||
|drm | |||
| | |||
|/sys/class/drm/card0-DSI-1 | |||
| class="feature-yes"| Working | |||
|768x1024 | |||
|- | |||
|accelerometer | |||
|lis2hh12 | |||
|/sys/bus/iio/devices/iio:device2 | |||
| class="feature-yes"| Working | |||
|5.22, 0.57, -8.17 g | |||
|- | |||
|vibrator | |||
|gpio-vibrator | |||
|/dev/input/event5 | |||
| class="feature-yes"| Working | |||
| | |||
|- | |||
|input | |||
|pm8941_pwrkey | |||
|/dev/input/event0 | |||
| class="feature-yes"| Working | |||
| | |||
|- | |||
|input | |||
|pm8941_resin | |||
|/dev/input/event1 | |||
| class="feature-yes"| Working | |||
| | |||
|- | |||
|input | |||
|GPIO Buttons | |||
|/dev/input/event2 | |||
| class="feature-yes"| Working | |||
| | |||
|- | |||
|input | |||
|GPIO Hall Effect Sensor | |||
|/dev/input/event3 | |||
| class="feature-yes"| Working | |||
| | |||
|- | |||
|input | |||
|Zinitix Capacitive TouchScreen | |||
|/dev/input/event4 | |||
| class="feature-yes"| Working | |||
| | |||
|- | |||
|input | |||
|samsung-a2015 Headset Jack | |||
|/dev/input/event6 | |||
| class="feature-yes"| Working | |||
| | |||
|} | |||
</div> | |||
</div> | |||
== GPS investigation gt58wifi (SM-T350) == | == GPS investigation gt58wifi (SM-T350) == | ||
For overview, see [[Qualcomm_Snapdragon_410/412_(MSM8916)|Snapdragon 410/412#Modem]] | |||
Test setup: pre-built image, v24.06, soc-qcom-msm8916-rproc-all, phosh/mmcli. | |||
Location service is enumerated, | |||
$ qrtr-lookup 16 | |||
Service Version Instance Node Port | |||
16 2 0 0 14 Location service (~ PDS v2) | |||
Due to "no modem", replace device <code>/dev/modem</code> with uri <code>qrtr://0</code> (undocumented, or worse). | |||
Location features are get/set-able, | |||
# qmicli -V | |||
qmicli 1.34.0 | |||
# qmicli -d qrtr://0 --loc-get-nmea-types | |||
Successfully retrieved NMEA types: gga, rmc, gsv, gsa, vtg, pqxfi, pstis | |||
# qmicli -d qrtr://0 --loc-get-engine-lock | |||
Successfully retrieved engine lock: none | |||
But, almost any hack may work, since the api is apparently autogenerated, not designed, | |||
# qmicli -d qrtr://-0:anything-here! --loc-get-operation-mode | |||
Successfully retrieved operation mode: standalone | |||
# qmicli -d qrtr://-1 --loc-get-operation-mode | |||
error: node with id 4294967295 not found in QRTR bus | |||
Ignorant end-user attempts at matching [[Qualcomm_Snapdragon_410/412_(MSM8916)#GNSS_(GPS)|Snapdragon 410/412#GNSS_(GPS)]] fail | |||
# qmicli -d qrtr://0 --loc-start --client-no-release-cid | |||
[qrtr://0] Successfully started location tracking (session id 0) | |||
[qrtr://0] Client ID not released: | |||
Service: 'loc' | |||
CID: '1' | |||
# qmicli -d qrtr://0 --loc-follow-nmea --client-cid=1 | |||
error: operation failed: Unknown client 1 for service loc | |||
"Downstream gpsd-pds" works. See [[Arrow_DragonBoard_410c_(arrow-db410c)#Location_service_(PDS)|arrow-db410c#Location_service_(PDS)]]. | |||
If you're interested in bringing up the modem/gps on APQ variants of the device, feel free to reach out to travmurav via pmOS [[Matrix_and_IRC]] channels. | If you're interested in bringing up the modem/gps on APQ variants of the device, feel free to reach out to travmurav via pmOS [[Matrix_and_IRC]] channels. | ||
== See also == | == See also == | ||
* {{Device package|samsung-gt58|community}} | * {{Device package|samsung-gt58|community}} | ||
* [https://gitlab. | * [https://gitlab.postmarketos.org/postmarketOS/pmaports/-/tree/master/main/linux-postmarketos-qcom-msm8916 msm8916 mainline kernel package] | ||
* [[Samsung_Galaxy_Tab_A_9.7_2015_(samsung-gt510)]] | * [[Samsung_Galaxy_Tab_A_9.7_2015_(samsung-gt510)]] | ||
* [https://github.com/msm8916-mainline/linux Mainline kernel tree for msm8916 devices] | * [https://github.com/msm8916-mainline/linux Mainline kernel tree for msm8916 devices] |
Latest revision as of 14:00, 4 November 2024
This page is about the dedicated port of this device. There is also an optional generic port available for this device - see Generic MSM8916 (qcom-msm8916). |
![]() Samsung Galaxy Tab A 8.0 LTE (SM-T355Y) | |
Manufacturer | Samsung |
---|---|
Name | Galaxy Tab A 8.0 (2015) |
Codename | samsung-gt58 |
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 | 16 GB |
Memory | 2 GB |
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 | 921 |
Optional Generic Port | Generic MSM8916 (qcom-msm8916) |
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 |
Works |
SMS |
Works |
Mobile data |
Works |
Miscellaneous | |
FDE |
Works |
USB OTG |
Broken |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Works |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
Works |
Haptics |
No data |
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 8.0 inch variant of the device (WiFi, LTE, with and without the pen support). Note that those variants may have different amount of RAM. For 9.7 inch variants see Samsung Galaxy Tab A 9.7.
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: cli investigation WIP. |
Mobile data | Unavailable | Works | |
SMS | Unavailable | Works | |
Calls | Unavailable | Works |
Note: The WiFi variant gt58wifi chipset is APQ8016.
Contributors
- Hello-world-321
Maintainer(s)
- TravMurav
Users owning this device
- AppData 174 (Notes: SM-T355)
- Baonks81 (Notes: sm-t355y 2GB/16GB)
- BlackEyedSquid (Notes: SM-T350 Wi-Fi variant)
- Breakfastisready (Notes: sm-t355y 2GB/16GB)
- FieryFlames (Notes: SM-T350 16GB)
- Tdfischer (Notes: Streaming deck, works great)
- TravMurav (Notes: SM-T355 (LTE variant, defective radios))
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
.
- Download lk2nd-msm8916.img from Releases page on Github.
- Boot your phone to bootloader (Odin/Download) mode by holding and while powering up.
- Follow lk2nd instructions to install lk2nd. Basically flash it to the boot partition (
heimdall flash --BOOT lk2nd-msm8916.img
) - Follow Qualcomm_Snapdragon_410/412_(MSM8916)#Installation to install postmarketOS.
Note: Enter lk2nd fastboot mode by pressing only | + (without ). Pressing additionally will bring you to the Samsung Download mode.
Audio
WARNING: The speakers are rather loud on 100% volume and may produce distorted sound that may damage your speakers after long use. Please make sure to use reasonable volumes - your ears and your speaker will thank you! |
Known Bugs and Workarounds
- Multi-touch doesn't work
This is a known issue: The touch controller sends the events in a different format that the driver can decode. Fix is WIP.
- How to charge device ?
Charger driver is not present at this time. Turn off your device and plug it in. The device will boot and get charged. You can check if the device charges by reading the value from /sys/class/power_supply/max170xx_battery/current_now
Battery percentage
/sys/class/power_supply/max170xx_battery/capacity
- Display Artifacts during brightness adjustment
Turn display off (lock device using power button) and turn on again to remove artifacts until next brightness change. Auto brightness should be turned off due display bug.
- Automatically switch to headset and turn off speakers when headset plugged in or cannot switch to speakers during phone calls
Select headset from settings after plugging in headset (Known issue)
Mainline Kernel Status
Table of components in the device
Patch to enable otg
The following patch modifies max77843 extcon driver for max77849 and adds support in device tree
After applying this patch the driver will not work for max77843. There are unhandled interrupts which will be disabled by linux.
Patch
Reference datasheets (similar devices)
- MFD : https://www.infinite-electronic.kr/datasheet/94-MAX14616AEWA.pd
- Charger : https://datasheets.maximintegrated.com/en/ds/MAX77860.pdf
- Others :
Hardware / sensor status and details
Output from hwtest
on SM-T350, pmos V23.12.
Note that hwtest expects accelerometer units to be g, whereas the data appear to be m/s2.
hwtest
GPS investigation gt58wifi (SM-T350)
For overview, see Snapdragon 410/412#Modem
Test setup: pre-built image, v24.06, soc-qcom-msm8916-rproc-all, phosh/mmcli.
Location service is enumerated,
$ qrtr-lookup 16 Service Version Instance Node Port 16 2 0 0 14 Location service (~ PDS v2)
Due to "no modem", replace device /dev/modem
with uri qrtr://0
(undocumented, or worse).
Location features are get/set-able,
# qmicli -V qmicli 1.34.0 # qmicli -d qrtr://0 --loc-get-nmea-types Successfully retrieved NMEA types: gga, rmc, gsv, gsa, vtg, pqxfi, pstis # qmicli -d qrtr://0 --loc-get-engine-lock Successfully retrieved engine lock: none
But, almost any hack may work, since the api is apparently autogenerated, not designed,
# qmicli -d qrtr://-0:anything-here! --loc-get-operation-mode Successfully retrieved operation mode: standalone # qmicli -d qrtr://-1 --loc-get-operation-mode error: node with id 4294967295 not found in QRTR bus
Ignorant end-user attempts at matching Snapdragon 410/412#GNSS_(GPS) fail
# qmicli -d qrtr://0 --loc-start --client-no-release-cid [qrtr://0] Successfully started location tracking (session id 0) [qrtr://0] Client ID not released: Service: 'loc' CID: '1' # qmicli -d qrtr://0 --loc-follow-nmea --client-cid=1 error: operation failed: Unknown client 1 for service loc
"Downstream gpsd-pds" works. See arrow-db410c#Location_service_(PDS).
If you're interested in bringing up the modem/gps on APQ variants of the device, feel free to reach out to travmurav via pmOS Matrix_and_IRC channels.