4785|10

854

帖子

0

TA的资源

五彩晶圆(中级)

楼主
 

为什么我的Marvel8686 WiFi驱动没加载? [复制链接]


打开Android的WiFi开关,居然还打印老的驱动信息,USB接口的,为啥?

usbcore: registered new interface driver rtl8192cu



我已经在device/*/$(TARGET_DEVICE)/BoardConfig.mk \ 做了如下修改:


#   WIFI_DRIVER_MODULE_NAME   := wlan

#   WIFI_DRIVER_MODULE_PATH   := "/system/lib/modules/wlan.ko"

#changed libertas_sdio.ko

    WIFI_DRIVER_MODULE_NAME   := libertas_sdio

    WIFI_DRIVER_MODULE_PATH   := "/system/lib/modules/libertas_sdio.ko"




但是,奇葩的是,系统起来没去加载/system/lib/modules/libertas_sdio.ko,

还是加载老的USB WiFi驱动,为啥呢?usbcore: registered new interface driver rtl8192cu

最新回复

不会呀 我一直都在 呵呵  只是有时话多  有时话少     详情 回复 发表于 2015-4-23 09:36
点赞 关注
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
个人看法,需要找到驱动加载的策略,才知道为什么不加载新的驱动。
另外,不排除细小的操作失误
 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
本帖最后由 Wince.Android 于 2015-4-17 17:55 编辑

# insmod  system/lib/modules/libertas_sdio.ko
libertas_sdio: Unknown symbol lbs_notify_command_response (err 0)
libertas_sdio: Unknown symbol lbs_get_firmware (err 0)
libertas_sdio: Unknown symbol lbs_add_card (err 0)
libertas_sdio: Unknown symbol lbs_host_to_card_done (err 0)
libertas_sdio: Unknown symbol lbs_process_rxed_packet (err 0)
libertas_sdio: Unknown symbol lbs_remove_card (err 0)
libertas_sdio: Unknown symbol lbs_suspend (err 0)
libertas_sdio: Unknown symbol lbs_cmd_copyback (err 0)
libertas_sdio: Unknown symbol lbs_queue_event (err 0)
libertas_sdio: Unknown symbol lbs_start_card (err 0)
libertas_sdio: Unknown symbol __lbs_cmd (err 0)
libertas_sdio: Unknown symbol lbs_stop_card (err 0)
libertas_sdio: Unknown symbol lbs_resume (err 0)
insmod: can't insert 'system/lib/modules/libertas_sdio.ko': unknown symbol in module or invalid parameter
/ # insmod  system/lib/modules/libertas.ko     
/ # insmod  system/lib/modules/libertas_sdio.ko
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc2:0001:1: (unregistered net_device): command 0x0003 timed out
libertas_sdio mmc2:0001:1: (unregistered net_device): Timeout submitting command 0x0003
libertas_sdio mmc2:0001:1: (unregistered net_device): PREP_CMD: command 0x0003 failed: -110
libertas_sdio: probe of mmc2:0001:1 failed with error -110

强制加载打印如上信息,再看看。




——后来根据代码分析,这个应该是SDIO驱动的问题,网上几年前也有人遇到了,

请看此贴 http://bbs.csdn.net/topics/360100039?list=lz

看来我还要有很长的路要走啊。


 
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

4
 
本帖最后由 Wince.Android 于 2015-4-15 09:01 编辑

按照道理# insmod libertas_sdio.ko
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc0:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc0:0001:1: firmware: requesting sd8686.bin
libertas: 00:24:7e:a7:11:9d, fw 9.70.3p24, cap 0x00000303
libertas: wlan0: Marvell WLAN 802.11 adapter

就应该有反应,你的这样直接加载会怎么样?奇怪我的直接这样都没提示要firmware,估计 libertas_sdio.ko还有问题





重新menuconfig 一下,查看Marvel8686 的配置,没有什么问题啊,怎么就是不行呢?!

并且动态加载会提示如下信息


/ # insmod /system/lib/modules/libertas.ko     

/ # insmod /system/lib/modules/libertas_sdio.ko

libertas_sdio: Libertas SDIO driver

libertas_sdio: Copyright Pierre Ossman

libertas_sdio mmc2:0001:1: (unregistered net_device): command 0x0003 timed out

libertas_sdio mmc2:0001:1: (unregistered net_device): Timeout submitting command 0x0003

libertas_sdio mmc2:0001:1: (unregistered net_device): PREP_CMD: command 0x0003 failed: -110

libertas_sdio: probe of mmc2:0001:1 failed with error -110


兵来将挡水来土掩,就找unregistered net_device的麻烦。
 
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 

回复

80

帖子

0

TA的资源

一粒金砂(中级)

5
 
用我司的WIFI模块,可支持MCU驱动已调好~

QQ截图20150319155222.jpg (120.06 KB, 下载次数: 0)

QQ截图20150319155222.jpg

点评

我用这个芯片基本没什么用了,我只是要搞定他,不是用来做产品的。  详情 回复 发表于 2015-4-16 10:01
 
 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

6
 
Longtrump_seven 发表于 2015-4-15 11:02
用我司的WIFI模块,可支持MCU驱动已调好~

我用这个芯片基本没什么用了,我只是要搞定他,不是用来做产品的。
 
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

7
 
本帖最后由 Wince.Android 于 2015-4-16 15:42 编辑

方法1:把Marvell 8686的固件放在内核里编译进内核
Device Drivers  --->   
Generic Driver Options  --->
下面这两项不选,如果选择会avoid building firmware.
[ ] Select only drivers that don't need compile-time external firmware                     
[ ] Prevent firmware from being built
   Include in-kernel firmware blobs in kernel binary               
固件的名称以空格分开
(sd8686_helper.bin sd8686.bin) External firmware blobs to build into the kernel binary        
(firmware) Firmware blobs root directory
把固件sd8686_helper.bin sd8686.bin放到内核目录
android_kernel/firmware/
方法2:把固件放在文件系统,加载内核的时候从文件系统里获得
要配置固件的路径

看看把,固件放到kernel会怎么样,只能这样尝试了


——————这几个尝试各种方法就是没用,后来还是老老实实看代码了,在libertas 源码里面发现,就初始化这个SDIO WiFi都没成功,所以更别想做好了,真悲剧啊。

/*******************************************************************/

