How helpful will this be to getting LibreELEC on allwinner android boxes?

  • I already explained in one topic (don't remember which) why this emmc hack will never come back. In short, someone must figure out what is really wrong. Secondly, there is no official support for Q+ and that's why I won't introduce hacks for it.

    Dear Jernej,


    Thanks for your reply, i can see "Pine64 H64" had same issue while searching "armbian" forum, as it have a slow emmc, they suggest to patch the device tree with below, so i edit the 13-Tanix-TX6.patch and rebuild the kernel to generate the dtb file, and it worked very well, i flashed the "Libreelec" on sunvell Q+ (same as Tanix TX6) emmc, i can confirm it working, also i can now boot with "label" or "uuid" entries instead of device logical name in "extlinux.conf".


    * Also i can confirm now that "cpufreq" driver working very well, tested with "LibreELEC-H6.arm-9.80-nightly-20200622-bd6f23c-tanix-tx6.img.gz", also with my compiled dtb, i can change governor to "ondemand", overheat still exist but better than before.

    * Can confirm now that "hdmi" output working without changing console entry to "console=tty1 console=ttyS0,115200" in"extlinux.conf" as before, also output work with one console entry "console=tty1", before two console entries must exist and "tty1" must preceding "ttyS0"


    * I extracted dts from stock running android, find it in attachments.


    [ 2.079244] sunxi-mmc 4020000.mmc: Got CD GPIO

    [ 2.106824] sunxi-mmc 4020000.mmc: initialized, max. request size: 16384 KB, uses new timings mode

    [ 2.138734] sunxi-mmc 4022000.mmc: initialized, max. request size: 2048 KB, uses new timings mode

    [ 2.163590] mmc0: host does not support reading read-only switch, assuming write-enable

    [ 2.175142] mmc0: new high speed SDHC card at address aaaa

    [ 2.188410] mmcblk0: mmc0:aaaa SU32G 29.7 GiB

    [ 2.195691] mmcblk0: p1 p2

    [ 2.202449] boot=/dev/mmcblk0p1

    [ 2.202451] disk=/dev/mmcblk0p2

    [ 2.232957] Checking disk(s): /dev/mmcblk0p1 /dev/mmcblk0p2

    [ 2.269201] mmc1: new HS200 MMC card at address 0001

    [ 2.269770] mmcblk1: mmc1:0001 ISOCOM 28.9 GiB

    [ 2.270019] mmcblk1boot0: mmc1:0001 ISOCOM partition 1 4.00 MiB

    [ 2.270267] mmcblk1boot1: mmc1:0001 ISOCOM partition 2 4.00 MiB

    [ 2.296726] mmcblk1: p1 p2

    [ 2.387268] fsck: /dev/mmcblk0p1: 13 files, 15246/65501 clusters

    [ 2.457765] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)

    [ 90.918086] mmcblk1: p1 p2



    Pine64 H64 does not boot from eMMC [solved] - Allwinner H6 - Armbian forum


    --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts 2020-03-30 11:24:41.176470382 +0200

    +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts 2020-03-30 11:24:41.176470382 +0200

    @@ -127,8 +127,10 @@

    pinctrl-0 = <&mmc2_pins>;

    vmmc-supply = <&WCF_AMPERSAND®_vcc3v3>;

    vqmmc-supply = <&WCF_AMPERSAND®_vcc1v8>;

    - non-removable;

    cap-mmc-hw-reset;

    + mmc-hs200-1_8v;

    + mmc-hs400-1_8v;

    + mmc-hs400-enhanced-strobe;

    status = "okay";

    };


  • * IR remote working very well i mapped the buttons, configuration in attachments.

    * Allwinner H6 chipset overheated, so back to android they disabled multi core and and reduced frequency to 1.4GHz, after applied this in Libreelec, temperature idle average about 60C same as android, if any one want to enable 1.8 GHz just install a 5v fan and enjoy.

  • The mainline kernel has a remote keymap for "rc-tanix-tx3mini" which probably works; the remote looks identical.

  • ..., so i edit the 13-Tanix-TX6.patch and rebuild the kernel to generate the dtb file, and it worked very well, i flashed the "Libreelec" on sunvell Q+ (same as Tanix TX6) emmc, i can confirm it working, also i can now boot with "label" or "uuid" entries instead of device logical name in "extlinux.conf"....


    Hello,


    what Image are You use?

    I try last LibreELEC-H6.arm-9.80-nightly-20200626-cc6e86c-tanix-tx6.img.gz on my Sunvell Q Plus (on SD card), but just only black window is. Before this I try use this

    APPEND boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 console=tty1 console=ttyS0,115200

    and Q+ start and show only LibreElec logo and stay there.

  • Dear Tubar,


    First time it will start will show only the logo and continue cause it want to detect the internal emmc, so just restart and it will work, or you can use my attached "dtb" file (adjusted to use hs200 speed cause Q+ had slow emmc).


    * I used "LibreELEC-H6.arm-9.80-nightly-20200622-bd6f23c-tanix-tx6.img.gz", but any image will work.

    * Dont forgot to rename the file and remove ".txt" extension

    * Dont forget to replace it on emmc too if you flashed "Libreelec" on it as it will not boot without it.

  • The mainline kernel has a remote keymap for "rc-tanix-tx3mini" which probably works; the remote looks identical.

    Dear Chewitt,


    Tried but not working, also "rc-tanix-tx5max" loaded by default but not working as remote scancode different.

  • Dears,


    According WIFI interface included in my box Tevii P500 (which is rebranded of sunvell Q+, also same as Tanix TX6), is a xradio xr819 interface, i tested a driver and i can confirm work successfully.


    * GitHub - Icenowy/xradio: Port Allwinner xradio driver to mainline Linux. (first and very old, not tested)

    * GitHub - fifteenhex/xradio: Port Allwinner xradio driver to mainline Linux. (tested, working very well, can connect to my b,g,n access point)

    * GitHub - karabek/xradio: Experimental fork of Allwinner xradio driver (tested, working well but can connect to "b,g" no "n" access point, also reboot system not working)


    * i attached the wireless kernel module (fifteenhex and karabek), compiled for master branch, aarch64, kernel 5.7.2, tested with LibreELEC-H6.arm-9.80-nightly-20200626-cc6e86c-tanix-tx6.img.gz, also firmware attached.

    firmware must go to /storage/.config/firmware/xr819 then reboot Libreelec.

    module can load with:

    "modprobe mac80211"

    "insmod /storage/xradio_wlan.ko"

    you can make /storage/.config/autostart.sh script to automate.



    * i edit the DTS file to detect the wifi interface as explained in driver project, but I'm not developer so don't know if what i did totally true or not, but it worked with me. DTB and DTS attached.

    "post-power-on-delay-ms = <200>; " i tried value 50 first as project page example but failed to initialize the interface, take vaule 200 from kernel DTS's "sun50i-h6-orangepi-lite2.dts" work successfully.

    "reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>;" and "interrupts = <1 0 IRQ_TYPE_EDGE_RISING>;" values "1 3", "1 0", taken from kernel DTS's "sun50i-h6-orangepi-lite2.dts" too, i don't know what i did true or not, i spend hours reading documents to figure pins, pio,.. and so on but find me lost :-)

    -----------------

    "local-mac-address = [c0 04 0e 03 ae 66];" if not used the u-boot will generate random mac address, and if "ethernet1 = &xr819;" entry exist the u-boot will generate a mac address based on unique chip id, but not worked for me if i removed the "local-mac-address = [c0 04 0e 03 ae 66];" entry the xradio_wlan.ko module can't load successfully, so i put the entry with a mac taken from default android os.


    * Reference XR819_Datasheet_V1.0-EN.pdf

    * Reference Allwinner_H6_V200_Datasheet_V1.1.pdf

  • I read the README.md in the fifteenhex repo and I think that driver is best not added to images. Good research tho :)

    Dear Chewitt,


    Thanks for your review, i know according to README.md it's not ready for production use yet, anyway i tested the AP mode working well too.