Настройка Wi-Fi в Fedora 7
Материал из Wiki.UnixForum.org
Я расскажу о двух способах настройки Wi-Fi-соединения в Fedora 7. Первый – с использованием NetworkManager Второй – немного специфичный, без него.
Когда мне пришлось впервые настраивать беспроводную сеть, первый вариант меня не устроил. Так как NM запускается после того как вы залогинились в систему, это не всегда удобно. Второй способ поможет избежать данной проблемы. Он подойдет для серверов или обычных машин, к которым вы не имеете непосредственного локального доступа. Он нам понадобится только на этапе настройки.
[править] Первый способ
Итак, первый способ:
1. Для начала убедимся, что адаптер нормально определился системой. У меня D-link’овская карточка DWL-G550. Ваша карточка должна присутствовать в выводе команды lspci. Мой адаптер выглядит так:
| Консоль: lspci |
|
… |
2. Устанавливаем Ливну. Она понадобится нам для установки драйвера для wi-fi-адаптера.
wget http://rpm.livna.org/livna-release-7.rpm
rpm –ivh livna-release-7.rpm
3. Обновляем ядро, так как модуль ядра для вашего wi-fi-адаптера специфичен для каждой версии. У меня на данном этапе возникли проблемы. Последнее стабильное ядро на момент написания статьи было 2.6.22.1-27, но пакета madwifi, который содержит утилиты для работы с беспроводной сетью и набор драйверов для различных адаптеров, под данную версию ядра не было. Был только под версию 2.6.21-1.3228, поэтому мне пришлось делать даунгрейд до этой версии. Так что рекомендую, для начала, проверить существование этого пакета под ваше ядро.
4. Ну и, наконец, сам пакет madwifi:
yum install madwifi
5. Теперь загрузим нужный модуль в ядро. Для моей карточки, а так же для всех PCI-карточек на основе набора микросхем от Atheros Communications, модуль называется ath_pci. Если у вас иной адаптер, вам придется узнать название модуля ядра самостоятельно.
modprobe ath_pci
6. После загрузки модуля в системе должен появиться файл устройства вашей беспроводной карточки. Проверим это:
| Консоль: iwconfig |
|
lo no wireless extencions eth0 no wireless extencions wifi0 no wireless extencions ath0 IEEE 802.11g ESSID:"Tortuga" Nickname:""
|
У меня устройство уже настроено, у вас конфиг устройства, конечно, будет отличаться – не обращайте внимания, на данный момент важен только факт его наличия.
7. И, наконец, последний шаг.
Запускаем NetworkManager, выбираем сеть, тип шифрования, вводим пароль. Тут все элементарно, думаю, разберетесь =)
Все готово. Единственный минус - вам каждый раз придется вводить пароль для nm-applet, по крайней мере в текущей версии NetworkManager.
[править] Второй способ
Теперь перейдем ко второму способу.
Первые шесть пунктов из предыдущего способа, естественно, потребуется выполнить и здесь, а вот работу NM нам придется выполнить врукопашную.
Начнем.
7. Если wpa_supplicant не установлен то установите.
Для начала отключим автозапуск NM, wpa_supplicant и нашего сетевого интерфейса.
chkconfig --levels 345 NetworkManager off
chkconfig --levels 345 NetworkManagerDispatcher off
chkconfig --levels 345 wpa_supplicant off
Теперь отредактируем файл настройки сетевого интерфейса:
vim /etc/sysconfig/network-scripts/ifcfg-ath0
В параметр ONBOOT поставим no
ONBOOT=no
Забегая вперед, можете сразу добавить в параметр ESSID имя вашей беспроводной сети, а в параметр MODE добавьте Managed.
8. Теперь настроим wpa_supplicant.
Создадим хэш вашего пароля для доступа к беспроводной сети:
wpa_passphrase <ssid> <passphrase> > /etc/wpa_supplicant/wpa_supplicant.conf
- ssid - имя вашей сети
- passphrase - пароль доступа к сети.
9. Теперь, для будущего удобства, отредактируем файл /etc/sysconfig/wpa_supplicant и добавим в соответствующие переменные имя драйвера и сетевого интерфейса в виде -i<имя интерфейса> -D<имя драйвера>:
INTERFACES=”-iath0”
DRIVERS=”-Dmadwifi”
10. Настало время все это проверить:
wpa_supplicant –iath0 –Dmadwifi –c /etc/wpa_supplicant/wpa_supplicant.conf –B
dhclient ath0
Если сеть поднялась и все в порядке, освободим арендованный IP-адрес и остановим wpa_supplicant:
dhclient ath0 –r
service wpa_supplicant stop
11. Ну и, наконец, настроим автозапуск. Ничего, кроме как написать SysVinit-скрипт, мне не пришло в голову. Это, конечно, не совсем изящный способ, не без недостатков, но прекрасно работает и избавил меня от кучи проблем. А самое главное - вы получаете работоспособную сеть сразу после нажатия кнопки включения вашей машины, в отличие от способа номер один, где вам придется залогиниться. Поэтому этот способ подойдет для серверов или просто машин без средств связи с внешним миром, как, например, у меня, без монитора, клавиатуры и мыши.
В папке /etc/rc.d/init.d создайте файл с именем wireless-network (имя можете выбрать любое, не принципиально) со следующим содержанием:
| Файл: /etc/rc.d/init.d/wireless-network |
#!/bin/bash
#
# /etc/rc.d/init.d/wireless-network
#
# Starts wireless network
#
# chkconfig: 345 98 2
# description: Starts wireless network
# proccessname: wpa_supplicant
case "$1" in
start)
service wpa_supplicant start
ifup ath0
;;
stop)
ifdown ath0
service wpa_supplicant stop
;;
status)
echo $"Currently active devices:"
echo $(/sbin/ip -o link show up | awk -F ": " '{ print $2 }')
;;
restart)
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0
|
12. Теперь сделаем файл запускаемым и создадим симлинк для запуска скрипта при старте:
chmod +x /etc/init.d/wireless-network
chkconfig --add wireless-network
Ну вот и все, перезагрузитесь и полюбуйтесь на вашу беспроводную сеть =)
Всего неделю назад я первый раз в жизни держал wi-fi-адаптер, тут нет ничего сложного, у меня получилось, получится и у вас. Удачи =)
Автор: Борисов Денис aka Corsair
Замечания направляйте сюда: Corsair