/* Module functions                                                */

/*******************************************************************/



static int __init if_sdio_init_module(void)

{

        int ret = 0;



        lbs_deb_enter(LBS_DEB_SDIO);



        printk(KERN_INFO "libertas_sdio: Libertas SDIO driver++\n");

        printk(KERN_INFO "libertas_sdio: Copyright Pierre Ossman\n");



        ret = sdio_register_driver(&if_sdio_driver);



        /* Clear the flag in case user removes the card. */

        user_rmmod = 0;

        printk(KERN_INFO "libertas_sdio: Libertas SDIO driver--\n");



        lbs_deb_leave_args(LBS_DEB_SDIO, "ret %d", ret);



        return ret;

}


这个就出错了。god!!!
 
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

8
 
哎,经过各种折腾,搞定了,还是SDMMC驱动的问题,移植一个可行的就出来了。
/ # insmod system/lib/modules/libertas.ko
/ # insmod system/lib/modules/libertas_sdio.ko
libertas_sdio: Libertas SDIO driver++
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc2:0001:1: (unregistered net_device): 70:f3:95:ec:3e:3f, fw 9.70.3p24, cap 0x00000303
libertas_sdio mmc2:0001:1: wlan0: Marvell WLAN 802.11 adapter
libertas_sdio: Libertas SDIO driver--

点评

赞 嘿嘿 谢谢分享  详情 回复 发表于 2015-4-22 16:45
 
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 

回复

2万

帖子

74

TA的资源

管理员

9
 
Wince.Android 发表于 2015-4-22 16:41
哎,经过各种折腾,搞定了,还是SDMMC驱动的问题,移植一个可行的就出来了。
/ # insmod system/lib/modules/libertas.ko
/ # insmod system/lib/modules/libertas_sdio.ko
libertas_sdio: Libertas SDIO driver++
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc2:0001:1: (unregistered net_device): 70:f3:95:ec:3e:3f, fw 9.70.3p24, cap 0x00000303
libertas_sdio mmc2:0001:1: wlan0: Marvell WLAN 802.11 adapter
libertas_sdio: Libertas SDIO driver--

赞  嘿嘿  谢谢分享

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

你也越来越少出现了!  详情 回复 发表于 2015-4-23 09:14
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

854

帖子

0

TA的资源

五彩晶圆(中级)

10
 
soso 发表于 2015-4-22 16:45
赞  嘿嘿  谢谢分享

你也越来越少出现了!

点评

不会呀 我一直都在 呵呵 只是有时话多 有时话少  详情 回复 发表于 2015-4-23 09:36
 
个人签名如果对linux,Android,wince 等嵌入式底层有兴趣的,请加这个QQ群吧,群号:27100460
 
 

回复

2万

帖子

74

TA的资源

管理员

11
 
Wince.Android 发表于 2015-4-23 09:14
你也越来越少出现了!

不会呀 我一直都在 呵呵  只是有时话多  有时话少  

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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