Настройка Wi-Fi в Fedora 7

Материал из Wiki.UnixForum.org

Перейти к: навигация, поиск

Я расскажу о двух способах настройки Wi-Fi-соединения в Fedora 7. Первый – с использованием NetworkManager Второй – немного специфичный, без него.

Когда мне пришлось впервые настраивать беспроводную сеть, первый вариант меня не устроил. Так как NM запускается после того как вы залогинились в систему, это не всегда удобно. Второй способ поможет избежать данной проблемы. Он подойдет для серверов или обычных машин, к которым вы не имеете непосредственного локального доступа. Он нам понадобится только на этапе настройки.

[править] Первый способ

Итак, первый способ:
1. Для начала убедимся, что адаптер нормально определился системой. У меня D-link’овская карточка DWL-G550. Ваша карточка должна присутствовать в выводе команды lspci. Мой адаптер выглядит так:

Консоль: lspci


Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)


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:""

Mode:Managed Frequency:2.437 GHz Access Point: 00:17:9A:41:A8:54
Bit Rate:54 Mb/s Tx-Power:15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX Security mode:restricted
Power Management:off
Link Quality=28/94 Signal level=-67 dBm Noise level=-95 dBm
Rx invalid nwid:1 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

У меня устройство уже настроено, у вас конфиг устройства, конечно, будет отличаться – не обращайте внимания, на данный момент важен только факт его наличия.
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

see also