“SIOCSIFFLAGS:由于 RF-kill 而无法操作”?

“SIOCSIFFLAGS:由于 RF-kill 而无法操作”?

我收到此错误作为此问题的一部分这里但由于这个问题完全是另一个问题,我认为最好单独考虑这个问题。我的 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 所指出的那样,内核由于某种原因拒绝了该卡。

禁用并启用 wli3945 后,dmesg 显示 WiFi 被阻止

# 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

使用未受阻拦的 WiFi 进行 Dmesg

# 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

没有 Blocked WiFi 的 Dmesg 和 Iwl3945

# 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

答案1

软阻断

输出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 无线驱动程序:

IE

sudo apt-get install linux-backports-modules-cw-2.6.39-generic

然后重新启动-测试软件阻止等。

  • 获取最新固件如下:

IE

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”重命名为预期的固件名称。

答案2

检查蓝牙和无线是否切换不良;验证是否一定有这种情况:

$ 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

答案3

我确认使用 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

答案4

我遇到了与富士通 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

相关内容