Manjaro arm on Amlogic Tv box?

Hi Tripole,

This time around I am aware of wifi will not work without the driver brcmfmac4356-sdio.bin in usr/lib/firmware/brcm. But surprisingly as I noted the brcmfmac4356-sdio.bin is available but seems to be incorrect version so I used the brcmfmac4356-sdio.bin from Armbian just like it did earlier before the upgrade to linux kernel.

Edit: The downside of linux kernel versus linux-vim kernel is No Sound in linux kernel so far. How to enable Panfrost?

Hi JFL,
It may very well work with either of these .bin files; the problem may (now) lie elsewhere. Try checking what “dmesg | grep brcm” gives (in terms of error messages).

Initial Error message is still there but it finally works.

Dmesg output

[ 7.752038] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 7.752046] cfg80211: failed to load regulatory.db
[ 7.785992] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4356-sdio for chip BCM4356/2
[ 7.791622] usbcore: registered new interface driver brcmfmac
[ 7.797375] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4356-sdio.azw,gtking.txt failed with error -2
[ 7.813247] Console: switching to colour frame buffer device 240x67
[ 7.834741] Bluetooth: hci0: BCM: chip id 101
[ 7.834994] Bluetooth: hci0: BCM: features 0x2f
[ 7.836471] Bluetooth: hci0: BCM4354A2
[ 7.836481] Bluetooth: hci0: BCM4356A2 (001.003.015) build 0000
[ 7.838478] Bluetooth: hci0: BCM4356A2 ‘brcm/BCM4356A2.hcd’ Patch
[ 7.846660] meson-drm ff900000.vpu: [drm] fb0: mesondrmfb frame buffer device
[ 7.848052] random: crng init done
[ 7.848060] random: 7 urandom warning(s) missed due to ratelimiting
[ 7.875744] audit: type=1130 audit(8.050:7): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg=‘unit=systemd-random-seed comm=“systemd” exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success’
[ 7.902826] audit: type=1130 audit(8.070:8): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg=‘unit=systemd-rfkill comm=“systemd” exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success’
[ 7.980311] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4356-sdio for chip BCM4356/2
[ 8.024189] Registered IR keymap rc-cec
[ 8.024311] rc rc1: dw_hdmi as /devices/platform/soc/ff600000.bus/ff600000.hdmi-tx/rc/rc1
[ 8.024469] input: dw_hdmi as /devices/platform/soc/ff600000.bus/ff600000.hdmi-tx/rc/rc1/input7
[ 8.184567] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4356/2 wl0: Mar 4 2020 22:06:08 version 7.35.349.87 (r724447 CY) FWID 01-c68a2890
[ 8.686213] Bluetooth: hci0: BCM4356 37.4MHz AMPAK AP6356-0055
[ 8.686230] Bluetooth: hci0: BCM4356A2 (001.003.015) build 0266

[ 7.276488] cpu cpu2: Failed to set regulator for cpu2: -517
[ 7.276677] cpu cpu3: Failed to set regulator for cpu3: -517
[ 7.276793] cpu cpu4: Failed to set regulator for cpu4: -517
[ 7.278388] cpu cpu5: Failed to set regulator for cpu5: -517
[ 7.280311] libphy: mdio_mux: probed
[ 7.284220] meson-drm ff900000.vpu: Queued 3 outputs on vpu
[ 7.315230] Registered IR keymap rc-empty
[ 7.315316] rc rc0: meson-ir as /devices/platform/soc/ff800000.bus/ff808000.ir/rc/rc0
[ 7.315837] rc rc0: lirc_dev: driver meson-ir registered at minor = 0, raw IR receiver, no transmitter
[ 7.315989] input: meson-ir as /devices/platform/soc/ff800000.bus/ff808000.ir/rc/rc0/input6
[ 7.320772] meson-vrtc ff8000a8.rtc: registered as rtc0
[ 7.320812] meson-vrtc ff8000a8.rtc: setting system clock to 1970-01-01T00:00:07 UTC (7)
[ 7.326437] meson-ir ff808000.ir: receiver initialized
[ 7.346801] panfrost ffe40000.gpu: clock rate = 24000000
[ 7.346843] panfrost ffe40000.gpu: supply mali not found, using dummy regulator
[ 7.358887] panfrost ffe40000.gpu: mali-g52 id 0x7212 major 0x0 minor 0x0 status 0x0
[ 7.358899] panfrost ffe40000.gpu: features: 00000000,13de77ff, issues: 00000000,00000400
[ 7.358905] panfrost ffe40000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xff JS:0x7
[ 7.358910] panfrost ffe40000.gpu: shader_present=0x3 l2_present=0x1
[ 7.404986] meson-dw-hdmi ff600000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy)
[ 7.406299] [drm] Initialized panfrost 1.1.0 20180908 for ffe40000.gpu on minor 0
[ 7.410417] meson-dw-hdmi ff600000.hdmi-tx: registered DesignWare HDMI I2C bus driver
[ 7.411031] meson-drm ff900000.vpu: bound ff600000.hdmi-tx (ops meson_dw_hdmi_ops [meson_dw_hdmi])
[ 7.411466] [drm] Initialized meson 1.0.0 20161109 for ff900000.vpu on minor 1

This is the error, I think (I seem to recall that -2 means “file not found” here). Make a copy of your brcmfmac4356-sdio.bin file and call it brcmfmac4356-sdio.azw,gtking.txt (I think this was the procedure; the method is in the thread above. Perhaps it was that nvram_something file that was supposed to be copied to the .txt name, I don’t recall, but it is in the thread above).

I get similar with my pi4 but my wifi works. I believe it is just checking to see if the file exists and goes another way.

[ray@pi4 ~]$ dmesg | grep "brcmfmac"
[    4.457345] brcmfmac: F1 signature read @0x18000000=0x15264345
[    4.472123] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    4.473392] usbcore: registered new interface driver brcmfmac
[    4.485847] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
[    4.698052] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    4.708501] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 23 2020 02:19:54 version 7.45.206 (r725000 CY) FWID 01-88ee44ea

Hi Darksky,

“Put your new firmware in the /usr/lib/firmware/ directory”, This I think I know how to do. But chasing down what script is loading the firmware might be beyond me for the time being. A greenhorn in linux.

Put the file in /usr/lib/firmware and reboot first and see if you have wifi. Otherwise most likely some file somewhere is telling it to look specifically in /usr/lib/firmware/brcm.

This is cause your manually copied it from armbian source.
Yes delete it as Kvim2-firmware already provides this as it depends on linux-firmware package. [quote=“JFL, post:118, topic:34662”]
whether video acceleration is available in linux kernel 5.9.6.-1 for GT King Pro.
[/quote]
Kernel have vpu support but distro needs to rebuild all the video processing stack with amlogics vpu lib like v4l2_m2m for ffmpeg, libva and then the applications like mpv and kodi or vlc.

Which is alot of work so were waiting for it to get upstreamed soon. [quote=“Darksky, post:127, topic:34662”]
Put the file in /usr/lib/firmware and reboot first and see if you have wifi.
[/quote]

No need to manually change anything. The firmware is packaged for every device so if he just install the above mentioned package then it will get the needed wifi firnware for the device.

@JFL don’t forget to tag me for amlogic device support else I will reply late :joy:

Is there any proof that this will help us with vpu support?

Can you do some test with and without these files?

If they’re helpful then we can package it but I doubt it will work as those are old blobs from amlogic.

So let me know.
I think you should do a new create which this tutorial, I like the way to explained everything I’m detail.
We can make a tutorial thread for Amlogic TV boxes as my aim was to get some good amlogic boxes support on Manjaro so users can run Desktop pc when ever they need on their TV boxes.

I have dropped an email to ugoos for sample. If you have any contact with them they let me know.

Thanks.

No, I have no proof (I was just speculating). These files are present in the Khadas image for VIM3 (that one can build with their fenix tool) and there are two options for kernel (legacy and stable, I think they are called).Even if one selects the newer kernel (which is 5.9.0-rc2) for the image build these firmware files are included, but it may very well be the case that they are obsolete (or only works with the older kernel), I don’t know.

In the coming days I will test and add/remove them (also to Manjaro) and see if it makes any difference.

Unfortunately, I have no contact with Ugoos (I’m just a happy customer).

