Huawei MediaPad T5 (huawei-agassi2)
| This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories. This means that it cannot be selected in pmbootstrap. Status: mainlining |
| 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 |
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
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:
- Bootloader unlocking video guide
- Bootloader unlocking from 4pda (russian)
- PotatoNV guide from github wiki (russian)
Recovery mode
- Turn the device off and unplug it from USB
- Hold and button
- Once you feel vibration and phone turns on, release button
- Keep holding 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 and 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