Linux下的有线网卡难点消除,的缓慢解决办法

Gateway W350l
无线网卡型号
Intel(R) RRO/Wireless 3945ABG Network Connection

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

[sunshine@MagicLinux ~]$ lspci | grep 3945
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

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

其实这个网卡在2.6.29的内核中就已经包含了,因此内核中需要有驱动
[sunshine@MagicLinux ~]$ lsmod | grep 3945
iwl3945               145712 0
iwlcore               163216 1 iwl3945
mac80211              166664 2 iwl3945,iwlcore
led_class               4080 2 iwl3945,iwlcore
lib80211                6416 2 iwl3945,iwlcore
cfg80211               64972 3 iwl3945,iwlcore,mac80211

网卡型号及驱动:
$ lspci | grep 3945
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)

然后安装firmware: iwlwifi-3945-2.ucode 和一个守护程序:/sbin/ipw3945d

解决方法:
将下面的内容保存成文件,然后添加可执行权限即可
#!/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

内核加载 iwl3945 后会加载 iwlwifi-3945-1.ucode 然后加载 iwlwifi-3945-2.ucode (API2)
这样就识别了。
启动系统的时候需启动/sbin/ipw3945d

文件的最后多加一行空格
以下这些值都根据sudo iwlist wlan0 scanning essid Home命令所得的结果设定
essid是无线网络的名称
channel是无线网络使用的信道
freq是无线网络的频率
rate是指定无线网络的速率
rts是针对隐藏无线网络提高性能的,他的值是包的大小

更换firmware后,如果想要重新识别网卡,可以重新挂载一下内核模块
modprobe -r iwl3945
modprobe iwl3945

解决问题的思路,卸载模块,然后重新加载模块,并且指定disable_hw_scan=1,之后通过iwconfig来配置无线网卡。解决network-manager不能操作无线网卡的问题。

问题是识别了但是网卡却不能up
查看网卡状态
ifconfig中没有wlan0
ifconfig wlan0 却是能显示wlan0的信息,这有些奇怪。
[sunshine@MagicLinux ~]$ iwlist wlan0 power
wlan0     Current mode:off
查看电源是关的,但是硬件开关是开的,我保证。

在我的电脑上,执行完上述操作之后,empathy还是不能上网,不过firefox已经能够正常打开网络了。
通过下面的方法能够解决:
1、运行sudo /etc/init.d/network-manager restart。执行完成后,wlan0断开了。
2、再次执行上面的脚本之后就OK了。

[sunshine@MagicLinux ~]$ sudo iwconfig wlan0 power on
[sudo] password for sunshine:
Error for wireless request "Set Power Management" (8B2C) :
SET failed on device wlan0 ; Operation not supported.
[sunshine@MagicLinux ~]$ sudo iwconfig wlan0 txpower on
开启电源失败...

图片 1

此时监测message可以看到
iwl3945 0000:04:00.0: Radio disabled by HW RF Kill switch
总是说硬件开关关闭...

我们看一下整体的启动信息。
[sunshine@MagicLinux ~]$ dmesg | grep 3945 --color
iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, 1.2.26kd
iwl3945: Copyright(c) 2003-2009 Intel Corporation
iwl3945 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
iwl3945 0000:04:00.0: setting latency timer to 64
iwl3945 0000:04:00.0: Tunable channels: 13 802.11bg, 4 802.11a channels
iwl3945 0000:04:00.0: Detected Intel Wireless WiFi Link 3945ABG
iwl3945 0000:04:00.0: irq 30 for MSI/MSI-X
phy0: Selected rate control algorithm 'iwl-3945-rs'
iwl3945 0000:04:00.0: Radio Frequency Kill Switch is On:
iwl3945 0000:04:00.0: firmware: requesting iwlwifi-3945-2.ucode
iwl3945 0000:04:00.0: loaded firmware version 15.32.2.9
iwl3945 0000:04:00.0: Radio disabled by HW RF Kill switch

真是闷,每次都让我碰上这么闷的问题。
最后google发现
这个开关不太好用,需要用fn+F2开启,哦my god!

图片 2

本文由华夏彩票发布于关于计算机,转载请注明出处:Linux下的有线网卡难点消除,的缓慢解决办法

您可能还会对下面的文章感兴趣: