The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Решение проблем с WiFi в Ubuntu 9.10
После обновления Ubuntu на ноутбуке (Dell Vostro A860) до версии 9.10 перестал
работать Wifi при абсолютной тишине в логах. Модуль ath5k грузится без ошибки и
правильно распознает чип от Atheros. А Network Manager скупо пишет "Устройство
не готово".

После продолжительного гугления выяснилось, что все дело в некорректной работе
функциональной кнопки (Fn + F11), отвечающей за включение/отключение Wifi и Bluetooth:

   $ tail /sys/class/rfkill/*/{state,name,type,persistent}
   ==> /sys/class/rfkill/rfkill1/state <==
   0
   ==> /sys/class/rfkill/rfkill2/state <==
   0
   ==> /sys/class/rfkill/rfkill3/state <==
   0
   ==> /sys/class/rfkill/rfkill1/name <==
   phy0
   ==> /sys/class/rfkill/rfkill2/name <==
   dell-wifi
   ==> /sys/class/rfkill/rfkill3/name <==
   dell-bluetooth
   ==> /sys/class/rfkill/rfkill1/type <==
   wlan
   ==> /sys/class/rfkill/rfkill2/type <==
   wlan
   ==> /sys/class/rfkill/rfkill3/type <==
   bluetooth
   ==> /sys/class/rfkill/rfkill1/persistent <==
   0
   ==> /sys/class/rfkill/rfkill2/persistent <==
   0
   ==> /sys/class/rfkill/rfkill3/persistent <==
   0

Как видим, rfkill1 и rfkill2 имеют тип wlan. Состояние (state) у обоих равно 0,
означающему SOFT LOCK. Кроме состояния 0 могут быть 1 и 2, UNLOCK и HARD LOCK соответственно.

Вся проблема состоит в том, что при нажатии на упомянутую ранее функциональную
кнопку состояние переключается только между значениями SOFT LOCK и HARD LOCK,
минуя UNLOCK. Из-за этого блокируется переход интерфейса Wifi в активный режим,
наглядно демонстрируемый командой

   $ sudo ifconfig wlan0 up
   SIOCSIFFLAGS: Unknown error 132

Решение состоит в принудительном переводе в состояние UNLOCK.
Для этого пишем простой скрипт

   #!/bin/sh
   for i in /sys/class/rfkill/rfkill*/type;
   do
      type="`cat $i`"
      if [ "$type" = "wlan" ];
      then
         n="`echo $i | sed -r 's%/type$%%'`";
         echo 1 > ${n}/state;
      fi;
   done;

Сохраняем скрипт в файл "/usr/local/sbin/unlock-wlan" и делаем его исполняемым

   $ sudo chmod +x /usr/local/sbin/unlock-wlan

После ручного запуска скрипта надо перезапускать Network Manager - иначе
он ничего не заметит.
Теперь настраиваем Upstart для исполнения нашего скрипта при загрузке системы,
перед стартом Network Manager. Для этого создаем файл "/etc/init/unlock-wlan.conf"

   # unlock-wlan - unlock wireless device
   #
   description "unlock wireless device"
   
   # Скрипт запускается перед настройкой сетевых интерфейсов
   start on starting networking
   
   task
  
   exec /usr/local/sbin/unlock-wlan
 
23.12.2009 , Автор: Князь , Источник: http://www.propheta.ru/2009/11/wire...
Ключи: wifi, ubuntu, bluetooth, hardware, wireless / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Wifi, настройка беспроводного доступа

Обсуждение [ RSS ]
 
  • 1.1, pavlinux, 00:03, 25/12/2009 [ответить] [смотреть все]
  • +/
    У мня знакомый искал FAQ про настройку
    WiFi и Bluetooth в  HP Mini 311 (VJ554EA).
    Кто нить видел, расскажет?!
     
  • 1.2, weatherleah02, 04:55, 09/01/2010 [ответить] [смотреть все]
  • +/
    И из-за этого я перешел на Дебиан :D :D :D
     
  • 1.3, anon123, 14:36, 10/01/2010 [ответить] [смотреть все]
  • +/
    а мне не помогло. Все сделал, как тут описано, но все равно
    SIOCSIFFLAGS: Unknown error 132
     
  • 1.4, Aureliano, 15:53, 11/02/2010 [ответить] [смотреть все]
  • +/
    А разве ещё кто-то с network manager'ом работает? У меня на домашнем буке в ubuntu с самого начала возникали разные проблемы с wi-fi, не помню уже какие. Пробовал уже и свободные дрова, и проприетарные -- ничего не помогало. Погуглив, нарвался на целый ряд форумов и др. ресурсов, где рекомендуют вообще на фиг сносить этот манагер и ставить wicd. Причём с ним заработали и свободные, и закрытые дрова. Раньше меня немного раздражало, что лампочка wi-fi не горит, но в 9.10 и этот баг исчез.
     
  • 1.5, Сергей, 19:08, 09/01/2012 [ответить] [смотреть все]
  • +/
    Боюсь, что вопрос будет не к месту. Но - у меня установлен в системе пакет rfkill. Однако, ни устройства /dev/rfkill ни директории /sys/class/rfkill нет. Думаю, из-за этого и Wi-Fi адаптер не работает. Подскажите, как устранить такую неполадку?
     
  • 1.6, nterel, 15:54, 05/10/2013 [ответить] [смотреть все]  
  • +/
    Наткнулся на эту проблему под gentoo (kernel 3.9.2, Intel Corporation Centrino Advanced-N 6235, ноут Sony SVS1513V9RB ) кнопок вкл/выкл wifi на ноуте нет.
    Всё до поры до времяни нормально работало пока не получил soft lock при запуске wpa_supplicant
    вылечил :
    rm /dev/rfkill
    echo 1 > /sys/class/rfkill/rfkill1/state
    (без rm вторая строчка не работает )
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor