Samsung Galaxy Tab 2 7.0" (samsung-espresso7)

From postmarketOS
Jump to navigation Jump to search
Samsung Galaxy Tab 2 7.0
Samsung Galaxy Tab 2 7.0
Samsung Galaxy Tab 2 7.0
Manufacturer Samsung
Name Galaxy Tab 2 7.0
Codename samsung-espresso7
Released 2012
Category community
Original software Android
postmarketOS kernel 5.17.0
Hardware
Chipset TI OMAP 4430
CPU Dual-core 1.0 GHz Cortex-A9
GPU PowerVR SGX540
Display 7.0 inches, 137.9 cm2 (~58.2% screen-to-body ratio) 600 x 1024 pixels, 16:9 ratio (~170 ppi density)
Storage 8/16/32 GB
Memory 1 GB
Architecture armv7
Unixbench Whet/Dhry score 442.9
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Works
Mainline
Works
Battery
Works
3D Acceleration
Broken
Audio
Broken
Bluetooth
Works
Camera
Broken
GPS
Broken
Mobile data
Unavailable
SMS
Unavailable
Calls
Unavailable
USB OTG
Broken
NFC
Unavailable
Sensors
Accelerometer
Works
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Keyboard
Touchpad
USB-A
HDMI/DP
Ir TX
TrustZone
FOSS bootloader


This device is based on the TI OMAP 4430.
See the SoC page for common tips, guides and troubleshooting steps

Contributors

  • Mighty
  • AAT596 (testing in espressowifi variant)

