Предыстория или не было заботы, купила баба порося.
Обновившись до новой Ubuntu 9.10 на своем ноуте, я обнаружил неприятную вещь: некоторые web-странички перестали отображаться. Firefox буквально повисал при попытки открыть какую-либо страничку. Изредка минут через 5 он все-таки отображал, но что-то странное - то страничка была без стилей, то кусками, то еще как-нибудь криво...
Проблема была в драйвере wi-fi (ath5k), который используется в новой версии ubuntu. Этот драйвер видимо как-то не подружился с моим модулем wi-fi - D-Link Air-Plus DWL-G650. А вернее с чипсетом Atheros AR5001X+, который лежит в его основе. Решить проблему можно поставив старый добрый madwifi.
Установка madwifi
Погуглив интернет я нашел достаточно подробный мануал по установке драйверов.
Итак по шагам:
- Устанавливаем пакеты для сборки драйвера.
- Скачиваем исходники самого драйвера. Автор описывает установку для версии 0.9.3.2. Я использовал более новую версию драйвера (на данный момент - 0.9.4). Свежие драйвера можно всегда взять тут.
- Далее копируем загруженный архив с исходниками в папку /usr/src и распаковываем его
$ sudo cp ~/madwifi-0.9.4.tar.gz /usr/src/ $ cd /usr/src $ sudo tar -xzf madwifi-0.9.4.tar.gz $ cd /usr/src/madwifi-0.9.4
- Собираем и устанавливаем драйвера. Перед сборкой очищаем систему от старых версий драйвера wi-fi (если таковые установлены)
$ sudo make clean $ sudo make $ sudo make install
- Меняем драйвер на только что установленный. В меню Система > Администрирование > Драйверы устройств включаем наш драйвер.
- Перезагрузка.
$ sudo apt-get -y install build-essential bin86 sharutils
Колыбельная для madwifi
После установки madwifi странички загружались на ура. Но возникла другая проблема - если ноут переходил в ждущий или спящий режим, то после пробуждения он не мог подключиться к моей домашней wi-fi-сети.
Гугл и на этот раз помог мне, хотя решение отыскалось на сайте opensuse. Там предлагалось сначала добавить следующую строчку в файл /etc/pm/config.d/config
SUSPEND_MODULES="ath_pci"
Затем проверить и если это не поможет, создать файл /etc/pm/sleep.d/60madwifi следующего содержания:
#!/bin/bash case $1 in hibernate|suspend) /sbin/rmmod ath_pci ath_rate_sample ath_hal ;; thaw|resume) /sbin/modprobe ath_hal /sbin/modprobe ath_rate_sample /sbin/modprobe ath_pci ;; *) echo "madwifi power management script called incorrectly." ;; esac
И добавить права на запуск для созданного файла:
$ sudo chmod +x /etc/pm/sleep.d/60madwifi
Я сделал и то и другое. После чего проблем с wi-fi не наблюдаю...