The Galaxy Tab 2 Help Thread [Ask Any Question!]

Search This thread

berticusmax

New member
Jun 30, 2023
1
0
Hi all, in a bit of a pickle. My uncle passed away about six months ago and among his possessions is a Galaxy Tab 2 7 (P3113). The family would like to access the contents, but it has a PIN lock on it. Has anyone had any success in bypassing the lock screen on these without a factory reset? Google turns up a bunch of paid utilities that claim to do it, but they all seem super sus to me. I'm comfortable rooting, using adb shell, flashing ROMs, etc, but I've never worked on a Samsung device before. TIA
 
Last edited:
Hi all, in a bit of a pickle. My uncle passed away about six months ago and among his possessions is a Galaxy Tab 2 7 (P3313). The family would like to access the contents, but it has a PIN lock on it. Has anyone had any success in bypassing the lock screen on these without a factory reset? Google turns up a bunch of paid utilities that claim to do it, but they all seem super sus to me. I'm comfortable rooting, using adb shell, flashing ROMs, etc, but I've never worked on a Samsung device before. TIA
P3313 ? you mean P3113 i presume ...

The bootloader was not locked on that generation of device, you should be abble to flash TWRP on it using Odin or Heimdall without factory reset.

Device unplugged,
  • to enter into download/odin mode : Hold Power + Volume Down.
  • to enter into recovery/TWRP mode : Hold Power + Volume Up, and release Power when you see the Samsung logo for the second time.

Then access to the device (in recovery mod) from the PC file manager through the MTP protocol.
 
Last edited:

Dr.Lazy

