Closed andyshrk closed 1 year ago
Hi @andyshrk ,
modprobe won't work without specifying the modules directory, e.g.,
modprobe -d /vendor_dlkm/lib/modules brcmfmac-wcc
It also looks like kernel module auto-loading is disabled:
Adding MODULE_SOFTDEP() macro into the brcmfmac
driver to load brcmfmac-wcc
may work.
I have got the same issue with the PPP. Fixed with the kernel patch:
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile
@@ -51,7 +51,2 @@ brcmfmac-$(CONFIG_DMI) += \
-ifeq ($(CONFIG_BRCMFMAC),m)
-obj-m += wcc/
-obj-m += cyw/
-obj-m += bca/
-else
brcmfmac-$(CONFIG_BRCMFMAC) += wcc/core.o
@@ -59,2 +54 @@ brcmfmac-$(CONFIG_BRCMFMAC) += cyw/core.o
brcmfmac-$(CONFIG_BRCMFMAC) += bca/core.o
-endif
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c
index 86eafdb40..9958a8375 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c
@@ -28,3 +28,3 @@ struct brcmf_fwvid_entry {
struct list_head drvr_list;
-#if IS_MODULE(CONFIG_BRCMFMAC)
+#if 0
struct module *vmod;
@@ -36,3 +36,3 @@ static DEFINE_MUTEX(fwvid_list_lock);
-#if IS_MODULE(CONFIG_BRCMFMAC)
+#if 0
#define FWVID_ENTRY_INIT(_vid, _name) \
@@ -58,3 +58,3 @@ static struct brcmf_fwvid_entry fwvid_list[BRCMF_FWVENDOR_NUM] = {
-#if IS_MODULE(CONFIG_BRCMFMAC)
+#if 0
static int brcmf_fwvid_request_module(enum brcmf_fwvendor fwvid)
I updated the main branch with new functionality + this workaround.
It also looks like kernel module auto-loading is disabled:
I also get this. It seems the mainline wifi vendor-specific firmware api is conflict with android. So I revert this series patch.
I have got the same issue with the PPP. Fixed with the kernel patch:
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/Makefile @@ -51,7 +51,2 @@ brcmfmac-$(CONFIG_DMI) += \ -ifeq ($(CONFIG_BRCMFMAC),m) -obj-m += wcc/ -obj-m += cyw/ -obj-m += bca/ -else brcmfmac-$(CONFIG_BRCMFMAC) += wcc/core.o @@ -59,2 +54 @@ brcmfmac-$(CONFIG_BRCMFMAC) += cyw/core.o brcmfmac-$(CONFIG_BRCMFMAC) += bca/core.o -endif diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c index 86eafdb40..9958a8375 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwvid.c @@ -28,3 +28,3 @@ struct brcmf_fwvid_entry { struct list_head drvr_list; -#if IS_MODULE(CONFIG_BRCMFMAC) +#if 0 struct module *vmod; @@ -36,3 +36,3 @@ static DEFINE_MUTEX(fwvid_list_lock); -#if IS_MODULE(CONFIG_BRCMFMAC) +#if 0 #define FWVID_ENTRY_INIT(_vid, _name) \ @@ -58,3 +58,3 @@ static struct brcmf_fwvid_entry fwvid_list[BRCMF_FWVENDOR_NUM] = { -#if IS_MODULE(CONFIG_BRCMFMAC) +#if 0 static int brcmf_fwvid_request_module(enum brcmf_fwvendor fwvid)
This workaround is much simple.
Thanks so much
Would you like to add eaidk_610 to the GloDroid?
Would you like to add eaidk_610 to the GloDroid?
Of course . I can send you a pull request when I figure out the latest recovery fastboot failed issue
I saw you created a rockchip-series repo, so it's better to make ppp and eaidk610 both to this rockchip-series repo ?
PPP is more complex and may require special AOSP patching. Therefore it is in a separate repository.
Do you have other boards based on rockchip soc for the rockchip-serials repo ?
I have an opi4 tree locally. Unfortunately, I can't make it work. I'll make a few attempts to fix it and push it anyway, regardless of its state.
may be i can offer you an eaidk610 board freely if you like.
My concern regarding this board is that it is not available for sale on international trading platforms, e.g., ali's, ebay, amazon, etc...
My concern regarding this board is that it is not available for sale on international trading platforms, e.g., ali's, ebay, amazon, etc...
Yes, eaidk610 is hard to find on the international market. I play with it juest because a friend gives me such one. Maybe some boards from radxa(rockpi4/rk3399, rock3a/c rk3566/8), pine64(rockpro64/rk3399, quartz64/rk3566/8), they both have communtiy support(mainline linux kernel/u-boot, armbian) are better choice.
Thanks for your nice job。 I have a rk3399 based board eaidk610,which have a AP6255 wifi + bt module on board,I think it is the same with pinephone pro。 I porting the device configuration from this pine64-pinephonepro project[0]: But wifi startup failed due to load firmware failed: [ 5.894232] brcmfmac: brcmf_attach Enter [ 5.894597] brcmfmac: brcmf_fwvid_attach_ops mod=wcc: enter: dev mmc0:0001:1 [ 5.894849] brcmfmac: brcmf_sdio_readshared sdpcm_shared address 0x00201F18 [ 5.895256] brcmfmac: brcmf_fwvid_request_module: mod=wcc: failed -2 [ 5.896418] brcmfmac: brcmf_sdio_isr Enter [ 5.896434] ieee80211 phy0: brcmf_attach: brcmf_fwvid_attach failed
The full kernel bootlog is here[1]: When search online, I find these discuss[2]:
It seems I should change the brcmfmac wifi driver module load order make brcmfmac-wcc insmod before brcmfmac, But I can't find a proper way to adjust the order. I also try to setting CONFIG_MODPROBE_PATH="/system/bin/modprobe" , but it also has no luck. Hope to get some advice from you.
Thanks a lot.
[0]https://github.com/andyshrk/pine64-pinephonepro/commit/0224c537e19cd4672a07cdf2ec466a9c9d3dc07b [1]https://pastebin.com/H9YDcJNT [2]https://lore.kernel.org/linux-wireless/CANnVG6=a3etRagG+RaSEH-b4_nfzxpEKffQtuMWrttrbgjunZQ@mail.gmail.com/