打印
[技术问题解答]

sdio detect和remove

[复制链接]
3057|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小番茄|  楼主 | 2015-8-27 10:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位:
      我最近在搞WiFi这一块,把驱动什么东西都设置好了 ,在Android设置界面中打开WiFi,能扫描也可以连接AP上网,但是在设置中关闭WiFi再打开就不行了 , 一看串口原来是驱动模块挂载不上了,一直提示上电失败。后来询问下厂商那边 ,他们的回答是:
需要把平台sdio detect和remove函数有分别加到dhd_gpio.c的bcm_wlan_power_on和bcm_wlan_power_off,小弟最近才接触这平台,所以并不了解平台sdio detect和remove函数是哪两个,该如何加载进去??
我用的平台是 iMX6-sabresd-SD Android4.4.2  内核是Linux 3.0.35,WiFi是挂载在mmc2上,拜托大伙帮我看看  ,就差这两个函数了

相关帖子

沙发
史迪威将军| | 2015-8-27 10:31 | 只看该作者
是不是把这两个函数使能了就可以了呢?

使用特权

评论回复
板凳
小番茄|  楼主 | 2015-8-27 10:47 | 只看该作者
史迪威将军 发表于 2015-8-27 10:31
是不是把这两个函数使能了就可以了呢?

不是 因为WiFi厂商提供的驱动源码是基于三星板子的 ,所以他们的源码是这样的:
void bcm_wlan_power_on(int flag)
{
        if (flag == 1) {
                printk("======== PULL WL_REG_ON HIGH! ========\n");
                gpio_set_value(EXYNOS4_GPK1(0), 1);
                mdelay(100);
                printk("======== Card detection to detect SDIO card ========\n");
                sdhci_s3c_force_presence_change(&sdmmc_channel, 1);
        } else {
                printk("======== PULL WL_REG_ON HIGH! (flag = %d) ========\n", flag);
                gpio_set_value(EXYNOS4_GPK1(0), 1);
        }
}

void bcm_wlan_power_off(int flag)
{
        if (flag == 1) {
                printk("======== Card detection to remove SDIO card ========\n");
                sdhci_s3c_force_presence_change(&sdmmc_channel, 0);
                mdelay(100);
                printk("======== PULL WL_REG_ON LOW! ========\n");
                gpio_set_value(EXYNOS4_GPK1(0), 0);
        } else {
                printk("======== PULL WL_REG_ON LOW! (flag = %d) ========\n", flag);
                gpio_set_value(EXYNOS4_GPK1(0), 0);
        }
}

那个引脚定义改过来倒是简单,可 sdhci_s3c_force_presence_change 这个函数编译不过我当时就直接屏蔽了,现在厂商那边说就是这个函数导致了这个问题,所以需要找到平台中和这个函数匹配的替换掉,可这驱动源码中也没有sdhci_s3c_force_presence_change 这个函数的原型 ,我也不知道去哪给它找个匹配的

使用特权

评论回复
地板
小番茄|  楼主 | 2015-8-27 11:12 | 只看该作者
别沉啊  在线等

使用特权

评论回复
5
yiyigirl2014| | 2015-8-27 13:32 | 只看该作者
安坐5.1可以搞了不

使用特权

评论回复
6
小番茄|  楼主 | 2015-8-27 16:03 | 只看该作者

使用特权

评论回复
7
C洛达尔多| | 2015-8-27 16:28 | 只看该作者
我也没有遇到过这样的问题,帮楼主顶一下吧

使用特权

评论回复
8
风的样子| | 2015-8-28 10:02 | 只看该作者
这个问题确实挺麻烦的啊,帮顶下

使用特权

评论回复
9
quray1985| | 2015-8-28 10:30 | 只看该作者
看看编译不通过的原因是什么,没有定义
还是在别的地方需要使能一下

使用特权

评论回复
10
andylauchen| | 2017-2-28 15:37 | 只看该作者
楼主,我跟你一样也是遇到了相同的问题。请问你最后是怎么解决的,用什么替换掉了那个函数。我的平台也是imx6,也是wifi这块调不同。原厂的代码都一样

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

62

帖子

1

粉丝