| 
 | 
 
你好: 
我用的板子是256MB TQ2440  我同学的是64MB的 TQ2440  内核都是2.6.30.4  然后我两以几乎一样的方式(内核配置除了NAND的地方大小不一样外其他都一样)驱动USI WIFI  WM-G-MR-09这个SDIO口的模块 但结果发现我的板子不能加载此WIFI的固件( helper_sd.bin和sd8686.bin) 而我同学的却可以。我的信息如下: 
#insmod libertas.ko 
#insmod libertas_sdio.ko helper_name=helper_sd.bin fw_name=sd8686.bin 
 
libertas_sdio: Libertas SDIO driver 
libertas_sdio: Copyright Pierre Ossman 
libertas_sdio mmc0:0001:1: firmware: requesting helper_sd.bin 
libertas: failed to load helper firmware 
libertas_sdio: probe of mmc0:0001:1 failed with error -110 
我同学(板子是64的TQ2440)启动信息如下: 
#insmod libertas.ko 
#insmod libertas_sdio.ko helper_name=helper_sd.bin fw_name=sd8686.bin 
 
libertas_sdio: Libertas SDIO driver 
libertas_sdio: Copyright Pierre Ossman 
libertas_sdio mmc0:0001:1: firmware: requesting helper_sd.bin 
libertas_sdio mmc0:0001:1: firmware: requesting sd8686.bin 
libertas: 00:24:7e:a7:12:21, fw 9.70.3p24, cap 0x00000303 
libertas: PREP_CMD: command 0x00a3 failed: 2 
libertas: PREP_CMD: command 0x00a3 failed: 2 
libertas: eth1: Marvell WLAN 802.11 adapter 
然后无线网卡就正常工作啦  可是我的不行  
我通过打印信息得知实在内核drivers/net/wireless/libertas/if_sdio.c中这两个函数读出来的东西不一样: 
req_size = sdio_readb(card->func, IF_SDIO_RD_BASE, &ret); 
                if (ret) 
                        goto release; 
 
                req_size |= sdio_readb(card->func, IF_SDIO_RD_BASE + 1, &ret) << 8; 
                if (ret) 
                        goto release; 
 
                if (req_size != 0) 
                        break; 
64M的读出来的是16 我的读出来的是0    这是load第一个固件时  在load第二个固件时也是这地方出来的值不一样 其他没区别  
所以我就发帖问下 这大概是啥原因 我两几乎一样东西 除了64 与256 的差别 是不是文件系统镜像的原因 还是板子硬件原因(我同学说两板子硬件线路是一样的 )    请指点下方向 |   
 
 
 
 |