Advice needed porting TWRP to AllWinner a50

Search This thread

snowlily

Member
Jan 30, 2020
14
3
Heya guys!
So I've been busy making a TWRP recovery image for my unlocked chinese tablet (a Deejoy q728) that I bought from Amazon. It's a reaaaaally generic one with literally no firmware available over the entirety of the webs(yes I followed every tutorial you could think of that explains how to find firmware, believe me *sigh*).
Now I've gotten TWRP 2.3.6 to actually boot. I used the recovery img from another tablet with almost the same hardware(Concord HS or something) as a base and brought the necessary files into a TWRP 2.6.3 for the AllWinner A23 SoC. with Android Image Kitchen. The steps I took are from this post on DroidWin. It boots but I am encountering the following(major) problems.
1. Even though it displays in landscape, the touch screen seems to think it's in portrait.
2. Partitions just can't be found whatsoever. I think this might have to do with the fact that I don't know too much about fstab.
3. Adbd doesn't work.

By the by, I also edited the fstab files so that they contain the specific partition info of my tablet, not the Concord, as the Concord has several partitions that simply don't exist on mine. Code for twrp.fstab and recovery.fstab down below:

Code:
twrp.fstab:
/boot          emmc        /dev/block/by-name/boot
/recovery      emmc        /dev/block/by-name/recovery
/system        ext4        /dev/block/by-name/system
/data          ext4        /dev/block/by-name/UDISK     flags=encryptable=/dev/block/by-name/metadata
/cache         ext4        /dev/block/by-name/cache
/misc          emmc        /dev/block/by-name/misc
/external_sd   vfat         /dev/block/mmcblk1p1  flags=removable;storage;display="SDCARD"
/usb-otg       auto         /dev/block/sda1    flags=removable;storage;display="USB-OTG"

recovery.fstab:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src>                                                 <mnt_point>  <type>   <mnt_flags and options>      <fs_mgr_flags>
/dev/block/by-name/system                              /system      ext4     ro,barrier=1                 wait,first_stage_mount,logical,avb=vbmeta,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
/dev/block/by-name/vendor                              /vendor      ext4     ro,barrier=1                 wait,first_stage_mount,logical
#product                                                /product     ext4     ro,barrier=1                 wait,first_stage_mount,logical
/dev/block/by-name/UDISK                               /data        ext4     noatime,nosuid,nodev,discard wait,check,formattable,fileencryption=adiantum,quota,reservedsize=33554432
/dev/block/by-name/cache                               /cache       ext4     noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check,formattable
/dev/block/by-name/metadata                            /metadata    ext4     nodev,noatime,nosuid,errors=panic wait,first_stage_mount,formattable
/dev/block/by-name/boot                                /boot        emmc     defaults                     defaults
/dev/block/by-name/recovery                            /recovery    emmc     defaults                     defaults
/dev/block/by-name/misc                                /misc        emmc     defaults                     defaults
#/dev/block/by-name/super                               /super       emmc     defaults                     defaults
/dev/block/by-name/frp                                 /persistent  emmc     defaults                     defaults
/dev/block/zram0                                       none         swap     defaults                     zramsize=75%
/devices/platform/soc/sdc0/mmc_host/mmc*               auto         auto     defaults                     voldmanaged=extsd:auto,encryptable=footer
/devices/platform/soc/usbc0/usb*                       auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5101000.ehci0-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5200000.ehci1-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5101000.ohci0-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5200000.ohci1-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/external_sd          vfat         /dev/block/mmcblk1p1  flags=removable;storage;display="SDCARD"
/usb-otg                auto         /dev/block/sda1    flags=removable;storage;display="USB-OTG"
# add for recovery
none                                                   /sdcard      emmc     defaults                     defaults

Edit: The main reason I really want this to end up working is because there are a ton of cheap allwinner a50 tablets and most of them(at least mine) are bootloader unlockable. Add Magisk to these babies and voila! Ya got a cheap device that you can theme to your hearts content. Toying around with tech has always been my thing haha.

So if anyone has any tips for me to get a sorta head start on this, I would really appreciate it!
Sincerely,
Snow
 
