ASUS Eee Pad Transformer (asus-tf101)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Nvidia Tegra armv7 (nvidia-tegra-armv7) for installation instructions and more information.
Asus Eee Pad Transformer
ASUS Eee Pad Transformer
ASUS Eee Pad Transformer
Manufacturer Asus
Name Eee Pad Transformer
Codename asus-tf101
Released 2011
Type detachable
Hardware
Chipset Nvidia Tegra 2 (T20)
CPU Dual-core 1 GHz
GPU ULP GeForce
Display 1280x800 IPS
Storage 16/32 GB
Memory 1 GB
Architecture armv7
Software
Original software Android
Original version 3.0 (Linux 2.6.36)
FOSS bootloader yes
postmarketOS
Category community
Pre-built images yes
Unixbench Whet/Dhry score 442.8
Generic port Nvidia Tegra armv7 (nvidia-tegra-armv7)
Features
Flashing
Partial
USB Networking
Works
Internal storage
SD card
Battery
Works
Screen
Works
Touchscreen
Works
Keyboard
Works
Touchpad
Works
Multimedia
3D Acceleration
Partial
Audio
Works
Camera
Broken
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Works
Ethernet
GPS
Partial
Miscellaneous
FDE
Partial
USB-A
Works
HDMI/DP
Works
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Works
Hall Effect
Works
Haptics
U-Boot
Primary Bootloader
Works
Secondary Bootloader
Works
Mainline
Works
Internal Storage
Works
SD card
Works
USB Host
Works
USB Peripheral
Works
Display
Works
Keyboard
Broken
Buttons
Works


Basic Information

The Eee Pad is a tablet computer with a 10.1" IPS multi-touch screen with a resolution of 1280 × 800 and an Nvidia Tegra 2 system-on-a-chip (SoC). It has an 802.11b/g/n Wi-Fi module.

Requirements

The Eee Pad Transformer TF101 already comes with an unlocked bootloader, so no previous requirements are needed.

A custom recovery such as TWRP is not even needed neither.

Mainline Informations

Installation

Note If you haven't ever customized your TF101, please go here first.
Icon WARNING: This mainline installation does not work for TF101G or SL101 variants! Please use downstream installation instead or use this method.

We give first priority to U-Boot flashed devices than existing support to the old bootloader. In addition, these steps will format ALL the partitions of the TF101's partition table and then recreate them but with u-boot bootloader flashed on it, instead of the proprietary Asus Bootloader.

