免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1385 | 回复: 0
打印 上一主题 下一主题

Linux SDIO WIFI驱动的编译 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-30 18:29 |只看该作者 |倒序浏览
目前sourceforge网站上提供了Linux 2.6.18版本内核的
sdiostack补丁
,使用此补丁后可以编译出供Atheros SDIO wifi v1.0模块使用的驱动。

首先选择工作目录(例如当前用户的个人目录/home/~),此后的操作都在此目录下进行。下面以Samsung S3C2410平台为例介绍驱动编译过程,使用的交叉编译工具为arm-linux-gcc v3.4.6。

1. 下载内核压缩包并解压。
   tar zxvf linux-2.6.18.tar.gz

2. 下载sdiostack驱动并解压至内核源码目录,补丁包含5个patch文件和1个series文件,按照series文件中的顺序依次打补丁。
   tar zxvf sdio-linux-2.6.18.tar.gz -C linux-2.6.18/
   cd linux-2.6.18/
   patch -p1 Plug and Play support-->Plug and Play support选项支持PnP。
   需要开启Device Drivers-->Network device support-->Wireless LAN
(non-hamradio)--> Wireless LAN drivers (non-hamradio) & Wireless
Extensions选项,否则无法找到wireless_send_event函数定义。
   make menuconfig

4.
drivers/pnp/resource.c中的request_dma和free_dma函数需要删除,不然在稍后的编译中会造成缺少定义的错误(我
始终未能让resource.c成功的找到这两个相关的dma函数实现,最后只能注释掉了,如果有了解的朋友,希望能告诉我正确的做法)。然后开始内核编
译操作。
   make

5. 最后在drivers/sdio/对应目录下生成驱动各个模块。sdiostack补丁中只提供了很少几种平台的hcd模块代码,如果缺少对应目标平台的代码,还需要自己移植。以下4个模块为必须的最小配置。
   lib/sdio_lib.ko
   busdriver/sdio_busdriver.ko
   function/wlan/ar6000/ar6000.ko
   hcd/s3c2412/sdio_s3c2410_hcd.ko

注意:编译sdiostack驱动时使用的内核版本需要和目标平台上的内核版本一致,如果
不是2.6.18版本的内核,在打补丁过程中可能会有提示信息,可以根据提示信息手工修改。不同平台的内核配置选项也会有所不同,可能需要对配置做少许调
整。一般来说,补丁中包含的hcd模块代码不能满足需要,所以要想最终能使用SDIO
WIFI网卡,最困难的地方在于如何获取缺少的这一部分的代码。MontaVista也提供了一个
补丁下载
,我没有用过这个补丁,但是其中包含的sdiostack文档是很好的资料。如果希望使用Atheros SDIO wifi v2.0,可以看看
openmoko补丁
。下一步,我将尝试编译wifi v2.0的驱动。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/97043/showart_1949766.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP