Jump to content

Lenovo IdeaTab A3000 (lenovo-a3000)

From postmarketOS Wiki
Lenovo IdeaTab A3000
Lenovo A3000 running stock Android
Lenovo A3000 running stock Android
Manufacturer Lenovo
Name IdeaTab A3000
Codename lenovo-a3000
Released 2013
Type tablet
Hardware
Chipset MediaTek MT6589
CPU 4x 1.2 GHz Cortex-A7
GPU PowerVR SGX544MP @ 286 MHz
Display 1024x600 LCD
Storage 4/8/16 GB
Memory 1 GB
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Android 4.2.2
Extended version
The most recent supported version from the manufacturer.
Android
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
Features
Flashing
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
Battery
Charging and battery level reporting works
Partial
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Connectivity
WiFi
Broken
Bluetooth
Untested
GPS
Untested
NFC
Near Field Communication
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
Works
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested

Contributors

  • Tooniis
  • Wujekbrezniew

Maintainer(s)

  • Wujekbrezniew

Users owning this device


Building

Kernel source from Mediatek has complicated .config generation procedure. Proper fixes were added into git repo linked below on branch "postmarketos".

Build kernel with --src flag linking to kernel source code directory. There's high propability that standard way of building will fail.

To edit kernel config you need to go to $kernel_source_dir/mediatek/config/mt6589/autoconfig/kconfig and edit "platform" file, because .config is generated from mediatek/config folders after runing make. This depends on TARGET_KERNEL_PRODUCT value. Because of that "make menuconfig" is basicly useless. However you can generate .config by running "make menuconfig", check what values where added and copy them to mentioned "platform" file. This is bit tricky and propably will generate some config questions by running make so after changing some values you need to patch "platform" config by yourself. In this part you can try to build a kernel without pmbootstrap tools. Environmental values that are needed to build kernel standard way are in $kernel_source_dir/shell_variables so you only need to download proper toolchain (read this file to find out which) and later do . ./shell_variables.

Kernel config that is obligatory by pmbootstrap is dummy because of reasons above. Doing pmbootstrap Kconfig does not work because make will not have TARGET_KERNEL_PRODUCT value exported.

Flashing

Fastboot is broken on this device.

To generate system.img and boot.img do: "pmbootstrap export [dir of choise]" after building system. To flash device you need SpFlashTool which works both on Windows and Linux (after unpacking and deleting lib folder) and flash files. Those can be obtained from Custom Android Build or from prebuild pmOS package. Both linked in sources section. SpFlashTool does not automaticaly detect PostmarketOS images so you need to select them manualy in gui. BOOTIMG will be PostmarketOS boot.img and SYSTEM will be lenovo-a3000.img.

To create flash files by your own you need to resize partitions with MTK Partition Editor. All partitions that are listed in original scatter file must persist. Prebuild package has modified partition sizes.

Developer hints

Size of internal emmc is lower than 4GB (in 4GB version) - actual emmc size is 0xE9000000 in hex. Scatter file is universal for all editions of device because crucial partitions takes less then 3GB of memory.

This device has separated data and fat (this is pre lolipop device).

USB Network is unstable on lower battery.

Sources

Kernel source: https://github.com/wujekbrezniew/android_kernel_lenovo_mt8389 Use postmarketos branch to build boot and system!

Prebuild packages: https://drive.google.com/drive/folders/1VbhM057c5mpdBAi1h8Ifve981-yvT9NP?usp=sharing Those are build for 4GB version. For larger memory editions if you want to resize system partition you can use MTK Partition Tool

PostmarketOS files: https://github.com/wujekbrezniew/lenovo-a3000h-postmarketos-files/tree/main

Android device tree: https://github.com/wujekbrezniew/android_device_lenovo_a3

Android proprietary files: https://github.com/wujekbrezniew/proprietary_vendor_lenovo_a3

Custom Android build: https://forum.xda-developers.com/t/rom-kitkat-4-4-2-v3-0-0-lenovo-a3000-h-stable-version.3414278/

Device can be easily repartitioned with non-open source software called MTK Partition Editor: https://mega.nz/file/g8MHEYIJ#0WYXB92f3S0pchryDXWFm1lcZ013JUPI0pL1J38Sdlo

UART

UART is accessible from test points on the board. These are the test points for UART3, which is where bootloader logs can be read from:

It is possible to solder wires to those points and a ground pad for easy access to UART. Those wires can then be passed through the SIM card slot hole in the back shell. The connectors give the back cover a small bump, so you have to use bare wires if you want it to sit flush.

Warning WARNING: Bare wires must be insulated properly with tape or some other method to ensure they don't short out with each other or to pins in the SIM card slots.

Gallery