Возможно вы искали: 'Тень вампира: Ночной о...'

May 15 2025 19:31:02
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Работа с Bluetooth в Linux (linux bluetooth hardware)

Работа с Bluetooth в Linux (linux bluetooth hardware)

Ключевые слова: linux, bluetooth, hardware, (найти похожие документы)

From: Сгибнев Михаил <http://dreamcatcher.ru>
Date: Mon, 5 Oct 2006 14:31:37 +0000 (UTC)
Subject: Работа с Bluetooth в Linux

Оригинал: http://dreamcatcher.ru/index.php?option=com_content&task=view&id=90&Itemid=2

Первая статья серии, рассказывающей о работе Bluetooth в Linux
Перевод: Сгибнев Михаил

Представлять Bluetooth в 2006 году довольно тяжело. По общему мнению,
эта технология должна была появиться намного раньше, чтобы быть по
настоящему распространенной к настоящему моменту. Но, поскольку этого
не случилось, репутация ее оказалась несколько подмоченой. Bluetooth
популярен, но не столь популярен как WiFi. Однако, возможности этой
технологии довольно широки, особенно если приложить немного усилий.
Вы знакомы с Bluetooth? Может быть, вы даже использовали эту
технологию с вашим сотовым телефоном или наушниками? Если это так, то
вы можете задуматься, как получить больше, особенно если вам доступна
только техническая литература, полная всяких умных слов вроде
"piconets" или "scatternets", но лишенная прикладных задач.

Не волнуйтесь. В этой статье я покажу вам, как работать с Bluetooth, а
не читать умности. Если вы еще не знакомы с этой изящной технологией,
то я буду рад ввести вас в этот удивительный мир.
Итак, мы рассмотрим сборку и настройку модуля Bluetooth, обзор
устройств беспроводной сети и соединение с ними. Я представлю сервис
PAN, обеспечивающий работу с беспроводными IP-сетями.

В последующих статьях этой серии мы рассмотрим передачу файлов,
экспорт последовательных портов, беспроводной периферии HID, такой как
клавиатуры и мыши, потоковое аудио. Затем последуют такие прекрасные
вещи как добавление Bluetooth устройств к non-Bluetooth, управление по
Bluetooth скринсейвером и изучение существующих Bluetooth атак.

Чего мы хотим добиться? Необходимо синхронизировать беспроводные
устройства, экспортировать последовательный порт для работы факса или
модема, обмен файлами и работа HID периферии.


Определения

Чем является Bluetooth? Есть много определений, но лично мне больше
нравится - WiFi с уменьшеным энергопотреблением.

С Bluetooth возможно не только связь между компьютерами, но и
использование беспроводных гарнитур, синхронизация с КПК, мыши и
клавиатуры.

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

Для этой статьи, я предпочитаю легкие аппаратные средства Bluetooth и
развитое программное обеспечение.

Ядро Linux может использовать различные программные стеки. Самые
известные - bluez и affix. Я предпочитаю bluez, потому что теперь он
входит в состав ядра Linux.


Установка

Аппаратное обеспечение

