Support for A10/A20

  • Not quite sure what that does, but here's what looks relevant from A1000 fex file:

    OK usbc0 is disabled in the fex. So dtb should be OK. I don't see any differences.

  • OK usbc0 is disabled in the fex. So dtb should be OK. I don't see any differences.

    Hmm, maybe this is the problem - what would be the DTS equivalent of usb_host_init_state in FEX?

    Quote

    various: Set usbc2 usb_host_init_state to 1

    Code
    usb_host_init_state for usbc2 needs to be 1 for the wifi driver to properly
    auto-load. I don't have these boards to verify, but these are 512Mb RAM
    variants of 1Gb boards I do have, so it is safe to assume this is necessary
    with their 512Mb counter-parts too.
    
    Signed-off-by: Hans de Goede <[email protected]>
  • jernej

    it seems to activate a lcd screen it has to happen in uboot. So if I build a new custom uboot, can I use a already flashed image and just dd the new uboot to the sd-card like this:

    Code
    dd if=u-boot.bin of=/dev/mmcblk0 bs=1024 seek=32 
  • simple-fb (U-Boot initialized screen) is not useful for LibreELEC.

    So I have this projector running android on a A20. In the fex file, hdmi is disabled and lcd is enabled. So it seems the projector works through the lcd interface. On the sunxi pages it is mentioned that a custom u-boot should be build and the data in the fex file should be converted to u-boot config. But now you say this will not work on LE because it doesn't us simple-fb? How can I make LE picture through the projector then?

    Would you say: don't bother, don't waist your time. Because this would means that LE will not work on any tablet, right?

  • I've tried the ready-made image linked here, which should be a mainline kernel, albeit an old one: Mainline Debian HowTo - linux-sunxi.org (image link). I didn't go into installing UBoot and full-featured boot - I think that nukes the onboard android, which I don't want to do yet (want to back up the partitions first, and don't have an ADB cable yet). But the pre-install environment did boot successfully, with even the USB ports working (there was no driver for the onboard wifi, but it did show up in lsusb.

    What would be a simple way to prevent jernej's build from loading the Realtek wifi drivers, to check if that's the culprit here?

  • What would be a simple way to prevent jernej's build from loading the Realtek wifi drivers, to check if that's the culprit here?

    The easiest that I could think of it to edit DT and remove USB node connected to wifi.

    But now you say this will not work on LE because it doesn't us simple-fb?

    Problem is that Kodi expects full DRM driver in order to work correctly. simple-fb is fbdev driver. You would see LibreELEC splash screen but I don't think Kodi would start.

    How can I make LE picture through the projector then?

    Would you say: don't bother, don't waist your time. Because this would means that LE will not work on any tablet, right?

    Anything can run LE if it uses DRM driver and GPU driver which supports GBM interface. You just need to figure how to properly describe LCD panel in device tree. But I'm not right person to help you with that, I don't have experience with any output besides HDMI.

  • Anything can run LE if it uses DRM driver and GPU driver which supports GBM interface. You just need to figure how to properly describe LCD panel in device tree. But I'm not right person to help you with that, I don't have experience with any output besides HDMI.

    OK, I will see if I can get further with this, I see in the pinephone dtb these lines that refer to the screen:

    So probably it will be something regarding dsi. For the moment I don't find a specific A20 dtb for tablets using mainline.

  • jernej seems its parallel. It's certainly not LVDS is this one is not enabled. The fex section describes it as lcd_para so I assume this means parallel. I think this is out of my league but maybe I find a site with some good explanation. I already found this: ST Community

    but I'm still confused about this drm/kms stuff.

  • Am I doing this right? I decompiled the DTB, set status="disabled" on the first enabled usb node (and the phy which the subsequent attempt to boot complained about), compiled and replaced sun4i-a10-a1000.dtb. Diff:

    Display Spoiler

    That did get rid of detecting the USB wifi (didn't have anything else attached), but the error message is the same:

    Quote

    [ 4.084220] Run /init as init process

    [ 4.095837] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

    [ 4.109445] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 ]---

    jernej, which /init is this referring to? This one?

  • Am I doing this right? I decompiled the DTB, set status="disabled" on the first enabled usb node (and the phy which the subsequent attempt to boot complained about), compiled and replaced sun4i-a10-a1000.dtb.

    yes, seems good.

    but the error message is the same:

    So wifi just appears to be last driver loaded, but not the cause.

    jernej , which /init is this referring to? This one?

    Yes.

  • > which /init..

    Yes.

    Is there a way to check that it (and busybox executable) is actually on the built image..? (My understanding is that this is the early rootfs - like initramfs on a PC Linux distro - and on these images, that's embedded in the KERNEL image file.) I tried the binwalk method of extraction, but for every xz file it finds in the KERNEL file, unxz reports it as corrupted.

  • Well.. there are ~15 CPIO signatures in there :D

    While there seems to be something compressed in there, trying to extract it results in a lot of cpio errors, not finding "member names" (file names?)

    Display Spoiler

    cpio: Malformed number 0^A

    cpio: Malformed number 3A609B^V

    cpio: Malformed number 3103

    cpio: Malformed number 4

    cpio: Malformed number 18;

    cpio: Malformed number t

    cpio: Malformed number ^A

    cpio: Substituting `.' for empty member name

    drwxr-xr-x 200752 root 61213104 0 Jan 1 1970 .

    cpio: warning: skipped 133997 bytes of junk

    cpio: Malformed number nN_81ED0

    cpio: Malformed number ^A

    cpio: Malformed number 0468A8^V

    cpio: Malformed number #03

    cpio: Malformed number <A0>bin/bus

    cpio: Malformed number ybou^w^?E

    cpio: Malformed number LF^A^A^A<94>^S^Q

    cpio: Malformed number (<9C>

    cpio: Malformed number <80><87>0<C0>d^D<FD>

    cpio: Malformed number <C1>^E4

    cpio: Substituting `.' for empty member name

    ?--------- 4622976 root 87884364 0 Jan 1 1970 .

    cpio: warning: skipped 189365 bytes of junk

    cpio: Malformed number <E5>(_41ED0

    cpio: Malformed number ^A

    cpio: Malformed number 4621E^V

    cpio: Malformed number 103

    cpio: Malformed number ^D^T8

    cpio: Malformed number <libx

    cpio: Malformed number ^\

    cpio: Malformed number `

    cpio: Malformed number 1x

    cpio: Malformed number ss_dns.s

    cpio: Malformed number o.<B5>^T ^R

    cpio: Substituting `.' for empty member name

    ?--------- 4144 root 4596192 0 Jan 1 1970 .

    cpio: warning: skipped 54839 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102

    cpio: Malformed number B6784^V

    cpio: Malformed number 03

    cpio: Malformed number ^D^T1

    cpio: Malformed number r/lib^D

    cpio: Malformed number rt.so

    cpio: Malformed number ELF^A^A^A<AB>

    cpio: Malformed number 1^C

    cpio: Malformed number ^W

    cpio: Malformed number b%^A<C1>^E4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 11958336 root 54923296 0 Jan 1 1970 .

    cpio: warning: skipped 706213 bytes of junk

    cpio: Malformed number <FE><E9>_81ED0

    cpio: Malformed number ^A

    cpio: Malformed number 04CE48^V

    cpio: Malformed number #03

    cpio: Malformed number <96>!ib<87><CA>

    cpio: Malformed number <96><D5>1.1.0

    cpio: Malformed number ^?ELF^A^A^A<A0>

    cpio: Malformed number t^Pp<F5>E<E1>^D

    cpio: Malformed number ^E4

    cpio: Substituting `.' for empty member name

    ?--------- 5039232 root 87884544 0 Jan 1 1970 .

    cpio: warning: skipped 178282 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102^P

    cpio: Malformed number ^R5^V

    cpio: Malformed number

    cpio: Malformed number #ldl9<A0>ar

    cpio: Malformed number mhf.so.3

    cpio: Malformed number <^PLd.so<94>

    cpio: Malformed number <94>

    cpio: Malformed number ibpth<8F><

    cpio: Substituting `.' for empty member name

    lrwxrwxrwx 0 root 54923296 0 Jan 1 1970 . ->

    cpio: warning: skipped 40665 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 3461D5

    cpio: Malformed number #44'

    cpio: Malformed number 3

    cpio: Malformed number ^T9

    cpio: Malformed number /lib^D

    cpio: Malformed number armmem-v

    cpio: Malformed number 7l.so

    cpio: Malformed number ELF^A^Ai^A1

    cpio: Malformed number ^C

    cpio: Malformed number <EC>^Z!8A-^A<CD>

    -rwxr-xr-x 0 root 54926672 0 Jan 1 1970 p\227K\376\252\252

    cpio: warning: skipped 92411 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102^P

    cpio: Malformed number ^R8^V

    cpio: Malformed number ^Pt<E7>$^A^\^S^D

    cpio: Malformed number ^N

    cpio: Malformed number _595A4<8C>

    cpio: Malformed number ^T^_0<8C>

    cpio: Malformed number .KA^M^PZ2^C

    cpio: Substituting `.' for empty member name

    lrwxrwxrwx 0 root 54923296 0 Jan 1 1970 . ->

    cpio: warning: skipped 221172 bytes of junk

    cpio: Malformed number ^A

    cpio: Malformed number ^A

    cpio: Malformed number 46102^L

    cpio: Malformed number 790C^V

    cpio: Malformed number 3

    cpio: Malformed number ^T6

    cpio: Malformed number /lib^D

    cpio: Malformed number pthread.

    cpio: Malformed number so

    cpio: Malformed number ^A^AO ^Q(<A0>

    cpio: Malformed number "<BC>O<80>^Z!^Lt

    cpio: Malformed number <A9>^A<C0>^E4

    ?--------- 495808 root 4591648 0 Jan 1 1970 \260\227K\376\252\252

    cpio: warning: skipped 49590 bytes of junk

    cpio: Malformed number 00941

    cpio: Malformed number ^?00A1FF0

    cpio: Malformed number ^A

    cpio: Malformed number 4621E^O

    cpio: Malformed number 1^G

    cpio: Malformed number ^_27

    cpio: Malformed number (^BJ' ^N

    cpio: Malformed number .1.0<98>

    cpio: Malformed number ^P_42C7C<98>

    cpio: Malformed number blkid<8A>

    cpio: Substituting `.' for empty member name

    ?--------- 16 root 4596192 0 Jan 1 1970 .

    cpio: warning: skipped 158525 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 346102

    cpio: Malformed number B45D8^V

    cpio: Malformed number 03

    cpio: Malformed number ^D^T6

    cpio: Malformed number ib^D

    cpio: Malformed number ss_dns.s

    cpio: Malformed number o

    cpio: Malformed number 1^C

    cpio: Malformed number

    <D0>!!<C8>A^A^A

    cpio: Malformed number <CE>^E4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 11820416 root 54923296 0 Jan 1 1970 .

    cpio: warning: skipped 373903 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 003E294^V

    cpio: Malformed number ^Dusr/sbi

    cpio: Malformed number n/iscsis

    cpio: Malformed number tartd/gE

    cpio: Malformed number LF^A^A^A^X^\^R

    cpio: Malformed number (^X^X^R<A3><C8>^T!

    cpio: Malformed number <E4><DD>^E^P<E3>^E4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 4073792 root 38130246 7 Jan 1 1970 .

    cpio: warning: skipped 135758 bytes of junk

    cpio: Malformed number 0^A

    cpio: Malformed number 3461DA

    cpio: Malformed number BB724^V

    cpio: Malformed number 03

    cpio: Malformed number ^D^E^X

    cpio: Malformed number <C1><CD><F7>^Afsck

    cpio: Malformed number .fat

    cpio: Malformed number F^A^A^A<86><83>^Q(

    cpio: Malformed number <9C>

    cpio: Malformed number ^B^R<B2><BB>l<B1>4

    cpio: Substituting `.' for empty member name

    -rwxr-xr-x 12284480 root 54926752 0 Jan 1 1970 .

    cpio: premature end of file

    Checked the init script, and will try booting with debugging in the kcmd, hopefully will get more clues what's wrong. If not, I reckon the intramfs is somehow broken.