суббота, 2 февраля 2008 г.

Atheros AR5007EG на Gutsy Gibbon

Недавно приобрёл беcпроводной маршрутизатор D-Link DI-524. Вобще, мне больше нравится техника от Asus, но в данном случае пришлось выбирать из вариантов предложенных провайдером.
Итак: маршрутизатор установлен, подключение настроено, казалось бы, живи да радуйся. Однако, со временем в работе начали обнаруживаться некоторые странности. А именно: при скачивании с меня файлов через примерно 15 секунд связь обрывалась, маршрутизатор переставал пинговаться, через минуту связь восстанавливалась, кроме того, наблюдалась общая неустойчивость соединения и при загрузке.
Первоначально мои подозрения упали на маршрутизатор. Однако никакой информации в подтверждение в интернете мне найти не удалось. Дальше я решил провести эксперимент и протестировать соединение в альтернативной ОС. Тестирование показало исключительно устойчивую связь с интернетом. Таким образом, была установлена причина нестабильности: драйвер Wi-Fi-карточки. Поиски решения привели сначала на форум русскоязычного сообщества Ubuntu, а затем к следующему HowTo
Решение проблемы сводится к замене встроенного драйвера беспроводной карты на драйвер для Windows, установленный с помощью ndiswrapper - обёртки для драйвера позволяющего запускать его в Linux.
Процедура достаточно проста и занимает несколько минут
Для начала нужно скачать исходники ndiswrapper: http://sourceforge.net/project/showfiles.php?group_id=93482
Затем драйвер карты

wget http://blakecmartin.googlepages.com/ar5007eg-32-0.2.tar.gz

Теперь нужно распаковать скачанные архивы


tar xvf ar5007eg-*.tar.gz
tar xvf ndiswrapper-*.tar.gz


Необходимо также установить пакеты, необходимые для сборки из исходников

sudo aptitude update && sudo aptitude install linux-headers-$(uname -r) build-essential

Внесём в черный список модуль ядра ath_pci (он нам больше не понадобится)

echo "blacklist ath_pci" | sudo tee -a /etc/modprobe.d/blacklist

Компилируем ndiswrapper

pushd ndiswrapper-*/
sudo make uninstall
make
sudo make install
popd

Устанавливаем драйвер для Windows

pushd */ar5007eg/
sudo ndiswrapper -i net5211.inf
popd

Добавляем ndiswrapper в список обязательной загрузки

sudo modprobe ndiswrapper
echo "ndiswrapper" | sudo tee -a /etc/modules

Перезагружаем компьютер.
Последующее нагруженное тестирование показало превосходную работу драйвера. Проблема была устранена. :)

4 комментария:

Bug комментирует...

Огромное спасибо! На ASUS Z99L WiFi в Ubuntu 7.10 с помощью этого метода завёлся с пол-пинка.

Анонимный комментирует...

спасибо огромное Вам!очень помогло!

Анонимный комментирует...

Да, действительно помогло. Для 8.04 на ноуте Acer 5620Z! Спасибки

x.drug.man комментирует...

Всё ок... Пасиб за статью..