Last edited:
Heya guys!
So I've been busy making a TWRP recovery image for my unlocked chinese tablet (a Deejoy q728) that I bought from Amazon. It's a reaaaaally generic one with literally no firmware available over the entirety of the webs(yes I followed every tutorial you could think of that explains how to find firmware, believe me *sigh*).
Now I've gotten TWRP 2.3.6 to actually boot. I used the recovery img from another tablet with almost the same hardware(Concord HS or something) as a base and brought the necessary files into a TWRP 2.6.3 for the AllWinner A23 SoC. with Android Image Kitchen. The steps I took are from this post on DroidWin. It boots but I am encountering the following(major) problems.
1. Even though it displays in landscape, the touch screen seems to think it's in portrait.
2. Partitions just can't be found whatsoever. I think this might have to do with the fact that I don't know too much about fstab.
3. Adbd doesn't work.

By the by, I also edited the fstab files so that they contain the specific partition info of my tablet, not the Concord, as the Concord has several partitions that simply don't exist on mine. Code for twrp.fstab and recovery.fstab down below:

Code:
twrp.fstab:
/boot          emmc        /dev/block/by-name/boot
/recovery      emmc        /dev/block/by-name/recovery
/system        ext4        /dev/block/by-name/system
/data          ext4        /dev/block/by-name/UDISK     flags=encryptable=/dev/block/by-name/metadata
/cache         ext4        /dev/block/by-name/cache
/misc          emmc        /dev/block/by-name/misc
/external_sd   vfat         /dev/block/mmcblk1p1  flags=removable;storage;display="SDCARD"
/usb-otg       auto         /dev/block/sda1    flags=removable;storage;display="USB-OTG"

recovery.fstab:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src>                                                 <mnt_point>  <type>   <mnt_flags and options>      <fs_mgr_flags>
/dev/block/by-name/system                              /system      ext4     ro,barrier=1                 wait,first_stage_mount,logical,avb=vbmeta,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
/dev/block/by-name/vendor                              /vendor      ext4     ro,barrier=1                 wait,first_stage_mount,logical
#product                                                /product     ext4     ro,barrier=1                 wait,first_stage_mount,logical
/dev/block/by-name/UDISK                               /data        ext4     noatime,nosuid,nodev,discard wait,check,formattable,fileencryption=adiantum,quota,reservedsize=33554432
/dev/block/by-name/cache                               /cache       ext4     noatime,nosuid,nodev,barrier=1,data=ordered,nomblk_io_submit,noauto_da_alloc,errors=panic wait,check,formattable
/dev/block/by-name/metadata                            /metadata    ext4     nodev,noatime,nosuid,errors=panic wait,first_stage_mount,formattable
/dev/block/by-name/boot                                /boot        emmc     defaults                     defaults
/dev/block/by-name/recovery                            /recovery    emmc     defaults                     defaults
/dev/block/by-name/misc                                /misc        emmc     defaults                     defaults
#/dev/block/by-name/super                               /super       emmc     defaults                     defaults
/dev/block/by-name/frp                                 /persistent  emmc     defaults                     defaults
/dev/block/zram0                                       none         swap     defaults                     zramsize=75%
/devices/platform/soc/sdc0/mmc_host/mmc*               auto         auto     defaults                     voldmanaged=extsd:auto,encryptable=footer
/devices/platform/soc/usbc0/usb*                       auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5101000.ehci0-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5200000.ehci1-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5101000.ohci0-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/devices/platform/soc/5200000.ohci1-controller/usb*    auto         auto     defaults                     voldmanaged=usb:auto,encryptable=footer
/external_sd          vfat         /dev/block/mmcblk1p1  flags=removable;storage;display="SDCARD"
/usb-otg                auto         /dev/block/sda1    flags=removable;storage;display="USB-OTG"
# add for recovery
none                                                   /sdcard      emmc     defaults                     defaults

Edit: The main reason I really want this to end up working is because there are a ton of cheap allwinner a50 tablets and most of them(at least mine) are bootloader unlockable. Add Magisk to these babies and voila! Ya got a cheap device that you can theme to your hearts content. Toying around with tech has always been my thing haha.

So if anyone has any tips for me to get a sorta head start on this, I would really appreciate it!
Sincerely,
Snow
I realize this port is now months old, but I did want to ask how your TWRP port worked out? I'm presently working on Allwinner-a50 and Allwinner-100 tablet projects.
 

snowlily

