Глава 7. Wi-Fi для Linux

We use cookies. Read the Privacy and Cookie Policy

Глава 7. Wi-Fi для Linux

Каждый беспроводной сетевой адаптер (за исключением Apple AirPort Card) поставляется с драйверами и конфигурационными инструментами для Microsoft Windows, но это не означает, что Windows является единственной операционной системой, которая будет работать с данным адаптером. Сети TCP/IP безразлично, какой тип операционной системы используется на компьютерах, подключенных к ней. Она просто принимает биты и байты с порта компьютера и распространяет их. Если вы можете найти нужный драйвер для своего сетевого адаптера, у вас есть возможность использовать беспроводную сеть с компьютером любого типа. Данное утверждение так же справедливо для Linux и различных версий Unix, как и для систем Windows и Macintosh. Эта глава содержит информацию о подключении вашего компьютера на базе Linux к сети Wi-Fi и описывает некоторые утилиты и инструменты, которые могут упростить положение вещей. В главе 8 вы можете найти похожую информацию об использовании в сети Wi-Fi компьютеров Unix.

Найти нужный драйвер не всегда просто. Данная глава поясняет, как найти необходимые драйверы под Linux для нескольких адаптеров и как установить и использовать их для подключения к беспроводной сети. Глава предназначена для пользователей, которые уже имеют достаточный опыт работы с Linux по настройке и использованию проводного сетевого подключения. Если вам необходимо получить дополнительную поддержку по использованию ваших клиентов под Linux, вы должны обратиться к соседу-специалисту или поискать более подробную книгу по Linux.

Драйверы: особенности и противоречия

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

Драйвер — это средство взаимодействия операционной системы и периферийного устройства, подключенного к компьютеру. Драйвер преобразует входящие команды и данные, полученные или переданные устройству в форму, понятную операционной системе. Он управляет памятью и синхронизацией с ОС, определяет порты ввода-вывода (I/O) и прерывания, которые будут использоваться с операционной системой. На рис. 7.1 показано взаимодействие между компьютером и стандартным драйвером устройства.

Рис. 7.1

Каждое периферийное устройство, включая беспроводной сетевой адаптер, требует драйвер, преобразующий стандартные функции ОС в команды управления. Устройство без правильного драйвера полезно не больше, чем пресс-папье или дверная пружина.

Например, драйвер для клавиатуры сообщает компьютеру о том, какой порт ввода/вывода переносит данные, преобразует нажатия клавиш в понятные данные и управляет включением/выключением индикаторов Caps Lock, Num Lock и Scroll Lock. Драйвер принтера содержит специальные алгоритмы, отличающие матричный принтер от лазерного. Драйвер для устройства ввода или вывода будет определять, используется ли при работе последовательный или параллельный порт, USB-порт, разъем PCMCIA или один из внутренних слотов расширения на материнской плате компьютера. Драйвер для беспроводного сетевого адаптера устанавливает номер канала, используемый радиоустройством для передачи и приема данных, уровень передаваемой радиоустройством мощности и скорость передачи данных.

Драйверы для беспроводных Ethernet-адаптеров управляют на физическом уровне протоколами TCP/IP, оперируя информацией, необходимой адаптерам для установки и использования радиосоединений с сетью, тогда как другие уровни определяют формат передаваемых данных и их содержание. Этим гарантируется возможность адаптера работать с различными форматами данных.

Драйверы также согласовывают работу некоторой части оборудования с различными операционными системами. Они преобразуют входные и выходные сигналы в команды на «родственном языке» устройства и наоборот.

Драйверы, написанные для различных операционных систем, управляющих одним и тем же устройством, начинают работу, имея инструкции в виде различных форм, и преобразуют данные инструкции в тот же самый набор элементов управления устройством. Поэтому, если ваш компьютер работает под Linux, требуются драйверы устройства, написанные специально для данной операционной системы.

Может быть полезным представление драйвера как словаря для устройства.

