|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Шелезяки
—> КПК + FreeBSD
КПК + FreeBSD - > Inet
Автор: fr33man.
О чем эта статья?
Я написал эту статью после трех дней мучения и головоломания. Идея была проста: у меня был КПК(HP hx4700) и два компьютера, один из которых
домашний(под управлением ОС Linux), а второй — роутер(FreeBSD 5.4). Причем домашний выходил в инет через роутер. Поэтому было решено подружить
КПК и фрю. После часа изучения рунета я понял, что связывать буду через bluetooth, соглачитесь — не очень приятно тоскать с собой крэдл ;) .
А с помощью bluetooth можно передвигаться, не завися от проводов. Пришлось смотаться в ближайшую компьютерную лавочку и купить USB-bluetooth(~10$).
Можно было приступать к спариванию устройств! :)
Подключения USB-bluetooth к роутеру(FreeBSD).
Работу с bluetooth-устройствами во FreeBSD осуществляет модуль ng_ubt, который, кстати, написан нашим соотечественником Максимом Евменкиным.
За что ему — огроменый респект! Итак, перед подключением устройства нужно погрузить этот модуль:
После этого можно смело вставлять bluetooth адаптор в usb-порт. Если посмотреть /var/log/messages, то там будут записи типа таких:
# tail /var/log/messages
Feb 4 12:46:57 fr33man kernel: ubt0: SiW SiW, rev 1.10/15.00, addr 2
Feb 4 12:46:57 fr33man kernel: ubt0: SiW SiW, rev 1.10/15.00, addr 2
Feb 4 12:46:57 fr33man kernel: ubt0: Interface 0 endpoints:
interrupt=0x81, bulk-in=0x82, bulk-out=0x2
Feb 4 12:46:57 fr33man kernel: ubt0: Interface 1 (alt.config 5)
endpoints: isoc-in=0x83, isoc-out=0x3;
wMaxPacketSize=49; nframes=6, buffer size=294
| Если у Вас примерно такие же записи, то все хорошо. Девайс определился как ubt0. теперь нам нужно активировать интерфейс, чтобы мы смогли работать с bluetooth-устройствами:
# cp /usr/share/examples/netgraph/bluetooth/rc.bluetooth \
? /etc/rc.bluetooth
# chmod 555 /etc/rc.bluetooth
# /etc/rc.bluetooth start ubt0
BD_ADDR: 00:0b:0d:08:93:f2
Features: 0xff 0xff 0x5 0x38 0x18 0x18 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>
< Power control>
Max. ACL packet size: 120 bytes
Number of ACL packets: 20
Max. SCO packet size: 0 bytes
Number of SCO packets: 0
| Теперь наш девайс подключен и работает, давайте попробуем найти наш КПК:
# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 08:00:37:4e:5d:c6
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 0x2
Page Scan Mode: 00
Class: 32:01:10
Clock offset: 0x10f0
Inquiry complete. Status: No error [00]
| Как можно увидеть адрес КПК — 08:00:37:4e:5d:c6. Чтобы не запоминать этот номер я тут же занес его в /etc/bluetooth/hosts:
# echo 08:00:37:4e:5d:c6 kpk >> /etc/bluetooth/hosts
| Если еще раз просканировать сеть, то мы получим немного другой результат:
# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result # 0
BD_ADDR: kpk
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 0x2
Page Scan Mode: 00
Class: 32:01:10
Clock offset: 0x10f0
Inquiry complete. Status: No error [00]
| Теперь вместо адреса устройства пишется его имя.
Настройка ppp-соединения.
С помощью ppp, мы сможем соеденить КПК и роутер в сеть и соответственно открыть КПК доступ в инет.
Для начала запустим сервер sdpd, который нужен для того, чтобы КПК нашел наши службы:
# sdpd
# ps ax | grep sdpd
16654 ?? Is 0:00.36 sdpd
| Теперь можно перейти к составлению конфига /etc/ppp/ppp.conf:
rfcomm-server:
set timeout 0
set lqrperiod 10
enable lqr
accept lqr
set ifaddr 172.16.0.1 172.16.0.10 255.255.255.0
enable force-scripts
set dial "CLIENT CLIENTSERVER"
accept dns
disable pap
deny pap
disable chap
deny chap
| Такой простенький конфиг. Обо всех опциях можно почитать в мане. Я остановлюсь только на одной:
set ifaddr. Первый аргумент — ip-адрес шлюза, второй — адрес, который будет выдан клиенту, ну и третий — маска сети.
После этого запускаем наш сервер:
# rfcomm_pppd -s -C 7 -l rfcomm-server
# ps ax | grep ppp
19233 ?? Is 0:00.00 rfcomm_pppd -s -C 7 -l rfcomm-server
| Опции запуска очень просты и Вы сможете прочесть о них в мане(rfcomm_pppd).
OBEX
Что такое OBEX? Это протокол обмена файлами между портативными устройствами. Программа — obexapp. Ставить будем из портов:
# cd /usr/ports/comms/obexapp
# make install clean
| Теперь будем настраивать. По сути подправить нужно только один файл /etc/bluetooth/hcsecd:
device {
bdaddr 00:00:00:00:00:00;
name "Default entry";
key nokey;
pin nopin;
}
device {
bdaddr 08:00:37:4e:5d:c6;
name "kpk";
key nokey;
pin "12345";
}
| Конфиг создан, теперь создадим директорию, для закачки фалов, а так же запустим необходимые демоны:
# mkdir /var/spool/obex
# hcsecd
# obexapp -s -C 1
| Теперь все работает и можно переходить к тестированию. Но так как моей задачей было выпустить КПК в инет, то нужно настроить нат.
Это будет Вашим Домашним заданием. ;)
Тестирование.
К сожалению предоставить скрины с КПК я не с могу по техническим причинам, поэтому смотреть будем только со стороны сервера.
Для начала подключитесь к сети на КПК. Когда Вас попросят ввести имя пользователя и пароль — ничего не вводите, а просто нажмите ОК.
После этого Вы подключитесь к сети. Давайте посмотрим что произошло на сервере:
# tail /var/log/ppp.log
Feb 5 15:41:19 fr33man ppp[34325]: Phase: Using interface: tun0
Feb 5 15:41:19 fr33man ppp[34325]: Phase: deflink: Created in closed state
Feb 5 15:41:19 fr33man ppp[34325]: Phase: PPP Started (direct mode).
Feb 5 15:41:19 fr33man ppp[34325]: Phase: bundle: Establish
Feb 5 15:41:19 fr33man ppp[34325]: Phase: deflink: closed - > opening
Feb 5 15:41:19 fr33man ppp[34325]: Phase: deflink: Connected!
Feb 5 15:41:19 fr33man ppp[34325]: Phase: deflink: opening - > dial
Feb 5 15:41:20 fr33man ppp[34325]: Phase: deflink: dial - > carrier
Feb 5 15:41:20 fr33man ppp[34325]: Phase: deflink: carrier - > login
Feb 5 15:41:20 fr33man ppp[34325]: Phase: deflink: login - > lcp
Feb 5 15:41:20 fr33man ppp[34325]: Phase: deflink: lcp - > open
Feb 5 15:41:20 fr33man ppp[34325]: Phase: bundle: Network
# ifconfig tun0
tun0: flags=8051< UP,POINTOPOINT,RUNNING,MULTICAST > mtu 1500
inet6 fe80::240:f4ff:fe7e:aea4%tun0 prefixlen 64 scopeid 0x9
inet 172.16.0.1 -- > 172.16.0.10 netmask 0xffffff00
Opened by PID 34325
| Как видно все работает. Теперь проверим как передаются файлы. Если Вы на КПК попробуете передать файл на сервер, то он будет передан без ошибок,
НО на сервере не вылетит никакого предупреждающего сообщения о приеме файла. И переданный файл можно найти в /var/spool/obex.
А давайте соеденимся по протоколу OBEX с КПК:
# obexapp -a kpk -C OPUSH
obex> put /etc/passwd
Success, response: OK, Success (0x20)
obex> di
Success, response: OK, Success (0x20)
|   Мы передали файл /etc/passwd. Он сохранился в папке My Documents на КПК.
 
Заключение.
Я брал информацию из многих источников, в том числе и английских. Где об этом можно почитать: freebsd.org(handbook), google.com, man.
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=4&t=5173.
размещено: 2006-11-08,
последнее обновление: 2006-11-08,
автор: fr33man
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
|
Комментарии пользователей [7 шт.]