Member
Jan 30, 2020
14
3
I realize this port is now months old, but I did want to ask how your TWRP port worked out? I'm presently working on Allwinner-a50 and Allwinner-100 tablet projects.
Welllll I have no idea how I did it, but I got it to boot. Touch screen drivers functioned overall but while being horizontal, the touch screen responded as if in portrait, so I literally ended up measuring where what button would be on the touch screen compared what was actually displayed. I eventually gave up as something tells me that the A50 might have very proprietary storage drivers, because no matter what I do, twrp refuses to see any device attached. Also, though most allwinner socs are well docd, the a50 isn't as much and afaik the allwinner barely acknowledges the a50. Though I am really happy I got to develop some more experience with things like fstab and it was a lot of fun😁
 
  • Like
Reactions: Viva La Android
Welllll I have no idea how I did it, but I got it to boot. Touch screen drivers functioned overall but while being horizontal, the touch screen responded as if in portrait, so I literally ended up measuring where what button would be on the touch screen compared what was actually displayed. I eventually gave up as something tells me that the A50 might have very proprietary storage drivers, because no matter what I do, twrp refuses to see any device attached. Also, though most allwinner socs are well docd, the a50 isn't as much and afaik the allwinner barely acknowledges the a50. Though I am really happy I got to develop some more experience with things like fstab and it was a lot of fun😁
Outstanding job. That's no small feat when dealing with Allwinner, and especially their more obscure A-series chipset like the a50. So, TWRP will not recognize USB OTG device or other attached devices?
 

snowlily

Member
Jan 30, 2020
14
3
Outstanding job. That's no small feat when dealing with Allwinner, and especially their more obscure A-series chipset like the a50. So, TWRP will not recognize USB OTG device or other attached devices?
It won't even recognize the internal storage. When maneuver my why with the barely functional touchscreen to the log option, it just shows a long list of "couldn't mount"s. And no matter what I do TWRP has zero access to internal or external storage. Be it otg or microsd. I've tried several way of formatting the fstabs layout. Be it the average template I would find within twrp, or base my fstabs on those in stock recovery. Anyhow, it was taking alot of time in my life and started to get annoying /hj. Though I am glad I developed some experience. But I wanted to make something that would require alot more time, but would be alot more fun to make. It's a series called "Bull[censored] simulator." Though it's not really a simulator. And the real game lies within. Well... The game itself. As in the hexadecimal, the itchio page's assets and so on. Atm I am busy with a part that inserts it's lore into a Pokémon rom hack I will probably call BullShit Sim: Pokémon Edition(Working title of course lol) so sorry for abandoning this job. Though I AM glad that people still take interest. Maybe I'll get back to it someday if I ain't beaten to the chase😁
 
  • Like
Reactions: Viva La Android

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    I realize this port is now months old, but I did want to ask how your TWRP port worked out? I'm presently working on Allwinner-a50 and Allwinner-100 tablet projects.
    Welllll I have no idea how I did it, but I got it to boot. Touch screen drivers functioned overall but while being horizontal, the touch screen responded as if in portrait, so I literally ended up measuring where what button would be on the touch screen compared what was actually displayed. I eventually gave up as something tells me that the A50 might have very proprietary storage drivers, because no matter what I do, twrp refuses to see any device attached. Also, though most allwinner socs are well docd, the a50 isn't as much and afaik the allwinner barely acknowledges the a50. Though I am really happy I got to develop some more experience with things like fstab and it was a lot of fun😁
    1
    Outstanding job. That's no small feat when dealing with Allwinner, and especially their more obscure A-series chipset like the a50. So, TWRP will not recognize USB OTG device or other attached devices?
    It won't even recognize the internal storage. When maneuver my why with the barely functional touchscreen to the log option, it just shows a long list of "couldn't mount"s. And no matter what I do TWRP has zero access to internal or external storage. Be it otg or microsd. I've tried several way of formatting the fstabs layout. Be it the average template I would find within twrp, or base my fstabs on those in stock recovery. Anyhow, it was taking alot of time in my life and started to get annoying /hj. Though I am glad I developed some experience. But I wanted to make something that would require alot more time, but would be alot more fun to make. It's a series called "Bull[censored] simulator." Though it's not really a simulator. And the real game lies within. Well... The game itself. As in the hexadecimal, the itchio page's assets and so on. Atm I am busy with a part that inserts it's lore into a Pokémon rom hack I will probably call BullShit Sim: Pokémon Edition(Working title of course lol) so sorry for abandoning this job. Though I AM glad that people still take interest. Maybe I'll get back to it someday if I ain't beaten to the chase😁