FreeBSD中Intel 3945ABG无线网卡的安装与使用[转]

网友投稿 2746 2022-09-25 11:35:00

FreeBSD中Intel 3945ABG无线网卡的安装与使用[转]

今天闲来无事瞎溜达,跑到官方看了下HCL,顺便解决了这个问题,把丫的贴出来,供大家参考。

博客已收录:

3945ABG无线网卡的安装与使用

由于本本的无线模块是Intel 3945ABG,默认情况下FB 7.1内核中并不支持,所以本本一直无法使用无线网络成为我的心病。但默认不支持不代表不支持。今天闲来无事无事跑到官方去看了下HCL,发现从7.0开始就对它提供支持了的,不过需要编译内核而已。

一、内核编译及相关准备

通过HCL(

我找到了wpi(4)这个设备接口,man后得到如下信息:“To compile this driver into the kernel, place the following lines in your kernel configuration file(要编译该驱动到内核中,添加以下行到你的内核配置文件中):

device wpi

device pci

device wlan

device wlan_amrr

device firmware

接下来添加以下五行到/boot/loader.conf中,不过我添加到了/boot/defaults/loader.conf中,应该不会有什么问题。先测试一下。

if_wpi_load="YES"

wlan_load="YES"

wlan_amrr_load="YES"

firmware_load="YES"

wpifw_load="YES"

由于该驱动仅是一个测试性驱动,要求其固件必须要在其工作以前进行加载(其实任何硬件都是一样的),所以还要添加下面这行到loader.conf中:

legal.intel_wpi.license_ack=1

而后编译并安装内核。

二、配置电脑无线上网

家中有一台无线路由器 D-Link DIR-605,在网络连接时要求密码,先将该功能关闭后进行测试:

1)检查wpi设置是否出现:

ifconfig wpi0

如果之前的设置无误的话,能看到wpi0接口的相关信息。

2)开启无线网卡。因为我的本本在默认状态下将无线网卡关闭,所以我需要先开启它:

ifconfig wpi0 up

3)搜寻无线网络

ifconfig wpi0 scan

得到如下消息:

SSID          BSSID              CHAN RATE S:N     INT CAPS

D-Link       00:24:01:1e:28:66 1 54M   28:0 100 ES HTCAP WME WPS

关于该消息的详细内容,借用handbook中的无线网络一节中的相关内容来进行说明:

*********************

扫描会列出所请求到的所有 BSS/IBSS 网络列表。 除了网络的名字 SSID 之外, 我们还会看到 BSSID 即无线访问点的 MAC 地址。 而 CAPS 字段则给出了网络类型及其提供的功能, 其中包括:

E

Extended Service Set (ESS)。 表示通讯站是 infrastructure 网络 (相对于 IBSS/ad-hoc 网络) 的成员。

I

IBSS/ad-hoc 网络。 表示通讯站是 ad-hoc 网络 (相对于 ESS 网络) 的成员。

P

私密。 在 BSS 中交换的全部数据帧均需保证数据保密性。 这表示 BSS 需要通讯站使用加密算法, 例如 WEP、 TKIP 或 AES-CCMP 来加密/解密与其他通讯站交换的数据帧。

S

短前导码 (Short Preamble)。 表示网络采用的是短前导码 (由 802.11b High Rate/DSSS PHY 定义, 短前导码采用 56-位 同步字段, 而不是在长前导码模式中所采用的 128-位 字段)。

s

短碰撞槽时间 (Short slot time)。 表示由于不存在旧式 (802.11b) 通讯站, 802.11g 网络正使用短碰撞槽时间。

*********************

4)接下来来连接我的无线路由器。

参照手册,我在/etc/rc.conf中添加

ifconfig_wpi0="DHCP"

# /etc/rc.d/netif start

如果连接到一个没有DHCP的网络,则添加以下行至/etc/rc.conf

ifconfig_wpi0="ssid D-Link inet 192.168.0.15 netmask 255.255.255.0

# /etc/rc.d/netif start

如果正常返回提示状态,进行测试。我ping

tom.com

有数据包收回。

至此,基本功能实现。

5)在使用WPA加密的情况下连接路由器。

地球人都知道家用无线路由器不可能不设置密码,除非你想让你的网络和带宽成为公共资源,在路由器里我设置使用WPA加密。关于WPA的相关知识,参见手册 第32章 高级网络 - 无线网络。

编辑 /etc/rc.conf,将

ifconfig_wpi0="DHCP"

改为

ifconfip="WPA DHCP"

编辑 /etc/wpa_supplicant.conf:

*****************

network={

ssid="D-Link"

psk="xxx"

}

*****************

连接路由器:

# /etc/rc.d/netif start

之后我的本本能够正常连接至路由器。

如果你的无线网络需要加密且没有DHCP:

vi /etc/rc.conf,将无线部分改为如下所示:

ifconfig_wpi0="WPA inet 192.168.0.15 netmask 255.255.255.0

ifconfig_wpi0_ssid="D-Link"

defaultrouter="192.168.0.250"

如果需要的话

# ifconfig wpi0 up

而后

# /etc/rc.d/netif start

这个时候你ping外网域名,会提示没有路由,再

# /etc/netstart

即可。至于为什么,我目前不知道。

OK,能上网,设置完毕。

6)在有线网络和无线网络之间切换。

说到网络间切换,这恐怕也是很多人关心的问题了。其实也不用去考虑什么shell编程之类的复杂方法,最简单的方法就是有哪种网络的时候开启相应的网卡,在我家中,如果我的本本的客厅上网,那就开启无线网卡;如果本本在卧室且需要稳定的网络,那就开启有线网卡。

如果我要开启无线:

# ifconfig wpi0 up

# /etc/rc.d/netif start

如果我要换成有线:

# ifconfig wpi0 down

# ppp -ddial pppoe (pppoe相关设置不再讨论)

便可以使用有线网络了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Unix/Linux 命令参考
下一篇:汽车行业再现“擦边”营销现象:丝袜换挡、下单就能亲?
相关文章