买来一块108M的PCI无线网卡 型号为D-LINK DWLG520 , 是属于被Freebsd6.0支持的无线网卡,使用的是Atheros 5212芯片,支持HOSTAP模式(能让你的网卡作为AP使用的关键).
第一步,安装无线网卡硬件, 系统中已原有一块8139网卡
第二步,开机进入Freebsd 用Root登陆
#dmesg | more 没有发现任何无线设备,这这时想起没有把驱动编译到内核中当然不会发现这个设备啦
于是执行(注:ath为被Freebsd定义的网卡驱动名字):
当然 要开机自动加载的话,请修改 /boot/loader.conf 加上
再执行ifconfig命令,发现多了一个ath0的设备
如果要让设置开机自动生效 编辑/etc/rc.conf文件 加入
这样就起用了网卡的ap模式
这时ifconfig ath0 看看
此时用一台笔记本电脑的无线网卡就能发现一个108M的无线网络接入点了,但是只能还连接到AP自身而已,
如果笔记本电脑需要访问有线以太网络,还是把ath0 和另外的一块8139网卡桥接起来方便
Freebsd的网桥实现有两种完全不同的方式
一种是传统的实现 freebsd 很早的版本就有的.
#sysctl net.link.ether.bridge.enable=1
#sysctl net.link.ether.bridge.config=rl0,ath0
第二种网桥是Freebsd6.0 新从netbsd中引入的 if_bridge ;
Freebsd官方说以后的版本中要用if_bridge淘汰上面的bridge方式.
为了方便, 干脆把 ath驱动和 if_bridge 都编译到内核中, 这样就不用 kldload,也不用修改loader.conf了
内核中要有
device wlan
device ath
device ath_hal
device ath_rate_onoe
bridge0: flags=8041
ether ac:de:48:0f:a6:16
priority 32768 hellotime 2 fwddelay 15 maxage 20
然后加入网桥的成员
同样提示:
注:本人现使用第二种方式
补充三点:
一、如果你要在 网桥中的无线网卡ath0设置ip 或者bridge0接口设置IP 并且要使用与系统原有8139网卡相同的网段 请使用 255.255.255.255的掩码来设置IP地址,如安装了isc-dhcpd v3的dhcp服务软件后,这样做是推荐的,因为默认的isc-dhcp服务启动时检查每个接口IP,接口IP与dhcpd.conf 设置的动态分配ip不在同网段时,则服务不监听此接口
二、如果你在上面的接口设置了与8139网卡同网段的IP地址 请把/etc/sysctl.conf 中把下列参数设置为0
三、发现使用第二种网桥后,无线网卡客户端无法PPPoE拨号,似乎pppoe数据包无法通过网桥,经实际测试,用第一种网桥方式,无线网卡客户端可以pppoE拨号 (ADSL猫是通过Switch与BSD的rl0网卡连接的),根据需要自己选择哪种方式吧!
至此大功告成!! 用你笔记本的无线网卡连接上尽情使用吧 :)
请把你的系统源代码更新到最新6.0stable,我是更新到12月15日 ,因为 Freebsd的开发者sam对ath的流量算法sample进行了较大改进, 所以请把ath的控制部分,由onoe 改为sample方式
相关内核配置如下
#uname -a
FreeBSD xxx.com 6.0-STABLE FreeBSD 6.0-STABLE #2: Thu Dec 15 10:04:54 CST 2005 root@xxx.com:/usr/obj/usr/src/sys/file5 i386
本功能正在开发中,目前不能使用,敬请原谅。
√ 期刊在线投稿: /journal/contribute.html
√ 本文打印于《CNFUG期刊》,欢迎访问 http://www.cnfug.net 获取更多技术文章。
© 2003-2006 CNFUG(China FreeBSD User Group) All rights reserved.
Powered by FreeBSD