Все словари, написанные на английском, датском и малайском, содержат одинаковый набор понятий, но они представлены на языках, которые будут понятны разным пользователям. Драйверы компьютерных устройств аналогичны, только вместо языков человеческой речи выступают операционные системы.

Драйвер устройства является отличной от конфигурационной утилиты программой, но многие разработчики программного обеспечения комбинируют оба типа в единую программу установки. Конфигурационная утилита содержит набор конфигурирующих устройство команд и поля ввода, принимающие данные в обоих направлениях через драйвер к сетевому адаптеру.

Где искать драйверы

Итак, вам нужен драйвер для операционной системы компьютера, чтобы использовать беспроводной сетевой адаптер. Если вам повезло или вы предусмотрительно побывали в нужном магазине, необходимый драйвер находится на CD-ROM, поставляемом с адаптером или в комплекте с операционной системой.

Большая часть выпускаемых беспроводных адаптеров является брендовой продукцией, имя настоящего производителя которой не указывается на упаковке или корпусе самого устройства. Зачастую необходимо выполнить некую исследовательскую работу по определению нужного драйвера для конкретного адаптера. Orinoco и Cisco занимают особенно активную позицию на рынке изготовления адаптеров по лицензии. Производители адаптеров могут не захотеть, чтобы вы знали о том, чье оборудование помещено внутри их корпусов, но разработчики посреднических драйверов для Linux зачастую определяют, какие марки с какими драйверами будут работать.

Главным носителем драйвера под Linux для вашего беспроводного адаптера является CD, поставляемый с адаптером. Некоторые производители включают их вместе с драйверами под Windows, но не рассчитывайте на это. Хорошо, если драйвер входит в комплект. Тогда вам не придется тратить время на его поиски в других источниках.

Если у вас есть возможность выбора, лучше приобрести адаптер, который поставляется с драйвером для вашей операционной системы. Производители адаптеров, выпускающие драйверы под Linux, делают все возможное для предоставления своей продукции потенциальным пользователям, но на данном этапе развития рынка беспроводных сетей подобные драйверы не распространены. Кроме того, они тестируются самими производителями, и в случае некорректной работы вам есть где искать виноватых. Но нет ничего хуже, чем в ответ на любые вопросы услышать от сотрудников службы технической поддержки из центра приема заказов, что они не поддерживают данное программное обеспечение.

Так как Wi-Fi-сети становятся все более популярными, у производителей появляется больше стимулов продавать драйверы, предназначенные для относительно узкого сегмента рынка. Когда общее количество беспроводных пользователей измеряется десятками миллионов, пять или менее процентов тех, кто хочет использовать беспроводную сеть с Linux, превращается в значительное число потенциальных покупателей.

Если драйвер не поставляется с адаптером, проверьте Web-сайт производителя на наличие таковых, доступных для бесплатной загрузки. Многие производители печатают адреса Web-сайтов на этикетках своих адаптеров и в руководствах, но если вы не можете отыскать адрес, попробуйте набрать http: / /www, [название марки].сот или посмотрите в одной из online-директорий драйверов к устройствам, например http://www.windrivers.com. http://www.driverzone.com или http://www.driversplanet.com. Слйты-директории ориентируются на сбор драйверов для Windows, но как только вы зайдете по ссылке на страницу драйверов производителя, как правило, сможете найти драйверы и для других операционных систем, если они вообще существуют.

Если у вас уже есть адаптер, изготовленный компанией, не поддерживающей Linux, вам придется перейти из относительно стабильного мира коммерческого оборудования к необъятной вселенной групп пользователей, спискам адресов электронной почты и Web-сайтам. Сообщества пользователей, упомянутых здесь, состоят из людей, стремящихся повысить эффективность своих любимых операционных систем, и тех, кто тратит свое личное время (и рабочие ресурсы) на предоставление информации и ответы на вопросы. В таких сообществах десятки разработчиков программного обеспечения создают драйверы к устройствам и конфигурационные инструменты для беспроводных адаптеров.

