“SIOCSIFFLAGS:由于RF杀死而无法进行操作”?

我在这里将此错误作为此问题的一部分,但由于这个问题完全不同,我认为最好分别考虑这个问题。 我的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 

错误消息是什么意思? 什么是射频杀伤?

硬件规格

  $ 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 

软阻断

输出到sudo rfkill list显示您的网卡是“软阻塞”。

当无线卡通过内核发出信号关闭信号时,可能会发生这种情况。

请尝试以下步骤:

  1. 在终端中运行:

    sudo rfkill unblock wifi; sudo rfkill unblock all

  2. 重新运行sudo rfkill list以确认该卡已被解除阻止。

  3. 重启

  4. 再次重新运行sudo rfkill list以确认已被保留的解除阻止。

  5. 重新运行sudo lshw -class network – 您现在应该看到内核已识别(或不识别)无线卡。

如果无线内核模块已被识别(它不应该说“无人认领”),网络管理员现在应该可以看到您的空闲区域中可用的无线网络。


诊断内核问题

如果网卡未被识别 – 并且您已确认sudo rfkill list显示没有阻止(即软阻塞和硬阻止都是“否”),则在您的问题中添加以下内容:

 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)上,有一种解决方法可行。 只需暂停会话(关闭盖子)并重新激活它,wifi工作。

我发布这个是因为专门针对华硕X75VD的其他线程被标记为重复,并且该模型没有用于wifi的物理开/关开关,并且fn键序列在这种情况下不起作用。

它似乎也是机器人引入的回归(2)?

希望很快就会有补丁。

山姆

  1. http://forum.ubuntu-fr.org/viewtopic.php?id=1258361
  2. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1176812

解决方法,无需暂停会话

有类似的华硕笔记本电脑,我遇到了与wifi相同的问题,并使用此暂停会话解决方案,每次必须暂停它是非常麻烦的。

但是,我在Fedora论坛中找到了一个也适用于Ubuntu 的解决方案 (它可能适用于任何发行版):

作为根,在/etc/modprobe.d/中创建一个名为asus-wifi.conf/etc/modprobe.d/其中包含:

 options asus_nb_wmi wapf=1 

重新拍摄后,wifi应该打开。

我与Fujitsu Celsius H250有完全相同的问题:

 14:00.0 Ethernet controller: Atheros Communications Inc. AR242x / AR542x Wireless Network Adapter (PCI-Express) (rev 04) Subsystem: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01) Kernel driver in use: ath5k 

它给了我:

 # rfkill list all 1: phy0: Wireless LAN Soft blocked: no Hard blocked: yes <--------- !!! 3: hci0: Bluetooth Soft blocked: no Hard blocked: no 

在笔记本电脑中有2个mini-PCI-e插槽。 一个PCI-e(右一个)填充了WiFi卡,另一个是空的,我只是将WiFi卡移动到另一个(左侧)插槽中,一切都变好了。

关心LAZA

这可能会或可能不会帮助你,但我正在使用惠普电脑,它说的是同样的事情,所以我所做的是我的键盘上有一个WiFi按钮,我只是把它按下一秒钟和图标了在顶部消失,我输入ifconfig wlan0 up它工作

禁用硬连线并按下启用无线设备的键盘键。 这就是为我解决了同样的错误。

对于运行Ubuntu 13.10的ASUS R704V,上述提议都没有奏效。 显然,内核驱动程序和硬件不同意逻辑级别“0”和“1”的含义为“阻塞”和“未阻止”。

但我找到了一个可靠的解决方案:

  • 暂停系统到RAM(通过按下SUSPEND键或使用上面板右侧的Logout菜单中的Suspend条目)
  • 等几秒钟
  • 按电源按钮重新启动系统

整个过程不到5秒钟。

“rfkill list all”的输出最终显示出来

 0: phy0: Wireless LAN Soft blocked: no Hard blocked: no 1: asus-wlan: Wireless LAN Soft blocked: no Hard blocked: no 

NetworkManager将激活WIFI,并应提供要连接的接入点。

修复就像按Fn + F2激活戴尔笔记本电脑的无线网卡一样简单。