搜索此博客

2007年8月22日星期三

iwlwifi for IBM T60 3945ABG Wireless Card 指南

如果你跟我一样在用笔记本,例如IBM或者DELL,有可能你正在使用3945ABG的无线网卡。
如果你使用linux,我推荐你用2.6.22的内核,并且推荐你仔细地配置内核,特别是SLUB,新的方式会给你带来很大的惊喜,内存占用降低非常明显。
切入主题:
要用iwlwifi的话,先明白iwlwifi的结构,分为三部分:
1.新的无线网络堆栈,也就是mac80211,需要在内核中配置好,选了这个就不能选老的了,这里应该配置为模块,因为优先加载的问题,直接放内核会导致不能正确设置rate control algorithm。具体可以查看dmesg,rate control algorithm 'iwl-3945-rs' 才是正确的,如果是simple,会拖慢速度。
2.iwlwifi 包,我用的gentoo,这个包已经进入portage了,其实也有内核patch,但是我这里它并不工作。这个其实就是主driver了,生成一个ko模块,通过udev自动加载,hotplug已经没了。
3.iwl3945-ucode,这个是必须的firmware。gentoo上的话,利用USE编译iwlwifi就可以了,会自动判断依赖,不需要单独编译这个包。

如果你需要wpa加密,现在已经支持,wpa配置与ipw3945的一致,基本无变化。
例如我的/etc/wpa_supplicant/wpasupplicant.conf
network={
ssid="donttellyou"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
psk="hide"
pairwise=CCMP TKIP
group=CCMP TKIP
priority=5
}

/etc/conf.d/net中的配置
essid_wlan0=("any")
config_wlan0=("dhcp")
modules=("wpa_supplicant")
wpa_supplicant_wlan0="-Dwext"
wpa_timeout_wlan0="10"
dhcp_wlan0="nontp nonis"

目前的问题:无线网卡灯不亮,driver-in-kernel不正常工作。
启动以后重新启动无线网卡的方法,目前我只发现
modprobe -r iwl3945 & modprobe iwl3945
起作用。
iwlwifi的优点:其实新无线网络堆栈是个必然趋势,而且传输速度快了,本地局域网内测试,大概有20%左右的提高。

1 条评论:

燕子乡 说...

请问一下,
你没有用 hotplug 就能使用 iwl3945 了吗?

怎么弄的?
那个 ucode 不是需要hotplug 来加载的吗?

还有, 在新的内核里已经有 iwlwifi 了,
那么,应该怎么配置呢?

希望你也在使用 gentoo 的兄弟帮帮我这个新手,
先谢谢了。