аппаратное переключение отключает беспроводную связь, даже если

10

У меня есть спартанский компьютер. Он имеет встроенный беспроводной модуль, с которым до недавнего времени у меня не было проблем. В настоящее время проблема заключается в следующем: каждый раз, когда я выключаю компьютер и он загружается снова, я не могу «включить аппаратное обеспечение» беспроводной связи. В NetworkManager я получаю «серое» сообщение о том, что «беспроводная связь отключена аппаратным переключателем». Аппаратный переключатель включен (я вижу, как включается и выключается зеленый светодиод, когда я нажимаю кнопку беспроводной связи). Выходные данные rfkillзаявляют, что это не мягкая блокировка, но она жестко заблокирована.

Я попробовал следующее (rt73usb - драйвер ядра для моего встроенного беспроводного модуля) от имени пользователя root:

rmmod -f rt73usb 
rfkill unblock all
modprobe rt73usb

но это ничего не делает.

Единственный способ «исправить» эту проблему - это загрузить Windows XP (это машина с двойной загрузкой, но F16 - основная ОС). Windows делает то, что сбрасывает что-то. Когда я перезагружаюсь обратно в Fedora, я могу получить доступ к беспроводной связи, как и ожидалось. Даже нажатие беспроводной кнопки ON и OFF работает как положено. Просто, когда я выключаю, а затем снова включаю питание, у моего беспроводного устройства возникают проблемы.

Что я могу сделать, чтобы исправить эту проблему? Большинство доступных решений Google указывают на «мягко заблокированные: да» решения, и те, которые не указывают на вышеуказанное решение, но оба не работают для меня.

Вот несколько частей информации, которые могут быть полезны:

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)
g19fanatic
источник
1
Есть ли что-нибудь актуальное в вашем dmesg?
Крис Даун
Вы уверены, что аппаратный коммутатор не просто приклеен? Тот факт, что эта проблема возникла в ранее работающей системе, наводит меня на мысль об аппаратном уровне, что означает, что она здесь не по теме. У вас будет superuser.SE, или ошибка сервера, или электроника.
Уоррен Янг
1
Проблема возникла после того, как я сделал ням-обновление. Я не уверен, что было установлено (никогда не было проблем с выполнением слепого обновления раньше), но проблема началась после моего последнего обновления yum и перезагрузки. Тот факт, что перезагрузка в windows, а затем загрузка обратно в f16, предполагает, что это связано с программным обеспечением.
g19fanatic
Что rfkill listпоказывает? У моего ноутбука HP (flextronics) есть проблема, из-за которой, если я скомпилирую WMIдрайверы для ноутбука (таким образом, обеспечивая более продвинутую обработку переключателей rfkill), он получит «мягкие» и «жесткие» блокировки, а иногда программные ссылки будут отказываться получать разблокирован. rfkill listпоможет определить такой сценарий.
njsg
@njsg, «мягкие» блокировки не являются проблемой. Они переключаются назад и вперед без проблем. Это «жесткий» замок, который не «разблокирует». Когда я делаю загрузку в Windows, затем в Linux, а затем делаю, rfkill eventа затем нажимаю аппаратную кнопку, жесткий замок работает, как и ожидалось. Если я перезагружаюсь и сразу перехожу в Linux, аппаратная блокировка не работает должным образом.
g19fanatic

Ответы:

2

Я знаю, что это будет звучать как расплывчатый ответ ... но проверьте, установлен ли у вас обновленный пакет прошивки для вашего rt73usb. Для работы устройства необходимо отправить отдельную прошивку ... что, конечно, предоставит Windows, а затем "горячая" загрузка позволяет использовать ее в Linux.

Я ищу информацию о Fedora относительно последних обновлений драйверов / прошивок rt73usb, но это займет некоторое время.

Проверьте прошивку и обновления к этому.

От здесь , это не выглядит как пакет rt73usb-прошивки был обновлен недавно (последний был Ян 2012, шесть месяцев назад).

Вы можете попробовать удалить прошивку, а затем переустановить ее.

Возможно, фаза Луны и Галактическое Согласование требуют этого. Не спрашивай, иногда это помогает.

Но я все еще подозреваю проблему с прошивкой, так как горячая загрузка в Windows решает проблему.

lornix
источник
Я проверил yum.log, и ничего, связанное с любым из модулей, не было обновлено. Я также сделал, как вы предложили, и сделал rmmod rt73usb; yum erase rt73usnb-firmware; rebootтогда yum install rt73usb-firmware. Это не решило проблему. Перезагрузка все еще не решает проблему блокировки оборудования. Только загрузка в Windows все еще решает проблему.
g19fanatic
Облом! Я все еще думаю, что это связано с прошивкой, хотя, так как загрузка в Windows, а затем горячая загрузка в Linux решает проблему.
lornix
1

Я подозреваю, что описанное вами обновление установило более новую версию драйвера, которая не совсем корректно работает с конкретным оборудованием, которое у вас есть. Вы должны просмотреть свой журнал yum /var/log/yum.logи, возможно, запустить yum historyпоиск всего, что могло бы повлиять на драйвер rt73usb, подсистему usb или другие связанные компоненты (из вашего lsmod я бы посмотрел на все, что связано с rt73usb, rt2x00usb, rt2x00lib, mac80211, cfg80211 или rfkill). Откажитесь от любых установок, которые были сделаны в то время, когда что-то начало ломаться, и посмотрите, начнет ли это работать снова.

