·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 安装启动
 
Ubuntu 8.04下装iwl3945无线网卡驱动
来源: ChinaUnix博客  日期: 2008.04.08 13:17 (共有条评论) 我要评论
 

作者: chiver  出自: http://www.linuxdiyf.com
在ubuntu 7.04版本中iwl3945驱动是正常的,可用的。在我升级到ubuntu 8.04 alpha5之后,该驱动不可用了。尝试各种方法,查阅国外N多论坛网站,终于解决了此问题,特把解决过程记录于此,留给大家参考。
7.04版本都支持了这个驱动,说明ubuntu对这款无线网卡的支持还是做得到位的,一般来说也不能把它从后续版本中拿掉。所以,问题可能出在某些配置冲突方面,比如内核和驱动冲突,驱动之间依赖冲突,等等。
首先,检查内核和驱动的冲突,驱动是否装全了。
$ uname -r
2.6.24-11-generic
说明当前内核的版本号是2.6.24-11
$ dpkg -l |grep linux-ubuntu-modules
pc linux-ubuntu-modules-2.6.22-10-generic 2.6.22-10.25 Ubuntu supplied Linux modules for version 2.
pc linux-ubuntu-modules-2.6.22-11-generic 2.6.22-11.28 Ubuntu supplied Linux modules for version 2.
pc linux-ubuntu-modules-2.6.22-12-generic 2.6.22-12.32 Ubuntu supplied Linux modules for version 2.
rc linux-ubuntu-modules-2.6.22-13-generic 2.6.22-13.34 Ubuntu supplied Linux modules for version 2.
pc linux-ubuntu-modules-2.6.22-14-generic 2.6.22-14.38 Ubuntu supplied Linux modules for version 2.
ii linux-ubuntu-modules-2.6.24-11-generic 2.6.24-11.15 Ubuntu supplied Linux modules for version 2.
rc linux-ubuntu-modules-2.6.24-7-generic 2.6.24-7.12 Ubuntu supplied Linux modules for version 2.
ii linux-ubuntu-modules-2.6.24-8-generic 2.6.24-8.13 Ubuntu supplied Linux modules for version 2.
上述列表中有2.6.24-11,说明对应的驱动版本是配套的。(注意,里面有一些module是以前装过现在删掉的,从新立得里面可以看得更仔细些。)
$ ls -l /lib/modules/`uname -r`/ubuntu/wireless/iwlwifi/iwlwifi/compatible
总用量 316
-rw-r--r-- 1 root root 145472 2008-03-02 00:36 iwl3945.ko
-rw-r--r-- 1 root root 166744 2008-03-02 00:36 iwl4965.ko
$ ls -l /lib/modules/`uname -r`/ubuntu/wireless/iwlwifi/mac80211/compatible/net/mac80211
总用量 360
-rw-r--r-- 1 root root 349760 2008-03-02 00:36 iwlwifi_mac80211.ko
-rw-r--r-- 1 root root 12192 2008-03-02 00:36 iwlwifi_rc80211_simple.ko
上面两个命令,说明驱动里面有iwl3945的驱动,以及运行这个驱动所需的mac80211子系统。注意看iwlwifi_mac80211.ko,这个驱动说明iwlwifi和mac80211的驱动是放在一起编译出来的。目前iwl3945有两种编译方式,一种是单独编译mac80211、 ieee80211、ipw3945(iwl3945)并放在一起用,另外一种就是iwlwifi_mac80211.ko这种从一开始就是放在一起编译的。这两种方法产生的驱动不能混着用,会有冲突,我遇到的问题就是这种冲突。
在我的机器上,如果执行modprobe iwl3945,会存在如下错误:
FATAL: Error inserting iwl3945 (/lib/modules/2.6.22-14-generic/ubuntu/wireless/iwlwifi/iwlwifi/origin/iwl3945.ko): Unknown symbol in module, or unknown parameter (see dmesg)
dmesg:
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_rx_irqsafe
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_get_hdrlen
[ 112.528000] iwl3945: Unknown symbol iwlwifi_iwlwifi_ieee80211_tx_status_irqsafe
[ 112.528000] iwl3945: Unknown symbol iwlwifi_iwlwifi_ieee80211_stop_queues
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_tx_status
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_rate_control_unregister
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_stop_queue
[ 112.528000] iwl3945: Unknown symbol iwlwifi_sta_info_put
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_free_hw
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_beacon_get
[ 112.528000] iwl3945: Unknown symbol iwlwifi_sta_info_get
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_alloc_hw
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_scan_completed
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_register_hw
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_wake_queue
[ 112.528000] iwl3945: Unknown symbol iwlwifi_ieee80211_rate_control_register
[ 112.528000] iwl3945: Unknown symbol iwlwifi_iwlwifi_ieee80211_register_hwmode
[ 112.532000] iwl3945: Unknown symbol iwlwifi_ieee80211_unregister_hw
[ 112.532000] iwl3945: Unknown symbol iwlwifi_ieee80211_start_queues
如果把第一种方式编译的驱动卸载掉,并加载第二种方式的驱动,就解决了问题:
sudo modprobe -r ipw3945
sudo modprobe -r ieee80211
sudo modprobe -r ieee80211_crypt
sudo modprobe -r mac80211
sudo modprobe iwlwifi_mac80211
sudo modprobe iwl3945
成功。好了,试试看:
% ifconfig wlan0_rename up
% iwconfig wlan0_rename
可以看到:
wlan0_rename: unassociated ESSID:off/any
Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00
Bit Rate=0 kb/s Tx-Power=20 dBm
RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
okey,驱动已经没问题了,按平常操作的方式配置无线网络即可。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_521786.html
  发表评论 查看评论(共有条评论) 我要提问
 
 


最新资讯更多>> 
· 番茄花园事件给我们的反思
· 红帽收购Qumranet加强虚拟化领..
· Debian 下一个稳定版的代号被确..
· 发行版发布:Mandriva Linux 2..
· Sun VirtualBox v2.0 发布
· Ubuntu Linux用户突破800万
· Mandriva Linux 2009 RC 1 发布
· 构建Linux版本的谷歌Chrome浏览器
· 发行版发布:Scientific Linux..
· BSD发行版:DragonFly BSD 2.1..
论坛热点更多>> 
· 奔腾老机器16M内存,还能用什..
· 【经典】我是一条内存
· 刚接到通知
· 建议!
· 下班我们部门KTV有美女陪 o(..
· 中秋都有什么打算啊
· 誰懂裝修啊,來幫幫忙
· UNIX环境高级编程这本书怎么样?
· 真实的战争~~~~来晚的已经没..
· 《深入理解Linux网络内幕》原..
文档更新更多>> 
· 用YUM升级CentOS系统中PHP和MySQL
· [转]Red Hat Linux 安全设置指南
· 使用Emacs作为文件管理器
· linux内核的移植与遭遇问题的解决
· KStar 校园网锐捷认证GUI版
· 给eclipse安装CDT插件开发C/C++工程
· ubuntu 8.10 安装 Lotus Symphony
· fsck命令
· RHEL5的kickstart中的%packages部..
· linux 线程实现机制分析
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们