Ubuntu最近又出现了无线网络已经禁用wiress disabled的状况,上回出现这样的问题时,直接重新安装解决了,这次不想再重新安装了,找解决方案。

 
Ubuntu版本:
$ uname -a
Linux leo-laptop 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:53:52 UTC 2009 x86_64 GNU/Linux
网卡型号及驱动:
$ lspci | grep 3945
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
 
解决方法:
将下面的内容保存成文件,然后添加可执行权限即可
#!/bin/bash
#sudo iwlist wlan0 scanning essid Home
#sudo /etc/init.d/network-manager restart
sudo rmmod -f iwl3945
sudo modprobe iwl3945 disable_hw_scan=1
sudo ifconfig wlan0 up
sudo iwconfig wlan0 essid Home
sudo iwconfig wlan0 channel 12
sudo iwconfig wlan0 freq 2.467G
sudo iwconfig wlan0 key 访问无线网络的密钥
sudo iwconfig wlan0 ap 00:1E:58:12:6B:62
sudo iwconfig wlan0 rate auto
sudo iwconfig wlan0 rts 250
sudo dhclient wlan0
ifconfig wlan0
 
文件的最后多加一行空格
以下这些值都根据sudo iwlist wlan0 scanning essid Home命令所得的结果设定
essid是无线网络的名称
channel是无线网络使用的信道
freq是无线网络的频率
rate是指定无线网络的速率
rts是针对隐藏无线网络提高性能的,他的值是包的大小
 
解决问题的思路,卸载模块,然后重新加载模块,并且指定disable_hw_scan=1,之后通过iwconfig来配置无线网卡。解决network-manager不能操作无线网卡的问题。
 
在我的电脑上,执行完上述操作之后,empathy还是不能上网,不过firefox已经能够正常打开网络了。
通过下面的方法能够解决:
1、运行sudo /etc/init.d/network-manager restart。执行完成后,wlan0断开了。
2、再次执行上面的脚本之后就OK了