Samsung Galaxy Tab 3 7.0 (samsung-lt023g)

From postmarketOS Wiki
Samsung Galaxy Tab 3 7.0
Samsung Galaxy Tab 3 7.0
Samsung Galaxy Tab 3 7.0
Manufacturer Samsung
Name Galaxy Tab 3 7.0
Codename samsung-lt023g
Released 2013
Type tablet
Hardware
Chipset Marvell PXA986
CPU Dual-core 1.2 GHz Cortex-A9
GPU Vivante GC1000
Display 1024×600 TFT
Storage 16GB
Memory 1GB
Architecture armv7
Software
Original software Android
Original version 4.4.2 (Linux 3.4.5)
postmarketOS
Category testing
Pre-built images no
Unixbench Whet/Dhry score 564.6
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Audio
Camera
Works
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Partial
GPS
NFC
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
Works
USB OTG
HDMI/DP
Sensors
Accelerometer
Works
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer


Firefox on Matchbox

Maintainer

  • hpagseddy

Users owning this device


Entering flash mode

  • Power down the device, then press and hold Volume Down + Home + Power simultaneously.
  • Once the device vibrates, release Power, but keep Volume Down and Home held.
  • The device will ask you if you wish to upload a custom OS. Press Volume Up to confirm.
  • Once the device displays "Odin mode" in the top-left of the screen, it is ready for flashing.

Entering recovery mode

  • Power down the device, then press and hold Volume Up + Home + Power simultaneously.
  • Once the device vibrates, release Power, but keep Volume Up and Home held.

Installation

Note: Add deviceinfo_create_initfs_extra="true" to deviceinfo as the kernel will panic without it. Kernel can be installed via pmbootstrap flasher flash_kernel after entering flash mode. To install rootfs add deviceinfo_flash_sparse="true" to the deviceinfo file. If you want to install to USERDATA partition use the partition name USER.

Packages required for installation

Packages required for a working installation are:

  • linux-firmware-mrvl
  • networkmanager
  • networkmanager-cli
  • xterm (in case your DE choice has no terminal built-in)
  • zstd (to extract firmware files)

What works

See devicetable on the right.

  • Booting off a microSD card
  • Booting from system partition using Android recovery ZIP option
  • Physical buttons
  • Touch keys
  • Backlight brightness
  • Battery indicator
  • Wayland
  • X11
  • Front and back Camera (/dev/video0 - front camera, /dev/video1 - back camera)
  • Sensors
  • Bluetooth (only shows available devices. Still looking for a way to connect to a device)

What does not work

  • Cellular networking(not exist on some models)
  • 2D and 3D Acceleration
  • Audio

Everything else is untested as of writing this.

Incompatible software

Due to the lack of upstream support for the PXA986 SoC, the kernel remains to a very old 3.4.5 version. As of 2023, there is still largely chance that the software on the edge channel of postmarketOS will run on this device with some notable exceptions. Concerning the choice of the environment, LXQt works out of the box. It has been reported that Xfce4, GNOME, and MATE never reach the desktop.

Some issues related to general software:

  • Software using sandboxing will fail (e.g. epiphany browser). Of course, this includes all flatpaks as well
  • /etc/fstab cannot be used to mount a partition (an unsupported kernel syscall in newer versions of mount prevents the access to the file)
  • Some programs will just fail to start

How hpagseddy get camera working

Right now it's not usable for daily use, just for testing camera quality and checking if camera is working or not. I used the "motion" package from Alpine Linux to capture pictures. If you want to test it too, just use apk add motion command to install that package. Then simply type "motion" and it will start capturing pictures nearly every second. If it doesn't capture pictures or pictures are just black squares then your camera isn't working. For opening pictures, I used feh image viewer to view images but every gallery app works great.

How to get WiFi working

Install linux-firmware-mrvl to get the necessary firmware files. Navigate to /lib/firmware/mrvl and run sudo unzstd *.bin.zstd to extract firmware, (as kernel does not support compressed firmware). Reboot the device after install. Run sudo ifconfig mlan0 up, then configure wpa_supplicant:

$ wpa_passphrase YOUR_SSID YOUR_PASSPHRASE | sudo tee /etc/wpa_supplicant/wpa_supplicant.conf

Then run:

sudo rc-service wpa_supplicant start
sudo udhcpc -i mlan0

Note: You need to turn rndis0 off using sudo ifconfig rndis0 down if you used USB Internet. Also remove usb_internet.start from /etc/local.d. If starting the service didn't work, start wpa_supplicant manually with:

sudo wpa_supplicant -u -Dnl80211 -B -c /etc/wpa_supplicant/wpa_supplicant.conf -imlan0

You might need to kill the existing process if the wpa_supplicant service fails to start (find it for example with htop).

You can also use NetworkManager, stop and disable wpa_supplicant (sudo rc-service wpa_supplicant stop ; sudo rc-update del wpa_supplicant), and restart NetworkManager (sudo rc-service networkmanager restart ; sudo rc-update add networkmanager).

Notes

As of 2023, wpa_supplicant does not work to connect to WiFi, use NetworkManager to connect and run udhcpc to get a DHCP lease.

About GPU

The GPU is Vivante GC1000 which has open source drivers but we can't get it work yet. The reverse engineered driver is called etnaviv and the compiling process is a little bit complex. If anyone figures it out don't forget to tag @hpagseddy at postmarketOS Matrix server.

Wayland works, but you may get better battery life with X11 (tested GNOME vs MATE).

Mainline

The PXA986 SoC has no support upstream (https://www.kernel.org/doc/html/latest/arm/marvell.html#mmp-mmp2-mmp3-family-communication-processor).

Links