9578|18

85

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

SDIO WiFi 驱动,请教高手 [复制链接]

我想把Marvel SD8686的驱动移植到TI的WD7123上,不知道各位有什么思路没有?


我现在已经将8686的驱动加载到系统里面,并且系统插卡后能正确加载这个驱动,
只是在初始化的过程中,初始化卡的时候返回错误。
按照CE6.0 SD驱动体系来说,Client层的驱动应该和硬件没有关系了,查看代码也看不出什么东西来,
请问,我是否需要修改SD host controler 或者SD bus层的驱动?

最新回复

就MAVELL的8086来说就是这样的,我估计这样的方式只是方便用户升级固件  详情 回复 发表于 2010-6-23 20:11
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
怎么没人理啊》?顶起
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
帮你顶一下,没有一直过这个驱动。但是我觉得sD的控制寄存器应该是需要修改的吧。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
和6410的类似吗?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
卡初始化出错
是哪个命令呢?
CMD5,3,7?
引用楼主 liaifeilove 的回复:
我想把Marvel SD8686的驱动移植到TI的WD7123上,不知道各位有什么思路没有?


我现在已经将8686的驱动加载到系统里面,并且系统插卡后能正确加载这个驱动,
只是在初始化的过程中,初始化卡的时候返回错误。
按照CE6.0 SD驱动体系来说,Client层的驱动应该和硬件没有关系了,查看代码也看不出什么东西来,
请问,我是否需要修改SD host controler 或……
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

6
 
能否把打印信息贴出来呢
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
调用这个函数在
        sdStatus = SDSetCardFeature(pAdapter->hDevice,
                                    SD_IO_FUNCTION_DISABLE,
                                    &functionEnable,
                                    sizeof(functionEnable));   

        //MessageBox(NULL, TEXT("Enable IO FUN"), (TEXT(IFSTRN) TEXT(CHIPSTRN) TEXT("_") TEXT(RFSTRN)), MB_OK);
                     
        //031407 Need to do delay here. Don't try to save the time....
        DBGPRINT(DBG_LOAD|DBG_ERROR, (L"%S() - Sleeping for %d ms\n", __FUNCTION__, 100));
        NdisMSleep(100000);

        functionEnable.Interval = 500;
        functionEnable.ReadyRetryCount = 3;

        // turn on our function
        sdStatus = SDSetCardFeature(pAdapter->hDevice,
                                    SD_IO_FUNCTION_ENABLE,
                                    &functionEnable,
                                    sizeof(functionEnable));

返回错误。
打印消息:
+CESDHCSlot::BspESDHCIsCardPresent
+CESDHCSlot::HandleInsertion
+CSDDevice::GetCustomRegPath:\Drivers\SDCARD\ClientDrivers\Custom\MANF-0097-CARDID-4076
+CSDDevice::GetCustomRegPath:\Drivers\SDCARD\ClientDrivers\Custom\MANF-0097-CARDID-4076
+CSDDevice::GetCustomRegPath:\Drivers\SDCARD\ClientDrivers\Custom\MANF-0097-CARDID-4076
SDNDISLDR: +NDL_Init
SDNDISLDR:Open path \Drivers\SDCARD\ClientDrivers\Custom\MANF-0097-CARDID-4076-FUNC-1 SDNDISLDR: -NDL_Init
SDNDISLDR: +LoadMiniport
SDNDISLDR: stringBuff: ?#??
SDNDISLDR: Tokenizing instance information: SDIO8686:SDIO86861 SDNDISLDR: Miniport instance path \Comm\SDIO86861\Parms SDNDISLDR: Storing ActiveKey Path Drivers\Active\62
LoadMiniport: NdisRegisterAdapter MiniportName:SDIO8686
MiniportInstance:SDIO86861
INIT - Enter MrvDrvInitialize
[WiFi]: Driver Version: 38.p47
SDNdis: Active path str == Drivers\Active\62SDNdis: Active Path Retrieved: Drivers\Active\62
SDNDIS : Enabling Card ...
SDNDIS: Failed to enable Function:0xC0000012
*** SDIOInitialization FAILED! ***
*** SDIOInitialization FAILED! ***
[TT] SDIO initialization is failed! Quit initialization process

SDNDISLDR: -LoadMinipor        failure
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 3 楼 panzekai 的回复:
和6410的类似吗?


你调试过6410吗?这个应该和用哪个CPU关系不太大
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 4 楼 cgenghui 的回复:
卡初始化出错
是哪个命令呢?
CMD5,3,7?

发送命令是哪个函数?我看了半天都没看到到底是什么函数在确定发送命令。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
好像不需要先disable function
sdStatus = SDSetCardFeature(pAdapter->hDevice,
  SD_IO_FUNCTION_DISABLE,
  &functionEnable,
  sizeof(functionEnable));   
直接enable function就可以了
尝试将
functionEnable.Interval = 500;
  functionEnable.ReadyRetryCount = 3;
改为
functionEnable.Interval = 100;
  functionEnable.ReadyRetryCount = 2;
试试
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

11
 
或者将
functionEnable.ReadyRetryCount值改大试试
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
有没有发现wifi驱动和U盘驱动冲突啊。我发现板子先接入wifi好使并可以连接上网,然后再插U盘就提示无法识别的usb设备。如果先插U盘也好使,再插wifi就会提示无法识别的usb设备。谁知道怎么回事啊。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

13
 
支持楼上
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 10 楼 cgenghui 的回复:
或者将
functionEnable.ReadyRetryCount值改大试试

好的,谢谢了,方便留个联系方式吗?我对Wifi驱动不是很熟悉,还有其他问题。
比如:在初始化的时候要向SDIO 网卡中load 一个初始化文件,这个文件里边的内容是怎么确定的?
是不是所有的SDIO网卡都需要load文件?
还有就是驱动是通过哪个函数发送命令的?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

15
 
mail:
sino-japan@163.com

引用 13 楼 liaifeilove 的回复:
引用 10 楼 cgenghui 的回复:
或者将
functionEnable.ReadyRetryCount值改大试试

好的,谢谢了,方便留个联系方式吗?我对Wifi驱动不是很熟悉,还有其他问题。
比如:在初始化的时候要向SDIO 网卡中load 一个初始化文件,这个文件里边的内容是怎么确定的?
是不是所有的SDIO网卡都需要load文件?
还有就是驱动是通过哪个函数发送命令的……
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

16
 
SDIO WiFi驱动是不是每个芯片的都大不一样啊?有没有什么资料或者教程?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

17
 
移植这类的驱动应该只需要修改跟接口相关部分代码,使得WIFI的固件能顺利下载运行,基本就不会有大问题了
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 16 楼 linux_lee 的回复:
移植这类的驱动应该只需要修改跟接口相关部分代码,使得WIFI的固件能顺利下载运行,基本就不会有大问题了

每类 WiFi模块都需要在启动后下载固件吗?为什么固件不直接写在模块中,而需要重新下载呢?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 liaifeilove 的回复:

引用 16 楼 linux_lee 的回复:
移植这类的驱动应该只需要修改跟接口相关部分代码,使得WIFI的固件能顺利下载运行,基本就不会有大问题了

每类 WiFi模块都需要在启动后下载固件吗?为什么固件不直接写在模块中,而需要重新下载呢?


就MAVELL的8086来说就是这样的,我估计这样的方式只是方便用户升级固件
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表