问题描述
我作为此问题的一部分得到此错误here但由于这个问题是完全不同的问题我认为最好分开考虑这个问题。我的wlan0失灵了。当我尝试打开它时
$ sudo ifconfig wlan0 up
SIOCSIFFLAGS: Operation not possible due to RF-kill
然后
$ sudo rfkill list all
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
1: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: yes
Hard blocked: yes
错误消息是什么意思?什么是RF-kill?
硬件规格
$ sudo lshw -class network
*-network
description: Ethernet interface
product: 82573L Gigabit Ethernet Controller
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
logical name: eth0
version: 00
serial: 00:16:d3:22:96:c2
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=1.2.20-k2 firmware=0.5-1 latency=0 link=no multicast=yes port=twisted pair
resources: irq:44 memory:ee000000-ee01ffff ioport:2000(size=32)
*-network DISABLED
description: Wireless interface
product: PRO/Wireless 3945ABG [Golan] Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlan0
version: 02
serial: 00:13:02:46:63:74
width: 32 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwl3945 driverversion=2.6.38-11-generic firmware=15.32.2.9 latency=0 link=no multicast=yes wireless=IEEE 802.11abg
resources: irq:45 memory:edf00000-edf00fff
操作系统版本和内核版本
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.04
DISTRIB_CODENAME=natty
DISTRIB_DESCRIPTION="Ubuntu 11.04"
$ uname -r
2.6.38-11-generic
[更新]
当我申请Fossfreedom的建议时,我得到了"SIOCSIFFLAGS: No such device"
。内核由于某种原因拒绝了卡,正如FF指出的那样。
使用Blocked WiFi禁用和启用wli3945后的Dmesg
# modprobe -r iwl3945
# modprobe iwl3945
# dmesg|tail -n 50
[ 6835.430537] PM: resume of devices complete after 1889.701 msecs
[ 6835.430800] PM: resume devices took 1.888 seconds
[ 6835.430845] PM: Finishing wakeup.
[ 6835.430847] Restarting tasks ... done.
[ 6835.502666] video LNXVIDEO:00: Restoring backlight state
[ 6835.572203] [drm:drm_mode_getfb] *ERROR* invalid framebuffer id
[ 6835.852380] e1000e 0000:02:00.0: irq 46 for MSI/MSI-X
[ 6835.908162] e1000e 0000:02:00.0: irq 46 for MSI/MSI-X
[ 6835.908775] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 6836.919274] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=600
[ 6837.769253] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=600
[ 6859.097311] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=0
[ 6882.076501] e1000e 0000:02:00.0: irq 46 for MSI/MSI-X
[ 6882.132190] e1000e 0000:02:00.0: irq 46 for MSI/MSI-X
[ 6882.132924] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 6883.722633] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[ 6883.722645] e1000e 0000:02:00.0: eth0: 10/100 speed: disabling TSO
[ 6883.723071] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 6894.000044] eth0: no IPv6 routers present
[ 6896.551932] exe (2743): /proc/2743/oom_adj is deprecated, please use /proc/2743/oom_score_adj instead.
[ 8289.212078] usb 1-2: new high speed USB device using ehci_hcd and address 4
[ 8289.280270] hub 1-0:1.0: unable to enumerate USB device on port 2
[ 8289.608059] usb 1-2: new high speed USB device using ehci_hcd and address 5
[ 8291.006963] usb 1-2: USB disconnect, address 5
[ 8291.308072] usb 1-2: new high speed USB device using ehci_hcd and address 6
[ 8291.591228] usb 1-2: USB disconnect, address 6
[ 9598.556083] usb 1-2: new high speed USB device using ehci_hcd and address 7
[ 9599.059441] usb 1-2: USB disconnect, address 7
[11838.072332] iwl3945 0000:03:00.0: Master Disable Timed Out, 100 usec
[11838.072993] iwl3945 0000:03:00.0: PCI INT A disabled
[11850.210319] cfg80211: Calling CRDA to update world regulatory domain
[11850.218431] cfg80211: World regulatory domain updated:
[11850.218436] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[11850.218440] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[11850.218444] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[11850.218448] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[11850.218452] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[11850.218456] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[11850.291510] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
[11850.291515] iwl3945: Copyright(c) 2003-2010 Intel Corporation
[11850.291601] iwl3945 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[11850.291624] iwl3945 0000:03:00.0: setting latency timer to 64
[11850.331841] iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[11850.331847] iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
[11850.332023] iwl3945 0000:03:00.0: irq 45 for MSI/MSI-X
[11850.332274] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[11850.332436] ieee80211 phy0: Selected rate control algorithm 'iwl-3945-rs'
[11850.361710] iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9
[11850.361885] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
[11850.365924] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
Dmesg无阻塞WiFi
# rfkill list all
1: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: yes
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
# dmesg|tail -n 50
[ 27.649606] fb0: inteldrmfb frame buffer device
[ 27.649608] drm: registered panic notifier
[ 27.649815] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[ 27.662754] HDA Intel 0000:00:1b.0: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[ 27.662760] hda_intel: probe_mask set to 0x1 for device 17aa:2010
[ 27.662831] HDA Intel 0000:00:1b.0: irq 46 for MSI/MSI-X
[ 27.662868] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 27.769460] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: excluding 0x170-0x177 0x1f0-0x1f7 0x2f8-0x2ff 0x370-0x377
[ 27.774801] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x3f0-0x3f7 0x4d0-0x4d7
[ 27.775742] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean.
[ 27.788575] pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean.
[ 27.789382] pcmcia_socket pcmcia_socket0: cs: memory probe 0x0c0000-0x0fffff: excluding 0xc0000-0xd3fff 0xdc000-0xfffff
[ 27.789466] pcmcia_socket pcmcia_socket0: cs: memory probe 0xa0000000-0xa0ffffff: clean.
[ 27.789547] pcmcia_socket pcmcia_socket0: cs: memory probe 0x60000000-0x60ffffff: excluding 0x60000000-0x60ffffff
[ 27.789632] pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean.
[ 27.813146] e1000e 0000:02:00.0: irq 44 for MSI/MSI-X
[ 27.868221] e1000e 0000:02:00.0: irq 44 for MSI/MSI-X
[ 27.868866] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 27.876620] IBM TrackPoint firmware: 0x0e, buttons: 3/3
[ 27.892982] input: TPPS/2 IBM TrackPoint as /devices/platform/i8042/serio1/input/input6
[ 28.121555] ppdev: user-space parallel port driver
[ 29.426589] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: Rx/Tx
[ 29.426597] e1000e 0000:02:00.0: eth0: 10/100 speed: disabling TSO
[ 29.426893] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 31.009483] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=0
[ 34.474875] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=0
[ 40.160038] eth0: no IPv6 routers present
[ 7394.332227] exe (1666): /proc/1666/oom_adj is deprecated, please use /proc/1666/oom_score_adj instead.
[ 7587.420396] iwl3945 0000:03:00.0: PCI INT A disabled
[ 7599.728554] cfg80211: Calling CRDA to update world regulatory domain
[ 7599.736628] cfg80211: World regulatory domain updated:
[ 7599.736632] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 7599.736637] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7599.736641] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 7599.736645] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 7599.736649] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7599.736653] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7599.797314] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
[ 7599.797319] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[ 7599.797397] iwl3945 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 7599.797419] iwl3945 0000:03:00.0: setting latency timer to 64
[ 7599.837714] iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[ 7599.837719] iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
[ 7599.837880] iwl3945 0000:03:00.0: irq 45 for MSI/MSI-X
[ 7599.838124] Registered led device: phy0-led
[ 7599.838170] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[ 7599.838335] ieee80211 phy0: Selected rate control algorithm 'iwl-3945-rs'
[ 7599.980440] iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9
[ 7599.980656] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
[ 7599.983562] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
Dmesg和Iwl3945没有阻止WiFi
# modprobe -r iwl3945
# modprobe iwl3945
# dmesg| tail -n 50
[ 29.426597] e1000e 0000:02:00.0: eth0: 10/100 speed: disabling TSO
[ 29.426893] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 31.009483] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=0
[ 34.474875] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,commit=0
[ 40.160038] eth0: no IPv6 routers present
[ 7394.332227] exe (1666): /proc/1666/oom_adj is deprecated, please use /proc/1666/oom_score_adj instead.
[ 7587.420396] iwl3945 0000:03:00.0: PCI INT A disabled
[ 7599.728554] cfg80211: Calling CRDA to update world regulatory domain
[ 7599.736628] cfg80211: World regulatory domain updated:
[ 7599.736632] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 7599.736637] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7599.736641] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 7599.736645] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 7599.736649] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7599.736653] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7599.797314] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
[ 7599.797319] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[ 7599.797397] iwl3945 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 7599.797419] iwl3945 0000:03:00.0: setting latency timer to 64
[ 7599.837714] iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[ 7599.837719] iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
[ 7599.837880] iwl3945 0000:03:00.0: irq 45 for MSI/MSI-X
[ 7599.838124] Registered led device: phy0-led
[ 7599.838170] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[ 7599.838335] ieee80211 phy0: Selected rate control algorithm 'iwl-3945-rs'
[ 7599.980440] iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9
[ 7599.980656] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
[ 7599.983562] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
[ 7906.428550] iwl3945 0000:03:00.0: PCI INT A disabled
[ 7913.242835] cfg80211: Calling CRDA to update world regulatory domain
[ 7913.249969] cfg80211: World regulatory domain updated:
[ 7913.249973] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 7913.249978] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7913.249982] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 7913.249986] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[ 7913.249990] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7913.249994] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[ 7913.311805] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
[ 7913.311810] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[ 7913.311885] iwl3945 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 7913.311907] iwl3945 0000:03:00.0: setting latency timer to 64
[ 7913.352172] iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
[ 7913.352177] iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
[ 7913.352330] iwl3945 0000:03:00.0: irq 45 for MSI/MSI-X
[ 7913.352601] Registered led device: phy0-led
[ 7913.352642] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[ 7913.352806] ieee80211 phy0: Selected rate control algorithm 'iwl-3945-rs'
[ 7913.385208] iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9
[ 7913.385384] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
[ 7913.387138] iwl3945 0000:03:00.0: Radio disabled by HW RF Kill switch
最佳解决办法
Soft-blocking
输出到sudo rfkill list
显示您的网卡是”soft-blocked”。
当无线卡通过内核发信号通知switch-off时,可能会发生这种情况。
请尝试以下步骤:
-
在终端中运行:
sudo rfkill unblock wifi; sudo rfkill unblock all
-
重新运行
sudo rfkill list
以确认该卡已被解除阻止。 -
重启
-
再次重新运行
sudo rfkill list
以确认已保留的解除阻塞。 -
重新运行
sudo lshw -class network
– 您现在应该看到内核已识别(或不识别)无线卡。
如果已识别无线内核模块(不应该说”unclaimed”),则网络管理器现在应该能够看到您的空闲区域中可用的无线网络。
诊断内核问题
如果网卡未被识别 – 并且您已确认sudo rfkill list
未显示阻止(即软阻塞和硬阻塞均为”no”),请在您的问题中添加以下内容:
sudo modprobe -r iwl3945
sudo modprobe iwl3945
dmesg | tail -n 50
希望这会指出错误 – 例如固件问题没有加载。
加载新固件
如果是固件问题,那么您可以尝试以下之一:
-
安装backports无线驱动程序:
即
sudo apt-get install linux-backports-modules-cw-2.6.39-generic
然后重启 – 测试软件阻塞等
-
获取最新固件如下:
即
wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-15.32.2.9.tgz
tar xzf iwlwifi-3945-ucode-15.32.2.9.tgz
cd iwlwifi-3945-ucode-15.32.2.9
sudo cp iwlwifi-3945-2.ucode /lib/firmware
然后重启 – 测试软件阻塞等
注:你的dmesg跟踪应该指出它遇到问题的固件名称。可能需要将”iwlwifi-3945-2.ucode”重命名为它所期望的固件名称。
次佳解决办法
检查蓝牙和无线是否切换不良;确认您必须具备以下情况:
$ sudo rfkill list all
0: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
我解决了我的问题:
$sudo rfkill block bluetooth
$sudo rfkill unblock wifi
第三种解决办法
我使用rt2600pci驱动程序确认华硕X75VD笔记本电脑的这个问题。以上建议都没有帮助我,但在法国论坛(1)上,有一个work-around可以正常工作。只需暂停会话(关闭盖子)并重新激活它,wifi工作。
我发布这个是因为专门针对华硕X75VD的其他线程被标记为重复,并且该模型没有用于wifi的物理开/关开关,并且fn键序列在这种情况下不起作用。
它似乎也是机器人引入的回归(2)?
希望很快就会有补丁。
山姆
第四种办法
解决方法,无需暂停会话
有类似的华硕笔记本电脑,我遇到了与wifi相同的问题,并使用此暂停会话解决方案,每次必须暂停它是非常麻烦的。
但是,我发现a solution in Fedora forums也适用于Ubuntu(它可能适用于任何发行版):
作为根,在/etc/modprobe.d/
中创建一个名为asus-wifi.conf
的文件,其中包含:
options asus_nb_wmi wapf=1
重新拍摄后,wifi应该打开。