Другой вариант - изучить использование NDISwrapper для использования реального драйвера Windows. Лично я ненавижу это решение, но иногда это единственный способ заставить все работать снова. В драйвере Windows также может быть установлена ​​последняя версия прошивки устройства.

JLP
источник
У меня было подозрение, что новое обновление вызвало проблему и сделало так, как вы рекомендовали. После просмотра журнала yum.log выяснилось, что ничего не было обновлено ни для одного из этих пакетов. Я мог бы попробовать решение оболочки NDIS, но, как и вы, я ненавижу этот обходной путь. Тем более, что он ИСПОЛЬЗУЕТСЯ, чтобы работать без проблем, и STILL действительно работает с обходным
путем
Вы можете начать откатывать изменения, пока не вернетесь к работающей системе. Это больно, но выполнимо (если только вы не вернулись назад до того, как у вас начались проблемы, и это все еще не работает). Вы можете использовать бинарный поиск, чтобы минимизировать количество «холодных» загрузок, которые вы должны выполнять, когда выполняете резервное копирование.
JLP
Я полагаю, что именно так мне придется попытаться решить эту проблему. Метод бинарного поиска для удаления обновленных пакетов определенно был бы способом сделать это. Спасибо за предложение. К сожалению, эта проблема была в доме моих родителей, который я посещал на четвертый отпуск, и у меня не будет доступа к машине до Рождества! Хорошо, что мой отец готов
обходиться
2
Похоже, это было плохое обновление, которое сейчас исправлено. Будучи Linux, он редко (если вообще когда-либо) тормозит, когда постоянно находится в сети, и его редко нужно включать / выключать. У меня есть работа cron, которая выполняет yum-обновление от имени root каждые 2 недели. Мой отец не уверен, когда это произошло, но в последний раз, когда он загрузил его (из-за перебоев в питании и разряда батареи ноутбук погас), он забыл перейти в Windows, чтобы включить беспроводную связь, но заметил, что беспроводная связь работает без проблем.
g19fanatic
1

Я полагаю, что проблема связана с обработкой ядром так называемых аппаратных кнопок (которые на самом деле могут быть полу-аппаратными, если это сенсорные кнопки, а не электрические переключатели). Триггеры не обязательно должны быть частью беспроводной прошивки / драйвера. ACPI также может нести ответственность за это.

Первое, что я бы сделал на вашем месте, это попытайтесь перезагрузиться к более старому ядру. Если вы сделали слепое обновление, скорее всего, ядро ​​было обновлено. Я не знаком с Fedora конкретно, но я ожидаю, что процедура обновления ядра включает в себя смещение записей GRUB, аналогично тому, что делает Ubuntu. Таким образом, чтобы загрузить старое ядро, вам нужно войти в GRUB, удерживая Shift(на ранней стадии загрузки) или нажав Esc. Затем просто выберите более старое ядро ​​из списка.

Если это не «просто работает», вы можете дополнительно отладить проблему, выполнив следующее и сравнив выходные данные между неисправным и исправным (исправленным загрузкой Windows) состоянием ноутбука:

  • запустить dmesg | tailсразу после нажатия кнопки - там может быть ничего не связано, хотя.

  • следить за файлом журнала ACPI deamon - при условии, что он находится в /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.

rozcietrzewiacz
источник
это интересная информация. Когда моя беспроводная система «работает» (после «горячей» загрузки Windows), аппаратный переключатель работает должным образом ... Он правильно отключит и повторно включит беспроводное устройство. Если я сделаю это при rfkill eventработающем процессе, я получу, что кнопка была нажата, и я вижу, что блокировка hardи softблокировка включаются, а затем отключаются должным образом. Когда я нахожусь в «не беспроводном рабочем режиме» (после перезагрузки непосредственно обратно в linux) и я делаю rfkill event, аппаратный переключатель виден, но hardблокировка не отключается, а только программная блокировка.
g19fanatic
@ g19fanatic Проблема с опорой на то, что rfkill eventговорит о том, что вы не можете сказать, на каком уровне аппаратная кнопка не работает. rfkillэто просто удобный маленький инструмент, но он довольно бесполезен для устранения таких проблем с оборудованием. Вот почему я предложил общие методы, которые могут точно определить проблему.
rozcietrzewiacz
1

Другая проблема, которую я видел здесь, заключается в том, что иногда ядро ​​не видит события (из-за ошибок в драйверах или из-за проблем с оборудованием).

Одним из важных шагов в устранении неполадок является запуск:

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событие. Если коммутатор неисправен, вы можете возиться с ним до тех пор, пока он не заработает, закрепить его во включенном положении и т. Д. Или просто получить дополнительный сетевой адаптер.

Естественно, если вы не видите события в любом случае, это может быть аппаратный или программный сбой. Однако в последний раз, когда я это увидел, это был неисправный (но не полностью неисправный) аппаратный коммутатор.

Крис Траверс
источник