我用8782目前遇到个问题,我在加载sd8xxx.ko后 log信息如下:
Enter: mlan_register
Enter: wlan_sdio_probe
Enter: wlan_disable_host_int
Enter: wlan_sdio_disable_host_int_mask
Leave: wlan_sdio_disable_host_int_mask
Leave: wlan_disable_host_int
Enter: wlan_sdio_init_ioport
SDIO FUNC1 IO port: 0x10000
Leave: wlan_sdio_init_ioport
Leave: wlan_sdio_probe
Dev BASE0 register read failed: base0=0x0010(16). Terminating download
******************:2
mci_xfer transfered: xferptr = 0xc2b00100, xfer_offset=256, xfer_bytes=256
Dev BASE0 register read failed: base0=0x0000(0). Terminating download
******************:2
mci_xfer transfered: xferptr = 0xc2b00100, xfer_offset=256, xfer_bytes=256
mci_xfer transfered: xferptr = 0xc2b00200, xfer_offset=512, xfer_bytes=512
mci_xfer transfered: xferptr = 0xc2b00300, xfer_offset=768, xfer_bytes=768
mci_xfer transfered: xferptr = 0xc2b00400, xfer_offset=1024, xfer_bytes=1024
Dev BASE0 register read failed: base0=0x0001(1). Terminating download
WLAN: FW CRC error indicated by the helper: len = 0x0401, txlen = 1025
WLAN: retry: 1, offset 1040
******************:2
mci_xfer transfered: xferptr = 0xc2b00100, xfer_offset=256, xfer_bytes=256
mci_xfer transfered: xferptr = 0xc2b00200, xfer_offset=512, xfer_bytes=512
mci_xfer transfered: xferptr = 0xc2b00300, xfer_offset=768, xfer_bytes=768
mci_xfer transfered: xferptr = 0xc2b00400, xfer_offset=1024, xfer_bytes=1024
Dev BASE0 register read failed: base0=0x0001(1). Terminating download
WLAN: FW CRC error indicated by the helper: len = 0x0401, txlen = 1025
WLAN: retry: 2, offset 1040
******************:2
mci_xfer transfered: xferptr = 0xc2b00100, xfer_offset=256, xfer_bytes=256
mci_xfer transfered: xferptr = 0xc2b00200, xfer_offset=512, xfer_bytes=512
mci_xfer transfered: xferptr = 0xc2b00300, xfer_offset=768, xfer_bytes=768
mci_xfer transfered: xferptr = 0xc2b00400, xfer_offset=1024, xfer_bytes=1024
Dev BASE0 register read failed: base0=0x0001(1). Terminating download
WLAN: FW download failure @ 1040, over max retry count
wlan_dnld_fw fail ret=0xffffffff
WLAN: Download FW with nowwait: 0
Firmware Init Failed
woal_add_card failed
wlan_sdio: probe of mmc0:0001:1 failed with error -1
上面的错误花费我大概一个月的时间,查找错误很痛苦,希望后面谁遇到能够给他们提供一些放方便。
前面256字节能够传输,但是到传输1024字节就出现错误。刚开始我是从marvell本身驱动着手,因为我司驱动
运行瑞昱8189es都没有问题。将他们驱动试了好几个版本,在固件加载基本一样,到我这边出错也一样。由此
我想到是不是我这边驱动有问题,配合marvell驱动查下来,问题出现了。由于marvell驱动块大小是按照256计算的
这样在我公司驱动里面永远走cpu通道。cpu通过处理能力只能按块大小发送,也就是如果块大小是256,若果要发送或者接收
1024个字节的文件时候,就会分开四次发送,分开中间有时间间隔,造成接收crc错误。解决方法:调整驱动,将dma阀门变低
使用dma方式。