Драйверы для Linux

Более 80 различных марок беспроводных сетевых адаптеров имеют ярлыки сертификации Wi-Fi, но почти все они используют один из четырех-пяти интегрированных чипсетов. Следовательно, для управления почти всеми адаптерами необходимы лишь несколько драйверов Linux.

Некоторые компании, в том числе Cisco, Intel, Orinoco, Addtron и Samsung, для беспроводных сетевых адаптеров предлагают свои собственные драйверы Linux. Если вы не можете найти драйвер Linux от изготовителя, можно попробовать использовать один из драйверов, имеющихся в комплектах поставки Linux, или скачать драйвер от посредника-разработчика. В табл. 7.1 содержится частичный перечень драйверов для Linux.

Таблица 7.1. Драйверы беспроводных адаптеров для Unux

Адаптер

Адаптеры, использующие чип Intersil Prism II Actiontec, Addtron, Bromax, Compaq, D-Unk, GemTec, Unksys, Nokia, Samsung, SMC, Z-Com, ZoomAir и прочие

Источник драйвера

Скачайте последнюю версию wlan-ng драйверов на http://linux-Wlan.CQm/PUP/linux-Wlan-ng или попробуйте драйверы HostAP на http://www.epitest.fi/Pnsm2

Адаптер

Orinoco, Lucent

Источник драйвера

Драйверы Unux на CD поставляются с адаптерами и на http://www.orinocowireless.com

Для получения информации об альтернативных драйверах, см http://www.hpi.hp com/personai/Jeap.Tpurriipes/Unux/Qnnocchtmi

Адаптер

Apple

Источник драйвера

Адаптеры AirPort являются частными версиями продуктов Orinoco Попробуйте скачать драйверы на http://www.orinocowireless.com или

http://www.hp|.hp.CQm/persQnal/Jean_Tourrilhes/Linux/QrinQCpfhtrnl

Адаптер

BreezeComDS11

Источник драйвера

http://www.xs4ailni/~bvermeui/swailpw

Адаптер

Cisco 340 и 350, Dell TrueMobile 1100

Источник драйвера

http://www.cisco.com/public/sw-sentr/sw-wireless.shtml Другая версия данного драйвера входит в состав пакета Linux PCMCIA и ядро Unux под наименованием airo о (для PCI и ISA версий) и airo_csо (для PCMCIA)

Адаптер

D-Unk DWL-500

Источник драйвера

ftp //ftp.dlink.com/Wireless/DWL-500/Driver/DWL500_linux_driver_034.tar.gz

Адаптер

Ericsson 11 Mb DSSS WLAN

Источник драйвера

http://www.ericsson.cQm/wlan/su_downloads11.asp

Адаптер

Intel PRO/Wireless 2011

Источник драйвера

http://www.appsr.cps.intel.com.scnpts-df/Product_Filter.asp?ProductID=450

Адаптер

Nokia C110/C111

Источник драйвера

http://www.nokia.com/phones/productsupport/wlan/c110_c111

Адаптер

Samsung MagicLan

Источник драйвера

http:/www.magiclan.com.product/magiclan/download/mlist.isp

Адаптер

Symbol Spectrum24 High Rate, 3Com AirConnect

Источник драйвера

http://vww.sourceforge.net/projects/spectrum24

Адаптер

3Com WLAN XJack

Источник драйвера

http://www.xs4all.nl/~bvermeul/swallow

Адаптер

D-Link DWL-650+ и устройства со скоростью 22 Мбит/с от других поставщиков

Источник драйвера

Почти все из этих карт используют новый чипсет Т1, на момент написания книги не имевший поддержки Linux. О будущих разработках можно поставщиков узнать на http://wyw.hpl.hp.com/personal/Jean_Tourrilhes/Linux

Если вы не можете найти свой адаптер в этом списке, посмотрите на Web-сайте Wireless LAN Resources for Linux (Беспроводные ресурсы LAN для Linux) на http://www.hpI.hp.com/personal/Jean_Tourrilhes/Linux. Этот сайт служит в качестве центра сбора информации о работе беспроводных сетей под Linux.

