This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Team,
Any ideas on how to debug further the below error message:
The Wifi chip isonline. but it’s routing traffic but inconsistently and slowly.
AnBer thanks for posting, I actually just fixed it (unfortunately with hardcoded values). It was a DMA alignment issue that requires some platform data for the OMAP HSMMC controller, which I added in to the brcmfmac driver. Ideally you would use module parameters but I don't think one exists yet for broken_sg_support.
Here's a diff against kernel tag v4.7.2 below:
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c index 3e15d64..fd66055 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -305,6 +305,11 @@ struct brcmf_mp_device *brcmf_get_module_param(struct device *dev, */ brcmf_of_probe(dev, &settings->bus.sdio); } + + settings->bus.sdio.broken_sg_support = true; + settings->bus.sdio.oob_irq_supported = false; + settings->bus.sdio.sd_head_align = 4; + settings->bus.sdio.sd_sgentry_align = 512; return settings; }
I am using the TI AM335x (beagle bone black Rev c) board with Murata wifi module Type 1DX EVB ES2.0.
And using linux kernel 4.4.32 from TI SDK 03.02.00.05.
I made the following DTS changes.
&mmc1 {
...
brcmf: brcmf@1 {
compatible = "brcm,bcm4329-fmac";
reg = <1>;
status = "okay";
};
};
LOgs:
[ 35.951730] omap_hsmmc 48060000.mmc: MMC start dma failure
[ 35.971685] brcmf_sdiod_sglist_rw: CMD53 sg block write failed -22
[ 35.982574] brcmf_sdio_txfail: sdio error, abort command and terminate frame
And applied the patch mentioned in below cypress community link to set the alignment to 512. I got rxfail resolved, but txfail is still present. Please let me know if anything to be done.