marvell r8782 固件加載不了及其問題原因

我用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方式。
發佈了56 篇原創文章 · 獲贊 19 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章