Wireless Setup (Русский)
From ArchWiki
i18n |
---|
English |
Español |
Italiano |
Nederlands |
German |
简体中文 |
Russian |
Введение
Настройка беспроводного соединения в Archlinux (или в любом другом Linux) состоит из 2-х частей. Первая часть это определение и установка правильного драйвера для вашего устройства. Вторая - выбор метода управления беспроводным соединением. Эта статья описывает обе части, и содержит необходимые ссылки на утилиты управления беспроводными соединениями.
Часть I: Драйверы для беспроводных устройств
Первый шаг
- Проверьте где-нибудь, что Linux поддерживает ваше устройство. Вы можете узнать, какая у вас карточка по выводу 'hwdetect --show-net' или lshwd.
- zd1201-основанные карты, например ZyXEL B-220
- wlan-ng поддерживается большинство карт; сначала проверьте там.
- madwifi для чипсетов Atheros (AR5210, AR5211, AR5212)
- ath5k открытый драйвер (в отличие от бинарного madwifi) для чипсетов Atheros (AR5210, AR5211, AR5212, AR5213, AR2413/4, AR5413/4, AR5423/4, AR2425, AR2417)
- ath9k официальный драйвер Atheros для новейших 802.11n чипсетов (AR5416, AR5418, AR9160, AR9280, AR9281, AR9285)
- rt2x00 project драйвер для Ralink's rt2400, rt2500, и rt2570 чипсетов (beta).
- Ralink Linux Support драйверы для чипсетов Ralink поддерживаемых с производства.
- rt2x00 project для лучшей поддержки драйверов для Ralink ("родные драйвера" на сайте).
- ipw2100 для Intel Pro/Wireless 2100 Mini PCI
- ipw2200 для Intel Pro/Wireless 2200 Mini PCI
- ipw3945 для Intel Pro/Wireless 3945 AB/G Mini PCI-E
- orinoco для некоторых Prism 2-основанных карт
- prism54 для Prism 54-основанных карт
- bcm43xx для Broadcom 43xx-основанных карт (старые)
- b43 для Broadcom 43xx-основанных карт
- Проверьте на Linux Wireless Support ваше устройство или на The Linux Questions hardware compatibility list (HCL), которое также содержит список поддерживаемого оборудования.
- Если оборудование поддерживается только в Windows
- ndiswrapper для оборудования, поддерживаемого только в Windows (некоторые Broadcom, 3com, др.)
- Вам нужны будут .inf и .sys файлы из ваших windows драйверов - смотрите здесь
- Если вы не нашли своего оборудования в списках
- Попробуйте поискать в интернете по названию своего оборудования со словом "linux" - и можете попросить помощи на форуме
- Есть шанс, если ваше оборудование не функционирует под Linux (возможно, это не так)
Установка
Сперва установите wireless-tools через pacman
pacman -S wireless_tools
Вы не сможете настроить ваше оборудование без этой утилиты.
Драйверы
Здесь описаны подобности о том, как можно получить драйверы для вашего устройства. Вы можете обнаружить, что для вас есть несколько вариантов, помните, что вы можете найти здесь HCL помощь в выборе лучшего драйвера.
wlan-ng
pacman -S wlan-ng26 wlan-ng26-utils
Для wlan-ng вам не нужна утилита wireless-tools как сказано выше. Вместо них вам нужны утилиты из пакета wlan-ng26-utils: wlancfg и wlanctl-ng.
rt2x00
Для чипсетов Ralink (как rt2500,rt61,rt73 др.). Совместимы с wpa_supplicant, используют wext как интерфейс драйвера. Этот драйвер сейчас (в 2.6.24) является частью ядра и может быть загружен вручную например так...
modprobe rt2500pci(замените при необходимости на rt2500pci например, т.е. rt2400pci, rt2500usb, rt61pci, rt73usb)
Для некоторых чипов необходимы прошивки (firmware). Смотри rt2x00 статью wiki.
RT2500
Для чипсетов Ralink PCI/PCMCIA основанных rt2500 сериях (первое поколение чипов Ralink с поддержкой 802.11g).
pacman -S rt2500
Поддержка стандартной утилиты iwconfig для шифрования WEP соединений, также могут быть использованы другие стандартные утилиты. wpa_supplicant не поддерживает стандартный wext интерфейс. Драйвер поддерживает WPA (использую встроенное шифрование), но не стандартными способами. Разрабатываемая версия wpa_supplicant (0.6.x) включает в себя поддержку специальных технологий и это может негативно сказаться на WPA соединениях, устанавливаемых вручную через iwpriv команды. Смотрите эти инструкции для подробностей. Некоторые применимые методы для RT61 и RT73 ниже.
RT61
Для PCI/PCMCIA карт, основанных на чипе Ralink следующего поколения 802.11g (включена поддержка проприетарных MIMO функций). Смотри RT61 статью wiki.
RT73
Для USB устройств, основанных на чипах Ralink следующих поколений 802.11g (включена поддержка проприетарных MIMO функций). Смотри RT73 статью wiki.
madwifi
pacman -S madwifi
Модуль называется ath_pci. Чтобы его использовать, Вы должны в rc.conf убрать загрузку ath5k и добавить два модуля madwifi:
MODULES=(!ath5k ath_hal ath_pci ... ...)
Некоторым пользователям, возможно, при загрузке драйвера madwifi придется использовать код региона. Это связано с использованием каналов и частот, легальных для конкретной страны/региона. Для России, например, вы должны загрузить этот модуль так:
modprobe ath_pci countrycode=643
Вы можете проверить настройки, использую команду iwlist. Смотрите man iwlist и CountryCode page on the MadWifi wiki . Для использования этих настроек при загрузке, добавьте следующую строку в /etc/modprobe.conf:
options ath_pci countrycode=643
ATTENTION: Возможно, Вам придётся удалить код страны/региона, если устройство ath0 не будет создано (kernel 2.6.21)!
Особенностью драйверов madwifi является то, что переключение в режим ad-hoc осуществляется двумя командами:
wlanconfig ath0 destroy wlanconfig ath0 create wlandev wifi0 wlanmode adhoc
ath5k
Планируется, что с течением времени ath_pci станет частью истории, и его заменит ath5k. Для использования этого открытого драйвера добавьте его загрузку в rc.conf:
MODULES=(ath5k ... ...)
Проверьте, что в секции MODULES отсутствуют параметры ath_hal и ath_pci.
ath9k
ath9k - это официальный драйвер компании Atheros для карт с новейшими 802.11n чипсетами (максимальная пропускная способность около 180 Мб/с). Чтобы просмотреть весь список поддерживаемого оборудования, проверьте supported chipsets.
Доступные режимы: Station, AP и Adhoc.
ath9k включен в состав ядра, начиная с версии 2.6.27. Для дискуссий по поддержке и разработке создан mailing list.
ipw2100 and ipw2200
Смотря какой чипсет у вас имеется, используйте следующее:
pacman -S ipw2100-fw
или:
pacman -S ipw2200-fw
Вам необходимо перезагрузиться, чтобы изменения были приняты.
ipw3945 and ipw4965
Новые драйверы Intel iwlwifi project работают с обоими чипсетами и включены в ядра v2.6.24 и выше. Просто установите прошивки:
pacman -S iwlwifi-3945-ucode
или:
pacman -S iwlwifi-4965-ucode
Если MOD_AUTOLOAD установлено в yes в /etc/rc.conf (так по умолчанию). Просто перезагрузитесь и проверьте, что драйверы работают с помощью ifconfig из терминала. Теперь можно сканировать сети через wlan0.
Если вы хотите, чтобы драйвера загружались вручную при загрузке добавьте их в строку MODULES:
nano /etc/rc.conf
в строке MODULES=(), добавьте iwl3945 или iwl4965 в список, в зависимости от вашего чипсета.
CTRL + X, Y для закрытия и сохранения.
Теперь драйверы должны быть загружены после перезагрузки и при запуске 'ifconfig' из терминала вы увидите, что там появился новый сетевой интерфейс wlan0.
Note: если драйверы iwlwifi, являющиеся "экспериментальными", не работают, знайте, что драйверы NETw4x32 работают отлично через ndiswrapper.
ipw3945 (Альтернативный метод)
Note: Этот драйвер ipw3945 должен входить в проект Intel's iwlwifi.
pacman -S ipw3945
Это должно установить ipw3945-ucode, ipw3945, и ipw3945d (daemon).
Для инициализации устройства при загрузке отредактируйте...
nano /etc/rc.conf
в строке modules=(), добавьте ipw3945 в список
в строке daemons=(), добавьте ipw3945d в список (он должно быть ПЕРЕД network и dhcdbd/networkmanager в списке)
CTRL + X, Y для закрытия и сохранения.
Модуль ipw3945 должен быть загружен в процессе "Loading Modules.." и "Starting IPW3945d" должен появиться в ходе загрузки демона, и должен присутствовать интерфейс ethX.
Обновление: На моём HP nc6320 Bluetooth не соединяется, пока не выгрузишь модуль ipw3945.
orinoco
Часть, которая идёт с пакетом ядра и уже должна быть установлена.
ndiswrapper
Ndiswrapper не настоящий драйвер, но с ним вы можете использовать неродные Linux драйвера для ваших беспроводных устройств. Это очень помогает во многих ситуациях. Для использования его у вас должны быть *.inf файл из windows-драйверов (*.sys файл также должен присутствовать в этой же директории). Для установки ndiswrapper вам необходимо проделать следующие шаги:
Установить ndiswrapper используя pacman:
pacman -Sy ndiswrapper ndiswrapper-utils
Note: Beyond kernel-ядру необходим пакет ndiswrapper-beyond вместо ndiswrapper!
Note: Если у вас на машине нет доступа в интернет, вы можете скачать эти пакеты заранее к себе на компьютер с одного из зеркал, таких как http://www2.cddc.vt.edu/linux/distributions/archlinux/extra/os/i686/ . (Note: это устаревшее зеркало, лучше использовать ftp://ftp.archlinux.org/core/os/i686/ ) Вам необходим пакет ndiswrapper (или ndiswrapper-beyond как было сказано выше) и пакет ndiswrapper-utils. Также вы можете скачать последнее ядро kernel26 (или beyond), т.к. на CD не всегда последнее ядро.
Когда установка завершена, выполните следующие шаги для настройки ndiswrapper.
ndiswrapper -i filename.inf ndiswrapper -l ndiswrapper -m depmod -a
Сейчас установка ndiswrapper полностью завершена; вам только необходимо отредактировать /etc/rc.conf для загрузки модуля при старте системы (ниже приведён мой простейший конфиг; у вас может немного отличаться):
MODULES=(ndiswrapper snd-intel8x0 !usbserial)
Важно убедиться, что ndiswrapper присутствует в этом списке, также добавить другие необходимые модули. Лучший способ проверить, что ndiswrapper загружен:
modprobe ndiswrapper iwconfig
и wlan0 должен присутствовать. Посмотрите следующую страницу при обнаружении проблем: Установка Ndiswrapper.
prism54
Скачайте файлы прошивки (firmware) для вашей карточки с этого сайта. Переименуйте файл прошивки в 'isl3890'. Если не существует, создайте директорию /lib/firmware и поместите файл 'isl3890' туда. Это должно быть сделано. (forum source)
ACX100/111
Установите пакеты 'tiacx' и 'tiacx-firmware' из репозитория core.
pacman -S tiacx tiacx-firmware
Драйвер должен сказать, какая прошивка (firmware) ему необходима; проверьте /var/log/messages.log или через команду dmesg. Переместите прошивку в '/lib/firmware'. Я делаю так:
ln -s /usr/share/tiacx/acx111_2.3.1.31/tiacx111c16 /lib/firmware
Hint: Если драйвер захламляет лог ядра, например потому, что запущен Kismet, вы должны добавить следующее в /etc/modprobe.conf:
options acx debug=0
BCM43XX
Пользователи, у которых чипсет из серии Broadcom 43xx имеют альтернативу ndiswrapper'у. В Ядре версии 2.6.17, драйвер bcm43xx представлен.
- Запустите
iwconfig
илиhwd -s
для того, чтобы удостовериться, что драйвер загружен. Мой вывод hwd -s выглядит примерно так:Network : Broadcom Corp.|BCM94306 802.11g NIC module: unknown
Список поддерживаемого оборудования можно найти здесь here.
- Запустите
pacman -Sy bcm43xx-fwcutter
для установки прошивки. - Скачайте драйвера для Windows для вашей карточки откуда вы скачивали прошивку.
- Распаковать драйвера с страницы Dell можно через Windows или под WINE (это .exe файл который распаковывается в C:\Dell\[driver numbers]). Или можете попробывать скачать [1] или [2]. Я просто сохранил файлы на рабочий стол; вам это не надо после следующего шага.
- Запустите
bcm43xx-fwcutter -w /lib/firmware /home/<user>/Desktop/wl_apsta.o
Сначала необходимо сначала создать директорию /lib/firmware. - Перезагрузитесь, и нормально настройте соединение. Вы можете добавить модуль bcm43xx в секцию modules в вашем rc.conf. Удачи!
b43
Этот драйвер - преемник драйвера bcm43xx и он включен в ядро 2.6.24.
- Запустите
hwd -s
для определения вашей карты. Мой вывод hwd -s выглядит примерно так:Network : BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller module: unknown
Список поддерживаемого оборудования находится здесь.
- Установите прошивку из репозитория core. Она называется b43-fwcutter.
- Скачайте проприетарную версию драйверов Breadcom версии 4.80.53.0.
wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
- Распакуйте сжатый файл.
tar xjf broadcom-wl-4.80.53.0.tar.bz2
- Перейдите в новую директорию, и затем в директорию kmod:
cd broadcom-wl-4.80.53.0/kmod
- Запустите
b43-fwcutter -w "/lib/firmware/" wl_apsta.o
Сначала необходимо создать директорию /lib/firmware. - Перезагрузитесь, и нормально настройте ваше оборудование. Вы также можете добавить модуль b43 в секцию modules в ваш rc.conf. Удачи!
rtl8187
Смотри rtl8187 wiki page.
zd1211rw
zd1211rw драйвер для ZyDAS ZD1211 802.11b/g USB WLAN чипсетов и он включен в ядро, в настоящее время. Смотри список поддерживаемого оборудования здесь. Только вам необходимо сначала установить файлы прошивки:pacman -Sy zd1211-firmware
Тестовая установка
После загрузки вашего драйвера запустите
iwconfig
и посмотрите, появился ли интерфейс беспроводного соединения (wlanX)
Часть II: Управление беспроводными соединениями
Допустим, что ваш драйвер найден и прекрасно работает, вам необходимо выбрать метод управления беспроводными соединениями. Следующая подсекция поможет вам найти подходящий метод работы.
Управление беспроводными соединениями в Arch
Arch Linux обладает несколькими решениями для управлениями беспроводными соединениями. Выберите то, которое необходимо вам в ваших целях.
/etc/rc.conf
- Файл /etc/rc.conf содержит профили сети. Вы можете исправить и настроить простейшее соединение через файл /etc/rc.conf, централизованно. Например:
# /etc/rc.conf eth0="dhcp" wlan0="dhcp" wlan_wlan0="wlan0 essid MyEssid" #wlan_wlan0="wlan0 essid MyEssid key 12345678" #wlan_wlan0="wlan0 essid MyEssid key s:wirelesspassword" INTERFACES=(eth0 wlan0)
(Не все карты определяются как wlan0. Проверьте имя вашего интерфейса через ifconfig -a. Atheros-основанные карты, например, зовутся ath0, исправьте wlan_wlan0 в wlan_ath0="ath0 essid ....". Также исправьте ath0 в строке INTERFACES= .)
- Другой способ - описать wlan_* в /etc/conf.d/wireless, (который также входит в профили сети), для децентрализованной настройки:
# /etc/conf.d/wireless wlan_wlan0="wlan0 essid MyEssid"
Netcfg2
Netcfg2 более удобный способ, он предпочтителен, вы можете менять сеть. Документация: Network Profiles
Больше информации в разработке: Network Scripts
wireless-tools
Это полноценные консольные утилиты, работают отлично, а также позволяют всё контролировать вручную. Например ваше устройство зовётся wlan0. Замените wlan0 на своё имя устройства. Многим карточкам необходимо, чтобы интерфейс уже работал, прежде чем вы можете использовать wireless-tools:
ifconfig wlan0 up
Смотрим, какие точки доступа доступны:
iwlist wlan0 scan
Используя выведенные данные, скажите своему устройству, какую точку использовать. Например:
iwconfig wlan0 essid linksys
Затем, настройте интерфейс как обычно. Например так:
dhcpcd wlan0
или
ifconfig wlan0 192.168.0.2 route add default gw 192.168.0.1
Сторонние средства управления беспроводными соединениями
Также много других способов настройки и управления беспроводными соединениями в Arch Linux, нежели приведённые выше скрипты.
NetworkManager
NetworkManager утилита настройки сети, который включен по умолчанию во многие популярные Linux дистрибутивы. Он управляет проводными соединениями, NetworkManager также он является лёгким в использовании GUI программой для выбора вида соединения.
Для большей информации смотри страницу вики NetworkManager.
Wicd
Wicd утилита для настройки как проводной сети, так и беспроводной. Она написана на Python и Gtk с многими зависимостями от NetworkManager, которое делает его идеальным для легковесных дистрибутивов. Wicd сейчас доступна в репозитории extra для обоих платформ i686 и x86_64.
Для большей информации смотри страницу вики Wicd.
Wifi Radar
WiFi Radar это утилита на Python/PyGTK2 для управления профилями беспроводных соединений (и только беспроводных). При запуске он сканирует доступные сети и создает необходимые профили для необходимых сетей.
Для большей информации смотри страницу вики Wifi Radar.
Wlassistant
Wlassistant очень интуитивно-понятное GUI приложение для настройки беспроводных соединений.
Установка:
pacman -S wlassistant
Wlassistant должен быть запущен с привелегиями root:
sudo wlassistant
Один метод использования wlassistant для настройки карты беспроводных соединений через /etc/rc.conf, должна быть указана точка доступа. При старте, ваша карта будет автоматически настроена для работы с этой точкой доступа, но в других беспроводных сетях вам надо/доступно wlassistant настроить для доступа к другим сетям. Можно также стартовать его в фоне в списке сервисов в /etc/rc.conf, с префиксом @, чтобы уменьшить задержки при загрузке.
Дополнительные ресурсы
- NetworkManager - Официальная страница NetworkManager
- WICD - Официальная страница для WICD
- Wifi Radar - Официальная страница Wifi Radar
- An overly wordy howto that rarely helps
- The madwifi project's method of installing, good if you're having trouble doing it the Arch way