linux内核编译无线网卡,ZD1211B芯片USB无线网卡Linux驱动的编译

我用的无线网卡芯片是zd1211b的,在网上找到很多驱动都不好用,最后在这里上找到好用的驱动

我们用的Linux内核是2.6.14的。驱动的交叉编译非常简单,在其Makefile中修改交叉编译器,然后把相应的KERNEL_SOURCE,MODPATH,KDIR,均改成你目标板的内核目录就行了

例如,我们的Makefile做的相关改动为:

CC=arm-linux-gcc

CPP=arm-linux-g++

LD=arm-linux-ld

MODPATH :=/happyday/mykernel/linux-2.6.14/

KERNEL_SOURCE=/happyday/mykernel/linux-2.6.14/

ZD1211REV_B=1

KDIR :=/happyday/mykernel/linux-2.6.14/

然后make,将生成的zd1211b.ko复制到开发板上insmod后就可以正确识别出我们的无线网卡了。

接下来是无线网络的配置。因为我们的项目要求两个目标板进行无线网络通讯,所以要把两个无线网卡配置成点对点访问模式。

首先在两个开发板上配置两个无线网卡的ip和essid.(ip要在一个网段上,essid配置成相同)【LINUX公社 www.LinuxIDC.com 】

ifconfig wlan0 192.168.0.7

iwconfig wlan0 essid happyday

然后把其中一个无线网卡配置成master模式,它将建立一个无线访问点,用iwconfig查看时,会显示其access point为自己的MAC

iwconfig wlan0 mode master

并把另一个无线网卡配置成manager模式

iwconfig wlan0 mode manager

此时它们将自动建立连接,并且可查看到已连接到无线访问点access point上的无线网卡mac。

还有很多其它的模式,比如ad-hoc,monitor等,本来记得是用ad-hoc来建立点对点连接的,可是后来试了下,不行,不知道为什么啊。

另:

insmod时如果出现 Unknown symbol wireless_send_event错误,是因为内核中缺少对无线网络的支持,请在内核配置时加上 'CONFIG_NET_RADIO=y' and CONFIG_NET_WIRELESS=y'.0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值