用户工具

站点工具


doc:w:wlan_with_tplink

TP-Link网卡配置

电脑配置

笔记本一
IBM T20
CPU P3-700
MEM 256M
PCCARD/PCMCIA 插槽支持
笔记本二
IBM R51e
CPU 赛扬 1.6G
MEM 512M
PCCARD/PCMCIA 插槽支持

无线网卡

网卡一
TP-LINK TL-WN510G 
54M 无线笔记本网卡
cardbus
网卡二
TP-LINK DWL-G650
108M 无线笔记本网卡
cardbus

操作系统

FreeBSD 6.2-RELEASE

自定义的内核,已经支持PCCARD (PCMCIA) ,但是没有在内核里加入无线网卡的驱动。

 # PCCARD (PCMCIA) support
 # PCMCIA and cardbus bridge support
 device      cbb     # cardbus (yenta) bridge
 device      pccard      # PC Card (16-bit) bus
 device      cardbus     # CardBus (32-bit) bus

准备工作

插入网卡

将TP-LINK无线网卡插入PCMCIA插槽,系统认出来是一块网卡。但是没有找到驱动来支持。提示如下信息:

cardbus0: <network, ethernet> at device 0.0 (no driver attached)

也可以用dmesg命令来查看到这个信息。

 # dmesg | grep network
 cardbus0: <network, ethernet> at device 0.0 (no driver attached)

加载模块

既然系统能够认出来是一块网卡,那么很有可能是内核里没有相应的驱动支持。我开始尝试着加载了wlan.ko,if_wl.ko 等模块,仍然无效。

后来上网搜索,得知这块TP-LINK网卡,需要ath模块支持。于是依次加载相应的模块后,就认出来了。

加载模块的命令:

 # kldload wlan.ko
 # kldload if_ath.ko
 # kldload wlan_wep.ko
 # kldload wlan_ccmp.ko
 # kldload wlan_tkip.ko

下面是我的电脑上,加载完模块后的模块列表:

 # kldstat
 Id Refs Address    Size     Name
 1   13 0xc0400000 411068   kernel
 2    1 0xc0812000 64180    acpi.ko
 3    1 0xc26b1000 2000     rtc.ko
 9    6 0xc2d30000 1f000    wlan.ko
 10    1 0xc2d5b000 f000     if_ath.ko
 11    1 0xc2d6a000 4000     ath_rate.ko
 12    2 0xc2d9c000 2e000    ath_hal.ko
 13    1 0xc2d93000 3000     wlan_wep.ko
 14    1 0xc2dd0000 7000     wlan_ccmp.ko
 15    1 0xc2dd7000 4000     wlan_tkip.ko

当加载完,并且看到上述模块后。就可以进行接下来的检查网卡和网络的工作了。

检查网卡

我们先来看看系统是否已经能够驱动网卡了。

 # dmesg
 ......
 ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
 ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 11 at device 0.0 on cardbus0
 ath0: Ethernet address: 00:19:e0:17:40:a7
 ath0: mac 7.8 phy 4.5 radio 5.6

如果能够看到上面的信息,说明已经可以驱动这块无线网卡了。不过,我们还可以使用ifconfig命令来确认一下。

 # ifconfig ath0
 ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
         ether 00:19:e0:17:40:a7
         media: IEEE 802.11 Wireless Ethernet autoselect
         status: no carrier
         ssid "" channel 1
         authmode OPEN privacy OFF txpowmax 100 bmiss 7 protmode CTS burst

至此,说明网卡已经完全被系统支持,并且已经准备好,就差连接网络了。

检查网络

我们在连接无线网络之前,需要检查下,在我们的周围是否存在无线热点。

 # ifconfig ath0 up scan
 SSID            BSSID              CHAN RATE  S:N   INT CAPS
 xxxxx            00:bb:86:aa:aa:xx   11   54M 15:0   100 E

看到这些信息,说明我们周围有一个名称为 xxxxx(您搜索到的,也许是其他名称) 的热点。如果没有这些信息,也许您的周围没有热点。多试几次,实在找不到,就放弃吧。呵呵

连接网络

配置设定

在开始连接之前,我们需要在/etc/rc.conf里做个设置。

  • 动态IP的设置方法
 # vi /etc/rc.conf
 ifconfig_ath0="DHCP"
 ifconfig_ath0="ssid xxxxx DHCP"
  • 静态IP的设置方法
 # vi /etc/rc.conf
 ifconfig_ath0="inet 192.168.1.100 netmask 255.255.255.0 ssid xxxxx"

其中 “xxxxx“是检查网络时找到的热点名称,一定要设置正确。

连接网络

在做好前面的准备后,可以开始连接网络了。

 # /etc/rc.d/netif start

没有报错的话,赶紧检查下,是否已经连接好了。

 # ifconfig ath0
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
        inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
        ether 00:11:95:d5:43:62
        media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
        status: associated
        ssid dlinkap channel 6 bssid 00:13:46:49:41:76
        authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

其中 status: associated 表示您已经连接到了无线网络 (在这个例子中, 这个网络的名字是 xxxxx)。 bssid 00:0b:86:a1:a1:91 是指您所用无线访问点的 MAC 地址; authmode 这行指出您所做的通讯将不进行加密 (OPEN)。

然后 ping 163.com 试试,网络是否真的通了。

 # ping 163.com
 PING 163.com (220.181.29.154): 56 data bytes
 64 bytes from 220.181.29.154: icmp_seq=0 ttl=44 time=626.841 ms
 64 bytes from 220.181.29.154: icmp_seq=1 ttl=44 time=623.016 ms

怎么样,通了吧?呵呵

事后工作

因为我之前没有将无线网络支持这块编译到内核里,现在又懒得重新编译内核。怎么办呢?总不能每次都手工加载内核模块吧,那多累人啊。

不怕,我们可以将这些模块放到/boot/loader.conf 里,每次启动的时候,就会自动加载这些模块了。

 # vi /boot/loader.conf
 if_ath_load="YES"
 wlan_load="YES"
 wlan_wep_load="YES"
 wlan_ccmp_load="YES"
 wlan_tkip_load="YES"

加入这些模块后,启动系统的时候,就会自动加载了。

总结

以前一直担心,用FreeBSD作为日常工作桌面系统会不会给我带来什么麻烦。但是真正使用后,才发现,并没有给我带来什么特别大的麻烦。反而给我的工作带来了很多便利。比如说,调试一些服务,调试一些程序等等。

作者介绍

 16hot ( Jonsen Yang、 杨明茂 )
 http://16hot.blog.isyi.com
 喜欢FreeBSD/Linux,从事多年的Unix/Linux系统管理和PHP开发工作。
/data/vhosts/wiki-data/pages/doc/w/wlan_with_tplink.txt · 最后更改: 2009/11/18 22:03 由 ZoomQuiet