Не вся информация на сайте касается сетей 802.11b, но здесь представлено очень много полезной информации.

Сообщество Linux известно тем, что оказывает помощь новым пользователям. Специалисты, знающие о том, какой драйвер будет работать с вашим беспроводным адаптером Whoopie-Matic Lightning Bolt, возможно, уже указали ссылки на необходимую вам информацию в сетевой конференции Linux.

Сетевая конференция comp.os.linux.networking представляет собой место для размещения вопросов о нахождении драйверов для беспроводных сетевых адаптеров.

Перед размещением ваших собственных вопросов всегда полезно просмотреть архивы конференций на предмет ранее опубликованных ответов, которые могут решить вашу проблему. Группы пользователей обычно оказывают большую помощь, если знают, что вы, по крайней мере, попытались найти ответ сами.

Посмотрите в секции comp.os.linux на http://groups.google.com для поиска архивов предыдущих вопросов и ответов.

Чипсеты Prism от Intersil используются в большинстве беспроводных сетевых адаптеров, выпускаемых под многими марками. Web-сайт Intersil

содержит текущий список пользователей Prism на http: //www.intersil.com /design /prism/prismuser/index.asp.

Если ваш адаптер создан на чипсете Prism, можно использовать драйвер linux-wlan, доступный для загрузки на http://www.linux-wlan.com/download.html.

Если вашего адаптера нет в списке Prism и ни один из других источников не может сообщить вам, где найти драйвер, следующим этапом является идентификация и поиск драйвера для чипсета внутри адаптера. Эту информацию почти всегда можно найти, введя ID-код ФКС, указанный на этикетке адаптера, на поисковой странице FCC ID Search Page Федеральной комиссии связи на http://www.fcc.gov/oet/fccid. Эта база данных предоставляет ссылки на базу данных с копиями документации, предоставляемой с приложением производителя для утверждения типового образца. Обычно в нее включается техническое описание и несколько основных схем. Беглого чтения достаточно, чтобы получить ответ о производителе чипсета, а эта информация поможет найти подходящий драйвер.

Другие программы для беспроводной сети под Linux

Некоторые из драйверов Linux для специальных беспроводных адаптеров поставляются с конфигурационными утилитами, управляющими назначением каналов, выбором SSID и так далее. Также доступны отдельные пакеты беспроводных приложений, которые могут упростить процессы настройки и использования беспроводного подключения к сети.

Как правило, эти пакеты основаны на Wireless Extensions (Беспроводные расширения) для Linux API, которые включены в большинство последних версий Linux и программы Wireless Tools (Инструменты беспроводной сети), применяющие беспроводные расширения. Комбинированная документация по Wireless Extensions и по Wireless Tools представлена в режиме online на http://www.hpl.hp.cQm/personal/Jean_Tourrilhnes/Linux/UnMX.Wireless.Exten$ionsThtml.

По мере появления другого программного обеспечения для Linux Web-страница Wireless Tools for Linux http://wvw.bpl.hp.com/personal/Jear_Tourrilhes/Linux/Tools.html) станет, вероятно, одним из лучших мест для получения необходимой информации.

Если ядро поддерживает беспроводные расширения, пользователь может менять сетевую конфигурацию без перезапуска драйвера. Беспроводные расширения являются отключенными по умолчанию, поэтому в конфигурации ядра пользователь должен включить функцию CONFIG_NET_RADIO.

Wireless Tools

Wireless Tools (Инструменты беспроводной сети) представляют собой набор программ, управляющих беспроводными расширениями. Они доступны для загрузки на http://www.hpl.hp.com/personal/Jean_Tourrilhes_Linux/Tools.html.

Wireless Tools являются консольными программами, но также обеспечивают основу для других программ, которые добавляют графический интерфейс пользователя (GUI) к органам управления и статистики.

