yes wifi works! but for VIM3 is not usable - very unstable - slow speed , gaps , lags, lost connection, and error!
NOTE: all another boards works - OK !
yes wifi works! but for VIM3 is not usable - very unstable - slow speed , gaps , lags, lost connection, and error!
NOTE: all another boards works - OK !
The X96-Max box I have (S905X2) uses BCM4356 but shows the same issues http://ix.io/24YV so I think thereâs an issue with SDIO somewhere.
Neil says âOh I see why, we should disable sg_support since we support only a single sgâŚâ but heâs on vaction for 14-days over Christmas and New Year so unless that means something to you (or anyone who writes code) further investigation might take a while.
OK! i have done test for all VIMx boards
i have test both AP and CLIENT wifi modes
all errors possible to fix (but with lost some speed performance ) im not very competent at this linux drivers parts - maybe smbdy can make it more properly and elegant
yes we need remove this one from dts sd-uhs-sdr50
, but its not enough ( AP mode - not stable )
cap-sd-highspeed
- dont remove this node!!! ( this param make speed limit to 50Mhz - !!! 100Mhz not stable!!! )
/sys/kernel/debug/mmc0/ios:clock: 50000000 Hz
/sys/kernel/debug/mmc0/ios:actual clock: 50000000 Hz
( but dts still must have this one max-frequency = <100000000>;
)
and we need apply next my patch
NOTE: i think something wrong with mmc host driver for VIM3
need force setup another value for stable wifi work
[ 13.660868] brcmfmac: brcmf_sdiod_sgtable_alloc: !!!! WIFI VIM3 hack applay
[ 13.660874] brcmfmac: brcmf_sdiod_sgtable_alloc: !!!! WIFI DEBUG khadas,vim3: host->max_segs: 1
host->max_seg_size: 1 host->max_blk_count: 1536 sdiodev->max_request_size: 256
sdiodev->max_segment_count: 1 max_blocks: 1 host->max_req_size: 1536
for example this one workable DEFAULT parameters for VIM3L (but same parameters donât wok for VIM3 ;-( )
[ 15.295165] brcmfmac: brcmf_sdiod_sgtable_alloc: !!!! WIFI DEBUG khadas,vim3l: host->max_segs: 256
host->max_seg_size: 511 host->max_blk_count: 261632 sdiodev->max_request_size: 130816
sdiodev->max_segment_count: 128 max_blocks: 511 host->max_req_size: 261632
PS: other patches for 5.4.5 => https://github.com/hyphop/khadas-linux-kernel/tree/master/patches/linux-5.4.5 + https://github.com/hyphop/khadas-linux-kernel/tree/master/patches/wifi_4359
G12A and G12B devices have a chipset bug that impacts SDIO - I see the same issue on a GT-King Pro and X96-Max box (both using BCM4356). GXL/GXM and SM1 donât have the chip bug. Iâll pick the patch into my branch as a tempoarary workaround (tagged as HACK) but it needs to look for the g12a/g12b SoC compatible rather than board as the issue is not limited to VIM3. The real fix needs to be done in the mmc driver not brcmfmac, but that will take time due to Christmas and New Year.
yes i think same !
NOTE: this openwrt image https://dl.khadas.com/Firmware/Krescue/images/VIMx.OpenWrt.servers.test.emmc.kresq - already have this patches + and we can test it for any khadas VIMx boards VIM1 VIM2 VIM3 VIM3L
The previous patch is flawed due to my general ignorance of c++ ⌠it always evaluates to true so the hack is applied to all hardware. Below is an alternative approach that forces values in the mmc driver when amlogic,dram-access-quirk
is in the device-tree, which only applies to g12a and g12b:
Hello
Should this problem be solved in kernel Linux Khadas 5.9.0-rc2? Or ist the Wifi of VIM3 V12 still buggy?
I would like to use it as a AP. With a mobile I can see the ssid, somtimes I can connect, but the connection is very unstable.
I get error messages like this:
[ 3.729255] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[ 3.737525] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.khadas,vim3.txt failed with error -2
[ 6.215359] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[ 6.218270] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 6.239368] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4359/9 wl0: Sep 20 2019 20:22:36 version 9.87.51.11.34 (edb7293@shgit) (r711217) FWID 01-c7feb1ee
[ 6.711304] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)
[ 8.631375] ieee80211 phy0: brcmf_fweh_call_event_handler: no interface object
[ 554.785992] ieee80211 phy0: brcmf_p2p_send_action_frame: Unknown Frame: category 0x8a, action 0x6
[ 613.533757] ieee80211 phy0: brcmf_netdev_wait_pend8021x: Timed out waiting for no pending 802.1x packets
[ 614.557747] ieee80211 phy0: brcmf_netdev_wait_pend8021x: Timed out waiting for no pending 802.1x packets
Thanks in advice
Andreas
In Linux 5.9-RC*
, the Wi-Fi driver is broken againâŚ
Please use 5.7 kernel.
Thank you very much.
I compiled a fenix 0.9.4 Version with Kernel 5.7 and Debian.
Now, errors are still there, but the hostapd access point works.
[ 5.228669] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 5.239821] systemd-journald[1671]: Received request to flush runtime journal from PID 1
[ 5.257128] cfg80211: Loaded X.509 cert âsforshee: 00b28ddf47aef9cea7â
[ 5.263580] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 5.266584] cfg80211: failed to load regulatory.db
[ 5.334829] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[ 5.384304] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.khadas,vim3.txt failed with error -2
[ 5.970832] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac4359-sdio for chip BCM4359/9
[ 5.979305] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 5.993740] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4359/9 wl0: Sep 20 2019 20:22:36 version 9.87.51.11.34 (edb7293@shgit) (r711217) FWID 01-c7feb1ee
[ 8.913853] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)
[ 51.721872] ieee80211 phy0: brcmf_fweh_call_event_handler: no interface object
[ 51.834486] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 52.229840] ieee80211 phy0: brcmf_cfg80211_get_channel: chanspec failed (-512)
[ 52.237874] ieee80211 phy0: brcmf_cfg80211_get_tx_power: error (-512)
[ 52.737836] ieee80211 phy0: brcmf_vif_set_mgmt_ie: vndr ie set error : -52
[ 52.741816] ieee80211 phy0: brcmf_vif_set_mgmt_ie: vndr ie set error : -52
[ 55.697800] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
To remove the âDirect firmware load errorâ rename or copy the file
/lib/firmware/brcm/brcmfmac4359-sdio.txt
to
/lib/firmware/brcm/brcmfmac4359-sdio.khadas,vim3.txt
and reboot.
brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac4359-sdio.khadas,vim3.txt failed with error -2
This error doesnât matter.
It is working fine on 5.8.x
I have my vim3 running on 5.8.7 now and wifi works quite well as expected.
Yes, 5.8 stable version works well.
could you please check suspend/resume functionality with 5.8 kernel
Suspend resume for wifi?
For distro it is not available with mainline kernel and uboot as arm doesnât have standard bios like firmware.
So far we could only get suspend to work on rk3399 that to with using bsp uboot and not mainline uboot.
Therefore I wonât expect it to work on amlogic yet or maybe I am wrong.
I mean suspend/resume for whole board. I checked it with 4.9 work ok through systemctl suspend or through desktop-> power -> suspend, resume done through power button. For 5.7-rc7 suspend ok, but board fail to resume. I will compile 5.10 and check
Iâm running linux 5.14 on the vim3 right now and wifi is unstable. is this a common problem for this board? I see no errors from brcmfmac in dmesg