Подключение смартфона в FreeBSD через bluetooth
Раздел:
Software /
FreeBSD
@
14.08.2009 |
Ключевые слова: freebsd смартфон bluetooth
Автор: Camelium
Источник: http://prostounix.in.ua
Недавно прикупил себе моб телефон Nokia (6120). Телефон класса смартфон, поддержка 3G, bluetooth и т.п.
Встала задача подключить его к ноутбуку, на котором установлена FreeBSD 7.1
Через "родной" дата-кабель видно только флешку, было решено для поднятия инет-соеденения использовать bluetooth
Некоторые замечания:
- APN (точка доступа) www.ab.kyivstar.net
Возможна и xl.kyivstar.net, 5 грн абонплата + 0.05/Mb (детали уточняйте у оператора)
Во FreeBSD bluetooth (usb!) используется через NetGraph. Для его работы надо пересобрать ядро с такими опциями (или подгрузить как модули):
NETGRAPH
NETGRAPH_BLUETOOTH
NETGRAPH_BLUETOOTH_BT3C
NETGRAPH_BLUETOOTH_H4
NETGRAPH_BLUETOOTH_HCI
NETGRAPH_BLUETOOTH_L2CAP
NETGRAPH_BLUETOOTH_SOCKET
NETGRAPH_BLUETOOTH_UBT
NETGRAPH_BLUETOOTH_UBTBCMFW
ну и потом втыкнуть адаптер. Должно появится в dmesg что-то похожее на
ubt0: on uhub0
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
С "железным" вопросом решенно, приступаем к настройке PPP. Файл /etc/ppp/ppp.conf приводим к такому виду
default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
ks-bluetooth:
enable force-scripts
set authname
set authkey
set phone "*99***1#"
set dial "ABORT ERROR ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" ATZ OK-ATZ-OK AT+CGDCONT=1,\\\"IP\\\",\\\"www.ab.kyivstar.net\\\" OK \\dATD\\T TIMEOUT 40 CONNECT"
set login
set timeout 600
enable dns
resolv rewrite
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add! default HISADDR
Теперь надо создать скрипт довзона, назовем его так /etc/ppp/nokia-ks.bluetooth.up
#!/bin/sh
rfcomm_pppd -a 00:1e:a4:85:cd:34 -c -C DUN -l ks-bluetooth
Финишный штрих - спариваем телефон и ноутбук, здесь 00:1e:a4:85:cd:34 ето mac телефона. Его можно узнать с помощью сканирования bluetooth-устройств
hccontrol inquiry
И так, в rc.conf добавляем строчки
# bluetooth
hcsecd_enable="YES"
ну и правим файл /etc/bluetooth/hcsecd.conf (он отвечает за спаривание). Его формат прост, вопросов возникнуть не должно :)
device {
bdaddr 00:1e:a4:85:cd:34;
name "nokia-6120";
key nokey;
pin "666111";
}
Теперь запускаем демона
/etc/rc.d/hcsecd start
Создаем соеденение (с под root)
sh /etc/ppp/nokia-ks.bluetooth.up
Проверяем
ifconfig tun0
tun0: flags=8051 metric 0 mtu 1500
inet 94.153.162.193 --> 10.6.6.6 netmask 0xffffff00
Opened by PID 2951
Для удобства делаем
chnod u+x /etc/ppp/nokia-ks.bluetooth.up
ln -s /etc/ppp/nokia-ks.bluetooth.up /usr/local/bin/inet_ks
P.S.
Выдергивание bluetooth-адаптера на моей системе вызывает падение ядра. Как лечится - незнаю
Источники:
man ppp
man bluetooth
man hcsecd.conf
man rfcomm_pppd
Это интересно:
Распечатать статью
Вернуться в раздел:
Software /
FreeBSD
Реклама: