Утилиты wicontrol , ancontrol и raycontrol



Это инструменты, которые могут быть использованы для управления поведением адаптера беспроводной связи в сети. В примере выше мы выбирали wicontrol(8), так как нашим адаптером беспроводной сети был интерфейс wi0. Если у вас установлено устройство беспроводного доступа от Cisco, этим интерфейсом будет an0, и тогда вы будете использовать ancontrol(8).

Команда ifconfig

Команда ifconfig(8) может использоваться для установки многих из тех параметров, что задаёт wicontrol(8), однако работа с некоторыми параметрами в ней отсутствует. Обратитесь к ifconfig(8) для выяснения параметров и опций командной строки.

Поддерживаемые адаптеры

Точки доступа

Единственными адаптерами, которые на данный момент поддерживаются в режиме BSS (как точка доступа), являются те устройства, что сделаны на основе набора микросхем Prism 2, 2.5 или 3). Полный список можно увидеть в wi(4).

Клиенты 802.11b

Практически все адаптеры беспроводной связи 802.11b на данный момент во FreeBSD поддерживаются. Большинство адаптеров, построенных на основе Prism, Spectrum24, Hermes, Aironet и Raylink, будут работать в качестве адаптера беспроводной сети в режиме IBSS (ad-hoc, одноранговая сеть и BSS).

Клиенты 802.11a и 802.11g

Драйвер устройства ath(4) поддерживает 802.11a и 802.11g. Если ваша карта основана на чипсете Atheros, вы можете использовать этот драйвер.

К сожалению, все еще много производителей, не предоставляющих схематику своих драйверов сообществу open source, поскольку эта информация считается торговым секретом. Следовательно, у разработчиков FreeBSD и других операционных систем остается два варианта: разработать драйверы долгим и сложным методом обратного инжиниринга, или использовать существующие драйверы для платформ Microsoft Windows. Большинство разработчиков FreeBSD выбрали второй способ.

Благодаря усилиям Билла Пола (wpaul), начиная с FreeBSD 5.3-RELEASE существует ''прозрачная'' поддержка Network Driver Interface Specification (NDIS). FreeBSD NDISulator (известный также как Project Evil) преобразует бинарный драйвер Windows так, что он работает так же как и в Windows. Эта возможность всё ещё относительно нова, но в большинстве тестов она работает адекватно.

Для использования NDISulator потребуются три вещи:

1. Исходные тексты ядра

2. Бинарный драйвер Windows XP (расширение .SYS)

3. Файл конфигурации бинарного драйвера Windows XP (расширение .INF)

Вам может потребоваться компиляция драйвера оболочки мини порта ndis(4). Под root:

# cd /usr/src/sys/modules/ndis

# make && make install

Определите местоположение файлов для вашей карты. Обычно их можно найти на входящем в комплект CD или на Web-сайте поставщика. В нашем примере используются файлы W32DRIVER.SYS и W32DRIVER.INF.

Следующий шаг это компиляция бинарного драйвера в загружаемый модуль ядра. Чтобы сделать это, сначала зайдите в каталог модуля if_ndis и с правами root скопируйте туда драйверы Windows:

# cd /usr/src/sys/modules/if_ndis

# cp /path/to/driver/W32DRIVER.SYS ./

# cp /path/to/driver/W32DRIVER.INF ./

Теперь используйте утилиту ndiscvt для создания заголовка определения драйвера ndis_driver_data.h перед сборкой модуля:

# ndiscvt -i W32DRIVER.INF -s W32DRIVER.SYS -o ndis_driver_data.h

Параметры -i и -s задают соответственно файл настройки и бинарный файл. Мы используем параметр -o ndis_driver_data.h, поскольку Makefile при создании модуля будет обращаться именно к этому файлу.

Замечание: Некоторым драйверам Windows для работы требуются дополнительные файлы. Вы можете включить их параметром ndiscvt -f. Обратитесь к странице справочной системы ndiscvt(8) за дополнительной информацией.

Наконец, соберите и установите модуль драйвера:

# make && make install

Для использования драйвера необходимо загрузить соответствующие модули:

# kldload ndis

# kldload if_ndis

Первая команда загружает оболочку драйвера мини-порта NDIS, вторая загружает собственно сетевой интерфейс. Проверьте dmesg(8) на предмет ошибок загрузки. Если все прошло хорошо, вывод должен быть примерно таким:

ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1

ndis0: NDIS API version: 5.0

ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5

ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps

ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps

Начиная с этого момента вы можете использовать устройство ndis0 как любое другое беспроводное устройство (например, wi0); в этой ситуации применима информация, приведенная в начале этой главы.

Bluetooth

Введение

Bluetooth является беспроводной технологией для создания персональных сетей на расстоянии не более 10 метров, работающей на частоте 2.4 ГГц, которая не подлежит лицензированию. Обычно такие сети формируются из портативных устройств, таких, как сотовые телефоны, КПК и лэптопы. В отличие от Wi-Fi, другой популярной беспроводной технологии, Bluetooth предоставляет более высокий уровень сервиса, например, файловые серверы типа FTP, передачу файлов, голоса, эмуляцию последовательного порта и другие.

Стек протоколов Bluetooth во FreeBSD реализован на основе технологии Netgraph (обратитесь к netgraph(4)). Широкий спектр USB-устройств Bluetooth поддерживается драйвером ng_ubt(4). Устройства Bluetooth на основе набора микросхем Broadcom BCM2033 поддерживается драйвером ng_bt3c(4). Устройства Bluetooth, работающие через последовательные и UART-порты, поддерживаются драйверами sio(4), ng_h4(4) и hcseriald(8). В этом разделе описывается использование Bluetooth-устройств, подключаемых через USB.

Подключение устройства

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

# kldload ng_ubt

Если Bluetooth-устройство в момент запуска системы подключено, то загружайте модуль из файла /boot/loader.conf:

ng_ubt_load="YES"

Подключите ваше USB-устройство. На консоли (или в журнале syslog) появится примерно такое сообщение:

ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2

ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2

ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,

wMaxPacketSize=49, nframes=6, buffer size=294

Замечание: Стек протоколов Bluetooth запускается вручную во FreeBSD 6.0, и во FreeBSD 5.X, перед 5.5. Это делается автоматически через devd(8) во FreeBSD 5.5, 6.1 и в более новых версиях.

Скопируйте файл /usr/share/examples/netgraph/bluetooth/rc.bluetooth в какое-нибудь подходящее место, например, в файл /etc/rc.bluetooth. Этот скрипт используется для запуска и остановки работы Bluetooth-стека. Перед отключением устройства рекомендуется остановить его работы, хотя (обычно) это не фатально. При запуске стека вы получите сообщения, подобные следующим:

# /etc/rc.bluetooth start ubt0

BD_ADDR: 00:02:72:00:d4:1a

Features: 0xff 0xff 0xf 00 00 00 00 00

<3-Slot> <5-Slot> <Encryption> <Slot offset>

<Timing accuracy> <Switch> <Hold mode> <Sniff mode>

<Park mode> <RSSI> <Channel quality> <SCO link>

<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>

<Paging scheme> <Power control> <Transparent SCO data>

Max. ACL packet size: 192 bytes

Number of ACL packets: 8

Max. SCO packet size: 64 bytes

Number of SCO packets: 8


Дата добавления: 2018-10-26; просмотров: 327; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!