Ключевые слова:pda, sync, bluetooth, freebsd, (найти похожие документы)
From: Присада Сергей <psa6@mail.msiu.ru.>
Newsgroups: email
Date: Mon, 26 Mar 2007 14:31:37 +0000 (UTC)
Subject: ActiveSync КПК c рабочей станцией FreeBSD через bluetoothВведение
Решил поделиться небольшим опытом по настройке соединения ActiveSync КПК
c рабочей станцией FreeBSD через bluetooth.
Итак, у меня есть КПК - Fujitsu-Siemens LOOX 720 и USB bluetooth адаптер
на основе набора микросхем Broadcom. Данная модель КПК работает под
операционной системой Windows Mobile 2003, а программное обеспечение от
разработчиков этой ОС для синхронизации с настольным компьютером
работает только на соответствующих ОС того же производителя.
Сразу скажу, что через кабель я не настраивал, потому что не удобно его
с собой возить.
Дома все заработало через полчаса, но на работе, я использую ОС FreeBSD,
и здесь ждало разочарование: в руководстве по FreeBSD достаточно неплохо
описано как настроить одностороннюю связь между двумя bluetooth
устройствами для обмена файлами, это было первое, что я сделал около
года назад, когда приобрел КПК. Но для подключения ActiveSync через
bluetooth, в первую очередь, на настольном компьютере необходимо
предоставить сервис virtual serial port (т.е. сервис последовательного
порта по Bluetooth). На момент написания статьи утилита rfcomm_pppd во
FreeBSD (стабильные ветки и релизы) не обладает этим функционалом.
На сайте FreeBSD (http://www.freebsd.org/cgi/query-pr.cgi?pr=102523) я
нашел информацию о состоянии портирования патча, который добавляет этот
функционал: 25 января 2007 его только добавили в ветку current.
Патч проверенный на FreeBSD 6.1 можно взять на сайте разработчика
(http://www.cs.cmu.edu/~davide/howto/hotsync_bluetooth_serial.html).
Сразу скажу, что на странице сайта FreeBSD, указанного выше, есть
переработанная версия патча для releng 6_2, он у меня не установился,
если у кого получится, пусть расскажет.
+++ Теперь по порядку:
1. Понадобятся дерево исходных кодов FreeBSD, работу патча я
проверял на FreeBSD 6.2-STABLE #0. Скачиваем
http://www.cs.cmu.edu/~davide/howto/patch.rfcomm_sppd.c, сохраняем в
каталог /usr/src/usr.bin/bluetooth/rfcomm_sppd/patch.rfcomm_sppd.c,
далее:
# patch < patch.rfcomm_sppd.c
если все гладко
# make
# make install
# make clean
2. Установку ПО производим из портов. Я использую KDE, удобная
графическая утилита для работы с КПК называется - Raki.
Устанавливаем ее:
# cd /usr/ports/palm/synce-kde && make install clean
В качестве зависимостей установятся необходимые для работы с КПК
приложения: synce-librapi2, synce-libsynce, synce-rra, synce-serial, ну
и KDE, если не установлено еще :).
3. По руководству
(http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-bluetooth.html)
подключаем и настраиваем bluetooth. добавляем в rc.conf:
ng_ubt_load="YES"
hcsecd_enable="YES"
sdpd_enable="YES"
gateway_enable="YES"
что бы эти изменения выполнить без перезагрузки выполняем:
# kldload ng_ubt
# /etc/rc.d/hcsecd start
# /etc/rc.d/sdpd start
# sysctl net.inet.ip.forwarding=1
На время первой настройки отключаем, если используется firewall, в
дальнейшем нужно добавить правила для работы ActiveSync.
4. Подключаем USB адаптер bluetooth, в логе должно появиться примерно
следующее:
uhub2: vendor 0x0a5c product 0x3500, class 9/0, rev 2.00/1.00, addr 3
uhub2: 3 ports with 0 removable, bus powered
ubt0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 4
ubt0: Broadcom Corp Bluetooth Transceiver, rev 1.10/1.00, addr 4
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 4) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=64; nframes=5, buffer size=320
ukbd0: vendor 0x0a5c product 0x3502, rev 1.10/1.00, addr 5, iclass 3/1
kbd2 at ukbd0
ums1: vendor 0x0a5c product 0x3503, rev 1.10/1.00, addr 6, iclass 3/1
ums1: 3 buttons.
Интересующая нас информация - устройство "ubt0". Запускаем стек bluetooth:
# /etc/rc.bluetooth start ubt0
Добавляем в файл /etc/bluetooth/hcsecd.conf информацию о КПК.
## bdaddr я посмотрел в настройках КПК
device {
bdaddr 00:09:2D:36:17:C2;
name "ppc";
key nokey;
pin nopin;
}
и в файл /etc/bluetooth/hosts
## для обращения к КПК по имени
00:09:2D:36:17:C2 ppc
5. Создаем файл /etc/ppp/options следующего содержания:
## Этот файл можно также создать утилитой synce-serial-config
/dev/ttyp9 115200
connect '/usr/local/bin/synce-serial-chat'
nodefaultroute
noauth
local
192.168.131.102:192.168.131.201
ms-dns Ваш_ДНС
crtscts
##
6. Если еще не запущена графическая оболочка, запускаем ее и
открываем два виртуальных терминала.
Запускаем сервис последовательного порта.
# rfcomm_sppd -S -t /dev/ttyp9
Теперь при обзоре любое bluetooth устройство обнаружит его. К сожалению,
в background режиме (опция -b) сервис у меня не запустился. Этот
терминал оставляем висеть. Если что то пошло не так, читаем
/var/log/messages на предмет ошибок.
В другом терминале запускаем
# synce-serial-start
Конфиг для нее мы сделали в пункте 5. Важно указать в конфиге устройство
/dev/ttyp* то же, к которому будет открыт виртуальный последовательный
порт с помощью rfcomm_sppd. Также, если что то пошло не так, читаем
/var/log/messages на предмет ошибок.
Должен появится сетевой интерфейс ppp*, у меня это ppp0, добавляем
маршрут к этому сетевому интерфейсу
# route add 192.168.131.0 -iface ppp0
7. Запускаем Raki, при первом запуске программа спросит какой сервис
запускать - вариантов два: vdccm и dccm. Правильный ответ - vdccm.
Как только в трее появится знакомый логотип ActiveSync, можно сказать,
что все готово.
8. Включаем bluetooth на КПК и открываем "Диспетчер Bluetooth" . Выбираем:
Новое -> ActiveSync через Bluetooth.
Bluetooth Wizard обнаружит PC под управлением FreeBSD, выбираем его,
дальше должно пройти подключение ActiveSync и в трее на рабочей станции
загорится значек Raki.
P.S. Должен сказать, что настройка на FreeBSD заняла тоже не более
получаса, как и на домашнем ubuntu-linux.
--
С уважением, Присада Сергей
kukulkan[dog]mail.ru
Дописал страницу про настройку в Linux. Вчера также отправил на opennet, хотя для отдельной заметки получилось мало. Сейчас взять можно тут:
http://www3.msiu.ru/~psa6/FreeBSD_PDA_Bluetooth.odt А вообще, для Linux можно найти больше информации, чем под *BSD. Советую дополнительно почитать на gentoo или на ubuntuforum.
Делал все также, но пока не заменил vdccm из synce-kde на synce-dccm ppp обрывалась через 15 секунд после установления сессии.
Но raki все равно не поднимается.
На КПК WM 5.01.