Samsung Galaxy Tab 2 10.1 (3G and Wifi) (samsung-espresso10)
![]() Galaxy Tab 2 10.1" booted into postmarketOS with weston | |
Manufacturer | Samsung |
---|---|
Name | Galaxy Tab 2 10.1 |
Codename | samsung-espresso10 |
Released | 2012 |
Type | tablet |
Hardware | |
Chipset | TI OMAP 4430 |
CPU | Dual-core 1.0 GHz Cortex-A9 |
GPU | PowerVR SGX540 @ 307 MHz |
Display | 1280x800 |
Storage | 16 GB (expandable with up to 64 GB MicroSD) |
Memory | 1 GB |
Architecture | armv7 |
Software | |
Original software The software and version the device was shipped with. |
Android 4.0.1 |
postmarketOS | |
Category | community |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
Device package |
![]() |
Kernel package |
![]() |
Flashing It is possible to flash the device with pmbootstrap flasher . |
Partial
|
---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Battery Charging and battery level reporting works |
Works
|
Screen Display works. Ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
Multimedia | |
3D Acceleration |
Broken
|
Audio Audio playback, microphone, headset and buttons. |
Broken
|
Camera |
Untested
|
Connectivity | |
WiFi |
Partial
|
Bluetooth |
Broken
|
GPS |
Untested
|
Modem | |
Calls |
Untested
|
SMS |
Untested
|
Mobile data |
Untested
|
Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Works
|
Sensors | |
Accelerometer Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile |
Untested
|
Contributors
- WilliamO7
- Archbtw
Maintainer(s)
- Mighty17
Users owning this device
- AAT596 (Notes: espressowifi, 7 inch version)
- Alexdmrk (Notes: Some experiments with hardware acceleration blobs has been done: they are abandoned)
- Coldarchie (Notes: Unlocked, currently Slim7)
- Daniel071 (Notes: Works great except very poor performance; Probably because of no hardware acceleration)
- Dartvader316 (Notes: Mainline)
- Deathmist (Notes: 10.1" Wi-Fi-only model (espressowifi))
- DolphinChips
- Eloy (Notes: 7 inch version, runs pmOS)
- Hreikin (Notes: espressowifi, 10 inch version)
- Hueku (Notes: espresso3g)
- Laubersheini
- Lm2 (Notes: postmarket works almost well testing the operatin'system)
- Mighty (Notes: espresso3g, 7 inch version)
- Nieldv (Notes: 10,1" wifi, runs unlegacyAndroid)
- Nulldayo (Notes: Has 5 of the 10.1" Wi-Fi-only model (espressowifi))
- Piero-e (Notes: 10.1" inch 3g variant / gt-p5100 / testing PostmaketOS (big thanks to Mighty) / running unofficial /e/OS android 7 based (espresso3g) (special thanks to Android-Andi))
- Stupidenbyace (Notes: Broken motherboard)
- UltrasonicMadness (Notes: Wi-Fi version)
- UxAmadeus
- Werti (Notes: 2x running Lineage-OS)
- Wjtje
How to enter flash mode
- to enter into download/odin mode : Hold + .
- to enter into recovery/TWRP mode : Hold + , and release when you see the Samsung logo for the second time.
Installation
Using pmbootstrap
Follow Installation/Using pmbootstrap. When asked for the device's vendor/codename, select samsung
as the vendor and espresso10
as the codename.
To flash the image to the device:
- Enter download/odin mode (see #How to enter flash mode)
- Run
pmbootstrap flasher flash_kernel
to flash the kernel - Run
pmbootstrap flasher flash_rootfs
to flash the rootfs- This will flash to the system partition (FACTORYFS) by default; however, this partition might not have enough space for the system. You can also flash to the data partition for more storage space - add the
--partition=DATAFS
flag to the above command.
- This will flash to the system partition (FACTORYFS) by default; however, this partition might not have enough space for the system. You can also flash to the data partition for more storage space - add the
Using a pre-built image
Follow Installation/Using a pre-built image.
You will need to download two images: the one ending on only .img.xz
and the one ending on boot.img.xz
. Unpack the images as described in the guide linked above.
To flash the unpacked images to the device:
- Install
heimdall
. - Enter download/odin mode (see #How to enter flash mode)
- Run
heimdall flash --KERNEL *-samsung-espresso10.boot.img
to flash the kernel - Run
heimdall flash --FACTORYFS *-samsung-espresso10.img
to flash the rootfs- You can also flash to the data partition for more storage space - replace
FACTORYFS
withDATAFS
in the above command.
- You can also flash to the data partition for more storage space - replace
What works
- Display
- Weston
- Touchscreen
- USB
- Wifi
(if started up manually, there's still some problems on boot) - FDE
- Battery (Gnome 3 can read the battery percentage, whether it is discharging or charging. One small issue is that Gnome 3 cannot detect the battery time remaining)
- Bluetooth service
What does not work
- RIL (hasn't been setup yet, but Replicant got it going on the android side so it should be possible.)
- 2D + 3D acceleration (so most UIs slow down to a crawl, such as plasma-mobile).
- Note: There is community-patch to achieve this, but it's using non-free BLOBS. You may check out their website, but be aware that you do this on your own risk. This project is not associated with postmarketOS!!
Bluetooth service crashes; Runningsudo service bluetooth start
and thensudo service bluetooth status
returns "crashed"- Audio does not work with built-in speakers, bluetooth headphones, or the headphone jack (Tested with Gnome 3)
To test/do
- Audio
- Graphics Acceleration
- GPS/Compass/Sensors
- RIL
Known issues
WiFi not working after reboot
workaround : always boot the device to TWRP first, then from there, reboot to system.
See pmaports#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
The device's GPU is not supported by postmarketOS because it requires proprietary blobs. These are kept outside of pmaports, in the PVRports repository on Gitlab.
If you use them, please do not report issues related to PowerVR on the postmarketOS issue tracker. Open/report the issue in the pvrports issue tracker instead. If discussing it on Matrix/IRC, we recommend using the offtopic room(s).
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.
always shutdown the device from the Linux interface
otherwise (buttons or TWRP) it will immediately reboot to system
If you want to charge the device while it is off, plug the tablet in before you shutdown from the Linux interface, because plugging the USB charger in will cause the device to boot into the system.
Never let the battery fall down to 0%
because of the partially functional charging feature
otherwise even plugged to an USB power supply, the device will enter in an endless bootloop. and you will have to open the device, disconnect the motherboard from the charge module to wait some times, letting the battery charging in peace
Photos
-
Gnome 3 on Samsung Galaxy Tab 2 10.1
Partition layout
galaxytab2:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/mmcblk1
Disk /dev/mmcblk1: 14.68 GiB, 15758000128 bytes, 30777344 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 52444E41-494F-2044-4D4D-43204449534B Device Start End Sectors Size Name /dev/mmcblk1p1 8192 49151 40960 20M EFS /dev/mmcblk1p2 49152 53247 4096 2M SBL1 /dev/mmcblk1p3 53248 57343 4096 2M SBL2 /dev/mmcblk1p4 57344 73727 16384 8M PARAM /dev/mmcblk1p5 73728 90111 16384 8M KERNEL /dev/mmcblk1p6 90112 106495 16384 8M RECOVERY /dev/mmcblk1p7 106496 1540095 1433600 700M CACHE /dev/mmcblk1p8 1540096 1581055 40960 20M MODEM /dev/mmcblk1p9 1581056 4448255 2867200 1.4G FACTORYFS /dev/mmcblk1p10 4448256 29728733 25280478 12.1G DATAFS /dev/mmcblk1p11 29728734 30777309 1048576 512M HIDDEN
galaxytab2:~# mount
/dev/mapper/mmcblk1p10p2 on / type ext4 (rw,relatime) /dev/dm-0 on /boot type ext4 (rw,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) tmpfs on /run type tmpfs (rw,nosuid,nodev,size=203440k,nr_inodes=819200,mode=755) dev on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=10240k,nr_inodes=124636,mode=755) mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime) configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755) cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate) cgroup on /sys/fs/cgroup/elogind type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/libexec/elogind/elogind-cgroups-agent,name=elogind) tmpfs on /run/user/10000 type tmpfs (rw,nosuid,nodev,relatime,size=101716k,nr_inodes=25429,mode=700,uid=10000,gid=10000)
Links
PostmarketOS
LineageOS:
Mainline kernel:
- WIP dts here