Jump to content

Huawei MediaPad T5 (huawei-agassi2)

From postmarketOS Wiki
Huawei MediaPad T5
Manufacturer Huawei
Name MediaPad T5
Codename huawei-agassi2
Model AGS2-W09/AGS2-W19 (Wi-Fi only); AGS2-L03/AGS2-L09 (LTE/Wi-Fi)
Released 2018
Type tablet
Hardware
Chipset HiSilicon Kirin 659
CPU 4x 2.36 GHz Cortex-A53
4x 1.7 GHz Cortex-A53
GPU Mali-T830 MP2
Display 1920 x 1200 IPS
Storage 16 / 32 GB
Memory 2 / 3 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (EMUI) 8.0
Extended version
The most recent supported version from the manufacturer.
Android (EMUI)
FOSS bootloader no
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS...
Partial
SD card
Also includes other external storage cards.
Works
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Broken
Touchscreen
Works
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Connectivity
WiFi
Untested
Bluetooth
Untested
Ethernet
Untested
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching.
Untested
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Untested
Haptics
Untested

Contributors

Users owning this device

  • Akku (Notes: Wi-Fi 2GB/16GB (AGS2-W09), stock Android)
  • Tildeguy (Notes: mainliner)


How to enter flash mode

Bootloader Unlocking

1. Power off and disassemble the device.

Insert the sharp end of the knife under the display frame (not under the display but under its frame!) and carefully unclip the connector. then insert a plastic card (or cut a circle out of a plastic two-liter bottle) into the hole that appears and draw along the entire line so that all the connectors unclip. (from 4pda)

Disassembly video: https://www.youtube.com/watch?v=ehLM4j7SZOY

Be very careful when disassembling! The glass is very easy to break (i did).

2. Download PotatoNV-crossplatform:

git clone https://github.com/mashed-potatoes/PotatoNV-crossplatform --recursive
cd PotatoNV-crossplatform

Install python requirements:

pip install -r requirements.txt

Run the script:

python -m usrlock -b hisi65x_a -k 0123456789ABCDEF

3. Short the test point and connect usb cable.

4. Wait for the message: info Reboot result: None

Other guides:

Recovery mode

  • Turn the device off and unplug it from USB
  • Hold Volume Up and Power button
  • Once you feel vibration and phone turns on, release Power button
  • Keep holding Volume Up until you get to recovery.

Erecovery mode

  • Same as recovery mode but with plugged in USB cable

Fastboot (Flashing, Download) mode

  • Turn the device off. (or enter to recovery mode and reboot)
  • Hold Volume Down and Power button
  • Once phone turns on, release buttons.

Installation

Mainline

Status: doesn't boot into linux, stuck on `__enable_mmu`. works normal if booting without uniloader, but can't load dts and ramdisk.

git clone https://gitlab.postmarketos.org/tildeguy/pmbootstrap
git clone https://gitlab.postmarketos.org/tildeguy/pmaports
git clone https://github.com/tildeknown/linux-hi6250
git clone https://github.com/ivoszbg/uniLoader
curl -O https://raw.githubusercontent.com/tildeknown/mkbootimg/refs/heads/main/mkbootimg.py

alias pmbootstrap=$PWD/pmbootstrap/pmbootstrap.py
alias envkernel=". $PWD/pmbootstrap/helpers/envkernel.sh"
pmbootstrap config aports $PWD/pmaports
pmbootstrap config device huawei-agassi2

cd linux-hi6250
envkernel
pmbootstrap build --envkernel --force linux-postmarketos-hisilicon-hi6250
pmbootstrap install
pmbootstrap export
deactivate
cd ..

cp /tmp/postmarketOS-export/initramfs uniLoader/blob/ramdisk
cp linux-hi6250/.output/arch/arm64/boot/Image uniLoader/blob/Image
cp linux-hi6250/.output/arch/arm64/boot/dts/hisilicon/hi6250-huawei-agassi2-minimal.dtb uniLoader/blob/dtb

cd uniLoader 
export ARCH=aarch64 CROSS_COMPILE=aarch64-unknown-linux-gnu-
make agassi2_defconfig
make
cd ..

chmod +x mkbootimg.py
./mkbootimg.py --kernel uniLoader/uniLoader.gz --ramdisk /dev/null --os_version 8.0.0 --os_patch_level 2020-08 --pagesize 0x00000800 --base 0x00000000 --kernel_offset 0x00480000 --ramdisk_offset 0x08000000 --second_offset 0x01300000 --tags_offset 0x07e00000 --board '' --cmdline 'loglevel=4 coherent_pool=512K page_tracker=on slub_min_objects=12 unmovable_isolate1=2:192M,3:224M,4:256M printktimer=0xfff0a000,0x534,0x538 androidboot.selinux=enforcing buildvariant=user' -o kernel.img
./mkbootimg.py --kernel /dev/null --ramdisk uniLoader/blob/ramdisk --os_version 8.0.0 --os_patch_level 2020-10 --pagesize 0x00000800 --base 0x00000000 --kernel_offset 0x10008000 --ramdisk_offset 0x11000000 --second_offset 0x10f00000 --tags_offset 0x10000100 --board '' --cmdline buildvariant=user -o ramdisk.img

fastboot flash kernel kernel.img
fastboot flash ramdisk ramdisk.img

See also