Когда где-то год назад я поставил на свой Dell Latitude D520 с чипом broadcom 4311 Ubuntu 8.10, то столкнулся с тем, что wi-fi работать напрочь отказывался. Я погуглил, пару дней поизучал посты на различных форумах, сделал какие-то шаманские действия и благополучно забыл и про проблему и про те действия, которые делал.
Все бы хорошо, но черт меня дернул поставить Karmic Koala с нуля… Про проблему я вспомнил сразу. А вот решение было забыто напрочь.
Итак, загрузившись, я обнаружил, что wi-fi у меня не работает. Посмотрев в /var/log/syslog увидел там следующие подзрительную строчку:
Пройдясь по гуглу я нашел блог, в котором было решение проблемы вида «распакуй архив туда-то и все заработает». Скачал оттуда архив, в котором было недостающее firmware, распаковал в /lib/firmware/ и все действительно заработало.
Надо сказать, что в 8.10 проблема так легко не решалась, потому что там были другие драйвера. В 8.10 были bcm43xx, сейчас же грузятся b43.
Попутно с поиском решения я набрел на сайт с этими самыми драйверами b43, где есть много информации по поддержке этими драйверами различных чипсетов broadcom 43xx.
Также я в нескольких местах встречал мнение, что b43 работают хуже и нестабильнее нативных драйверов.
Мне тоже показалось, что раньше я видел в списке сетей гораздо больше, поэтому я решил пойти по немного более сложному пути, который был еще в 8.10, а именно:
Родные драйвера я скачал с сайта поддержки Dell. Были они в виде self-extracting архива, но без проблем распаковались file-roller'ом
По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.
Все бы хорошо, но черт меня дернул поставить Karmic Koala с нуля… Про проблему я вспомнил сразу. А вот решение было забыто напрочь.
Решение быстрое
Итак, загрузившись, я обнаружил, что wi-fi у меня не работает. Посмотрев в /var/log/syslog увидел там следующие подзрительную строчку:
ERROR: Firmware file «b43/ucode5.fw» not found or load failed
Пройдясь по гуглу я нашел блог, в котором было решение проблемы вида «распакуй архив туда-то и все заработает». Скачал оттуда архив, в котором было недостающее firmware, распаковал в /lib/firmware/ и все действительно заработало.
Надо сказать, что в 8.10 проблема так легко не решалась, потому что там были другие драйвера. В 8.10 были bcm43xx, сейчас же грузятся b43.
Попутно с поиском решения я набрел на сайт с этими самыми драйверами b43, где есть много информации по поддержке этими драйверами различных чипсетов broadcom 43xx.
Также я в нескольких местах встречал мнение, что b43 работают хуже и нестабильнее нативных драйверов.
Мне тоже показалось, что раньше я видел в списке сетей гораздо больше, поэтому я решил пойти по немного более сложному пути, который был еще в 8.10, а именно:
Запуск драйверов производителя — решение посложнее
Родные драйвера я скачал с сайта поддержки Dell. Были они в виде self-extracting архива, но без проблем распаковались file-roller'ом
Далее делаем следующее:
- Устанавливаем ndiswrapper — утилиту, которая позволяет драйверам Windows для беспроводных карт работать в Linux.
- Удаляем модуль b43 из автозагрузки помещая его в blacklist:
sudo vim /etc/modprobe.d/blacklist.conf
добавляем туда строчку: blacklist b43 - Загружаем виндовые драйвера:
sudo ndiswrapper -i /path_to_drivers/bcmwl5.inf - Чтобы ndiswrapper запускался при загрузке системы, дописываем его в /etc/modules (sudo vim /etc/modules и добавляем туда строчку ndiswrapper)
- Далее после перезагрузки все должно бы заработать, но не тут то было.
Перезагрузился, а wi-fi по прежнему не работает.
Причиной тому яляется модуль ssb, который загружается перед ndiswrapper и не дает ему взять на себя управление wi-fi картой.
Если этот модуль загружен (смотрим с помощью lsmod | grep ssd ), то опять открываем /etc/modprobe.d/blacklist.conf и добавляем туда ssd и b44 — который вызывает загрузку ssd. - Далее запускаем sudo update-initramfs -u и обновляем список подгружаемых модулей, чтобы ssb не грузился
- Теперь можно перезагрузиться или же вручную выгрузить ненужные модули и загрузить нужный ndiswrapper и wi-fi заработает
По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.