ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
5.69k stars 1.83k forks source link

WiFi support #35

Closed pulpoff closed 2 years ago

pulpoff commented 2 years ago

I am trying to fix the wifi for GT King. So far I don't see anything in dmesg about it. I found a good firmware repo here :+1: https://github.com/LibreELEC/amlogic-boot-fip/tree/master/beelink-s922x https://github.com/LibreELEC/brcmfmac_sdio-firmware

Also, the chip itself seems to be AP6356S There are many fixes for it, will see if they work, links for patches :+1: https://github.com/hyphop/khadas-linux-kernel/blob/master/patches/linux-5.4.5/0005-VIM3_wifi_hack.patch https://github.com/khadas/fenix/issues/33 https://forum.khadas.com/t/wifi-ap6398s-mainline-kernel/4929/52

supposedly patched kernel fork: https://github.com/chewitt/linux

So far I could not build the patched kernel yet .. any help would be appreciated.

So, the patch seems to work, at least now I get this in logs :+1: [ 11.703841] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 11.771352] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 11.796609] brcmfmac: brcmf_sdiod_sgtable_alloc: !!!! WIFI DEBUG azw,gtking: host->max_segs: 1 host->max_seg_size: 3 host->max_blk_cou nt: 1536 sdiodev->max_request_size: 1536 sdiodev->max_segment_count: 1 max_blocks: 3 host->max_req_size: 1536 [ 11.796825] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43752-sdio for chip BCM43752/2 [ 11.827549] usbcore: registered new interface driver brcmfmac [ 11.835915] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.azw,gtking.bin failed with error -2 [ 11.835995] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43752-sdio.bin failed with error -2

Not sure where to find this firmware .. any help ??

wifi enabled kernel is here :+1: 5.15.4-wifi.tar.gz

pulpoff commented 2 years ago

5.15.4-chewitt.tar.gz is the kernel compiled from https://github.com/chewitt/linux it tries to load wifi, and has same problem as above (firmware missing) .. otherwise don't see anything special in it..

According to dtsi file arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi included from gtking.dts :

    /* WiFi firmware requires power to be kept while in suspend */
    keep-power-in-suspend;

    non-removable;
    disable-wp;

    mmc-pwrseq = <&sdio_pwrseq>;

    vmmc-supply = <&vddao_3v3>;
    vqmmc-supply = <&vddao_1v8>;

    brcmf: wifi@1 {
            reg = <1>;
            compatible = "brcm,bcm4329-fmac";

Anyone knows how to debug this ?

pulpoff commented 2 years ago

After talking to a guy Chewitt, he has found that my device has different wifi chip than other GT King models. The Beelink guys were very quick and sent a new firmware for it files uploaded are here :+1: https://github.com/chewitt/brcmfmac_sdio-firmware/commit/211cfabf400a7fc2f87714869fa1efa8db656f99

there are also many other patches, including sound card fixes in that tree. i could not build latest tree from chewitt with armbian-kernel tools, its the linux-5.15.y tree

I get this error :

GEN usr/initramfs_data.cpio usr/gen_initramfs.sh: Cannot open '@INITRAMFS_SOURCE@' make[1]: [usr/Makefile:80: usr/initramfs_data.cpio] Error 1 make: [Makefile:1870: usr] Error 2 make: *** Waiting for unfinished jobs....

pulpoff commented 2 years ago

the specific device i am using : gtking

pulpoff commented 2 years ago

well .. with patched kernel it is almost working now : Screenshot from 2021-11-24 04-03-34 Screenshot from 2021-11-24 04-03-21

pulpoff commented 2 years ago

it is still not able to find any networks or get connected, as i guess another patch is required, best is to build Chewitt latest tre Screenshot from 2021-11-24 04-04-48 e.

pulpoff commented 2 years ago

i have uploaded native compiled chewitt kernel, file name is 5.15.4-chewitt.tar.gz it loads the modules and supposed to support sound, but needs more configuration. it is built with config file from armbian. next is to build with chewitt default config file i guess.

ophub commented 2 years ago

You try this kernel can drive.

https://github.com/ophub/kernel/tree/main/pub/stable/5.15.3

pulpoff commented 2 years ago

what is new there? with latest chewitt kernel i have sound device, seems to work with his patches.. wifi device with new firmware files exists, but there still are some issues making it work..

ophub commented 2 years ago

https://github.com/unifreq/linux-5.15.y The above kernel is compiled from his source code library by the flippy boss. His source code has been upgraded for the second time based on https://github.com/chewitt/linux.

sudo ./recompile -r flippy -k 5.15.5 -a false You try the flippy kernel, or use his source code to personalize the choice and try to compile

pulpoff commented 2 years ago

I have compiled above kernel and pushed binary as 5.15.5-new.zip it does load wifi , and shows wlan0 interface, but still not working.. sound card also seems to exist, but missing config in my build its 2.4 oc and 2560x1440 support added. as desktop it runs quite fast and seems to have less bugs than before.