Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Мелочи —> Lan over Bluetooth

Настройка беспроводной сети в FreeBSD с использованием Bluetooth

Автор: Mr.Y.


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

Приобрел я себе ноутбук ThinkPad T60, включаю - на нем Виста. Бизнес. "Это не тру", подумал я - "на моем ноутбуке должна быть правильная ось". Беру диски со свежим дистрибутивом FreeBSD 7.0, устанавливаю. Встала как родная, и все оборудование определила. Так, теперь нужно перенести все конфиги с домашнего компьютера на ноутбук, создать привычное себе окружение, да и музыку скинуть неплохо. Достаю метровый кусок cross-over'а, соединяю машины, ifconfig на ноутбуке, ifconfig на десктопе. Что? У тебя нет сетевого интерфейса rl0? А куда он делся? Так... Все понятно... Сетевая карта в десктопе отъехала в иной мир. Ноутбук может общаться с внешним миром с помощью Wi-Fi, Ethernet'a, Bluetooth'a и IrDA. Десктоп теперь имеет Bluetooth и IrDA. Значит дружить устройства придется с помощью Bluetooth.

Теоретическая часть

Устройство Bluetooth может предоставлять следующие сервисы (это упрощенный список, строго говоря их 30)
1 Bluetooth Serial Port
2 Dial-Up Networking
3 Fax Service
4 File Transfer
5 Information Exchange
6 Information Synchronization
7 Network Access
8 Advanced Audio Distribution
9 Headset Profile
10 Hardcopy Cable Replacement
11 Human Interface Device
12 Basic Image
13 Service Dicovery

На текущий момент во FreeBSD реализована поддержка 1, 2, 4, 5, 7, 11 и 13 сервиса из этого списка. Функционирование 1, 2, 7 осуществляется посредством утилиты rfcomm_pppd, 4 и 5 - утилитой obexapp, за 11 отвечает демон bthidd. Для того чтобы клиентские устройства могли обнаружить работающие сервисы, дожен быть запущен демон sdpd, отвечающий за базовый, 13 сервис. Нас в данный момент интересует сервис Network Access, запуском которого сейчас мы и займемся.
Согласно ману, rfcomm_pppd является оберткой для работы ppp, и может запускаться как в режиме клиента, так и сервера. Так как соединение по факту устанавливается при помощи ppp, то необходимо отредактировать файл ppp.conf на будущем клиенте и сервере, создав в ppp.conf разделы серверого и клиентского подключения соответственно.

Практическая часть


1 На десктопе и ноутбуке в rc.conf добавляю запуск демона работы с PIN-кодом, и демона обнаружения сервисов.
hcsecd_enable="YES"
sdpd_enable="YES"

2 На десктопе и ноутбуке в loader.conf добавляю запуск поддержки стека Bluetooth.
ng_ubt_load="YES"

3 В десктопном ppp.conf создаю раздел под именем lan-server, содержимое раздела я взял из мануала rfcomm_pppd, секция  "RFCOMM Server"
lan-server:
            set timeout 0
            set lqrperiod 10
            set ifaddr 10.0.0.1 10.0.0.2 255.255.255.0
            enable lqr
            accept lqr
            accept dns
            disable pap
            deny pap
            disable chap
            deny chap

4 В ноутбучном ppp.conf создаю раздел lan-client, содержимое раздела - man rfcomm_pppd, секция "RFCOMM Client"
lan-client
           enable lqr
           accept lqr
           set dial
           set timeout 0
           disable iface-alias
           set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
           deny pap
           disable pap
           deny chap
           disable chap

5 На десктопе запускаю rfcomm_pppd в режиме сервера командой:
rfcomm_pppd -s -a 00:0c:78:34:3e:73 -C LAN -l lan-server

6 На ноутбуке запускаю rfcomm_pppd как клиент:
rfcomm_pppd -c -a 00:0c:78:34:3e:73 -C LAN -l lan-client

В результате этих манипуляций поднимается интерфейс tun0, и машины начинают видеть друг друга.



размещено: 2008-04-24,
последнее обновление: 2008-04-24,
автор: Mr.Y


max, 2008-04-24 в 10:35:07

Практической пользы не вижу - только если переписывать музыку на скорости 30 килобайт в секунду?

dvg_lab, 2008-04-24 в 10:43:30

и какая получается скорость у такой реализации?

Alex-KS02, 2008-04-24 в 18:35:32

Как мы только не извратимся - лишь бы не купить юсбшную сетевуху.. %)

midda2, 2008-04-25 в 14:47:43

Покупать для одного раза usb сетевуху и потом запинаться об нее все оставшуюся жисть (а вдруг автор проживет долго) это тоже не тру.
К тому же извращением это тоже называть нельзя.

Vitaliy, 2008-04-26 в 1:04:00

купить в десктоп rl-ку за 3-4$ и не будеш об нее запинаться

opt1k, 2008-04-26 в 6:43:14

имхо инет без проводов на ноуте, без точки, без радиосетевухи в десктопе, так что сгодиться, пиши ещё :)

Mr.Y, 2008-04-27 в 20:06:02

Дело происходило темной ночью, когда мне было проще набрать man rfcomm_pppd, чем ждать утра :) Был бы день - не было бы статьи.

asfium, 2008-06-11 в 17:04:05

у меня на работе начальство не поймет кабелей от моего ноута к рабочему десктопу, lan via bluetooth :)))

pluknet, 2008-08-21 в 18:30:31

Ман и тот без ошибок не смогли перепечатать.
Приведенная конфигурация работать не будет.

Дамир Викторович Радионов, 2024-05-21 в 23:36:44

Всем здравствуйте! Сие статья находиться в Поисковой системе очень быстро, но полезности в ней мало. Добавъте хотя - бы сюда такие вещи как (ну примерно, здесь рассказываю как подключить безпроводную колонку к FreeBSD 14) (на скорую руку, за минуту написал):
service hcsecd start
service bluetooth start ubt0  # if this fails, do it again
bluetooth-config scan

hccontrol -n ubt0hci read_connection_list

virtual_oss -C 2 -c 2 -r 48000 -b 16 -s 768 -R /dev/null -P /dev/bluetooth/SB_ROAR_SR20A -d dsp

1. Убедитесь, что Bluetooth-адаптер установлен и распознается системой. Вы можете проверить это, выполнив команду `pciconf -lv | grep -B4 Bluetooth` в терминале.

2. Установите необходимые пакеты Bluetooth, выполнив команду `pkg install bluetooth`.

3. Включите службу Bluetooth, выполнив команду `service bluetooth start`.

4. Настройте параметры Bluetooth, отредактировав файл `/etc/bluetooth/bluetooth.conf`. Здесь вы можете указать имя устройства, настроить видимость и другие параметры.

5. Если вы хотите, чтобы Bluetooth-устройство автоматически запускалось при загрузке системы, добавьте строку `bluetooth_enable="YES"` в файл `/etc/rc.conf`.

6. Используйте команды `hccontrol` и `hcsecd` для управления и настройки Bluetooth-соединений.

7. Для подключения других устройств используйте команду `hccontrol inquiry` для поиска доступных устройств, а затем `hccontrol create_connection` для установки соединения.

Убедитесь, что вы установили все необходимые пакеты и правильно настроили конфигурационные файлы. Если у вас возникнут какие-либо проблемы, обратитесь к документации FreeBSD или поищите информацию в Интернете.



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0416 секунд
Из них PHP: 20%; SQL: 80%; Число SQL-запросов: 86 шт.
Исходный размер: 24627; Сжатая: 7147