Есть три основных реализации Bluetooth: USB, последовательный порт и
PCMCIA. Возможно, в ваш компьютер Bluetooth уже установлен? Для того,
чтобы выяснить это, обратитесь к документации на компьютер.
PCMCIA карты обычно представляют собой мост PCMCIA-to-serial и сам чип
Bluetooth при бо`льшей стоимости. Поэтому, если необходимого
устройства у вас нет, остановите свой выбор на последовательном или
USB устройстве.

Я рекомендую D-Link DBT-120, поскольку содержит удобные особенности,
которые я рассмотрю несколько позже, особенно если вы будете
использовать клавиатуру Bluetooth. Если нет каких либо предпочтений,
то вы можете приобрести любой USB адаптер. Адаптеры для
последовательных линий обычно более дороги и медленны.
Если вы не счастливый обладатель уникальной машины, то, скорее всего,
можете пропустить следующий раздел.

Неподдерживаемое аппаратное обеспечение

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

Самый простой случай - когда придется припаять к материнской плате
четыре провода: два на прием/передачу и два на питание/землю. Хотя
лучше шесть - тогда еще становится возможным управление потоком.
Большое количество сайтов содержат решения, как добавить поддержку
Bluetooth к наладонникам Siemens Simpad, Sharp Zaurus или Psion MX.

Вот некоторые из них:
* Simpad Bluetooth Surgery
* Newton Bluetooth Surgery
* Zaurus C700 Bluetooth Surgery
* Titanium iBook Bluetooth Surgery
* NSLU2 Serial Port Surgery

Конечно, помимо проводов, припаяных к материнской плате, нужно еще
подключить сам чип Bluetooth. Самый простой вариант - собрать модуль
"все в одном", в этом случае сам чип, антенна и конвертер питания (TTL
5V/CMOS 3.3V) собираются на одной маленькой плате.
Если вы хотете сэкономить немного денег, то можете переделать более
дешевые USB-токены на последовательный порт. Если же вы хотите
сэкономить время, то можете купить все необходимое в онлайн-магазинах.
Вот некоторые полезные ссылки:
* Turning a USB into a serial Bluetooth dongle
* Serial Bluetooth Dongle WML AHR C09

Протокол последовательного порта

Если ваш последовательный порт ограничен двумя линиями (receive/send),
вам необходимо сконфгурировать устройство на использование протокола
BCSP вместо H4. H4 - промышленный стандарт, который требует управления
потоком данных, в то время как BCSP - пропиетарный протокол, который
работает точно также без управления потоком данных. Поскольку стек
bluez поддерживает оба протокола, то выбор остается за вами.

Учтите, что ваш чип может уже быть настроен на использование
какого-либо из этих протоколов. Для смены протокола необходимо
воспользоваться утилитой pskey. Иструкции по использованию можно
прочитать в этом документе или в Opensimpad introduction to Pskey.

Будьте внимательны! Очень легко уничтожить модуль ошибкой в pskey.


Программное обеспечение

В зависимости от конфигурации вашего ядра Linux и установленного
программного обеспечения, поддержка Bluetooth может заработать "из
коробки".

Если вы используете дистрибутив с автоматической установкой пакетов,
такой как Debian или Red Hat, вы можете получить прекомпилированную
версию bluez, без всяких проблем с зависимостями. В этом случае просто
перейдите к разделу "Запускаем bluez".

В противном случае, я рекомендую перекомпилировать ядро со следующим
патчем. (смотри также http://www.holtmann.org/linux/kernel).
Процесс компилирования ядра выходит за рамки этой статьи, но он может
оказаться полезным для задействования функций, включенных в более
новые, чем используемая вами, версии bluez. Это особенно верно для
моей следующей статьи, в которой рассматриваются расширенные
возможности, типа поддержки клавиатуры Bluetooth.

Итак, я предполагаю, что у вас имеется ядро с поддержкой bluez или
загружаемый автоматически модуль ядра.


Компиляция программного обеспечения

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

Я рекомендую скачать bluez-libs-2.10, bluez-utils-2.10,
bluez-hcidump-1.12, and bluez-hciemu-1.0:

$ wget http://bluez.sf.net/download/bluez-libs-2.10.tar.gz
$ wget http://bluez.sf.net/download/bluez-utils-2.10.tar.gz
$ wget http://bluez.sf.net/download/bluez-hcidump-1.12.tar.gz
$ wget http://bluez.sf.net/download/bluez-hciemu-1.0.tar.gz


Если вы используете не i386-совместимый компьютер (например наладонник
с ARM или MIPS CPU), пожалуйста сделайте кросс-компиляцию с
инструментарием, которого требует ваша архитектура. Узнать все
необходимые параметры можно на соответствующих сайтах (например
Zaurus toolchain).

Компиляция осуществляется как и все в GNU. Я предпочитаю помещать все
в /opt/bluetooth, чтобы не войти в противоречие с установкой по
умолчанию.

Сначала установим библиотеки, которые будут использоваться в
дальнейшем:

$ tar zxvf bluez-libs-2.10.tar.gz
$ cd bluez-libs-2.10
$ ./configure --prefix=/opt/bluetooth
$ make ; make install
$ echo "/opt/bluetooth/lib" >> /etc/ld.so.conf
$ ldconfig


Устанавливаем утилиты:

$ tar zxvf bluez-utils-2.10.tar.gz
$ cd bluez-utils-2.10
$ ./configure --disable-debug --disable-dbus --disable-cups --disable-pcmcia
--disable-initscripts --disable-bluepin --enable-hid2hci --enable-bcm203x
--prefix=/opt/bluetooth
$ make ; make install


В заключение, устанавливаем приложение для отладки:

$ tar zxvf bluez-hcidump-1.12.tar.gz
$ cd bluez-hcidump-1.12
$ ./configure --prefix=/opt/bluetooth
$ make ; make install


Для использования установленных бинарных файлов выполните:

export PATH=$PATH:/opt/bluetooth/bin:/opt/bluetooth/sbin


или добавьте соответствующую строку в .bashrc. Теперь мы готовы!
Добавляем последовательный токен
Все просто. Необходимо указать имя последовательного порта, протокол,
скорость порта, управление потоком и скорость использования.

Например, у нас имеется токен, подключенный к первому порту, по
протоколу BCSP, с конфигурацией прошивки на 115200 и вы хотите
установить рабочую скорость в 230400, используйте:

$ hciattach /dev/ttyS0 bcsp 115200 noflow 230400


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

Я настоятельно не рекомендую изменять скорость порта утилитой pskey.
Сохраните имеющееся значение по умолчанию и предоставьте hciattach
показать волшебство работы на более высоких скоростях. С его помощью
вы можете совершенно безопасно подняться до скорости 921600, в случае
появления проблем достаточно будет просто перегрузить чип, что-бы
вернуться до 115200.


Запуск Bluetooth и подключение к другому устройству

Запустить устройство можно следующей командой:

$ hciconfig hci0 up
hci0: Type: USB
BD Address: 00:80:C8:45:31:F8 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN AUTH ENCRYPT
RX bytes:2882377 acl:151624 sco:0 events:212 errors:0
TX bytes:2591 acl:184 sco:0 commands:20 errors:0


Это означает, что у вас имеется устройство USB с адресом
00:80:C8:45:31:F8, работаещее с различными опциями.

Адрес устройства уникален и похож на MAC адрес для устройств Ethernet.
Его невозможно изменить, если только вы не используете модуль
Bluetooth для разработчиков. В этом случае, для смены адреса адреса
используется утилита pskey. Вследствие этого, я хочу отговорить вас
использовать этот адрес в качестве секретного ключа.

Давайте посмотрим Bluetooth окружение:

$ hcitool scan
Scanning ...
00:A0:96:0A:D1:80 zaurus.guylhem.net


Как удивительно, мы что-то обнаружили!

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

Прежде, чем мы двинемся дальше, запустим демон hcid и установим PIN,
для защиты наших соединений. Отредактируйте файл hcid.conf из каталога
/opt/bluetooth/etc/bluetooth так, чтобы он выглядел следующим образом:

options {
# automatically put new hciN devices up
autoinit yes;

# security mode
# none : security disabled
# auto : use local pin for incoming connections
# user : always ask a pin to the user
security auto;
pairing multi;
pin_helper /opt/bluetooth/bin/bluepin;
}

device {
# whatever you want
name "MyDevice.MyDomain.us";

# 0x100 is fine for a PC, 0x120112 is better for a PDA
class 0x100;

# enable inquiry scan
iscan enable;

# enable page scan
pscan enable;

# default link mode
# none : no policy
# accept : always accept incoming connections
# master : becomes the master on incoming connections
# and deny role switch on outgoing connections
lm accept;

# default link policy
# none : no policy
# rswitch : allow role switch
# hold : allow hold mode
# sniff : allow sniff mode
# park : allow park mode
lp rswitch,hold,sniff,park;

# enable authentication
auth enable;

# enable encryption
encrypt enable;
}


Что все это значит?

Устройства Bluetooth автоматически организовывают себя в piconets, где
есть мастер и подчиненные устройства.В piconet может быть только один
мастер, но мастер может быть подчиненным в другой piconet. Два
piconets, объединившись, образуют scatternet.

Что же все это означает? Чтобы избежать проблем, отключите выбор роли
и позвольте устройствам управлять собой самостоятельно, вместо того,
чтобы применять политику.

Другие важные опции - inquiry scan и page scan. По умолчанию,
устройства Bluetooth находятся в резервном режиме и периодически
сканируют эфир. С page scan, устройство ожидает, что другие устройства
войдут с ним в контакт посредством его кодового имени. Удаленное
устройство должно знать это имя. inquiry scan - противоположный
процесс; любое устройство может делать вызов, даже если оно не знает
надлежащее кодовое имя. Класс позволяет вам искать любой тип
устройства, когда вокруг слишком много устройств Bluetooth. Если вы
хотите скрыть ваши устройства от других людей, отключите сканирование
- или в hcid.conf, или вручную, после того, как вы подключили ваши
устройства:

$ hciconfig hci0 iscan disable


Самая важная опция - конечно, опция безопасности.

Для создания соединения между двумя Bluetooth устройствами необходимо,
чтобы у них был выставлен одинаковый PIN-код. Этот код может быть
размером и 8 и 128 бит, но на сотовых телефонах или беспроводной
гарнитуре, вам врядли захочется набирать что-то более чем "1234".

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

Что касается безопасности, то используйте auto и напишите коротенький
скрипт, выводящий PIN. Например:

$ echo "
#!/bin/sh
echo -n PIN:
cat /opt/bluetooth/etc/pin
">/opt/bluetooth/bin/bluepin

$ echo "9874" > /opt/bluetooth/etc/pin

$ chmod +x /opt/bluetooth/bin/bluepin


Это выведет "PIN:9874", когда вы выполните:

$ /opt/bluetooth/bin/bluepin PIN:9874


Вы можете сделать данный скрипт более сложным, например, прося
пользователя ввести определенный пароль каждый раз, когда пытается
подключиться новое устройство. Это не входит в рамки данной статьи.
Gnome и KDE уже обеспечивают графические bluepin приложения, не
стесняйтесь улучшать их, если хотите.

Обратите внимание на режимы: hold - когда мастер отключается, входя в
режим энергосбережения, или по какой другой причине (возможно, чтобы
слушать в другом piconet или выполнить сканирование). sniff, когда
подчиненное устройство время от времени засыпает, чтобы сохранить
энергию. park - подчиненное устройство покидает piconet. Вы можете
разбудить это устройство, указав мастеру распарковать его.

В самом общем случае, вы должны работать во всех этих режимах, если
ваши аппаратные средства их поддерживают - а в настоящее время это
именно так. Вы сбережете много энергии и получите больше возможностей.
Старые устройства Bluetooth, такие как мое Socket CF+ Rev E (with a
Nokia chipset, hci v 1.0b), поддерживает только некоторые из этих
опцийи (Смотрите http://www.wapucom.com/bluetooth.asp и hardware features)

Теперь, когда пароль и все необходимые опции установлены, попробуем
подключиться: Запустите демоны hcid и sdpd, обеспечивающие связь
(например для получения PIN или запроса возможностей):

$ /opt/bluetooth/sbin/hcid -f /opt/bluetooth/etc/bluetooth/hcid.conf
$ /opt/bluetooth/sbin/sdpd


В настоящий момент нет никакого эквивалента /etc/hosts, чтобы
отображать адреса устройств в имена, поэтому придется использовать
аппаратный адрес:

$ l2ping 00:A0:96:0A:D1:80


Вы будете знать, что устройство требует пароля, если получите:

Can't connect.: Connection timed out


Если устройство выключено, то сообщение будет выглядеть так:

Can't connect.: Host is down


В случае успеха картина будет выглядеть примерно так:

# l2ping 00:A0:96:0A:D1:80
Ping: 00:A0:96:0A:D1:80 from 00:80:C8:45:31:F8 (data size 20) ...
20 bytes from 00:A0:96:0A:D1:80 id 200 time 64.76ms
20 bytes from 00:A0:96:0A:D1:80 id 201 time 45.80ms
20 bytes from 00:A0:96:0A:D1:80 id 202 time 38.89ms
20 bytes from 00:A0:96:0A:D1:80 id 203 time 95.60ms
20 bytes from 00:A0:96:0A:D1:80 id 204 time 43.26ms
20 bytes from 00:A0:96:0A:D1:80 id 205 time 53.72ms
20 bytes from 00:A0:96:0A:D1:80 id 206 time 39.92ms
20 bytes from 00:A0:96:0A:D1:80 id 207 time 28.68ms
8 sent, 8 received, 0% loss


И теперь просмотрим записи в syslog, чтобы увидеть процесс обмена
PINами и установку соединения:

# tail /var/log/syslog
Aug 2 22:20:44 [hcid] link_key_request (sba=00:80:C8:45:31:F8,
dba=00:A0:96:0A:D1:80)_
Aug 2 22:20:44 [hcid] pin_code_request (sba=00:80:C8:45:31:F8,
dba=00:A0:96:0A:D1:80)_
Aug 2 22:20:44 [hcid] link_key_notify (sba=00:80:C8:45:31:F8)_
Aug 2 22:20:44 [hcid] Replacing link key 00:80:C8:45:31:F8 00:A0:96:0A:D1:80


Службы предложения и запроса

Вы нашли устройство. Что же можно с ним делать дальше? Можете ли вы
использовать его для выхода в сеть, передачи файлов, прослушивания
музыки? Это работа для протокола SDP - службы предложения и запроса.
Что предлагает мой Zaurus?

# sdptool browse 00:A0:96:0A:D1:80
Browsing 00:A0:96:0A:D1:80 ...
#


Судя по увиденному, никаких сервисов тут нет. Мне их необходимо
добавить. NAP для работы сети, DUN для работы с PPP, OPUSH для
передачи файлов и SP для того, чтобы иметь возможность использовать
серийный порт другого устройства.

# sdptool add NAP
# sdptool add DUN
# sdptool add OPUSH
# sdptool add SP


Внимание! В этой статье у меня нет места, чтобы рассматривать
настройку DUN, OPUSH и SP. Я только покажу, как подделать поддержку
для этого профиля. Почему бы на этот раз не поиграть в притворщиков?

Одним из плюсов такого подхода - организация honeypot и поиск в syslog
устройств, обращающихся к этим сервисам для атак типа Bluesnarfing или
Bluejacking.

Теперь посмотрим, что нам предлагает Zaurus:


# sdptool browse 00:A0:96:0A:D1:80
Browsing 00:A0:96:0A:D1:80 ...
Service Name: Network Access Point Service
Service RecHandle: 0x10000
Service Class ID List:
"Network access point" (0x1116)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 15
"BNEP" (0x000f)
Version: 0x0100
SEQ16: 10 20 30 40
Profile Descriptor List:
"PAN access point" (0x1116)
Version: 0x0100

Service Name: Dial-Up Networking
Service RecHandle: 0x10001
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Service Name: OBEX Object Push
Service RecHandle: 0x10002
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
"OBEX" (0x0008)
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100

Service Name: Serial Port
Service Description: COM Port
Service RecHandle: 0x10003
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Serial Port" (0x1101)
Version: 0x0100




Намного лучше.

Теперь я хочу пробовать некоторую работу с сетями. Вообразите, что
Zaurus имеет сетевое подключение к Интернету и вы хотели бы совместно
использовать это подключение с другими устройствами. Это - IP по
Bluetooth!

Запустите на Zaurus сетевой демон в серверном режиме:

# pand --listen --master --role NAP


На своем компьютере выполните поиск NAP:

# sdptool search NAP
Inquiring ...
Searching for NAP on 00:A0:96:0A:D1:80 ...
Service Name: Network Access Point Service
Service RecHandle: 0x10000
Service Class ID List:
"Network access point" (0x1116)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 15
"BNEP" (0x000f)
Version: 0x0100
SEQ16: 10 20 30 40
Profile Descriptor List:
"PAN access point" (0x1116)
Version: 0x0100


Теперь убедимся в том, что Zaurus правильно обьявляет поддержку PAN.
Подключимся с помощью pand в клиентском режиме:

/usr/bin/pand --role PANU --service NAP --connect 00:A0:96:0A:D1:80


Также вы можете выполнить поиск серверов NAP:

# /usr/bin/pand --role PANU --service NAP --search


В этом случае каждое устройство будет иметь сетевой интерфейс bnep0,
поддерживающее автоматическую конфигурацию - с DHCP или статическим IP
на Zaurus введите (и сохраните в /etc/bluetooth/pan/dev-up на потом):

ifconfig bnep0 192.168.1.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


на PC введите (и сохраните в /etc/bluetooth/pan/dev-up на потом):

ifconfig bnep0 192.168.1.2
route add default gw 192.168.1.1


Теперь вы можете пропинговать Zaurus и использовать это соединение для
выхода в Интернет.

pand - это сетевой демон, который можно использовать для разных целей,
включая работу с peer-to-peer сетями, если вы используете GN вместо
NAP. На клиентской машине выполните:

# pand --listen --role GN


В этом случае будет осуществлятся поиск peer-to-peer серверов в то
время, когда вы проходите мимо. Наряду с DHCP запросом на получение IP
адреса для bnep0, появляются такие интересные возможности, как обмен
файлами с прохожими, чьи устройства сконфигурированы подобным образом.
Для получения дополнительной информации, обратитесь к The PAN HOWTO.


Заключение

В настоящий момент ваше устройство Bluetooth по функциональным
возможностям только приблизилось к WiFi - возможно с более хорошими
опциями и возможностями для автоматизации.

Даже просто работая в сети, можно получить больше с PAN в Bluetooth.
В следующей статье мы рассмотрим работу DUND и SP (PPP по Bluetooth и
экспорт последовательного порта соответственно), dial-on-demand и
беспроводную синхронизацию с Palm.

Я также покажу, как обмениваться файлами с помощью OBEX и как их
копировать в сотовый телефон и расскажу об атаках Bluesnarfing и
Bluejacking, преобразующих резервную копию телефона в "cellphone
slurper", что позволяет скопировать телефонную книгу, календарь,
изображения и т.д.
951 Прочтений •  [Работа с Bluetooth в Linux (linux bluetooth hardware)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Работа с Bluetooth в Linux (linux b... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка