Со временем у меня набралась куча девайсов (BT адаптер, Palm Zire 72, телефон T630,ноутбук и компы) и возникла прямо таки необходимость все это хозяйство подружить. В конце концов, это удалось, но так как память у меня дырявая, пришлось все свои действия заново переосмысливать и записывать. В принципе, всю информацию можно найти в инете, но так как что-то я делал по-своему, то, чтобы снова не забыть, излагаю все письменно. Более или менее оформленную писанину я решил выкладывать на суд общественности. Надеюсь, что это не совсем "изобретение велосипеда" и кому-нибудь поможет. По мере оформления, если это кому-то интересно, выложу статьи про жизнь остальных девайсов.
Итак, действующие лица:
- компутер с Debian
- USB Bluetooth Adapter BT009X
- Sony-Ericsson T630
- оператор МТС
Настройка bluetooth на linux
Устанавливаем пакет bluez-utils
Код: Выделить всё
arena# apt-get install bluez-utils
Правим его конфиги
Код: Выделить всё
arena# cat /etc/bluetooth/hcid.conf
options {
autoinit yes;
security auto;
pairing multi;
pin_helper /usr/bin/bluez-pin;
}
device {
name "arena";
class 0x100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}
arena# cat /etc/bluetooth/pin
1234
arena#
Собственно, здесь можно все оставить без изменений, разве что изменить имя устройства и pin
Рестартуем bluetooth
Код: Выделить всё
arena# /etc/init.d/bluez-utils restart
Настройка телефона
Установка имени девайса: Connectivity->Bluetooth->Options->Phone Name: обзываем его по-своему
Делаем его видимым для неизвестных устройств: Connectivity->Bluetooth->Options->Visibility
Включаем BT: Connectivity->Bluetooth->Turn On
Дружим телефон с компом: Connectivity->Bluetooth->My Devices->New Device
Среди найденных устройств выбираем свой комп и вводим содержимое /etc/bluetooth/pin в качестве пароля.
Определение адреса телефона
Код: Выделить всё
arena# hcitool scan
Scanning ...
00:0F:DE:31:E3:E0 myphone
Этот адрес (00:0F:DE:31:E3:E0) теперь будет часто фигурировать в настройках и командах.
Так, устройства познакомлены, можно приступать к настройке связи линукса и телефона.
Определение доступных сервисов на телефоне
Код: Выделить всё
arena# sdptool browse 00:0F:DE:31:E3:E0
Service Name: Dial-up Networking
Service RecHandle: 0x10000
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
arena#
Здесь поскипано то, что в данный момент нас не интересует.
Настройка портов /dev/rfcomm*
Код: Выделить всё
arena# cat /etc/bluetooth/rfcomm.conf
rfcomm1 {
bind yes;
device 00:0F:DE:31:E3:E0;
channel 1;
comment "Dial-up Networking";
}
arena#
Надеюсь, тут понятно, что device - это адрес нашего телефона, а channel - номер канала из sdptool browse для соответствующего сервиса. rfcomm1 и rfcomm7 выбраны просто по номерам сервисов, так мне больше нравится. Им соответствуют устройства /dev/rfcomm1 и /dev/rfcomm7
Настройка GPRS в linux
Устанавливаем pppd
Код: Выделить всё
arena# apt-get install pppd
Создаем новое соединение gprs
Код: Выделить всё
arena# cat /etc/ppp/peers/gprs
/dev/rfcomm1 115200
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs"
local
ipcp-accept-local
ipcp-accept-remote
-pap
noipdefault
defaultroute
usepeerdns
arena# cat /etc/chatscripts/gprs
ABORT "BUSY"
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
"" ATZ
"OK" "AT+CGDCONT=1,\"IP\",\"internet.mts.ru\",\"0.0.0.0\",0,0"
"OK" "ATD*99***1#"
TIMEOUT 30
CONNECT
arena# cat /etc/ppp/pap-secrets
mts * mts *
arena#
Еще нужно обнулить файл /etc/ppp/options и не забывать добавлять перевод строки в конце последних строк конфигов.
В /etc/chatscripts/gprs в строке "OK" "AT+CGDCONT=1.... единица - это CID соединения в телефоне. Если в самом телефоне GPRS не настраивалось, то оно появится автоматически с указанным CID после первого коннекта. Если же оно уже есть, то можно использовать существующую запись, или указать CID с несуществующим номером (справедливо, по крайней мере, для моего T630).
Это настройки для MTS, соответственно, для других операторов содержимое /etc/chatscripts/gprs и cat /etc/ppp/pap-secrets будет отличаться.
Еще пару слов о pppd. Так как он не умеет заменять default route, то придется делать это насильно. В Debian это можно сделать так.
Код: Выделить всё
arena# cat /etc/ppp/ip-up.d/0route
#!/bin/sh
route del default
route add default gw $5
arena# chmod 755 /etc/ppp/ip-up.d/0route
Вот теперь шлюз по умолчанию показывает куда надо.
Copyright © madskull