[Recovery][4.2.x][Allwinner A20]TWRP v2.6.3.0 Softwinners Wing-D9 (JayTech PA1051DA)

Search This thread

DualJoe

Senior Member
Oct 12, 2011
2,198
1,103
de
TWRP v2.6.3.0 for Softwinners Wing-D9 (Allwinner A20)
aka JayTech PA1051DA


Warning:
This process might damage your device. Make yourself comfortable how to recover from a broken system (Livesuite, PhoenixCard..). Even though most Allwinners are unbrickable reviving might involve steps that are less suitable for beginners.

General info:
The Allwinner A20 devices are available in many variations. Use the informations below to figure out if your device might be compatible. It's important that the kernel command line (see below) includes a 'partition' section with aliases for the partitions because they are used in the filesystem table of TWRP (see below). Example: recovery@nandg -> Symlinks /dev/block/nandg to /dev/block/recovery.

Do not use on devices with resolution below 1024x600.

Installation:
Flash the image with dd to your device. Don't forget to backup your old recovery (see here):
Code:
busybox dd if=recovery.img of=/dev/block/recovery bs=1M

Boot into recovery with either <power> + <vol+> or by 'adb reboot recovery'.

If the recovery only works partially (eg. due to wrong display or touch driver) and you're stuck in a bootloop that always starts the recovery (instead of the system) and ADB is running properly you can write the boot command string to /misc partition manually that should point the bootloader back to Android OS.
Code:
echo -n bootloader | busybox dd of=/dev/block/misc bs=16 count=1 conv=sync; sync
It writes the string 'bootloader' and fills up the rest of the 16 char block with 0x00.

Device info:
Tablet brand name: JayTech PA1051DA (Germany 06/2013)
SoC: Allwinner A20 (sun7i)
ro.build.fingerprint=softwinners/wing_d9/wing-d9:4.2.2/JDQ39/20130619:eng/test-keys
ro.product.model=TPC-1051
ro.build.version.release=4.2.2
Dmesg info: Linux version 3.3.0+ (lpp@INGENIC-CROSS) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #16 SMP PREEMPT Tue Jun 25 10:39:48 CST 2013

ARM Cortex A7 Dual Core 1.5 GHz
ARM Mali400MP2
Display: 10,1" 1024x600
Android 4.2
RAM: 1GB
Nand: 8GB

Kernel command line:
(cat /proc/cmdline)

Code:
console=ttyS0,115200 root=/dev/system init=/init loglevel=4 partitions=bootloader@nanda:env@nandb:boot@nandc:system@nandd:data@nande:misc@nandf:recovery@nandg:cache@nandh:databk@nandi:UDISK@nandj

