Jump to content

ASUS Transformer Pad (asus-tf300t): Difference between revisions

From postmarketOS Wiki
Rudloff (talk | contribs)
Halamix2 (talk | contribs)
m not booting: fix table
Line 1: Line 1:
[[Category:Not booting]]
{{Infobox device
{{Infobox device
| manufacturer = ASUS
| manufacturer = ASUS
Line 14: Line 13:
| display = 1280x800 IPS
| display = 1280x800 IPS
| memory = 1 GB
| memory = 1 GB
| architecture = armhf
| status_usbnet =
| status_flashing =
| status_touch =
| status_screen =
| status_wifi =
| status_xwayland =
| status_fde =
| status_mainline =
| status_battery =
| status_3d =
| status_accel =
| status_audio =
| status_bluetooth =
| status_camera =
| status_gps =
| status_mobiledata =
| status_sms =
| status_calls =
| status = Framebuffer doesn't work
| booting = no
}}
}}



Revision as of 20:48, 2 October 2018

Warning WARNING: This device is not recommended for future use with postmarketOS due to its armhf architecture. Alpine Linux (the distribution that postmarketOS extends) pmaports#599 has been considering dropping it.
The processor of the device may support the armv7 architecture. If so, you can modify the device package and change the architecture accordingly.
This device is marked as not booting.
Status: Framebuffer doesn't work
ASUS Transformer Pad
ASUS Transformer Pad
ASUS Transformer Pad
Manufacturer ASUS
Name Transformer Pad
Codename tf300t
Released 2012
Hardware
Chipset Nvidia Tegra 3 T30
CPU Quad-core 1.2 GHz Cortex-A9
GPU ULP GeForce
Display 1280x800 IPS
Storage 16/32 GB
Memory 1 GB
Architecture armhf
Software
Original software Android 4.0 on Linux 3.1
postmarketOS
Category testing
Pre-built images no


None of this work has been merged upstream. Check out the work-in-progress here or contact jonty-comp on IRC.

There is a rebased version of jonty-comp's branch on postmarketos/device-asus-tf300t

Contributors

What works

  • Compiling CM13 kernel (GitHub)
  • Compiling 4.14-rc3 with tf300t specific patches
  • Flashing via Android recovery zip (Boot image included)
  • System boots
  • Most sensors/cameras/devices seem to be detected (e.g. accelerometer values can be read from /sys etc)

What does not work

  • Flashing via fastboot (device appears to write successfully but then locks up and does not apply the uploaded image)
  • Framebuffer (stuck on ASUS bootloader graphic)

The framebuffer issue is an interesting one as it works without issue on CM13-based Android ROMs with the same kernel and defconfig. Possible toolchain issue or patch needed for GCC6. Devices with a working framebuffer output modesetting information in dmesg after loading the tegradc driver, but the PMOS compiled kernel does not. Common fixes including setting values in /sys have no effect yet.

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.

Fastboot issue

It seems like 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.

After unlocking the device the blobs still needs to have some signature which can be generated by drwowe/BlobTools. This repository adds the -s option to sign the generated blobs.

$ ./pmbootstrap.py export /example
...
$ blobpack -s output.blob LNX /example/boot.img-asus-tf300t APP asus-tf300t.img
Found 2 partitions as commandline arguments
Partname: LNX Filename: boot.img-asus-tf300t
Partname: APP Filename: asus-tf300t.img
Size: 60
2 partitions starting at offset 0x3C
Offset: 92
$ fastboot flash staging output.blob
target didn't report max-download-size
sending 'staging' (680522 KB)...
OKAY [113.288s]
writing 'staging'...
FAILED (remote: (InvalidSize))
finished. total time: 116.623s

The update doesn't get updated yet with this code but at least the bootloader doesn't freeze anymore after the flashing command.