Edit: I have updated Manjaro to kernel 5.9.0-2 with, possibly, a slight improvement in stability, but still freezes during video playback (unresponsive, requires reboot).

For the time being, as brcmfmac4356-sdio.bin works, I will leave it as that for now and try brcmfmac4356-sdio.azw,gtking.txt the next time the issue pops up.

Hi Darksky,

“Put your new firmware in the /usr/lib/firmware/ directory so it can get picked up first then reboot and see if you have wifi.” Put “brcmfmac4356-sdio.bin” in /usr/lib/firmware does not start up the wifi. It need to be in /usr/lib/firmware/brcm/ for wifi to work.

@spikerguy said above “Kvim2-firmware already provides this as it depends on linux-firmware package” Did you install the Kvim2-firmware package? If not install it and reinstall the linux-firmware package package.

Hi Spikerguy,

The Manjaro-ARM-xfce-vim3-20.11.img_xz that I use from Tripole, per my understanding does not have “Kvim2-firmware” in it (no “brcmfmac4356-sdio.bin”) . That is the reason wifi is not recognised and I have to manually find a copy of “brcmfmac4356-sdio.bin” and copy it to /usr/lib/firmware/brcm/ for wifi to start up. Fyi, NetworkManager was also not preset to start up from the initial boot up. So the first boot up have no Ethernet, no wifi and no Sound. But all can be resolved.

With the new linux kernel 5.9.6-1, as per your earlier message, there is no Sound. The CLI “chmod a+x /usr/bin/g12_sound.sh” and “/usr/bin/sound.sh” both does not restore Sound on GT King Pro.

CLI “chmod a+x /usr/bin/g12_sound.sh” did the trick to get sound in linux-vim kernel 5.9.0-1.

Did you at least try to install it? It looks like a manjaro image which should have manjaro’s repo.

sudo pacman -Syyu Kvim2-firmware linux-firmware

Fyi, Manjaro-ARM-xfce-vim3-20.11.img_xz that I use from Tripole does not have Kvim2-firmware install I suppose as “brcmfmac4356-sdio.bin” is not available.

The linux kernel 5.9.6-1 package did include “brcmfmac4356-sdio.bin” just that for whatever reason does not work so I resort to replace it with one that I know works.

For the record, Wifi works on my GT King Pro now.

Sorry, I think I might conveyed the wrong message. The original Manjaro-ARM-xfce-vim3-20.11.img_xz that I use might not have Kvim2-firmware install I think as “brcmfmac4356-sdio.bin” is nowhere to be found.

Does “sudo pacman -Syyu Kvim2-firmware linuxfirmware” convert linux kernel 5.9.6-1 to linux-vim kernel 5.9.6-1? The reason I wanted to try linux kernel as mentioned by TheMojoMan it seems to be more stable with Panfrost than linux-vim kernel. I just wanted to try out Panfrost.

No. Installing those packages has nothing to do with the kernel. Those packages has to do with installing firmware only.

Do this to install the firmware and reboot and see if you have wifi. You will need to rename the firmware you put in /usr/lib/firmware/brcm first.

sudo pacman -Syyu Kvim2-firmware linux-firmware

Noted. Will try this much later and revert.

One thing that seems easy to do in Manjaro is testing out new kernel. Not sure whether other linux distros like Ubuntu/Debian is this easy.

Out now and responding via ipad.

Edit: In the case for GT KING PRO, each update is a touch of fate, never know whether kernel panic will strike. If kernel panic strike during writing to the disk the USB disk can be corrupted in worst case require to re-burn image. But so far with linux-vim kernel 5.9.0-1 and 5.9.0-2, it was stable enough to perform updates successfully but with large updates I split the updates using Package Manager into two or three times to avoid kernel panic.

Will test out linux kernel 5.9.6-1.

“Just pushed 5.9.8 to unstable and tried mesa-git-21.0 on it, panfrost is much smooth and no font or color issue but it still seem to get stuck after few mins which means we need 5.10 to get stable panfrost”

On linux kernel 5.9.6-1. Checking whether is stable with Panfrost. Mesa 20.2.1 is already pre-installed does it mean Panfrost should be running?