cat /proc/partitions:
(Partition layout (size/position/count) doesn't matter. Kernel command line aliases handle that).
Code:
major minor  #blocks  name

   7        0      12506 loop0
   7        1      16664 loop1
   7        2      17703 loop2
   7        3      22901 loop3
   7        4      37454 loop4
   7        5      21861 loop5
   7        6       7308 loop6
  93        0      16384 nanda
  93        8      16384 nandb
  93       16      16384 nandc
  93       24     524288 nandd  (/system 512MB)
  93       32     524288 nande  (/data 512MB)
  93       40      16384 nandf
  93       48      32768 nandg  (Recovery 32MB)
  93       56     524288 nandh
  93       64     262144 nandi
  93       72    5521408 nandj  (/sdcard 5.6GB)
 254        0      12505 dm-0
 254        1      16663 dm-1
 254        2      17703 dm-2
 254        3      22900 dm-3
 254        4      37453 dm-4
 254        5      21861 dm-5
 254        6       7308 dm-6

TWRP recovery.fstab:
Code:
# mount point		fstype		device				device2
# /bootloader		vfat		/dev/block/bootloader
/env			emmc		/dev/block/env
/boot			emmc		/dev/block/boot			flags=backup=1
/system			ext4		/dev/block/system		flags=backup=1;wipeingui
/data			ext4		/dev/block/data			flags=backup=1;wipeduringfactoryreset;wipeingui
/misc			emmc		/dev/block/misc
/recovery		emmc		/dev/block/recovery		flags=backup=1
/databk			ext4		/dev/block/databk
/cache			ext4		/dev/block/cache		flags=backup=1;wipeduringfactoryreset;wipeingui
/sdcard			vfat		/dev/block/UDISK		flags=backup=1;storage;settingsstorage;display="Internal SDCard";wipeingui
/external_sd		vfat		/dev/block/mmcblk0p1		flags=backup=1;storage;display="External SDCard";wipeingui;removable

Drivers (lsmod):
Code:
cdc_ether 2906 0 - Live 0x00000000
rtl8150 8154 0 - Live 0x00000000
mcs7830 4947 0 - Live 0x00000000
qf9700 5167 0 - Live 0x00000000
asix 12313 0 - Live 0x00000000
usbnet 12504 4 cdc_ether,mcs7830,qf9700,asix, Live 0x00000000
sunxi_csi1 27909 0 - Live 0x00000000
sunxi_csi0 28609 0 - Live 0x00000000
gc2035 12870 1 - Live 0x00000000
gc0308 10968 1 - Live 0x00000000
videobuf_dma_contig 3816 2 sunxi_csi1,sunxi_csi0, Live 0x00000000
videobuf_core 15283 3 sunxi_csi1,sunxi_csi0,videobuf_dma_contig, Live 0x00000000
mma7660 7318 0 - Live 0x00000000
ft5x_ts 66217 0 - Live 0x00000000  <-- Touchscreen
mali 183842 30 - Live 0x00000000 (O)
ump 29576 7 mali, Live 0x00000000 (O)
hdmi 22078 0 - Live 0x00000000
lcd 4126 0 - Live 0x00000000
disp 257984 14 mali,hdmi,lcd, Live 0x00000000
nand 132556 8 - Live 0x00000000 (O)

Source/device tree:
https://github.com/BlueMax/android_device_softwinners_wing_d9
 

Attachments

  • TWRP.v2.6.3.0-Softwinners-Wing_D9_(Allwinner-A20)-v1.0.7z
    6.9 MB · Views: 18,695
Last edited:

DualJoe

Senior Member
Oct 12, 2011
2,198
1,103
de
Changelog:

- v1.0: Initial release (TWRP v2.6.3.0)
- Instructions: Replaced partition names with aliases
 
Last edited:

dmonium

Senior Member
Dec 27, 2007
362
267
Allwinner A20 9" 800x480

Hi mate
I have a Tablet brand name: Xtratech Tablet M905
SoC: Allwinner A20 (sun7i)
Android 4.2.2
Kernel 3.3
ARM Cortex A7 Dual Core 1.5 GHz
Display: 9" 800x480
RAM: 1GB
Nand: 16GB

Could you tell me if the information in this thread will work for my tablet?

Thanks so much...
 

splatoid

Senior Member
Mar 13, 2011
479
48
Vancouver
Hi there
I have been looking for something like this for my Cubietruck. There really is no one working on this on any of the Cubie forums. Here are the specs on this board.


CPU
Dual core ARM Cortex A7 processor, NEON, VFPv4, 512KB L2-Cache

GPU
Dual core ARM Mali400 MP2, 1 vertex shader, 2 fragment shaders, OpenGL ES 2.0

Memory
2GB DDR3 @480MHz

Video output
HDMI 1080p, VGA

Networking
10/100M/1G Ethernet, WiFi, Bluetooth



Internal storage
8GB NAND Flash

IO
2 x USB Host, 1 x MicroSD slot, 1 x SATA, 1 x IR sensor

Extended interfaces
54 extend pin interfaces to low level SOC functionality

Software
Android 4.2, Official Linux distribution available (not pre-installed)

Power
Requires regulated 5VDC 2A power supply with a 4.0mm(ext. diameter) x 1.7mm (int. diameter) barrel plug. Extra power may be required for some HDD
The version of Android is a striped down version. Im trying to get a custom recovery on this board. And an updated version of android.
Thanks

---------- Post added at 11:59 PM ---------- Previous post was at 11:58 PM ----------

Hi there
I have been looking for something like this for my Cubietruck. There really is no one working on this on any of the Cubie forums. Here are the specs on this board.


CPU
Dual core ARM Cortex A7 processor, NEON, VFPv4, 512KB L2-Cache

GPU
Dual core ARM Mali400 MP2, 1 vertex shader, 2 fragment shaders, OpenGL ES 2.0

Memory
2GB DDR3 @480MHz

Video output
HDMI 1080p, VGA

Networking
10/100M/1G Ethernet, WiFi, Bluetooth



Internal storage
8GB NAND Flash

IO
2 x USB Host, 1 x MicroSD slot, 1 x SATA, 1 x IR sensor

Extended interfaces
54 extend pin interfaces to low level SOC functionality

Software
Android 4.2, Official Linux distribution available (not pre-installed)

Power
Requires regulated 5VDC 2A power supply with a 4.0mm(ext. diameter) x 1.7mm (int. diameter) barrel plug. Extra power may be required for some HDD
The version of Android is a striped down version. Im trying to get a custom recovery on this board. And an updated version of android.
Thanks
 

DualJoe

Senior Member
Oct 12, 2011
2,198
1,103
de
I got the recovery installed but the touch support isnt working
You probably need a different touchscreen driver (included is 'ft5x_ts'). Post an 'lsmod' output from the main system. It should be possible to swap or add the driver.

Also attach the log file from TWRP that is in /tmp.
 
  • Like
Reactions: L4ky

L4ky

Member
Aug 19, 2012
17
3
Hi, i have a allwinner a20 tablet which has these spec:
Allwinner A20 ( Cortex a7 1.2GHz Dual core)
GPU Mail 400 MP2
1GB DDR3
4GB FLASH
9" 1024x768

Can you tell me if it will work?
Can you also send me the source code of this TWRP?
Which driver do you need to port TWRP for my devices? How can i give you them?

Thank you
 

max0r4axor

Member
Dec 22, 2008
28
4
lsmod for eken gc10x

u0_a59@android:/ $ lsmod
8188eu 628195 0 - Live 0x00000000
8192cu 626898 0 - Live 0x00000000
gslX680 113137 0 - Live 0x00000000 (F)
dmard10 7798 0 - Live 0x00000000
sw_device 11232 0 - Live 0x00000000
cdc_ether 2927 0 - Live 0x00000000
mcs7830 4948 0 - Live 0x00000000
qf9700 5168 0 - Live 0x00000000
asix 12318 0 - Live 0x00000000
usbnet 12521 4 cdc_ether,mcs7830,qf9700,asix, Live 0x00000000
sunxi_csi0 28746 0 - Live 0x00000000
gc03281 10793 1 - Live 0x00000000
gc0328 10821 1 - Live 0x00000000
videobuf_dma_contig 3817 1 sunxi_csi0, Live 0x00000000
videobuf_core 15292 2 sunxi_csi0,videobuf_dma_contig, Live 0x00000000
camera_led_con 1176 0 - Live 0x00000000
mali 115734 73 - Live 0x00000000 (O)
ump 30154 17 mali, Live 0x00000000 (O)
hdmi 22869 0 - Live 0x00000000 (O)
lcd 4127 0 - Live 0x00000000
disp 259894 18 mali,hdmi,lcd, Live 0x00000000
nand 133329 8 - Live 0x00000000 (O)

---------- Post added at 03:59 AM ---------- Previous post was at 03:39 AM ----------

well i unpacked your compiled recovery and my original recovery deleted ft5x_ts.ko from yours added gslX680.ko from mine changed /insmod ft5x_ts.ko to /insmod gslx680.ko and repacked going to flash and see if this fixes it

---------- Post added at 04:32 AM ---------- Previous post was at 03:59 AM ----------

I can provide a link to my reocovery extracted if it helps through a pm
 

DualJoe

Senior Member
Oct 12, 2011
2,198
1,103
de
Can you tell me if it will work?
No, sorry. Its impossible to tell anything for sure. It depends on many things and i don't recommend trying this if you can't recover from a bootlooped state.

i unpacked your compiled recovery and my original recovery deleted ft5x_ts.ko from yours added gslX680.ko from mine changed /insmod ft5x_ts.ko to /insmod gslx680.ko and repacked going to flash and see if this fixes it

That's the same thing i had in mind. Did it work?
 

max0r4axor

Member
Dec 22, 2008
28
4
No, sorry. Its impossible to tell anything for sure. It depends on many things and i don't recommend trying this if you can't recover from a bootlooped state.


That's the same thing i had in mind. Did it work?
I haven't gotten the chance to work the bugs out it semi works and since I can't really brick this cause I have the original firmware I'm trying lots of different things
 

DualJoe

Senior Member
Oct 12, 2011
2,198
1,103
de
I haven't gotten the chance to work the bugs out it semi works and since I can't really brick this cause I have the original firmware I'm trying lots of different things
I would load all modules and see if it works. If not try switching to your kernel. Watch 'twrp.log' and 'dmesg' for errors to clean up at the end.
 

summan1G

Member
Jan 15, 2014
20
1
Hi,I want to install you TWRP,but i have Read-only file system. Can you help me to remount my Tablet on rw file system?
I have Assistant AP-110,on Allwinner A20 / 10,1"/ but command mount -o remount,rw /system or mount -o remount,rw /dev/block/system /system, or mount -o remount,rw /dev/block/nandd /system not work...(EXT4 FS)...
Help me please)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    TWRP v2.6.3.0 for Softwinners Wing-D9 (Allwinner A20)
    aka JayTech PA1051DA


    Warning:
    This process might damage your device. Make yourself comfortable how to recover from a broken system (Livesuite, PhoenixCard..). Even though most Allwinners are unbrickable reviving might involve steps that are less suitable for beginners.

    General info:
    The Allwinner A20 devices are available in many variations. Use the informations below to figure out if your device might be compatible. It's important that the kernel command line (see below) includes a 'partition' section with aliases for the partitions because they are used in the filesystem table of TWRP (see below). Example: recovery@nandg -> Symlinks /dev/block/nandg to /dev/block/recovery.

    Do not use on devices with resolution below 1024x600.

    Installation:
    Flash the image with dd to your device. Don't forget to backup your old recovery (see here):
    Code:
    busybox dd if=recovery.img of=/dev/block/recovery bs=1M

    Boot into recovery with either <power> + <vol+> or by 'adb reboot recovery'.

    If the recovery only works partially (eg. due to wrong display or touch driver) and you're stuck in a bootloop that always starts the recovery (instead of the system) and ADB is running properly you can write the boot command string to /misc partition manually that should point the bootloader back to Android OS.
    Code:
    echo -n bootloader | busybox dd of=/dev/block/misc bs=16 count=1 conv=sync; sync
    It writes the string 'bootloader' and fills up the rest of the 16 char block with 0x00.

    Device info:
    Tablet brand name: JayTech PA1051DA (Germany 06/2013)
    SoC: Allwinner A20 (sun7i)
    ro.build.fingerprint=softwinners/wing_d9/wing-d9:4.2.2/JDQ39/20130619:eng/test-keys
    ro.product.model=TPC-1051
    ro.build.version.release=4.2.2
    Dmesg info: Linux version 3.3.0+ (lpp@INGENIC-CROSS) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #16 SMP PREEMPT Tue Jun 25 10:39:48 CST 2013

    ARM Cortex A7 Dual Core 1.5 GHz
    ARM Mali400MP2
    Display: 10,1" 1024x600
    Android 4.2
    RAM: 1GB
    Nand: 8GB

    Kernel command line:
    (cat /proc/cmdline)

    Code:
    console=ttyS0,115200 root=/dev/system init=/init loglevel=4 partitions=bootloader@nanda:env@nandb:boot@nandc:system@nandd:data@nande:misc@nandf:recovery@nandg:cache@nandh:databk@nandi:UDISK@nandj

    cat /proc/partitions:
    (Partition layout (size/position/count) doesn't matter. Kernel command line aliases handle that).
    Code:
    major minor  #blocks  name
    
       7        0      12506 loop0
       7        1      16664 loop1
       7        2      17703 loop2
       7        3      22901 loop3
       7        4      37454 loop4
       7        5      21861 loop5
       7        6       7308 loop6
      93        0      16384 nanda
      93        8      16384 nandb
      93       16      16384 nandc
      93       24     524288 nandd  (/system 512MB)
      93       32     524288 nande  (/data 512MB)
      93       40      16384 nandf
      93       48      32768 nandg  (Recovery 32MB)
      93       56     524288 nandh
      93       64     262144 nandi
      93       72    5521408 nandj  (/sdcard 5.6GB)
     254        0      12505 dm-0
     254        1      16663 dm-1
     254        2      17703 dm-2
     254        3      22900 dm-3
     254        4      37453 dm-4
     254        5      21861 dm-5
     254        6       7308 dm-6

    TWRP recovery.fstab:
    Code:
    # mount point		fstype		device				device2
    # /bootloader		vfat		/dev/block/bootloader
    /env			emmc		/dev/block/env
    /boot			emmc		/dev/block/boot			flags=backup=1
    /system			ext4		/dev/block/system		flags=backup=1;wipeingui
    /data			ext4		/dev/block/data			flags=backup=1;wipeduringfactoryreset;wipeingui
    /misc			emmc		/dev/block/misc
    /recovery		emmc		/dev/block/recovery		flags=backup=1
    /databk			ext4		/dev/block/databk
    /cache			ext4		/dev/block/cache		flags=backup=1;wipeduringfactoryreset;wipeingui
    /sdcard			vfat		/dev/block/UDISK		flags=backup=1;storage;settingsstorage;display="Internal SDCard";wipeingui
    /external_sd		vfat		/dev/block/mmcblk0p1		flags=backup=1;storage;display="External SDCard";wipeingui;removable

    Drivers (lsmod):
    Code:
    cdc_ether 2906 0 - Live 0x00000000
    rtl8150 8154 0 - Live 0x00000000
    mcs7830 4947 0 - Live 0x00000000
    qf9700 5167 0 - Live 0x00000000
    asix 12313 0 - Live 0x00000000
    usbnet 12504 4 cdc_ether,mcs7830,qf9700,asix, Live 0x00000000
    sunxi_csi1 27909 0 - Live 0x00000000
    sunxi_csi0 28609 0 - Live 0x00000000
    gc2035 12870 1 - Live 0x00000000
    gc0308 10968 1 - Live 0x00000000
    videobuf_dma_contig 3816 2 sunxi_csi1,sunxi_csi0, Live 0x00000000
    videobuf_core 15283 3 sunxi_csi1,sunxi_csi0,videobuf_dma_contig, Live 0x00000000
    mma7660 7318 0 - Live 0x00000000
    ft5x_ts 66217 0 - Live 0x00000000  <-- Touchscreen
    mali 183842 30 - Live 0x00000000 (O)
    ump 29576 7 mali, Live 0x00000000 (O)
    hdmi 22078 0 - Live 0x00000000
    lcd 4126 0 - Live 0x00000000
    disp 257984 14 mali,hdmi,lcd, Live 0x00000000
    nand 132556 8 - Live 0x00000000 (O)

    Source/device tree:
    https://github.com/BlueMax/android_device_softwinners_wing_d9
    3
    Yep, that command is responsible for the partitions. Should be fixed now.
    But that shell/logs aren't working is not a good thing. Somehow they refuse to load. Probably the shared objects/libs are wrong as well.
    3
    I'm working on a cm11 compatible tree for my skytex sp1020 a20 device and I thought I'd share it as it's mostly generic to a20 devices. I need to fix the boot.img it outputs and hwcomposer,audio,camera are all nooped at the moment due to old incomplete source. I'm hoping to find the a23 kitkat sdk one of these days that should provide some updated code for those hals. https://github.com/randomblame/android_device_softwinner_sp1020 I'll push changes as I make them.
    2
    TWRP is touch only and needs correct touch device driver.
    2
    There are too many different drivers. You have to take care of that yourself.
    You can use Android Image Kitchen to unpack the image and replace the files yourself. In the case of Wel1973 i would replace 'ft5x_ts' with 'ft5x02' and 'ft5x06_ts' by swapping the files and changing 'init.rc' respectively. You can also try to swap the kernel (/split_img/recovery.img-zImage). Always make sure you have a backup dd image of your /system partition in case you have to recover with LiveSuite, PhoenixCard. I can't help with that any further.

    /ramdisk/init.rc:
    insmod /ft5x_ts.ko

    insmod /ft5x02.ko
    insmod /ft5x06_ts.ko