社区
嵌入开发(WinCE)
帖子详情
SDIO WiFi 驱动,请教高手
liaifeilove
2010-06-18 11:16:30
我想把Marvel SD8686的驱动移植到TI的WD7123上,不知道各位有什么思路没有?
我现在已经将8686的驱动加载到系统里面,并且系统插卡后能正确加载这个驱动,
只是在初始化的过程中,初始化卡的时候返回错误。
按照CE6.0 SD驱动体系来说,Client层的驱动应该和硬件没有关系了,查看代码也看不出什么东西来,
请问,我是否需要修改SD host controler 或者SD bus层的驱动?
...全文
1233
18
打赏
收藏
SDIO WiFi 驱动,请教高手
我想把Marvel SD8686的驱动移植到TI的WD7123上,不知道各位有什么思路没有? 我现在已经将8686的驱动加载到系统里面,并且系统插卡后能正确加载这个驱动, 只是在初始化的过程中,初始化卡的时候返回错误。 按照CE6.0 SD驱动体系来说,Client层的驱动应该和硬件没有关系了,查看代码也看不出什么东西来, 请问,我是否需要修改SD host controler 或者SD bus层的驱动?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Linux_lee
2010-06-23
打赏
举报
回复
[Quote=引用 17 楼 liaifeilove 的回复:]
引用 16 楼 linux_lee 的回复:
移植这类的驱动应该只需要修改跟接口相关部分代码,使得WIFI的固件能顺利下载运行,基本就不会有大问题了
每类 WiFi模块都需要在启动后下载固件吗?为什么固件不直接写在模块中,而需要重新下载呢?
[/Quote]
就MAVELL的8086来说就是这样的,我估计这样的方式只是方便用户升级固件
liaifeilove
2010-06-23
打赏
举报
回复
[Quote=引用 16 楼 linux_lee 的回复:]
移植这类的驱动应该只需要修改跟接口相关部分代码,使得WIFI的固件能顺利下载运行,基本就不会有大问题了
[/Quote]
每类 WiFi模块都需要在启动后下载固件吗?为什么固件不直接写在模块中,而需要重新下载呢?
liaifeilove
2010-06-21
打赏
举报
回复
[Quote=引用 10 楼 cgenghui 的回复:]
或者将
functionEnable.ReadyRetryCount值改大试试
[/Quote]
好的,谢谢了,方便留个联系方式吗?我对Wifi驱动不是很熟悉,还有其他问题。
比如:在初始化的时候要向SDIO 网卡中load 一个初始化文件,这个文件里边的内容是怎么确定的?
是不是所有的SDIO网卡都需要load文件?
还有就是驱动是通过哪个函数发送命令的?
Linux_lee
2010-06-21
打赏
举报
回复
移植这类的驱动应该只需要修改跟接口相关部分代码,使得WIFI的固件能顺利下载运行,基本就不会有大问题了
liaifeilove
2010-06-21
打赏
举报
回复
SDIO WiFi驱动是不是每个芯片的都大不一样啊?有没有什么资料或者教程?
cgenghui
2010-06-21
打赏
举报
回复
mail:
sino-japan@163.com
[Quote=引用 13 楼 liaifeilove 的回复:]
引用 10 楼 cgenghui 的回复:
或者将
functionEnable.ReadyRetryCount值改大试试
好的,谢谢了,方便留个联系方式吗?我对Wifi驱动不是很熟悉,还有其他问题。
比如:在初始化的时候要向SDIO 网卡中load 一个初始化文件,这个文件里边的内容是怎么确定的?
是不是所有的SDIO网卡都需要load文件?
还有就是驱动是通过哪个函数发送命令的……
[/Quote]
owen9173
2010-06-20
打赏
举报
回复
支持楼上
quansui
2010-06-20
打赏
举报
回复
有没有发现wifi驱动和U盘驱动冲突啊。我发现板子先接入wifi好使并可以连接上网,然后再插U盘就提示无法识别的usb设备。如果先插U盘也好使,再插wifi就会提示无法识别的usb设备。谁知道怎么回事啊。
cgenghui
2010-06-18
打赏
举报
回复
或者将
functionEnable.ReadyRetryCount值改大试试
cgenghui
2010-06-18
打赏
举报
回复
好像不需要先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;
试试
liaifeilove
2010-06-18
打赏
举报
回复
[Quote=引用 4 楼 cgenghui 的回复:]
卡初始化出错
是哪个命令呢?
CMD5,3,7?
[/Quote]
发送命令是哪个函数?我看了半天都没看到到底是什么函数在确定发送命令。
liaifeilove
2010-06-18
打赏
举报
回复
[Quote=引用 3 楼 panzekai 的回复:]
和6410的类似吗?
[/Quote]
你调试过6410吗?这个应该和用哪个CPU关系不太大
liaifeilove
2010-06-18
打赏
举报
回复
调用这个函数在
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
cgenghui
2010-06-18
打赏
举报
回复
能否把打印信息贴出来呢
cgenghui
2010-06-18
打赏
举报
回复
卡初始化出错
是哪个命令呢?
CMD5,3,7?
[Quote=引用楼主 liaifeilove 的回复:]
我想把Marvel SD8686的驱动移植到TI的WD7123上,不知道各位有什么思路没有?
我现在已经将8686的驱动加载到系统里面,并且系统插卡后能正确加载这个驱动,
只是在初始化的过程中,初始化卡的时候返回错误。
按照CE6.0 SD驱动体系来说,Client层的驱动应该和硬件没有关系了,查看代码也看不出什么东西来,
请问,我是否需要修改SD host controler 或……
[/Quote]
panzekai
2010-06-18
打赏
举报
回复
和6410的类似吗?
InsaneCode
2010-06-18
打赏
举报
回复
帮你顶一下,没有一直过这个驱动。但是我觉得sD的控制寄存器应该是需要修改的吧。
liaifeilove
2010-06-18
打赏
举报
回复
怎么没人理啊》?顶起
蔡工RK3288_Android7.1
驱动
开发入门
1、基于RK3288平台,基于Android7.1,kernel4.4的... 2、讲解RK平台的常用外设模块
驱动
(例如LCD,TP,GPIO,
wifi
+BT,IR,camera和key等)的调试流程以及一些简单代码跟踪; 3、介绍一些Android底层
驱动
开发知识等;
RK3568移植XR829
WIFI
驱动
RK356 XR829
android
wifi
驱动
加载失败怎么办,
请教
WIFI
连接失败问题,如何解决
请各位大师解惑,以下是命令日志:shell@firefly:/ # echo 1 >/sys/class/rk
wifi
/drivershell@firefly:/ # ifconfig wlan0 up[ 68.497286] dhd_open: Enter de876800[ 68.497356][ 68.497356] Dongle Host Driver, version ...
传统emmc所用的
sdio
接口_MMC/SD/
SDIO
介绍
MMC/SD/
SDIO
介绍作者:wowo 发布于:2016-12-25 21:52分类:基础技术1. 前言熟悉Linux kernel的人都知道,kernel使用MMC subsystem统一管理MMC、SD、
SDIO
等设备,为什么呢?到底什么是MMC?SD和
SDIO
又是什么?为什么可以用MMC统称呢?在分析Linux kernel的MMC subsystem之前,有必要先介绍一些概念,以便对MM...
驱动
模块加载错误:insmod: can't insert 'xx.ko': invalid module format
前言 这个错误其实我遇到过几次了,当初学生时代玩FL2440开发板的时候编写
驱动
就遇到过这种错误,那时候是
请教
了我的嵌入式导师郭工解决的,不过那时事后没有及时去反思为什么。现在工作了遇到了同样的问题,自己尝试去解决了才明白。 问题背景和解决方法 这个问题源于那时候我用于编译
驱动
的内核和运行在开发板上的内核镜像配置不同导致的。后来参考了网上的博客,导致这个问题的原因其实挺多的,这里总结如下:
嵌入开发(WinCE)
19,504
社区成员
41,569
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章