Samsung Galaxy Tab 3 7.0 (samsung-lt023g)

thumb|right|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 ==
Run pmbootstrap build device-samsung-lt023g --force.
Kernel can be installed via pmbootstrap flasher flash_kernel after entering flash mode. To install rootfs, run pmbootstrap flasher flash_rootfs. If you want to install to USERDATA partition (or flashing to the SYSTEM partition fails) change deviceinfo_flash_heimdall_partition_rootfs to 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.zst --force to extract firmware (as the kernel does not support compressed firmware), then reboot the device via sudo reboot.
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
If the service fails to start, you might need to kill the existing process:
sudo killall wpa_supplicant
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.
You can also try running wpa_supplicant manually:
sudo wpa_supplicant -u -Dnl80211 -B -c /etc/wpa_supplicant/wpa_supplicant.conf -imlan0
You can also use NetworkManager. Stop and disable wpa_supplicant, then restart and enable NetworkManager (sudo rc-service wpa_supplicant stop; sudo rc-update del wpa_supplicant; sudo rc-service networkmanager restart; sudo rc-update add networkmanager). After connecting to a hotspot, run udhcpc to get a DHCP lease: sudo udhcpc -i mlan0.
== 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 ==
* Wikipedia page for device
* Kernel source
* Unofficial TWRP
* Add support for the Samsung Galaxy Tab 3 7.0 (lt023g)
* Vivante Open source drivers
* more updated kernel
* sibling model Galaxy Tab 3 Lite 7.0 (samsung-goyawifi)
** Seems to share the chipset, but not the wifi (firmware 8777 vs. 8787 iirc); has some quality of life improvements over this one, eg. Install and use dhclient for networkmanager to get IP throught DHCP