Users owning this device

  • H ro
  • Mighty (Notes: Mainline go brr)
  • Nieldv (Notes: 7" wifi, runs pmos, crack in digitizer)
  • Piero-e (Notes: 7.0" inch WIFI / gt-p3110 / testing (samsung-espresso7) PostmaketOS (big thanks to Mighty))
  • UltrasonicMadness (Notes: espressowifi version)
  • Ungeskriptet (Notes: GT-P3110)
  • ZeroCool32 (Notes: WiFi only model, runs pmos, GT-P3110)

How to enter flash mode

  • Press Power + Volume Down to enter download/odin mode.
  • Press Power + Volume Up to enter recovery.

What works (downstream)

  • Display
  • Touch
  • Mate
  • WiFi (using nmtui in terminal)
  • Battery

Hardware status (mainline)

Status Hardware Info
Y Panel Samsung LTN070NL01 LCD panel
Y Touchscreen MMS136
Y SD cards MicroSD card.
Y Internal memory
N GPS
Y WiFi Uses BCM4330B1.
Y Bluetooth Uses BCM4330B1.
Y Buttons There are 2 keys on GPIO: Volume up, Volume down. Power button works as well.
P Charger SMB136 WIP by mighty17
Y Fuel Gauge MAX17042
Y PMIC TWL6032
N Sound Sound codec is WM1811.
Y Accelerometer BMA254
Y Magnetometer YAS530
Y Proximity and Light The P3100 variant has GP2A002, P3110 variant has AL3201.
N Cameras Front - SR030PC50 Back - S5K5CCGX (OMAP4 devices have Ducati firmware for cameras)
P GPU PowerVR SGX 540 needs out-of-tree kernel module, patched mesa, and some proprietary blobs
N Modem Only in espresso3g (P3100 and P5100) - XMX6262

Installation

Note This device has recently been upgraded to the community category. Download a #Pre-built image from the download page or follow the general pmbootstrap instructions.

Prerequisites: TWRP installed on the Tab, see the LineageOS wiki for instructions: espressowifi, use the espresso3g TWRP image if you have the espresso3g tablet.

Make sure to backup your data and store this somewhere safe if you care about the stock OS and/or your files!

Run pmbootstrap init and configure your installation, if you want to use Phosh/Sway, see #wlroots first. Flashing the image to the device is in 2 parts; the rootfs and the kernel. If this installation process does not go well for you, please try the alternative installation instead.

rootfs

There are 2 ways to go about installing the rootfs, depending on where you want to install it to.

  • For an sdcard use:

pmbootstrap install --sdcard=/dev/sdX

Make sure to specify the mountpoint of the sdcard plugged into your computer.

  • For installing on the internal filesystem use TWRP but since TWRP can not flash the kernel we need to add `--recovery-no-kernel` and flash it manually afterwards:

pmbootstrap install --android-recovery-zip --recovery-no-kernel

pmbootstrap flasher --method=adb sideload

By default this will install on the (fairly limited) 1GB /system partition.

To specify a different partion (for example the 8/16 GB /data partition), add --recovery-install-partition=data to the first line.

  • For installing on the internal /data partition use:

pmbootstrap install --android-recovery-zip --recovery-install-partition=data --recovery-no-kernel


When asked, boot your device into TWRP, wipe cache and your partion. Then go into advanced and start sideload mode, wait for this to finish.

kernel

After the rootfs is installed, insert the SDcard (if you used this) and boot the device into download mode. run pmbootstrap flasher flash_kernel This will flash the kernel to the device and reboot it. If you land in TWRP, just go to reboot and click system. It might complain about missing an OS, but do not worry! You should see some tuxes and be dropped in the OS!


Alternative install

In your PC, type these commands to generate and export the flashable installation (defaults flashing to /system partition), please see this section for more details:
pmbootstrap install --android-recovery-zip --recovery-no-kernel

pmbootstrap export

adb push /tmp/postmarketOS-export/*.zip /sdcard/

Then, go to TWRP and flash the installation, after which you still have to flash the kernel, look at kernel for instructions.


wlroots

When building with pmbootstrap and using an ui that requires wlroots (that is Phosh/Sway) you will need to build a patched version of wlroots from here https://gitlab.com/antoni.aloytorrens/p-wlroots/-/tree/master/apkbuild

Copy the apkbuild directory from the repo into your pmaports dir and rename it to p-wlroots. Then add "p-wlroots" as an extra packages during pmbootstrap init.

To achieve this, download the directory from here and uncompress it. Then: $ cp -r ~/Downloads/p-wlroots-master-apkbuild/apkbuild/ ~/.local/var/pmbootstrap/cache_git/pmaports/temp/p-wlroots

Now, do the usual `pmbootstrap` installation, but selecting `p-wlroots` as an extra package.

Pre-built image

Note FIXME install instructions for Phosh and XFCE4 images FIXME

Status

Supported variants

  • samsung-espressowifi, which is almost identically similar to samsung-espresso3g, but with the exception that it has no modem.

Display

OMAPDRM works fine.

Display seems to be running at 45Hz due to the clock speed for 60Hz not working properly.

Battery

Fuel gauge works fine. The charger driver is WIP, if connected to usb during boot, then only it charges.

Camera

OMAP4 has different subsystem (Ducati) for camera which is non free. Probably will never work on mainline.

3D GPU Acceleration

3D acceleration works fine. SGX540 blobs also seem to be missing some EGL configs, so UIs like plasma-mobile do not work. Video decoding does not work as it is done by Ducati subsystem.

Phosh

This is no more needed, as you can unlock it with scale as 1, kept for future reference.

By default phosh has a scaling 1, this makes us unable to unlock the screen. So we need to set it to 0.75 (https://wiki.postmarketos.org/wiki/Phosh#Manual_Scaling) by adding

[output:LVDS-1]

scale = 0.75

in /usr/share/phosh/phoc.ini.
You can revert it back to 1 to get better performance.
wlr-randr can also be used.

Known issues

WiFi not working after reboot

See https://gitlab.com/postmarketOS/pmaports/-/issues/1211

Fixes with patch in kernel: https://github.com/hansemro/kc1-linux/blob/v5.16.x/patches/0006-Add-clk32kg-to-twl6030.patch

Graphic desktop not launching

For Phosh (and maybe other wayland desktops?): create a .sh file in /etc/tinydm.d/env-wayland.d/ and add the following text export MESA_LOADER_DRIVER_OVERRIDE=pvr. See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/2790

Non-free unofficial GPU support

As said in the Status section, GPU support can be enabled by copying additional PostmarketOS pmaports in your work directory, called pvrports.

pvrports are basically non-free PowerVR blobs and quirks with Phosh and Plasma Mobile, and not specific for this device. This means that any device that has a PowerVR SGX GPU could be enabled by adding this repository.

See also

Mainline WIP kernel:

Pvrports (additional non-free pmaports):

Screenshots

Videos