MadWiFi First Time User HowTo
Материал из NNLUG Wiki.
MadWiFi 'Первое использование' HOWTO
Оригинал: http://madwifi-project.org/wiki/UserDocs/FirstTimeHowTo
Перевод: Азовцев Юрий aka gumanoed
Доброе пожаловать в HOWTO MadWiFi 'Первое Использование'. Этот документ призван быть полным собранием инструкций по получению, установке и использованию последней версии драйверов MadWifi. Для использования этого документа наличие какого либо опыта настройки беспроводных сетей под Linux не обязательно.
Это howto описывает процесс ручной сборки драйверов MadWifi. Ваш дистрибутив Linux может включать в себя уже собранные (но старые версии) драйвера MadWifi. Так же, дистрибутивы могут предлагать свой собственный способ сборки модулей ядра для интеграции в свою пакетную систему. Загляните в UserDocs/Distro.
Заметка: Это руководство описывает лишь процесс настройки режима Managed (Известного так же как station mode). За более подробной информацией, о других режимах, обратитесь к UserDocs.
Требования
Для операционной системы Debian от имени root выполните: #apt-get install build-essential
Убедитесь что у вас установлены заголовочные файлы ядра: sudo apt-get install linux-headers-$(uname -r)
(если заголовочных файлов в системе нет — при компиляции вы получите ошибку /lib/modules/2.6.24-19-server/build is missing, please set KERNELPATH).
Пожалуйста, проверьте наличие необходимых компонентов до начала процесса сборки. Это так же включает в себя наличие установленного в системе чипа Atheros.
Получение исходных кодов MADWIFI
Загрузите стабильную версию MadWifi с сайта sourceforge.net и распакуйте полученный архив. Запустите shell из директории с исходными кодами MadWifi.
Удаление старых модулей
На этом этапе вы должны быть в системе с правами пользователя root. Сначала «опустите» все ваши MadWifi устройства:
ifconfig eth0 down ifconfig wifi0 down # Повторите эти две команды для каждого MadWifi устройства в вашей системе (eth1 и т.д.)
Считаем что вы находитесь в директории с исходными кодами MadWifi. Выполните следующие скрипты для удаления старых модулей из системы и выгрузки их из памяти:
cd scripts ./madwifi-unload ./find-madwifi-modules.sh $(uname -r) cd ..
В процессе выполнения вам будет задан вопрос о том уверенны ли вы что хотите удалить старые модули.
Сборка новых модулей MadWifi
Теперь, когда у вас есть исходные коды MadWifi самое время скомпилировать их в настоящие драйвера. Благо, это просто.
При условии что вы удовлетворили все требования, изложенные выше и находитесь в директории с исходными кодами MadWifi, можете просто набрать:
make
Команда начнет процесс сборки. От вас потребуется следить за появлением возможных вопросов, на которые потребуется дать ответ. После завершения процесса быстро просмотрите все выведенное во время компиляции на предмет наличия ошибок. Если все прошло по плану — вы можете перейти к следующему шагу. Убедитесь что в вашей системе установлено все необходимое для сборки иначе процесс может может завершиться с ошибкой.
Установка MadWifi
На этом этапе собранные модули MadWifi будут установлены в систему. Make еще раз выполнит всю работу за вас.
Этот этап должен быть выполнен от имени root. Так что наберите su и введите пароль root'a. Если вы используете Ubuntu, добавьте в начало команды префикс sudo.
Для установки драйверов наберите:
make install
Модули, инструменты и документация будут скопированы в нужные директории в вашей системе. Вы только что завершили процесс базовой установки.
Загрузка MadWifi модулей
На этом этапе мы загрузим модули MadWifi в память рабочей системы. Это позволит всем другим программам узнать как работать с вашим MadWifi оборудованием.
На этом шаге требуется выполнение команд с правами пользователя root. Наберите команду su и введите пароль root'а, либо, если вы используете Ubuntu, наберите вначале команды префикс sudo.
Для загрузки модулей драйвера наберите:
modprobe ath_pci
Если у вас возникли проблемы со сборкой драйверов MadWifi, пожалуйста, обратитесь к разделу документации UserDoc/BuildProblems.
Создание интерфейсов
MadWifi поддерживает режим virtual access points (виртуальные точки доступа), что означает возможность создания более одного беспроводного устройства на вашей сетевой карте. По умолчанию создается Виртуальная Точка Доступа в режиме sta, заставляющая работать виртуальное MadWifi устройство в режиме managed mode.
Если вы использовали исходные коды из svn новее r1407 от 23 января 2006 года, то можете пропустить этот шаг:
Если нет, выполните следующие инструкции для создания нормального интерфейса в режиме station. Наберите (как root):
wlanconfig ath0 create wlandev wifi0 wlanmode sta
Если iwconfig не сработал, вам следует повторить команду после выполнения 'wlanconfig ath0 destroy'.
Теперь, если вы наберете iwconfig — должны увидеть следующее:
eth0 no wireless extensions.
lo no wireless extensions.
wifi0 no wireless extensions.
ath0 IEEE 802.11g ESSID:""
Mode:Managed
Frequency:2.457
GHz
Access
Point:
00:00:00:00:00:00
Bit Rate:0 kb/s Tx-Power:20 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Теперь нам нужно «поднять» беспроводной интерфейс. Вы можете это сделать командой (от root'а):
ifconfig ath0 up
Больше информации о создании беспроводных интерфейсов смотрите в UserDocs.
Поиск точек доступа
Если вам известно о наличии точек доступа поблизости от вас, быстрое сканирование может стать отличным способом для получения информации о них, и стать информацией о правильной работе оборудования и драйверов.
Первым шагом загрузите модуль сканирования. Наберите (от имени root):
modprobe wlan_scan_sta
Дальше, вы можете выполнить непосредственное сканирование двумя способами.
Первый способ специфичен для модулей MadWifi и выдаст вам красивую succinct таблицу результатов.
Это можно сделать командой (опять же от имени root):
wlanconfig ath0 list scan
Вы должны получить список выглядящий примерно так:
SSID BSSID CHAN RATE S:N INT CAPS eddie 00:06:25:e8:3a:05 6 54M 36:0 100 EPs
Второй способ более обычен (работает с другими типами беспроводных карт). Вы получите больше информации но ее несколько сложнее читать. Команда для второго способа сканирования:
iwlist ath0 scan
Она выведет вам информацию в следующем виде:
ath0 Scan completed :
Cell 01 - Address: 00:06:25:E8:3A:05
ESSID:"eddie"
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=37/94 Signal level=-58 dBm Noise level=-
95 dBm
Encryption key:on
Bit Rate:1 Mb/s
Bit Rate:2 Mb/s
Bit Rate:5.5 Mb/s
Bit Rate:11 Mb/s
Bit Rate:18 Mb/s
Bit Rate:24 Mb/s
Bit Rate:36 Mb/s
Bit Rate:54 Mb/s
Bit Rate:6 Mb/s
Bit Rate:9 Mb/s
Bit Rate:12 Mb/s
Bit Rate:48 Mb/s
Extra:bcn_int=100
Особенно полезна строка Encryption key:on, говорящая о наличии на точке доступа шифрования типа WEP.
Если вы получаете сообщение:
ath0 Failed to read scan data : Resource temporarily unavailable
вместо результата сканирования и вы находитесь в зоне действия сети с 'shared encription key', попробуйте использовать команду:
iwconfig ath0 key <Ваш ключ> iwpriv ath0 authmode 2
Это даст карте команду карте использовать ключ, сообщенный вами командой iwconfig, для работы в защищенной сети с shared-key.
Для использования open system key (который считается более безопасным) используйте iwpriv authmode 1:
iwconfig ath0 key <Ваш ключ> iwpriv ath0 authmode 1
После этого можете перезапустить команду сканирования, и она выдаст нужный результат.
Подключение к открытой Точке Доступа (Access Point, AP)
Если результаты сканирования, выполненные вами ранее, выдали результат "Encryption key:off", возможно вам ничего не предется делать для ассоциации с точкой доступа. Драйвер MadWifi автоматически подключается к точке доступа с наилучшим сигналом. Но все же, не лишним будет узнать как указать AP/Сеть для подключения.
Наберите (как root):
iwconfig ath0 essid "eddie"
Эта команда подключит вас к точке доступа с ESSID (именем сети) eddie.
Вы так же можете указать к какой точке доступа подключиться используя ее MAC адрес (при сканировании сетей первым это поле BSSID, во втором способе это поле Address).
Для выбора точки доступа (AP) по его MAC/BSSID, наберите:
iwconfig ath0 ap 00:06:25:E8:3A:05
Если в дальнейшем вы решите дать драйверу возможность автоматически выбирать точку доступа для подключения наберите:
iwconfig ath0 ap any
Или
iwconfig ath0 ap auto
Подключившись к точке доступа вы «воткнули кабель в свою сетевую карту» - сейчас вы подключены к сети. Но без IP адреса вы ничего не сможете делать. Именно по этому следующим шагом будет получение IP-адреса. И снова, здесь нет ничего сложного. Инструменты для получения IP-адреса на беспроводном интерфейсе абсолютно те же самые, как и на проводных устройствах.
Во первых, вам нужно узнать есть ли в сети, куда вы только что подключились, DHCP-сервер (это сервер автоматически выдающий вам сетевой адрес, сообщающий как получить доступ в интернет и куда производить DNS запросы).
Есть несколько способов проверить есть ли в сети DHCP-сервер:
- Если вы использовали беспроводную карту в Windows (в этой сети) и устанавливали опцию 'получать IP адрес автоматически', то DHCP-сервер в сети определенно есть.
- Если вы использовали беспроводную карту в Windows (в этой сети) и вписывали IP-адрес сами, в таком случае в сети DHCP-сервера нет. И если есть возможность вам следует узнать параметры настройки сети используемые вами раньше.
- Если вы подключаетесь к некоему роутеру совмещенному с точкой доступа, в большинстве случает вы получите адрес по DHCP.
- Если вы находитесь в Internet-кафе, вероятно и здесь есть DHCP-сервер.
- Если рядом есть кто то знающей о сети, к которой вы подключаетесь, спросите есть ли в ней DHCP-сервер.
- Если вы не можете выяснить есть ли в сети DHCP-сервер, попробуйте способы описанные ниже, они могут сработать и вы получите ответ самостоятельно.
Соединение с использованием DHCP
Существует большое количество DHCP клиентов, и то, который установлен у вас во многом зависит от того, какой GNU/Linux дистрибутив вы используете. Наиболее распространен dhclient, именно его мы и будем использовать.
Для получения адреса в сети с рабочим DHCP-сервером, наберите (от имени root'a):
dhclient ath0
Вы должны увидеть что то вроде:
Internet Software Consortium DHCP Client 2.0pl5 Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium. All rights reserved. Please contribute if you find this software useful. For info, please visit http://www.isc.org/dhcp-contrib.html eth1: unknown hardware address type 24 eth1: unknown hardware address type 24 Listening on LPF/ath0/00:02:6f:20:14:81 Sending on LPF/ath0/00:02:6f:20:14:81 Sending on Socket/fallback/fallback-net DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 7 DHCPOFFER from 192.168.0.254 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.254 bound to 192.168.0.152 -- renewal in 7200 seconds.
Самая нижняя строчка говорит о том, что DHCP-сервер выделил нам адрес 192.168.0.152. Так же он сообщит вашему компьютеру где находится основной шлюз и DNS-сервер, если они присутствуют в сети.
В случае, если в вашей системе установлен dhcpcd вместо dhclient:
dhcpcd ath0
Если сеть, к которой вы подключаетесь имеет выход в интернет, вы можете набрать:
ping bbc.co.uk
Для проверки что все работает. Если все функционирует как нужно — вы должны увидеть примерно следующее:
PING bbc.co.uk (212.58.224.131) 56(84) bytes of data. 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=1 ttl=119 time=15.4 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=2 ttl=119 time=14.3 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=3 ttl=119 time=15.1 ms
Подключение к сети без DHCP-сервера
Подключение к сети без DHCP-сервера делает жизнь немного более сложной. Вам потребуется некоторая информация о вашей сети:
- IP-адрес. Который вы можете использовать в сети.Это может быть что то вроде 192.168.0.10, но может быть и другой.
- Маску сети. Обычно это 255.255.255.0 или 255.255.0.0, но опять же, она может быть другой. Маска сети описывает диапазон адресов локальной сети.
- Адрес локального сервера имен (nameserver), если он есть. Сервер имен используется для получения IP-адреса из имени хоста, например madwifi.org и vice versa.
- Адрес шлюза сети (если есть). Шлюз позволяет вам соединяться с сетями вне локальной подсети — обычно с Интернет.
- Локальное доменное имя сети (опционально, есть не во всех сетях). Это имя, подставляемое перед всеми именами компьютеров в локальной сети. Например: предположим в сети есть два компьютера и их имена ns1.localnet.com и ns2.localnet.com. В этом случае имя домена будет localnet.com.
Неточность в одном из вышеперечисленных параметров может стать причиной неработоспособности вашего подключения к сети, но не нанесет никаких непоправимых неисправностей.
Что бы назначить IP-адрес интерфейсу, созданному ранее (ath0), наберите (от имени root):
ifconfig ath0 <IP address> netmask <netmask> up
Для использования сервера имен откройте файл /etc/resolv.conf в текстовом редакторе. Опять же, вы должны делать это как root:
gedit /etc/resolv.conf
Если вы предпочитаете другой текстовый редактор, замените gedit на команду запускающую его.
Когда файл открыт, добавьте символ # в начало всех строк со словами 'nameserver' и добавьте строки с вашими параметрами:
nameserver <nameserver IP>
Если у вас в сети несколько серверов имен добавьте несколько строк 'nameserver'.
Если вы знаете локальное доменное имя вашей сети, добавьте в начало файла строку вида:
search <local domain>
Сохраните файл и закройте текстовый редактор.
Последним шагом будет указание вашему компьютеру использовать шлюз (если в сети он есть). Для этого вам потребуется использовать команду route, сообщающую ядру как получить доступ в другие подсети.
От имени пользователя root наберите:
route add default gw <доменное имя шлюза>
или:
route add default gw <IP-адрес шлюза>
После этого вы должны суметь «выглянуть» за пределы вашей сети и получить доступ в интернет. Для проверки наберите:
ping bbc.co.uk
Вы должны увидеть:
PING bbc.co.uk (212.58.224.131) 56(84) bytes of data. 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=1 ttl=119 time=15.4 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=2 ttl=119 time=14.3 ms 64 bytes from rdirwww-vip.thdo.bbc.co.uk (212.58.224.131): icmp_seq=3 ttl=119 time=15.1 ms
Подключение к точке доступа с WEP
Подключение к точке доступа с WEP шифрованием очень похоже на подключение к открытой точке доступа.
Основное отличие в необходимости указать WEP-ключа с помощью iwconfig. Возможно вам потребуется указать используется ли «открытый» («open») либо разделяемый («shared») WEP-ключ (Это зависит от настроек шифрования на точке доступа).
Сначала, подключаетесь к точке доступа с помощью iwconfig как было описано выше. Хорошей идеей при использовании WEP будет явно указать точку доступа к которой вы хотите подключиться (вместо использования «ap auto» или «ap any»). Это можно сделать указав MAC-адрес точки доступа либо ESSID сети, как было показано выше.
Дальше, вам может потребоваться указать тип используемого WEP-ключа («open» или «shared»). Если вы используете «shared» WEP-ключ, используйте iwpriv authmode 2 со следующей командой (от root):
iwpriv ath0 authmode 2
Если вы используете открытый («open») WEP-ключ (который считается более безопасным) воспользуйтесь iwpriv authmode 1 со следующей командой:
iwpriv ath0 authmode 1
После того, как вы указали используете ли вы открытый («open») или разделяемый («shared») WEP-ключ, введите сам ключ коммандой (от имени root):
iwconfig ath0 key <wep-ключ в hex-виде>
Либо, если у вас не шестнадцатеричный а ASCII-ключ, выполните эту комманду:
iwconfig ath0 key <s:ASCII string of key>
Это должно создать соединение между вашей беспроводной картой и точкой доступа. Следующим шагом вы должны будете настроить соединение с интернет с помощью DHCP или указать параметры сети вручную, как это было описано выше.
Подключение к точке доступа с WPA
На данный момент WPA предоставляет наилучшую схему безопасности для беспроводного подключения. Дополнительная безопасность потребует немного больше времени и усилий. Но оно того стоит. Страници по следующим ссылкам описывают способ поддержки WPA в MadWifi и способ его настройки:
- UserDocs/802.11i
- UserDocs/WPA_PSK_on_Both_Ends
Удаление MadWifi
Удалить MadWifi достаточно просто, но потребуются права пользователя root. Cначала перейдите в директорию с исходными текстами (либо скачайте их заново, если они оказались удалены). Затем наберите:
make uninstall
Это запустить скрипт ищущий и удаляющий все модули и инструменты, установленные ранее.
Разрешение сложностей
Если что то идет не так, первое что вам нужно сделать — проверить все что вы сделали раньше и убедиться что это было сделано верно. Звучит просто, но когда вы не слишком хорошо знакомы с чем то очень легко сделать мелкие ошибки.
Если и после проверки что то по прежнему не работает, вам следует обратиться к UserDocs/Troubleshooting, странице FAQ о проблемах с драйверами MadWifi. Так же большое количество документации доступно на wiki проекта MadWifi в разделе UserDoc. Информация с wiki может помочь в решении сложных вопросов. Если вам не удалось найти информацию связанную с вашей проблемой, хорошей идеей будет заглянуть на страницу Support. На странице описано где найти и получить помощь по MadWifi. В большинстве случаев решение проблемы находится в архиве сообщений списка рассылки, либо после отправки сообщения с описанием вашей проблемы в список рассылки либо на IRC канал. Дополнительную информацию по обоим каналам получения помощи вы найдете на странице Support.
Дополнительная документация
Если вы хотите просмотреть некоторую документацию, идущую с MADWIFI, вы найдете ее в директории docs в папке с исходными кодами. Если вы находитесь в нужной директории, вы можете скомпилировать users-guide.tex в PDF файл набрав:
make
Вам потребуется установленный latex дистрибутив для выполнения этой операции.
Так же вы можете скомпилировать users-guide в html, установив latex2html и использовав комманду:
latex2html users-guide.tex
Которая создаст директорию users-guide и разместит там полученный файл.

