У меня спартанский компьютер. В нем есть встроенный беспроводной модуль, с которым до недавнего времени у меня не было проблем. Текущая проблема заключается в следующем: каждый раз, когда я выключаю компьютер и он снова загружается, я не могу «аппаратно включить» беспроводную связь. В NetworkManager я получаю «серое» сообщение, в котором говорится, что «беспроводная связь отключена аппаратным переключателем». Аппаратный переключатель включен (я вижу, как зеленый светодиод включается и выключается, когда я нажимаю кнопку беспроводной связи). Вывод сообщает, rfkill
что она не программно заблокирована, а заблокирована жестко.
Я попробовал следующее (rt73usb — это драйвер ядра для моего интегрированного беспроводного модуля) как пользователь root:
rmmod -f rt73usb
rfkill unblock all
modprobe rt73usb
но это ничего не даёт.
Единственный способ, которым мне удалось «исправить» эту проблему, — загрузить Windows XP (это машина с двойной загрузкой, но F16 — основная используемая ОС). Windows делает что-то, что что-то сбрасывает. Когда я перезагружаюсь обратно в Fedora, я могу получить доступ к своей беспроводной сети, как и ожидалось. Даже нажатие кнопки беспроводной сети ВКЛ и ВЫКЛ работает так, как и ожидалось. Только когда я выключаю и снова включаю питание, у моей беспроводной сети, похоже, возникают проблемы.
Что я могу сделать, чтобы исправить эту проблему? Большинство доступных решений Google указывают на решения «soft blocked: yes», а те, которые не указывают на вышеуказанное решение, но оба они у меня не работают.
Вот несколько фрагментов информации, которые могут быть полезны:
uname -a
Linux spartan-laptop 3.4.2-1.fc16.i686 #1 SMP Thu Jun 14 21:13:38 UTC 2012 i686 i686 i386 GNU/Linux
lsmod
Module Size Used by
fcoe 22665 0
libfcoe 41981 1 fcoe
libfc 101966 2 fcoe,libfcoe
scsi_transport_fc 51903 2 fcoe,libfc
lockd 77892 0
scsi_tgt 18993 1 scsi_transport_fc
be2iscsi 62864 0
iscsi_boot_sysfs 15121 1 be2iscsi
8021q 23401 0
garp 13744 1 8021q
stp 12719 1 garp
llc 13770 2 garp,stp
bnx2i 49425 0
cnic 57699 1 bnx2i
uio 14374 1 cnic
cxgb4i 32063 0
cxgb4 96243 1 cxgb4i
cxgb3i 28014 0
libcxgbi 50450 2 cxgb4i,cxgb3i
cxgb3 130827 1 cxgb3i
mdio 13214 1 cxgb3
ib_iser 32861 0
rdma_cm 36864 1 ib_iser
ib_cm 36679 1 rdma_cm
iw_cm 13715 1 rdma_cm
ib_sa 23625 2 rdma_cm,ib_cm
ib_mad 41285 2 ib_cm,ib_sa
ib_core 61955 6 ib_iser,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr 13473 1 rdma_cm
iscsi_tcp 18015 0
libiscsi_tcp 19427 4 cxgb4i,cxgb3i,libcxgbi,iscsi_tcp
libiscsi 44809 8 be2iscsi,bnx2i,cxgb4i,cxgb3i,libcxgbi,ib_iser,iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi 46598 8 be2iscsi,bnx2i,libcxgbi,ib_iser,iscsi_tcp,libiscsi
ip6t_REJECT 12782 2
nf_conntrack_ipv6 13921 2
nf_defrag_ipv6 13678 1 nf_conntrack_ipv6
ip6table_filter 12711 1
ip6_tables 17737 1 ip6table_filter
nf_conntrack_ipv4 14280 2
nf_defrag_ipv4 12601 1 nf_conntrack_ipv4
xt_state 12514 4
nf_conntrack 71472 3 nf_conntrack_ipv6,nf_conntrack_ipv4,xt_state
arc4 12473 2
snd_hda_codec_si3054 12864 1
snd_hda_codec_realtek 63058 1
snd_hda_intel 32323 3
rt73usb 26833 0
snd_hda_codec 103493 3 snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel
rt2x00usb 19162 1 rt73usb
snd_hwdep 13236 1 snd_hda_codec
rt2x00lib 51790 2 rt73usb,rt2x00usb
mac80211 436414 2 rt2x00usb,rt2x00lib
snd_seq 54638 0
snd_seq_device 13817 1 snd_seq
cfg80211 161266 2 rt2x00lib,mac80211
snd_pcm 81330 3 snd_hda_codec_si3054,snd_hda_intel,snd_hda_codec
rfkill 20417 2 cfg80211
coretemp 13240 0
microcode 18713 0
joydev 17124 0
iTCO_wdt 17652 0
iTCO_vendor_support 13243 1 iTCO_wdt
serio_raw 13155 0
i2c_i801 17485 0
snd_timer 23896 2 snd_seq,snd_pcm
snd 63169 15 snd_hda_codec_si3054,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore 14116 1 snd
snd_page_alloc 13709 2 snd_hda_intel,snd_pcm
r8169 51284 0
mii 13311 1 r8169
uinput 17246 0
sunrpc 215122 2 lockd
binfmt_misc 17207 1
firewire_ohci 35498 0
firewire_core 55317 1 firewire_ohci
crc_itu_t 12523 2 rt73usb,firewire_core
sdhci_pci 18211 0
sdhci 32642 1 sdhci_pci
yenta_socket 40293 0
mmc_core 96866 2 sdhci_pci,sdhci
i915 413476 3
drm_kms_helper 30905 1 i915
drm 205796 4 i915,drm_kms_helper
i2c_algo_bit 13058 1 i915
i2c_core 28151 5 i2c_i801,i915,drm_kms_helper,drm,i2c_algo_bit
video 18500 1 i915
lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:04.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
[angelo@spartan-laptop ~]$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:04.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
[angelo@spartan-laptop ~]$ lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
04:04.0 CardBus bridge: O2 Micro, Inc. OZ711MP1/MS1 MemoryCardBus Controller (rev 21)
04:04.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 01)
04:04.3 Bridge: O2 Micro, Inc. Integrated MS/xD Controller (rev 01)
04:04.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
решение1
Я знаю, что это прозвучит как неопределенный ответ... но проверьте, установлен ли у вас обновленный пакет прошивки для вашего rt73usb. Для его работы требуется отдельная прошивка, отправленная на устройство... которую, конечно, предоставит Windows, а затем теплая загрузка позволит вам использовать его в Linux.
Я ищу информацию о Fedora, касающуюся последних обновлений драйвера/прошивки rt73usb, но это займет некоторое время.
Проверьте наличие прошивки и обновлений.
Отздесь, похоже, пакет rt73usb-firmware не обновлялся недавно (последнее обновление было в январе 2012 года, шесть месяцев назад).
Попробуйте удалить прошивку, а затем переустановить ее.
Может быть, фаза луны и Галактическое выравнивание требуют этого. Не спрашивайте, иногда это помогает.
Но я все еще подозреваю, что проблема в прошивке, поскольку «горячая» загрузка Windows решает проблему.
решение2
Я подозреваю, что описанное вами обновление установило какую-то новую версию драйвера, которая не совсем правильно работает с вашим конкретным оборудованием. Вам следует просмотреть журнал yum /var/log/yum.log
и, возможно, запустить yum history
поиск всего, что могло повлиять на драйвер rt73usb, подсистему usb или другие связанные части (из вашего lsmod я бы посмотрел на все, что связано с rt73usb, rt2x00usb, rt2x00lib, mac80211, cfg80211 или rfkill). Откатите все установки, которые были сделаны примерно в то время, когда что-то начало ломаться, и посмотрите, заработает ли все снова.
Другим вариантом было бы изучить использование NDISwrapper, чтобы использовать настоящий драйвер Windows. Лично я ненавижу это решение, но иногда это единственный способ заставить все работать снова. Драйвер Windows, скорее всего, также имеет последнюю версию прошивки устройства.
решение3
Я считаю, что проблема связана с обработкой ядром так называемых аппаратных кнопок (которые на самом деле могут быть полуаппаратными, если они являются сенсорными кнопками, а не электрическими переключателями). Триггеры не обязательно могут быть частью беспроводной прошивки/драйвера. ACPI также может отвечать за это.
Первое, что я бы сделал на вашем месте, это попробовал бы перезагрузиться на более старое ядро. Если вы сделали слепое обновление, есть вероятность, что ядро было обновлено. Я не знаком конкретно с Fedora, но я предполагаю, что процедура обновления ядра включает в себя сдвиг записей GRUB, подобно тому, что делает Ubuntu. Таким образом, чтобы загрузить более старое ядро, вам нужно будет войти в GRUB, удерживая Shift(на ранней стадии загрузки) или нажав Esc. Затем просто выберите более старое ядро из списка.
Если это не «просто работает», вы можете продолжить отладку проблемы, выполнив следующую команду и сравнив выходные данные между неисправным и рабочим (исправленным загрузкой Windows) состоянием ноутбука:
запустить
dmesg | tail
сразу после нажатия кнопки- Хотя, возможно, тут нет ничего связанного.контролировать файл журнала демона ACPI- Если предположить, что он находится в
/var/log/acpid.log
, то вы бы запустилиtail -f /var/log/acpid.log
.запустить утилиту отслеживания событий, например
xev
- Он выводит довольно много выходных данных; но единственное, что вас будет интересовать, это сообщается ли о каком-либо событии нажатия клавиши при нажатии кнопки. (Да, «аппаратная» кнопка может просто отправлять обычные сигналы нажатия клавиши!)найдите каталог, связанный с аппаратными кнопками, в
/proc
и/sys
, затемcat
откройтеstate
файл, найденный ниже- Вы можете использовать что-то вродеfind /proc /sys -name "*button*"
этого. Каталог может также содержатьвыключательили что-то подобное. Вы также можете просто использоватьfind /proc /sys -name state
, но это также распечатает много каталогов, связанных с другими вещами, такими как контроллер диска или карта Ethernet.
решение4
Другая проблема, с которой я столкнулся, заключается в том, что иногда ядро не видит события (из-за ошибок в драйверах или проблем с оборудованием).
Одним из важнейших шагов при устранении неполадок является выполнение следующих действий:
rfkill event
А затем переключитесь из состояния «включено» в состояние «выключено», убедившись, что вы видите такую строку:
1398993949.361623: idx 0 type 1 op 0 soft 0 hard 1
При переключении из выключенного состояния во включенное вы должны увидеть такую строку:
1398994129.694123: idx 0 type 1 op 2 soft 0 hard 0
Обратите внимание hard 0
на в конце. Если вы этого не видите, ядро не увидело событие.
Переключатели, являясь подвижными частями, особенно подвержены отказам, и хотя мы обычно в первую очередь подозреваем программное обеспечение, это не всегда так.
Вы можете проверить, что rfkill на самом деле показывает события, используя комбинацию клавиш для отключения беспроводной сети и убедитесь, что вы видите событие soft 1
, а затем, когда вы снова включите, вы должны увидеть soft 0
событие. Если переключатель неисправен, вы можете повозиться с ним, пока он не заработает, заклеить его в положении «включено» и т. д. или просто купить дополнительный сетевой адаптер.
Естественно, если вы не видите событий в любом случае, это может быть либо аппаратный, либо программный сбой. Однако в последний раз, когда я это видел, это был неисправный (но не полностью отказавший) аппаратный коммутатор.