Wireless Tools содержит каталог /proc/net/wireless и три программы: iwconfig, iwspy и iwpriv. Программы Wireless Tools скорее являются основой для разработчиков программного обеспечения, нежели простыми в использовании ресурсами для конечных пользователей. Они выполняют важную подготовительную работу для других программ, поэтому полезно знать принцип их работы и доступные функции. С точки зрения же реальной работы программы, аналогичные KOrinoco и gWireless, гораздо более просты в использовании для каждого, за исключением наиболее ярых приверженцев командной строки.

/proc/net/wireless

Каталог /proc/net/wireless представляет собой виртуальный каталог в псевдофайловой системе /ргос, который отображает некоторую статистическую информацию о беспроводном интерфейсе. Каталог /ргос показывается как файлы, поэтому команда cat /proc/net/wireless будет отображать состояние беспроводной сети:

>cat /proc/net/wireless

Inter-lstal Quality I Discarded packets

face Itusllink level noise I nwid crypt misc

eth2: fO 15. 24. 4 181 0 0

Расшифровывается данный перечень следующим образом:

— листинг status показывает текущее состояние сетевого устройства;

— значения Quality (Качество) представляют качество сигнала в соединении, уровень сигнала на входе приемника и уровень шума приемника при отсутствии сигнала;

— значения Discarded packets (Отброшенные пакеты) отражают количество пакетов, пропущенных из-за недействительного сетевого ID (nwid) или из-за невозможности декодировать содержимое пакетов.

iwconfig

Программа iwconfig управляет функциями конфигурирования беспроводного адаптера. В сети 802.11b они включают следующие параметры:

— Channel — номер канала, используемого адаптером;

— nwid — код сети. В сети 802.11b nwid аналогичен SSID;

— name — название типа беспроводной сети или протокола, используемого в ней. Это может быть тип адаптера или стандартное название, например «802.11b»;

— enc — ключ шифрования, используемый в данный момент.

Команда iwconfig без аргумента воспроизводит список текущих значений iwconfig и /proc/net/wireless.

iwspy

Программа iwspy устанавливает и отображает IP-адрес локального компьютера и МАС-адрес.

Iwpnv

Программа iwpnv обеспечивает дополнительную поддержку для свойственных устройству расширений.

KOrinoco

KOrinoco — это программа, которая предоставляет информацию и конфигурационные настройки Wireless Tools в виде набора экранов и диалоговых окон для графической среды KDE рабочего стола. Она имитирует Orinoco Client Manager для Windows. Даже несмотря на то, что программа выглядит аналогично поставляемой с сетевыми адаптерами Orinoco, она должна работать и с другими марками, обеспечивающими поддержку драйверами беспроводных расширений под Linux. Информация о программе и инструкции для загрузки находятся в сети на http://korinoco.sourceforge.net.

Главное окно состояния KOrinoco показывает необходимую информацию о текущем подключении, в том числе уровень сигнала, номер канала и SSID текущего сетевого подключения. KOrinoco Configuration Editor (Редактор конфигурации KOrinoco) предоставляет все функции, необходимые для связи с беспроводной точкой доступа или подключения к Ad-Hoc-сети.

gWireless

gWireless представляет собой другой набор программ беспроводной сети, использующих информацию из Wireless Tools. Он включает апплет панели Gnome, по мере улучшения качества текущего сетевого подключения меняющий цвет с красного на оранжевый, а затем на зеленый, и графический интерфейс для функций и информации, использующий iwconfig. Графический интерфейс по-прежнему находится в стадии развития, но проект выглядит многообещающе. Домашней страницей для информации о gWireless является http://gwifiapplet.sourceforge.net.

NetCfg

NetCfg — это инструмент конфигурирования сети в среде Gnome. Он позволяет пользователю создавать и изменять профили подключения и менять сетевые настройки в режиме реального времени. Домашняя страница NetCfg расположена на http://netcfg.sourceforge.net.

Wavemon

