Single Armbian image for RK + AML + AW (aarch64 ARMv8)


balbes150
 Share

73 73

Recommended Posts

Thank you @balbes150 for the new bionic build!
Armbian_20.05.6_Arm-64_bionic_current_5.7.2_20200612.img.xz (plus via armbian-config added desktop) runs nice from internal on two newer(those strange ver. 4.x pcbs with wifi and bt working..) and one older/normal (no wifi) x96minis 2/16 with all programs I want/need at low temperatures(around 60°C).
 

Link to post
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

16 hours ago, Zoom said:

Still can't get Tanix TX6 to boot from SD.

SD+USB boots USB fine, so it seems that u-boot works.

 

UPD: On kernel 5.7.2 integrated wlan started working, that's a win.

No hdmi sound, though:  `ALSA device list: No soundcards found.` in dmesg. However, `aplay -l` gives `card 0: allwinnerhdmi ...`

Is it my TV or is it not supposed to work yet?

I have the original TX6 in stock, the SD card works perfectly on it. You may have problems with either the SD card or the card reader. Try using the SD card via a USB adapter (to make sure that the SD card is OK). The HDMI sound works without problems. Run the command (sudo sound.sh) manually in the working system, restart the system.

For verification, write the Librelec image for H6 to your SD card (you don't need to configure anything in It). And write the Armbian image to a USB flash drive, configure it to run (edit uEnv.txt and rename the script boot.scr.aw in boot.scr). Connect them together and check that Armbian is running. By the way, when setting up, you did not forget to rename the scripts (remove the extension .aw) ?

Link to post
Share on other sites

I have a X96 Mini TV Box (S905w, 2GB RAM, 16 GB emmc) and I can boot from sd card or from usb by using image Armbian_20.05.0_Arm-64_bionic_current_5.6.0-rc6_desktop_20200326.img. If I remove sd card or usb, I can boot to Android in emmc.

However, when I boot from sd card or usb, and try to install armbian to emmc, I got the error that armbian cannot find emmc: Unable to find your emmc or you already run from emmc!
Do you know how to fix this error?
 

https://drive.google.com/file/d/1rmA-F8S8llKotPt1u-e2HLTjprZ_sApN/view?usp=sharing

Edited by vanngocan
Link to post
Share on other sites

8 hours ago, balbes150 said:

I have the original TX6 in stock, the SD card works perfectly on it. You may have problems with either the SD card or the card reader. Try using the SD card via a USB adapter (to make sure that the SD card is OK). The HDMI sound works without problems. Run the command (sudo sound.sh) manually in the working system, restart the system.

For verification, write the Librelec image for H6 to your SD card (you don't need to configure anything in It). And write the Armbian image to a USB flash drive, configure it to run (edit uEnv.txt and rename the script boot.scr.aw in boot.scr). Connect them together and check that Armbian is running. By the way, when setting up, you did not forget to rename the scripts (remove the extension .aw) ?

 

Oh, snap! I didn't pay attention to these scripts thinking they are only necessary for eMMC installation. They weren't needed earlier. That's quite embarrassing. To be honest, the "For the aw H6 platform" paragraph in the description goes right after the eMMC block, it's better suited for "How to run" paragraph earlier.

Card reader is fine, of course, since it booted from USB drive, which means u-boot launched.

 

Sound is still not working, both in Armbian and LE. sound.sh did nothing. I even added my TV's edid (which I dumped connecting my laptop) to no avail. pulseaudio mixer shows the sound working and `aplay -l` shows the soundcard, but the TV is silent.

LE on my Orangepi One (H3) has the sound working fine.

Link to post
Share on other sites

Hi @balbes150, thank you for you work. I am trying to boot Armbian 20.05.06 bionic on Ugoos AM6. After burning the image on SD card, I noticed that aml_autoscript.zip file is empty on the boot partition (0 bytes). Is enabling multiboot not necessary with latest images? Can't find any info on this.

Link to post
Share on other sites

2 hours ago, vir91 said:

I am trying to boot Armbian 20.05.06 bionic on Ugoos AM6.

As far as I know, AM6 should have multi-boot enabled in the firmware itself. Configure startup parameters in (uEnv.txt), uncomment the necessary lines for AML, and you can delete the remaining lines, so that they do not interfere.

Link to post
Share on other sites

17 hours ago, Zoom said:

Sound is still not working, both in Armbian and LE. sound.sh did nothing. I even added my TV's edid (which I dumped connecting my laptop) to no avail. pulseaudio mixer shows the sound working and `aplay -l` shows the soundcard, but the TV is silent.

LE on my Orangepi One (H3) has the sound working fine.

I checked the last image with kernel 5.7.2 on TX6, the HDMI sound works. Perhaps you have a clone with different parameters and it needs a different DTB. Can you show a photo of your model's Board ?

How is the TV connected to HDMI, directly by cable or via adapters ? What is the resolution set on the TV ? I observed a strange behavior of the sound when connected via the adapter. The sound only worked if you set the resolution to 1080p, when set other screen resolutions, there was no sound, although all utilities show that the sound works.

 

Link to post
Share on other sites

1 hour ago, nexbox said:

 

can you please provide the link to download this image? 

 

Here, if I'm right !

 

But, for a 1st trial, the good way is to try the most recent version (link on the 1st page)

Edited by Armin
Link to post
Share on other sites

5 hours ago, balbes150 said:

I checked the last image with kernel 5.7.2 on TX6, the HDMI sound works. Perhaps you have a clone with different parameters and it needs a different DTB. Can you show a photo of your model's Board ?

How is the TV connected to HDMI, directly by cable or via adapters ? What is the resolution set on the TV ? I observed a strange behavior of the sound when connected via the adapter. The sound only worked if you set the resolution to 1080p, when set other screen resolutions, there was no sound, although all utilities show that the sound works.

 

It's not a clone and I use no adapter. I'll make a photo of the board. I've also noticed some strange correlation of HDMI resolution and sound when tested LE earlier. TV is 1366x768 but I tried to force 1920x1080 via edid but it didn't help with the sound.

Link to post
Share on other sites

On 6/13/2020 at 10:49 PM, dual3zw said:

I posted the file with translation problems, so here is the correct translation:

The problem is almost completely solved. I analyzed and searched the forum for some posts from dbshape, balbes150 and gilberto (are you also a Brazilian?)
The steps were as follows:

 

1- I mounted the Android image and in the /etc folder I copied the /wifi and /bluetooth folders;

 

2- I checked in the kernel output that Armbian was looking for the files brcm/brcmfmac4334-sdio and brcm/BCM4334B0.hcd.

 

3- Inside the /wifi folder there is the file fw_bcm4334b1_ag.bin. I copied it to the /lib/firmware/brcm/folder, renaming it brcmfmac4334-sdio.bin. This file is also present in the Armbian itself in /lib/firmware/rkwifi/, but I preferred to use the original Android.
sudo cp -av fw_bcm4334b1_ag.bin /lib/firmware/brcm/brcmfmac4334-sdio.bin
'fw_bcm4334b1_ag.bin' -> '/lib/firmware/brcm/brcmfmac4334-sdio.bin'

 

4- Inside the /bluetooth folder there is the file bcm4334.hcd. I copied it to the /lib/firmware/brcm/ folder, renaming it BCM4334B0.hcd.
sudo cp -av bcm4334.hcd /lib/firmware/brcm/BCM4334B0.hcd
'bcm4334.hcd' -> '/lib/firmware/brcm/BCM4334B0.hcd'

 

5- Then I rebooted. After the reboot, bluetooth working but wifi not.
In the kernel output:
brcmfmac mmc2: 0001: 1: Direct firmware load for brcm/brcmfmac4334-sdio.amlogic,p212.txt failed with error -2
brcmfmac mmc2: 0001: 1: Direct firmware load for brcm/brcmfmac4334-sdio.txt failed with error -2

 

6- Inside the Android /wifi folder is the nvram.txt file. I copied this file to /lib/firmware/brcm/ renaming it to brcmfmac4334-sdio.amlogic,p212.txt.
sudo cp -av nvram.txt /lib/firmware/brcm/brcmfmac4334-sdio.amlogic,p212.txt
'nvram.txt' -> '/lib/firmware/brcm/brcmfmac4334-sdio.amlogic,p212.txt'

 

7- Then I restarted again. After reboot, wifi working but only 2.4 Ghz. 5 Ghz not yet.
In the kernel output it has:
brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available

I looked over this file, but for the 4334 driver it doesn't exist.

 

There are other files in the /wifi folder, but I still don't know how important they are. I leave the link for her below and I wait if anyone has a suggestion to give from now on:
https://bit.ly/3hgFrfx

 

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

I read some posts from @usual user and @dbsharpe and researched other things, so here are the results:

 

@gilberto, I created my own Android builds, for my board using linux-amlogic-toolkit-master. It has a Windows version, but it had a bug when I tried to use it. With this tool, I mount the Android image and edit it easily.

 

To edit the .dtb files I installed dtc with the command:
sudo apt install device-tree-compiler

 

To convert .dtb to .dts:
dtc -I dtb -O dts -f meson-gxl-s905x-p212.dtb -o meson-gxl-s905x-p212.dts

 

But I was confused because I only found this reference to wifi in the Armbian dts file:

wifi32k {
        compatible = "pwm-clock";
        #clock-cells = <0x0>;
        clock-frequency = <0x8000>;
        pwms = <0x38 0x0 0x7736 0x0>;
        phandle = <0x13>;

 

On Android I managed to extract the .dtb files from the system image. I used the linux-amlogic-toolkit-master tool to extract the _aml_dtb.PARTITION file. I renamed the file to dtb.img and used the tool https://github.com/PabloCastellano/extract-dtb to extract the .dtb files. I extracted two files: 01_dtbdump_Amlogic.dtb and 02_dtbdump_Amlogic.dtb. Then I converted the two files to dts using dtc. Now I have two .dts that are huge. The first file is for the version with 1 GB of RAM and the second is for the version of 2 GB, mine. I also extracted the file directly from Android running, using the command dd if = /dev/dtb > /storage/downloads/droid.dtb and after converting to dts I realized that the files are identical. When I have time I will analyze that file because has more than 2000 lines of code. I tried to use the dtb file extracted directly from Android on Armbian, but of course, it didn't work.

 

I leave attached the two dts files, from Android and Armbian:

02_dtbdump_Amlogic-dts.txt

meson-gxl-s905x-p212-dts.txt

 

Thanks to @balbes150: Armbian's usability is better than Android for my uses. I will install Home Assistant in my box and use it as a server or use it in my classes. Thankful.

Thanks guys! My armbian in h96max3 is working good (without BT, but does not metter). Thank a lot

Link to post
Share on other sites

On 11/06/2020 at 22:49, Lexx said:

source /etc/network/interfaces.d/*

# Adaptateur filaire # 1
allow-hotplug eth0
no-auto-down eth0
iface eth0 inet
dhcp #iface eth0 inet static
#address 192.168.1.100
#netmask 255.255.255.0
#gateway 192.168.1.1
# dns-nameservers 192.168.1.1
pre-up ifconfig eth0 hw ether xxxxxxxxxxxx
# hwaddress ether # si vous souhaitez configurer MAC manuellement
# pre-up / sbin / ifconfig eth0 mtu 3838 # configuration MTU pour DHCP, statique uniquement: mtu 3838


auto lo
iface lo inet loopback

Thank you, I succeeded, your tip works.

Link to post
Share on other sites

On 6/13/2020 at 9:48 AM, usual user said:

A devicetree is basically a standardized representation of the schematic of a board design. It provides parameters about the components used that drivers need to operate, or tell the kernel which driver to use in the first place. You can only recycle a DT if your device is a exact clone of an original device. Otherwise non matching components won't function properly.

This is not the right way to proceed. This is as if you are using a disassembly of a binary program to rewrite the entire program. When compiling the original sources, information has been lost that cannot be reproduced during disassembly.

The proper way is:
You are the board designer with access to the reference documentation of all used components.
You learn the syntax of DTS files.
You write a board specific DTS with mainline binding documentation as reference.

If your board design is based on e.g. a reference design from an SOC provider, you may be able to use his DTS as a template where you have only to adopt your modifications.
When this is done, contribute it to mainline and it will work for all your customers out of the box. Of course, the kernel build must have enabled all required drivers.
                             
But I guess you are not in this situation ;) So you have to do reverse engineering:
Collect as many board details as possible.
Learn the syntax of DTS files.
Write a board specific DTS with mainline binding documentation as reference.
You can use the original sources of meson-gxl-s905x-khadas-vim.dtb as a template and customize the differences (board model, compatible, Wi-Fi bindings, ...).
Android DTs can only be used for hints, the bindings used are most likely proprietary and do not match those of the mainline kernel. Copying them over will not magically insert code into the kernel drivers to make use them.
When this is done, contribute it to mainline and it will work for all. Armbian will probably pull it for early adoption if you provide a PR, as bringing it to mainline may take some time.

 

As a certainty it is not my case because I did not design the projects. But I want to go the way you described the details so well. I think I understood the majority thanks a lot for describing, it gave a better idea of how things work. Thank you very much for your time. I intend to use as a model meson-gxl-s905x-khadas-vim.dtb, because the 3 amlogic that I have work with this model differ only in wifi and bt. many plates arrive in Brazil like these, I believe because they must be very cheap. I would like to do the dtb in the correct way. I can try I would be very happy if I did this job. I don't know if my knowledge allows me but I will try ...

 

1 step maybe is to get the android dtb and compare it with the dtb I use. to change the wifi fields ... I will study ....

Link to post
Share on other sites


I am following your steps and doing the same process here since I use a .dtb khadas different from yours. I'll post the results, sorry for the delay in responding. Thank you for sharing the method used. in my case I just need to change the wifi in the tree change the driver used by the kernel really my card is not broadcom BCM4330, I believe it is AP6330. I will try to figure out how to make it load the correct fimware once the kernel driver is the same for both wifi cards brcmutil brcmfmac I need to make him load the AP6330 fimrware then we will have a correct dtb for this card. Give me your contact, you work with this ..... I thank @ unusual user and @dbsharpe for their guidance.

 

Link to post
Share on other sites

On 6/13/2020 at 5:18 AM, balbes150 said:

I do not understand the question, please clarify what the problem is. There are several ways to upgrade to new versions of LE.

Hi I simple want to upgrade from 17xxx to 18xx LE/Kodi, 1, I need the tar file I have always used this option in the past which i find to be easy and

2, which of your 18xx build can be consider stable 3,  link to the directory or  location.

 

Thanks most appreciated

 

 

Link to post
Share on other sites

On 6/13/2020 at 10:16 AM, balbes150 said:

 

1. I don't owe anything.

2. if you Want to get detailed documentation and dedicated resources for posting materials for download, pay 5000 to donate Armbian.

3. I have a very negative attitude to those who use someone else's development for free (in which a lot of work\money\time of different people is invested), absolutely do not help this project in any way and at the same time make claims.

sudo apt -y install patience ; cat /usr/share/common-licenses/GPL-2 ; echo "be nice" 

 

 

Link to post
Share on other sites

4 hours ago, balbes150 said:

Ver 20200616-dev

"clean" kernel (no patch) 5.8-rc1

Does 5.8 still require the text_offset patch?  The patch I have been using no longer applies cleanly to 5.8 due to a recent change: "arm64: set TEXT_OFFSET to 0x0 in preparation for removing it entirely"

 

Link to post
Share on other sites

23 minutes ago, SteeMan said:

Does 5.8 still require the text_offset patch?  The patch I have been using no longer applies cleanly to 5.8 due to a recent change: "arm64: set TEXT_OFFSET to 0x0 in preparation for removing it entirely"

Yes, the patch needs to be changed (I fixed it myself, but Build-Armbian hasn't been updated yet)

Link to post
Share on other sites

23 hours ago, Zoom said:

It's not a clone and I use no adapter. I'll make a photo of the board. I've also noticed some strange correlation of HDMI resolution and sound when tested LE earlier. TV is 1366x768 but I tried to force 1920x1080 via edid but it didn't help with the sound.

So, I've checked the sound with a couple of other displays (one of them FHD natively) and HDMI cords, also tried Fossa (on Bullseye originally). Tried outputting sound directly to ALSA from VLC, turning PA off for a time. Nothing helped. Also, TX6 doesn't want to boot into correct resolution on none of three displays, so I need to force an edid on boot.

tanix-tx-6-board.jpg

tanix-tx-6-board-back.jpg

Edited by Zoom
added back side photo
Link to post
Share on other sites

21 minutes ago, balbes150 said:

Yes, the patch needs to be changed (I fixed it myself, but Build-Armbian hasn't been updated yet)

Thanks.  Since your post said, "no patch" I was hoping that this patch was no longer needed.  I applied what I think the changes should be and am testing my own builds now on 5.8-rc1.  When you push your changes to Build-Armbian I will compare what I have done to your version to make sure I haven't missed anything.

Link to post
Share on other sites

53 minutes ago, Zoom said:

So, I've checked the sound with a couple of other displays (one of them FHD natively) and HDMI cords, also tried Fossa (on Bullseye originally). Tried outputting sound directly to ALSA from VLC, turning PA off for a time. Nothing helped. Also, TX6 doesn't want to boot into correct resolution on none of three displays, so I need to force an edid on boot.

What firmware is in eMMC ?

 

I compare your photo with my board - you have a clone (not the original). There is no Wi Fi chip AR6330, the radiator is noticeably smaller and other differences.

 

 

Link to post
Share on other sites

58 minutes ago, SteeMan said:

Thanks.  Since your post said, "no patch" I was hoping that this patch was no longer needed.  I applied what I think the changes should be and am testing my own builds now on 5.8-rc1.  When you push your changes to Build-Armbian I will compare what I have done to your version to make sure I haven't missed anything.

I did a quick hack (stupid value replacement

TEXT_OFFSET 

0x0 -> 0x01080000

 

Link to post
Share on other sites

55 minutes ago, balbes150 said:

What firmware is in eMMC ?

 

I compare your photo with my board - you have a clone (not the original). There is no Wi Fi chip AR6330, the radiator is noticeably smaller and other differences.

 

 

I've updated the previous post with the back side photo.

Eh, https://linux-sunxi.org/Tanix_TX6 doesn't mention AR6330. Mine, however, has XR819 which is listed on linux-sunxi as a chip for 3 and 2 GiB models, although mine is 4GiB

Android info: Model TX6 Version 9 Kernel: 4.9.118 Build: p281-userdebug PPR1.181005.003 20190722-184354. Looks like Alice UX.

Link to post
Share on other sites

17 hours ago, Zoom said:

doesn't mention AR6330

Yes, I was wrong. On my TX6, this chip is labeled 6222B-SRB.

https://forum.freaktab.com/forum/tv-player-support/allwinner-tv-players/751595-tanix-tx6-tv-box-allwinner-h6-4-32gb-dual-wifi-bt4-1-or-5?p=757381#post757381

On the photo from the sunxi site, this chip is there, but on your photo it is not. Based on your information, there may still be differences in the hardware, so the behavior of your model differs from mine. Try other DTB files.

Link to post
Share on other sites

Hello everyone,

I installed armbian 5.99 on my Mecool Kii pro S905D and it works properly.

I was able to configure Emby, OpenVPN, Nextcloud, Openhab with Conbee and everything works.

Now I have just installed TVheadend but I have a big problem.

I can't find the tuner built into the TV Adapter menu.

I expected to find a dvb folder in / etc but it isn't there. So I guess I'll have to download the drivers if available or use a USB receiver.

Any good man who can help me out?

 

Written with google translator SORRY!!!

Link to post
Share on other sites

7 hours ago, balbes150 said:

Yes, I was wrong. On my TX6, this chip is labeled 6222B-SRB.

https://forum.freaktab.com/forum/tv-player-support/allwinner-tv-players/751595-tanix-tx6-tv-box-allwinner-h6-4-32gb-dual-wifi-bt4-1-or-5?p=757381#post757381

On the photo from the sunxi site, this chip is there, but on your photo it is not. Based on your information, there may still be differences in the hardware, so the behavior of your model differs from mine. Try other DTB files.

There's not a lot of them to choose from, to be honest. Dumping from live Android failed as there's no /dev/dtb. Tried dumping from Android recovery partition, but it didn't work. Extracted from Tanix official firmware didn't boot either. These two were much larger in size so extract-dtb script is probably not working exactly correct.

One from LE booted but no wifi and no sound.

 

I've updated the linux-sunxi page with bits of info on different version. The one you've linked is the older PCV v1.0, and it seems that most users should have v2.3, which can be populated with either XR819 or RTL8822.

Link to post
Share on other sites

Guest
This topic is now closed to further replies.
 Share

73 73