ASUS Transformer Prime (asus-tf201): Difference between revisions
mNo edit summary |
|||
Line 39: | Line 39: | ||
| status_irtx = - | | status_irtx = - | ||
| pmoskernel = mainline grate | | pmoskernel = mainline grate | ||
}} | }}{{Based on SoC|Nvidia_Tegra_3_(tegra30)|Tegra 3}} | ||
{{ | |||
== Unlocking == | == Unlocking == | ||
The first step to do anything with the device is unlocking, with this device its done by sideloading the unlock apk from ASUS and clicking a few buttons in the app. The apk can be found on [https://dlcdnets.asus.com/pub/ASUS/EeePAD/TF201/UnLock_Device_App_V6.apk the ASUS support page]. | The first step to do anything with the device is unlocking, with this device its done by sideloading the unlock apk from ASUS and clicking a few buttons in the app. The apk can be found on [https://dlcdnets.asus.com/pub/ASUS/EeePAD/TF201/UnLock_Device_App_V6.apk the ASUS support page]. | ||
Line 328: | Line 320: | ||
[[File:Plug.jpg|thumb|mini|left|250px|40pin plug]] [[File:Cable.jpg|thumb|mini|right|250px|UART cable]] | [[File:Plug.jpg|thumb|mini|left|250px|40pin plug]] [[File:Cable.jpg|thumb|mini|right|250px|UART cable]] | ||
== Contributors == | |||
* Clamor | |||
* Ion Agorria | |||
=== Users owning this device === | |||
{{Device owners}} | |||
== See also == | == See also == |
Revision as of 13:01, 2 January 2022
![]() | |
Manufacturer | Asus |
---|---|
Name | Eee Pad Transformer Prime |
Codename | asus-tf201 |
Released | 2011 |
Hardware | |
Chipset | [[Nvidia Tegra 3 T30]] |
CPU | Quad-core 1.4 GHz Cortex-A9 |
GPU | NVIDIA ULP GeForce GPU 12 cores |
Display | 1280x800 Super IPS+ LCD |
Storage | 32/64 GB |
Memory | 1 GB |
Architecture | armv7 |
Software | |
Original software | Android 3.2 to Android 4.1 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
postmarketOS kernel | mainline grate |
Unixbench Whet/Dhry score | 1208.1 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Partial |
Audio |
Partial |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
Miscellaneous | |
FDE |
Works |
USB OTG |
Works |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Works |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
This device is based on the Tegra 3. See the SoC page for common tips, guides and troubleshooting steps |
Unlocking
The first step to do anything with the device is unlocking, with this device its done by sideloading the unlock apk from ASUS and clicking a few buttons in the app. The apk can be found on the ASUS support page.
Bootloader unlock fails with Unknown error
Contact ASUS tech support, describe the issue and provide them with information they'll request. Bootloader unlock may become available within 1-2 days after the request.
Kernel status
Android kernel
- 3.1 kernel based on ASUS sources with updates till Oreo support (Morpheus kernel)
- 3.4 kernel as a part of Unlegacy Android Project (Unlegacy kernel)
Mainline (Grate)
- Baseline kernel sources on master: https://github.com/grate-driver/linux
- Proper dts for TF201 is added
- Version: 5.16.0-rc4
- Status: Boots. Almost full support.
Installation

How to enter flash modes
Turn tablet off if it is in the system. Then press POWER and VOL DOWN buttons till you feel the vibration. Then release the POWER only. You will enter the bootloader/fastboot. In bootloader you can navigate with VOL DOWN button and to choose option use VOL UP button.
Bootloader version
Latest bootloader for TF201 was 10.4.2.18 and to use pmOS you need bootloader version of 10.6.1.27.5 to reach this you can use flashable via TWRP bootloader packages.
Installation process
The bootloader doesn't handle flashing the boot and userdata partition correctly, the official firmware package flashes an "Android blob" to the staging partition with fastboot which triggers an flashing screen on the tablet which copies the data to the correct partitions. pmbootstrap has tools to pack and flash kernel correctly, no worries! |
Preparing rootfs and flashing kernel:
$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher flash_kernel
Flashing rootfs
This may change size of your data partition. You can fix it by resizing partition in TWRP before flashing Android. |
You should proceed very carefully here.
When rootfs is larger than approx. 800 MB you can flash it to the /userdata partition ONLY, if rootfs is smaller, you can flash it to /system or /userdata.
Prerequisites: TWRP, at least version 3.3.1-0, binaries for 10.6.1.27.5 bootloader are here.
First, start TWRP (go to bootloader and choose RCK) and then continue with these instructions
(computer) $ pmbootstrap export
(computer) $ adb shell
(twrp) $ umount /dev/block/mmcblk0p1 <- unmounting /system partition
(twrp) $ umount /dev/block/mmcblk0p8 <- unmounting /data partition
(computer again) $ adb push /tmp/postmarketOS-export/asus-tf201.img /dev/block/mmcblk0p1 <- to flash rootfs to /system partition
'OR'
(computer again) $ adb push /tmp/postmarketOS-export/asus-tf201.img /dev/block/mmcblk0p8 <- to flash rootfs to /data partition
Hardware status (mainline)
Status | Hardware | Info |
---|---|---|
Y | Booting | boot.img has restriction of approx 8MB, which is /boot partition size. |
Y | Bootloader | Open source bootloader U-Boot is available as alternative for stock Asus bootloader and can replace it. Currently U-Boot still does not reached its full potential, but it successfully boots mainline kernel. |
Y | Panel | HannStar HSD101PWW2 Rev0-A00/A01 LCD SuperIPS+ HD panel through LVDS controller. |
Y | HDMI output | HDMI works, but output is 1080p due to Tegra 3 limitations. |
Y | Touchscreen | Used Atmel MXT768E touchscreen. |
Y | USB | One full size USB 2.0 in dock or via 40pin adapter. |
Y | SD cards | MicroSD card and full sized SD card (recognized as USB drive) in dock. |
Y | Internal memory | eMMC by Kingston KE4BT5D6A or Hynix H26M64002BNR. |
N | GPS | Broadcom GPS BCM4751 is used. Device itself has weak signal. |
Y | WiFi | Uses Azurewave AW-NH615 BCM4329. Wi-Fi should work out of the box. All needed stuff is included. |
Y | Bluetooth | Uses Azurewave AW-NH615 BCM4329B1. Works fine out of the box. |
Y | GPIO keys | There are 3 keys on GPIO: Power, Volume up, Volume down.
Additionally GPIO-keys like are LID sensor and Audio dock line-out detect. |
Y | Vibro | Transformer Prime has GPIO based vibrator. |
Y | Dock Keyboard | Both pad and dock have Nuvoton NPCE795LA0BX embedded controller which handles battery data, charding, leds, keyboard and touchpad. Driver of this EC is mainlined and is fully functional. Keyboard and Touchpad work.
Alt Gr can be used for alternate multimedia keys instead of escape, fn keys, volumes and delete. Alt GR + Lock changes the default key mode. |
Y | Battery/Charger | Driver is based on Texas Instruments bq24725 SMBus Charge Controller driver and GPIO charger but works through pad/dock EC. Charging and charge level of both batteries are shown correctly. |
Y | PMIC | Transformers use Texas Instruments TPS659110 PMIC and TPS62361 core regulator. |
P | Sound | Sound codec is RT5631. Kernel driver and tegra_rt5631 glue driver are added to grate master. Sound works only if boot from downstream kexec. Reason unknown. Audio via HDMI works out of the box. |
N | Voice processor | Transformers use separate Fortemedia FM34NE voice processor. No mainline driver is available. Is used for voice processing and noise cancelling. Currently not used. |
Y | Thermal sensor | NCT1008 ON Semiconductor LM90 series thermometer. |
Y | Orientation sensors | Include Invensense mpu3050 gyroscope with Kionix KXTF9 accelerometer and Aichi AMI306 3-axis digital compass. |
Y | Light sensor | Driver Dyna-Image AL3010. Brightness regulation works, install iio-sensor-proxy . It's slightly oversensitive. |
N | Front camera | Aptina mi1040 camera sensor. Grate kernel doesn't support VI yet. |
N | Rear camera | Fujitsu MBG048 image processor. Since it is broken on most TF201 is not planned to be added to support list. If you have such a need, development is welcome. Mainline driver doesn't exist. |
P | ULP GeForce | GPU Acceleration partially works. |
Participate development
- sound needs further investigations, issue is common for all transformers;
- emmc vio voltage is 3.3v when proper should be 1.8v (setting 1.8v brakes emmc);
- BCM4751 GPS is commonly used in devices of this age, although it still does not have proper implementation (nor kernel, nor userspace);
- Fortemedia fm34ne has driver prototype, but kernel lacks way to get audio devices state (dsp is used only for internal mic);
- u-boot lacks navigation in bootmenu
Usability
Desktop environment
Since 3D acceleration is not available yet, all DE which use it will be painfully slow and laggy.
Currently xfce4 or mate are recommended.
U-Boot
WARNING: This part is HIGHLY EXPERIMENTAL! DO NOT USE THIS IF YOU DO NOT KNOW WHAT U ARE DOING. |
Further procedure needs pre-made nvflash. Files blob.bin and bricksave.img are only thing that will save you from full brick and allow replace/restore Asus bootloader. |
Current U-Boot status on Asus Transformer Prime TF201
Status | Feature | Info |
---|---|---|
Y | Boot itself | U-Boot successfully boots when is flashed into EBT partition instead of Asus bootloader. Can be additionally booted via fusée gelée exploit, even in locked state. |
Y | Panel | Boot process is shown on panel. |
Y | MicroSD | Fully functional and detectable. Can be used as boot source. |
Y | eMMC | Hacked but is fully functional. Can be used as boot source. |
Y | Boot kernel | Yes, by default kernel and dtb are booted from 1st partition on sdcard, if nothing found, u-boot will check /system partition of eMMC. Kernel name must be vmlinuz, dtb - tegra30-asus-tf201.dtb, ramdisk is optional, name is uInitrd and it must be in u-boot format. |
P | Boot menu | Native u-boot bootmenu works perfectly fine. It can be called with pressing volume down button on boot. Unfortunately navigation in bootmenu is not properly implemented, so it is useless. |
Y | Power management | Offline charging and charging in u-boot both work and are hw configured. Both power off and reboot options work and are available in bootmenu. If no valid kernel is found tablet will turn off. |
P | Fastboot | Fastboot option is available in bootmenu. It is configured for non write commands for now. Broken. |
P | Boot from script | Boot from BCT option is available in bootmenu. It is implemented but not tested. |
P | Boot Android | Boot Android option is available in bootmenu. It is implemented, LNX partition is default /boot partition. Broken. |
P | Self update | Self update option is available in bootmenu. It is implemented, broken. |
Primary, you need to build a u-boot from this source (github) on master branch and tf201_defconfig. Use same GCC as for kernel. When build is finished, you will get a file with name u-boot-dtb-tegra.bin. This is new bootloader.
Next, boot preparations require rebuilding device tree. You need to remove trustzone and firmware nodes, since they are incompatible with u-boot. Additionally, if initramfs is used, you must convert it into u-boot format.
Last step is flashing new bootloader. Place previously built u-boot-dtb-tegra.bin into your nvflash folder. Put prepared microSD into tablet. Set your device into APX mode and perform
wheelie --blob blob.bin
nvflash --resume --download 4 u-boot-dtb-tegra.bin
And wait till tablet boots.
If you need to restore Asus bootloader, you can find one in stock firmware blob and flash it with same method.
Serial console
Asus Transformers have serial port both on motherboard and in 40 pin connector.
MOTHERBOARD

On motherboard serial console can be organized via J0801 according to enclosed scheme. UART is UART-A (serial@70006000; 115200n8) and uses 3.3v. This method requires disassembling tablet.
UART CABLE
Serial console can be additionally made from standard charging cable, but in process cable will be destroyed.
You would need:
- Asus charging cable;
- UART to USB (like CP2102);
- 3 wires with pin plugs on end;
- Soldering iron, a bit of skill;

First of all you need to cut both ends of charging cable and prepare any 3 of cable wires for further soldering on both sides. Then solder your wires with pin plugs to prepared wires of Asus cable on ONE SIDE.
Now we need to prepare 40 pin plug. It's cover is solid, but there is a plastic rubber around metal plug, it needs to be cut, then metal plug can be carefully extracted. Controller board is covered with black silicon, it needs to be teared as well. Then you need to unsolder ground (black wire), it holds board to metal plug. After board can be unsoldered or gently pulled and it will come out with pins. Then you have to remove all remaining pins, find where 6 and 7 pins are on shorter side (!) and make their holes a bit bigger (holes from board side!). Insert pins from board(I've inserted mine with 90°, they insert easier and work fine; additionally you may try straightened stapler clip). Now you can solder wires on other side of Asus cable to pins and to metal connector. Additionally, I have fixed pins with super glue, before fixing pins check is they reach almost end of its groove.
6th pin is RX of device and 7th pin is TX of device, GND is on metal connector.
Connect RX (6th pin wire) to TX of CP2102, TX (7th pin wire) to RX of CP2102 and GND to GND respectively. Plug your USB adapter, configure it and you are ready to take UART logs.


Contributors
- Clamor
- Ion Agorria
Users owning this device
- Clamor (Notes: pmOS with Grate kernel and U-Boot)
- IonAgorria (Notes: PMOS - OK)
- Jja2000
- LongnoseRob (Notes: pmOS (edge) w/ u-boot, UI: mate)
See also
- Asus Transformer device family on Tegra 3 includes also Transformer Pad TF300T and Transformer Pad Infinity TF700T
- Katkiss android ROM XDA link
- How to get your tf201 to katkiss XDA link
- More about the device Wikipedia entry
- pmaports!1803 MR to add signed blobs as required by tf201 fastboot
- Kernel and pmaports fork designed for using u-boot