Make sure you backup your data before continuing. Note also that you won't be able to boot Android back easily.
Note A Linux computer is required (virtual machine won't work). Furthermore, this installation process has not been verified by a TF101 SBK2 version but it should also work.

Use the latest 9.2.1 firmware available, so upgrade if you need it here (mirror here).

You must know which SBK version your tablet has. For the asus-tf101, there are two versions only: sbkv1 and sbkv2.

However there is a caveat: two proprietary tools are needed, Wheelie (although source code is available on GitHub, some key features are missing, such as `--sbk` option) and Nvflash (proprietary Nvidia flash tool). So, a custom setup is available to get this working a little bit easier.

1. Go through the pmbootstrap installation method: `pmbootstrap init`, select your device (asus -> tf101), the interface or UI (XFCE, MATE or LXQT are recommended), `pmbootstrap export` and flash the resulting image to your Micro SD Card.

2. Now connect the device to the computer. This USB to 40 Pin cable is required.

3. Put your device into APX mode: First of all, power off the device and then press the power button + volume up button for 3 to 5 seconds.

4. Download U-Boot Tools for Asus Eee Pad Transformer TF101 here. Please read the release notes for instructions.

  • If you are unsure which SBK version you have, please try both flashing methods.
Icon WARNING: Do not unplug the USB under any circumstance.

5. Some operations will be executed on the tablet. Please be patient, wait from 5 to 10 minutes. Formatting Partition 15 (UDA) can also take some time. In case you don't know the SBK version of your tablet, you will see some errors, or the device not booting at all. In that case, please try the other SBK version.

Expected output (SBK1 example):

user@mycomputer:~$ ./uboot_sbkv1.sh 
Wheelie 0.1 - Preflight for nvflash.
Copyright (c) 2011-2012 androidroot.mobi
========================================

Using SBK type 1.
Using bootloader: 'bootloader.bin'.
Using BCT: 'transformer.bct'.
----------------------------------------

[=] Chip UID: YourHardwareID
[=] RCM Version: 0x20001

[=] CPU Model: Tegra 2
[=] Secure Boot Key Set: Yes
[+] Sending BCT
Sending file: 100 %
[+] Sending ODMData 0x300D8011
[+] Sending bootloader...
Sending file: 100 %
[!] Done - your device should now be ready for nvflash
Nvflash started
[resume mode]
setting device: 2 3
creating partition: BCT
creating partition: PT
creating partition: EBT
creating partition: SOS
creating partition: LNX
creating partition: BAK
creating partition: GP1
creating partition: APP
creating partition: CAC
creating partition: MSC
creating partition: USP
creating partition: PER
creating partition: YTU
creating partition: UDA
creating partition: GPT
Formatting partition 2 BCT please wait.. done!
Formatting partition 3 PT please wait.. done!
Formatting partition 4 EBT please wait.. done!
Formatting partition 5 SOS please wait.. done!
Formatting partition 6 LNX please wait.. done!
Formatting partition 7 BAK please wait.. done!
Formatting partition 8 GP1 please wait.. done!
Formatting partition 9 APP please wait.. done!
Formatting partition 10 CAC please wait.. done!
Formatting partition 11 MSC please wait.. done!
Formatting partition 12 USP please wait.. done!
Formatting partition 13 PER please wait.. done!
Formatting partition 14 YTU please wait.. done!
Formatting partition 15 UDA please wait.. done!
Formatting partition 16 GPT please wait.. done!
done!
sending file: u-boot.bin
- 565989/565989 bytes sent
u-boot.bin sent successfully
Nvflash started
[resume mode]

8. Now press the power button for a few seconds to reboot the device. After that, disconnect the USB from the device. It should be booting PostmarketOS!

Developer Info

Testing U-Boot in RAM

Nvflashing U-boot has its benefits: it acts as a temporary bootloader when booting Linux on TF101. The uboot file is stored in RAM instead. That way, you don't have to worry about flashing it permanently every time, only to test it.

To perform this, put your tablet in APX mode, download the needed files and type the following command (be aware this is for SBK1, for SBK2 you need to change the SBK keys) (not tested with SBK2, you can try this command anyway and report):

$ ./nvflash --bct transformer.bct --setbct --configfile flash.cfg --bl u-boot.bin --odmdata 0x300d8011 --sbk 0x1682CCD8 0x8A1A43EA 0xA532EEB6 0xECFE1D98 --sync

Note that there is an u-boot.bin file already in the zip folder. Please replace it with your u-boot.bin file instead.

Nvflash partitiontable.txt

Nvflash can print your partition table configuration as a better setup for offset calculations, needed in U-Boot.

To perform this, put your tablet in APX mode, download the needed files and type the following command (be aware this is for SBK1, for SBK2 you need to change the SBK keys) (not tested with SBK2, you can try this command anyway and report):

$ ./nvflash --bct transformer.bct --setbct --configfile flash.cfg --bl bootloader.bin --odmdata 0x300d8011 --sbk 0x1682CCD8 0x8A1A43EA 0xA532EEB6 0xECFE1D98 --sync
$ ./nvflash --resume --getpartitiontable partitiontable.txt

After that, if you have followed all this guide, your partition table txt file should be exactly like this:

Note If you haven't ever customized your TF101, which means it's your first time using this nvflash command and you don't have used any One-Click-Unlock Tool or EasyFlasher, please report here and attach partitiontable.txt file first before continuing with the installation.
PartitionId=2
Name=BCT
DeviceId=18
StartSector=0
NumSectors=1536
BytesPerSector=2048


PartitionId=3
Name=PT
DeviceId=18
StartSector=1536
NumSectors=256
BytesPerSector=2048


PartitionId=4
Name=EBT
DeviceId=18
StartSector=1792
NumSectors=2048
BytesPerSector=2048


PartitionId=5
Name=SOS
DeviceId=18
StartSector=3840
NumSectors=2560
BytesPerSector=2048


PartitionId=6
Name=LNX
DeviceId=18
StartSector=6400
NumSectors=4096
BytesPerSector=2048


PartitionId=7
Name=BAK
DeviceId=18
StartSector=10496
NumSectors=2560
BytesPerSector=2048


PartitionId=8
Name=GP1
DeviceId=18
StartSector=13056
NumSectors=512
BytesPerSector=2048


PartitionId=9
Name=APP
DeviceId=18
StartSector=13568
NumSectors=262144
BytesPerSector=2048


PartitionId=10
Name=CAC
DeviceId=18
StartSector=275712
NumSectors=271104
BytesPerSector=2048


PartitionId=11
Name=MSC
DeviceId=18
StartSector=546816
NumSectors=1024
BytesPerSector=2048


PartitionId=12
Name=USP
DeviceId=18
StartSector=547840
NumSectors=271104
BytesPerSector=2048


PartitionId=13
Name=PER
DeviceId=18
StartSector=818944
NumSectors=2560
BytesPerSector=2048


PartitionId=14
Name=YTU
DeviceId=18
StartSector=821504
NumSectors=256
BytesPerSector=2048


PartitionId=15
Name=UDA
DeviceId=18
StartSector=821760
NumSectors=14808320
BytesPerSector=2048


PartitionId=16
Name=GPT
DeviceId=18
StartSector=15630080
NumSectors=256
BytesPerSector=2048


Community Info

Contributors

  • CmdrWgls
  • rrooij
  • LongnoseRob
  • blacksoil
  • AAT596

Users owning this device

  • AAT596 (Notes: Dogfooding this device for daily basic tasks, very useful)
  • I9505 someone
  • LongnoseRob (Notes: pmOS (edge) w/ u-boot, UI: mate)
  • Lusiferaleisterandreyluzhin (Notes: used and hosts my website 24/7 (2021) , was seized by the police investigation department on March 8, 2022, returned six months later , waiting for flashing u-boot skb2 , have photos in disassembled form)
  • Pangelo (Notes: broken bezel and power/volume button supports but works ok)


Links

Videos