Программа Wavemon для мониторинга и конфигурирования настроек беспроводного адаптера использует псевдографическую библиотеку ncurses. Она содержит экран Overview (Обзор) со всей важной информацией из Wireless Tools в графической форме, «оповещение об уровне», срабатывающее при падении уровня сигнала ниже предопределенного порога, и полноэкранный дисплей истории, отображающий изменения уровня сигнала, шума и качества сигнала с течением времени. Имеется также инструмент конфигурирования с набором меню для простоты настройки.

Для получения большей информации о wavemon и ссылок на свежую версию программы загляните на http://www.jm-music.de/projects.html.

Программы отображения состояния

Некоторые программы импортируют информацию из листингов /proc/net/ wireless в графические дисплеи. Основное различие между этими программами проявляется в формате дисплея.

Wvlanmon

Wvlanmon представляет собой разновидность апплета панели Gnome, который отображает качество связи в виде цветной панели. Вы можете найти wvlanmon на http://tobi.tildesoftware.net/index/projects/wvlanmon.

E-Wireless

E-Wireless — это апплет Enlightenment (Обучение), который отслеживает и отображает информацию о качестве сигнала на основании листингов /proc/net/wireless.

Программа доступна для загрузки на http://www.bitshift.org/wireless.shtml.

Wmwave

Wmwave представляет собой плавающую панель, отображающую качество связи, уровень сигнала и уровень шума в небольшом окне. Она доступна на http://www.schuermann.org/-dockapps.

GKrellMwireless

Монитор GKrellM — это графическое окно системной информации, которое может использовать темы для соответствия с внешним видом многих оконных менеджеров. Беспроводной плагин GKrellM добавляет информацию о сетевом подключении. Для получения общей информации о GKrellM зайдите на главный Web-сайт на http://web.wt.net/~billw/gkrellm/gkrenm.html. Для ознакомления с подробностями о беспроводном плагине зайдите на http://gkrellm.luon.net/gkrellmwireless.phtml.

WireStat

WireStat отображает беспроводные сетевые подключения в формате Xload.

Скачайте программу с http://www.bogor.net/idkf/idkf/software/linux-hack/wlan.

Удаленный мониторинг

Запись /proc/net/wireless выглядит как файл, поэтому здесь можно извлекать информацию о состоянии удаленных сетевых клиентов из сети. Программы Signal Level Server (Сервер уровня сигнала) и Clients (Клиенты) Стивена Хенли (Steven Hanley) предоставляют эту информацию в графическом окне. Для получения подробностей и загрузки зайдите на http://wibble.net/~sjh/wireless.

Конфигурирование течки доступа

Кроме Apple AirPort Base Station многие другие конфигурационные утилиты для беспроводных точек доступа используют Web-интерфейс, внутренний интерфейс командной строки с удаленного терминала или оба варианта, поэтому нет никакой разницы в том, какую операционную систему вы используете на компьютере-хосте, подключенном к точке доступа. Команды точки доступа, элементы управления и окна отображения состояния будут одинаковыми в любой системе.

Точка доступа Apple AirPort Base Station конфигурируется сложнее. Внутреннее программное обеспечение, поставляемое с AirPort Base Station, рассчитано на Macintosh-конфигурирование с использованием AirPort Setup Assistant (Мастер установки AirPort) и AirPort Admin Utility (Утилита администрирования AirPort).

Для настройки AirPort Base Station с хоста под Linux вам понадобится конфигурационная программа для Linux. На сегодняшний день только одна программа — AirPort Base Station Configurator — присутствует в этом описании. Отдельные версии программы для двух AirPort Base Station («Snow» и более старой «Graphite») доступны на http://edge.mcs.drexel.edu/GICL/people/sevy/airport.

Поскольку программа написана как приложение Java, AirPort Configurator будет запускаться на любом компьютере, где установлена Java Runtime Environment (JRE). Сюда относятся платформы Windows, Solaris и Linux. Вы можете получить копию JRE на http://java.sun.eom/products/jdk/l.2/jre.