New member
Oct 1, 2023
1
0
is there a flashable stock rom for p3100 through twrp (i dont have pc :( ), even the back up that is zipped
 

NewToTech!

New member
Dec 25, 2023
2
1
sorry if this is wrong location to post, but
I want to get more control of my device, because it won't work as intended, and the issues of apps from playstore not being compatible, slowish
Specs:
-Model Number: gt-p3113
-Android Version: 4.2.2
-8gb storage
-Samsung Galaxy Tab 2 (7.0)
I am unsure whether to use a custom ROM or change the OS entirely.
I want to be able to use the camera, be able to use the web, download limited number of apps (but have a variety of android apps to choose from), and have a crisp experience without lag.

I am open to consider linux distros, but I have heard that android app compatibility is limited.
What are your suggestions, and how should i do this?
thanks in advance
 

Alkorek

New member
Feb 22, 2024
1
0
Hello! I have the following problem: the compass does not work. Samsung GT P 3100 tablet. On Android 4 the compass works fine. When flashing to Android 5; 6; 7 the compass works normally only until the first reboot. The magnetometer shows a field strength of 900-1000 units, but should show 40-50 units. The situation can only be corrected by resetting to factory settings. This is inconvenient. Is there any way to solve this problem? Sorry for the machine translation!
 
For a good android performance experience, you can choose LineageOS 13 by @Android-Andi .
or a newer build based on his work.
(LineageOS 14 has less performances)

You can easily switch between Android and Linux following this method for installing PostmarketOS on a SDcard :

How to use Community pre-built image (works)​

Note
install instructions for Phosh and XFCE4 images

works running from a SD card

as explained in Installation - Flashing - From SD Card Our device can boot a SD card, USB stick or other external storage.

.

preparation in a way to easily switch between Android_OS and PostmarketOS​

from your actual Android_OS install file (AP_Stock_Samsung_Firmware.tar.md5 or Custom_Android_Based_OS.zip), extract the boot.img and copy it to your TWRP folder in internal storage (/sdcard/TWRP)

Download the pmOS pre-built image​

from the download page

insert a MicroSDcard into your Computer​

and find its name by running

$ lsblk

make sure it is the right one as you will overwrite everything on it. Use a path without partition number at the end,

such as /dev/mmcblk0, or /dev/sdd

decompress the downloaded file and write it to your MicroSDcard :​

$ xz --decompress --stdout /path-to-pmos-samsung-espresso10.img.xz | sudo dd of=/dev/name-of-your-SDcard bs=4M status=progress

Wait until the command completes and eject the SD card.

If you are on Windows, see here.

insert the MicroSDcard into your device, and boot it into TWRP​

using the mount feature, unselect all /partitions except "MicroSDcard",

using the install feature, switch to "install image" rather than "install ZIP"

navigate to the "/external_sd/boot.img", and flash it to the /boot partition

reboot system​

The rootfs image will boot right into postmarketOS. You are done with installing postmarketOS, congratulations!

default login is user and password is 147147

to restore your Android_OS​

boot the device into TWRP mode,

and simply using the install feature, switch to "install image" rather than "install ZIP"

navigate to the previously stored "/sdcard/TWRP/boot.img", and flash it to the /boot partition

to restore your PostmarketOS​

boot the device into TWRP mode,

and simply using the install feature, switch to "install image" rather than "install ZIP"

navigate to the "/external_sd/boot.img", and flash it to the /boot partition
 
Last edited:
  • Like
Reactions: barbe31

chaton12

New member
Mar 24, 2024
3
1
Hello everyone,

That's my first post on xda forums even if I read here for years a lot of troubleshooting posts.

I have a neighbor who left me her Galaxy Tab 2 10.1 (GT-P5110) running 4.2.1. I've managed to install a Firefox 68 for her, but other than that, it's complicated as TLS 1.x is not supported. So I wanted to put it on a more recent Android.

I managed to root it with CF-Auto-Root-espresso10wifi-espresso10wifixx-gtp5110.zip
I managed to install TWRP 3.4.0.0 with twrp-3.4.0-0-espressowifi.img.tar
I then wiped pretty much everything (even the sdcard because there was nothing relevant on it)
And I tried to install the builds in order via an "adb push nom_de_la_rom /sdcard" to avoid having to deal with an sd card or something. I checked the md5sum before pushing the files to make sure the zip file download was complete.

lineage-14.1_espressowifi-7.1.2-20200623-1924.zip
lineage-14.1_espressowifi-7.1.2-20200421-1910.zip
lineage-13.0_espressowifi-6.0.1-20200625-1655.zip
ResurrectionRemix-M-v5.7.4-20190303-1218-espressowifi.zip

On the first two ROMs, I had an error like Updater process ended with ERROR: 7 but not much else
On the last two ROMs, I had a bit more detail: system partition has unexpected contents after OTA update. Updater process ended with ERROR: 7

I've got the impression that the .zip is being read by TWRP because I can see the Resurrection Remix logo in ASCII.

Between each installation attempt, I wipe just about everything again (except internal storage, so as not to lose the builds I'm pushing).
I've also tried removing the USB connection to the computer in case that's a problem.

On a french forum, I have been asked to look at https://xdaforums.com/t/fix-solved-...m-or-twrp-recovery-on-rooted-android.2522762/

Using that link, at the start of the updater_script file, I was able to validate that the tablet fit into the boxes by adding some
Code:
ui_print(getprop("ro.product.device"));
ui_print(getprop("ro.build.product"));


When I run the script, I can see espressowifi appearing for both variables.
So the following assert works well because it's looking for espressowifi

Code:
assert(getprop("ro.product.device") == "espresso-common" || getprop("ro.build.product") == "espresso-common" || getprop("ro.product.device") == "p3110" || getprop("ro.build.product") == "p3110" || getprop("ro.product.device") == "GT-P3110" || getprop("ro.build.product") == "GT-P3110" || getprop("ro.product.device") == "p3113" || getprop("ro.build.product") == "p3113" || getprop("ro.product.device") == "GT-P3113" || getprop("ro.build.product") == "GT-P3113" || getprop("ro.product.device") == "espressowifi" || getprop("ro.build.product") == "espressowifi" || getprop("ro.product.device") == "espressowifixx" || getprop("ro.build.product") == "espressowifixx" || getprop("ro.product.device") == "p5110" || getprop("ro.build.product") == "p5110" || getprop("ro.product.device") == "GT-P5110" || getprop("ro.build.product") == "GT-P5110" || getprop("ro.product.device") == "p5113" || getprop("ro.build.product") == "p5113" || getprop("ro.product.device") == "GT-P5113" || getprop("ro.build.product") == "GT-P5113" || getprop("ro.product.device") == "espresso10wifi" || getprop("ro.build.product") == "espresso10wifi" || getprop("ro.product.device") == "espresso10wifixx" || getprop("ro.build.product") == "espresso10wifixx" || abort("This package is for device: espresso-common,p3110,GT-P3110,p3113,GT-P3113,espressowifi,espressowifixx,p5110,GT-P5110,p5113,GT-P5113,espresso10wifi,espresso10wifixx; this device is " + getprop("ro.product.device") + "."););

However, a little further down in the script, there's :

Code:
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
ui_print("Verifying the updated system image...");
if range_sha1("/dev/block/platform/omap/omap_hsmmc.1 /by-name/FACTORYFS", "32,0,32770,32833,32835,33347,65535,65536,65538,66050,72216,98304,98306,98369,98371,98883,131071,131072,131074,163840, 163842,163905,163907,164419,196607,196608,196610,229376,229378,229441,229443,229955,262143") == "c658f16bf6ec12835bf04c015e51aa379aed1e75" then
if range_sha1("/dev/block/platform/omap/omap_hsmmc.1 /by-name/FACTORYFS", "38,32770,32833,32835,33347,65535,65536,65538,66050,72216,72728,97792,98304,98306,98369,98371,98883,131071,131072,131074,131586,163328,163840, 163842,163905,163907,164419,196607,196608,196610,197122,228864,229376,229378,229441,229443,229955,262143,262144") == "8b0629c630f530cde051aeb42ce561756738fbe7" then
ui_print("Verified the updated system image.");
else
  abort("system partition has unexpected non-zero contents after OTA update");
endif;
else
  abort("system partition has unexpected contents after OTA update");
endif;

And I got the error message "system partition has unexpected contents after OTA update" as in my first attempts.
So actually, the file /dev/block/platform/omap/omap_hsmmc.1/by-name/FACTORYFS doesn't match the hash calculated in the script, which is 8b0629c630f530cde051aeb42ce561756738fbe7.

I said to myself, "Well, let's comment this bit out", because the rest of the script is :
Code:
package_extract_file("boot.img", "/dev/block/mmcblk0p5");

but it didn't help much because at the moment, I've got a tablet that doesn't run anything at all except download mode or TWRP :)

Is there any other way to get more verbose logs and/or how to troubleshoot this?

In the meantime, I've found a recovery.log file in /tmp where you can see the build, which may have been pushed? But I'm not sure I understand everything it says:

Startup Commands:
ro.bq.gpu_to_cpu_unsupported=1
ro.sf.lcd_density=160
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.boot.mode=reboot_recovery
ro.boot.carrier=wifi-only
ro.boot.hardware=espresso
ro.boot.serialno=c161fbc2a08c060
ro.boot.debug_level=0x4f4c
ro.boot.emmc_checksum=3
ro.hwui.disable_scissor_opt=true
ro.omni.device=espressowifi
ro.omni.version=6.0.1-20200611-espressowifi-HOMEMADE
ro.twrp.sar=false
ro.twrp.boot=1
ro.twrp.version=3.4.0-0
ro.wifi.channels=
ro.allow.mock.location=1
ro.board.platform=omap4
ro.build.id=MOB30M
ro.build.date=Thu Jun 11 19:06:50 UTC 2020
ro.build.date.utc=0
ro.build.host=f13e74e204de
ro.build.tags=test-keys
ro.build.type=eng
ro.build.user=jenkins
ro.build.flavor=omni_espressowifi-eng
ro.build.display.id=omni_espressowifi-eng 6.0.1 MOB30M 16 test-keys
ro.build.product=espressowifi
ro.build.version.sdk=23
ro.build.version.base_os=
ro.build.version.release=6.0.1
ro.build.version.codename=REL
ro.build.version.incremental=16
ro.build.version.preview_sdk=0
ro.build.version.all_codenames=REL
ro.build.version.security_patch=2016-06-01
ro.build.description=omni_espressowifi-eng 6.0.1 MOB30M 16 test-keys
ro.build.fingerprint=Android/omni_espressowifi/espressowifi:6.0.1/MOB30M/16:eng/test-keys
ro.build.characteristics=tablet tablet
ro.config.ringtone=Ring_Synth_04.ogg
ro.config.alarm_alert=Argon.ogg
ro.config.notification_sound=pixiedust.ogg
ro.dalvik.vm.native.bridge=0
ro.kernel.android.checkjni=1
ro.secure=0
ro.zygote=zygote32
ro.carrier=wifi-only
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.cpu.abilist=armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=
ro.product.name=omni_espressowifi
ro.product.board=piranha
ro.product.brand=Android
ro.product.model=Galaxy Tab 2
ro.product.device=espressowifi
ro.product.locale=en-US
ro.product.manufacturer=Samsung
ro.baseband=unknown
ro.bootmode=reboot_recovery
ro.hardware=espresso
ro.opengles.version=131072
ro.revision=0
ro.serialno=c161fbc2a08c060
ro.bootimage.build.date=Thu Jun 11 19:09:07 UTC 2020
ro.bootimage.build.date.utc=1591902547
ro.bootimage.build.fingerprint=Android/omni_espressowifi/espressowifi:6.0.1/MOB30M/16:eng/test-keys
ro.bootloader=unknown
ro.debuggable=1
ro.modversion=OmniROM-6.0.1-20200611-espressowifi-HOMEMADE
ro.recovery_id=0x6f9ea9fd98df50aaed101d2c6694e70a88b42a81000000000000000000000000
ro.setupwizard.enterprise_mode=1
fbe.data.wrappedkey=true
net.bt.name=Android
net.change=net.bt.name
hwui.render_dirty_regions=false
init.svc.adbd=running
init.svc.ueventd=running
init.svc.recovery=running
init.svc.set_permissive=stopped
twrp.crash_counter=0
twrp.action_complete=0
wifi.interface=wlan0
debug.hwui.swap_with_damage=false
debug.atrace.tags.enableflags=0
dalvik.vm.isa.arm.variant=cortex-a9
dalvik.vm.isa.arm.features=default
dalvik.vm.usejit=true
dalvik.vm.heapsize=256m
dalvik.vm.lockprof.threshold=500
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.heapmaxfree=2m
dalvik.vm.heapminfree=512k
dalvik.vm.dex2oat-flags=--no-watch-dog
dalvik.vm.heapstartsize=5m
dalvik.vm.dex2oat-filter=verify-at-runtime
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.stack-trace-file=/data/anr/traces.txt
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
dalvik.vm.image-dex2oat-filter=verify-at-runtime
dalvik.vm.heaptargetutilization=0.75
camera2.portability.force_api=1
persist.sys.usb.config=adb
persist.sys.dalvik.vm.lib.2=libart
persist.sys.root_access=1
service.adb.root=1
SELinux contexts loaded from /file_contexts
Full SELinux support is present.
tw_get_context got selinux context: u:eek:bject_r:media_rw_data_file:s0
I:Got default contexts and file mode for storage files.
I:Unable to find source file /cache/recovery/log.gz
I:Attempt to load settings from settings file...
I:InfoManager loading from '/data/media/TWRP/.twrps'.
I:Backup folder set to '/data/media/TWRP/BACKUPS/c161fbc2a08c060'
I:Copied file /etc/recovery.fstab to /cache/recovery/recovery.fstab
I:Version number saved to '/cache/recovery/.version'
I:Unable to mount '/external_sd'
I:Actual block device: '', current file system: 'vfat'
I:Unable to mount '/usb-otg'
I:Actual block device: '', current file system: 'vfat'
__bionic_open_tzdata: couldn't find any tzdata when looking for CST6CDT,M3.2.0,M11.1.0!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
I:TWFunc::Set_Brightness: Setting brightness control to 255
I:pageManager::LoadFileToBuffer loading filename: '/twres/languages/en.xml' directly
parsing languageFile
parsing languageFile done
I:Translating partition display names
I:Backup folder set to '/data/media/TWRP/BACKUPS/c161fbc2a08c060'
I:Starting MTP
I:sending message to add 65537 '/data/media' 'Internal Storage'
I:Message sent, add storage ID: 65537 '/data/media'
MTP Enabled
I:[MTP] Starting MTP
I:Check_Lifetime_Writes result: '27108'
I:Switching packages (TWRP)
I:Starting Adb Backup FIFO
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:[MTP] created new mtpserver object
I:[MTP] MtpServer::run fd: 19
I:[MTP] mtppipe add storage 65537 '/data/media'
I:[MTP] MtpStorage id: 65537 path: /data/media
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'settings'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'settings_timezone'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'settings_screen'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'settings_vibration'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'settings_language'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'settings'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'advanced'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'restore'
I:Unable to open '/data/media/TWRP/BACKUPS/c161fbc2a08c060'
I:Unable to open '/data/media/TWRP/BACKUPS'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'backup'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'main'
I:Set page: 'clear_vars'
I:Set page: 'main2'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'wipe'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'advancedwipe'
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'action_page'
I:eek:peration_start: 'Format'
I:wipe list 'DALVIK;/system;/cache;/data;'
I:wipe_path 'DALVIK'
Wiping Cache & Dalvik...
Cleaned: /data/dalvik-cache...
-- Dalvik Cache Directories Wipe Complete!
I:wipe_path '/system'
Formatting System using make_ext4fs...
Creating filesystem with parameters:
Size: 1468006400
Block size: 4096
Blocks per group: 32768
Inodes per group: 8160
Inode size: 256
Journal blocks: 5600
Label:
Blocks: 358400
Block groups: 11
Reserved block group size: 87
Created filesystem with 11/89760 inodes and 11769/358400 blocks
I:wipe_path '/cache'
Formatting Cache using make_ext4fs...
Creating filesystem with parameters:
Size: 734003200
Block size: 4096
Blocks per group: 32768
Inodes per group: 7472
Inode size: 256
Journal blocks: 2800
Label:
Blocks: 179200
Block groups: 6
Reserved block group size: 47
Created filesystem with 11/44832 inodes and 5813/179200 blocks
I:wipe_path '/data'
Wiping data without wiping /data/media ...
I:skipped '/data/lost+found'
I:skipped '/data/media'
I:skipped '/data/misc/vold'
Done.
I:sending message to add 65537 '/data/media' 'Internal Storage'
I:[MTP] mtppipe add storage 65537 '/data/media'
I:[MTP] MtpStorage id: 65537 path: /data/media
E:[MTP] MtpServer::addStorage Storage for storage ID 65537 already exists.
I:Message sent, add storage ID: 65537 '/data/media'
Updating partition details...
I:Data backup size is 0MB, free: 11683MB.
I:Unable to mount '/external_sd'
I:Actual block device: '', current file system: 'vfat'
I:Unable to mount '/usb-otg'
I:Actual block device: '', current file system: 'vfat'
...done
I:Set page: 'action_complete'
I:eek:peration_end - status=0
I:Cannot find file /sys/class/timed_output/vibrator/enable
I:Set page: 'clear_vars'
I:Set page: 'advancedwipe'
I:TWFunc::Set_Brightness: Setting brightness control to 5
I:TWFunc::Set_Brightness: Setting brightness control to 0

Thank you for all your help so far :)
 

chaton12

New member
Mar 24, 2024
3
1
I have reinstalled espresso-common_TWRP_3.3.0-2.img and tried to install the new ROM and it worked.
Thank you for your help.
 
  • Like
Reactions: piero-e

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    There are a lot of people joining xda on daily basis, and there are a lot of repetitive questions being asked which fill up Development threads. Point them here. Feel free to ask or answer questions. Idea of this thread is to get users to help other users with their problems/questions. Please do not spoon feed, but rather point in the direction where that user can find an answer and educate himself

    First thing first. I strongly advise you to read THIS thread before posting ANYTHING on here

    Then. Even if you do get your question answered, please, do come back and read threads in post no2 (coming later as soon as we start getting the guides) to educate yourself. You'll be surprised how much time and frustration it will save you in the future.

    ASK ANY QUESTION HERE,adb, drivers, superCID etc...... You will either get an answer or will get pointed in the right direction.


    No abuse towards noobs tolerated here! No question is stupid in this thread.

    HALL OF FAME
    People who contributed most to this thread and helped countless number of people with their problems/questions.
    -InfinityFTW
    -
    -
    -
    6
    @smart-t78 compiles RR already.

    About N in general:
    There is different reasons why there are no public N builds beside UA yet. Some examples: there is no need for 20 different Roms with a bunch of big bugs. We concentrate on UA to get a stable base.

    I am working on fixing major bugs before all source goes public.

    At the moment slim7 and omni7 both end in a softrebootloop once you connect to wifi. Same happens on Lineage 14.1 once gapps are flashed. I spend almost 1 week fixing it without luck and i am going to drop it if i dont find the reason for it soon. Logs dont give enough information... Same on 3.0 and 3.4 kernel...

    Be patient and if no stupid ETAs start there is a chance seeing one or the other N Rom which source you can use.

    Gesendet von meinem A0001 mit Tapatalk
    4
    I hope I am right here with my question:
    How does it come people use stuff from other devs as base and don't ask for permissions?
    I mean, everything is opensource and can be compiled without trouble...
    Best i have seen here recently: remove one app, add 2 other apps, sell as own work...


    Don't get me wrong, I love open source and that's why I pushed everything we did on tab2 to omni, cm/lineage and Slim official.

    Another note:
    IMO there's no need to use android kitchen and such stuff to bring N on Tab2. And if you are going to do so: test your stuff before it goes public to user...

    Gesendet von meinem A0001 mit Tapatalk
    4
    Just to make a few details clear (again)
    ...
    1. Make sure that I have Samsung Tab 2 usb drivers installed on my PC
    ...
    6. Transfer both TWRP and RR by usb to my SD card in my tablet ? Or , will ODIN access them fine from my PC desktop to flash them to the tablet ?
    1. The drivers are all bundled up, i.e. not device specific here: http://developer.samsung.com/galaxy/others/android-usb-driver-for-windows
    6. You need the .img.tar file of TWRP and ODIN on your PC(!) -> start ODIN (I recommend v3.11.1 here: https://bin.samsung-firmware.org/bin/odin-3-11-1.zip) put the img.tar file in "AP" in ODIN.

    First, you will use odin to flash the twrp recovery. Then, you will boot your tab in twrp and from there you will install the rom and gapps. ...
    This is correct. BUT since you (lenolver) are unrooted you have to REMOVE the "auto-reboot" checkmark in odin options and then - after the flash of twrp - reboot to recovery (TWRP) manually via holding Power+VolDown for a few seconds.
    If you do not uncheck that "auto-reboot" box, an thus allow the unrooted system (stock samsung system) to boot, it will overwrite the new twrp recovery you flashed 2 seconds before...

    This is the point where I believe many confusion comes from. If you root first, any recovery you flash will not be overwritten. That is - I think - why many tutorials/tips say you must root stock first before installing a custom rom, which is simply not true.
    4
    All ROMs have bugs, even stock ROMs have. Same on new devices. Lol.