Настройка Bluetooth : мобильный телефон
Материал из Википедии - свободной энциклопедии.
| Содержание |
|
|
Часть первая
Настройка bluetooth-адаптера
Устанавливаем пакет bluez-utils
root# apt-get install bluez-utils
Правим его конфиги
root# cat /etc/bluetooth/hcid.conf
options {
autoinit yes;
security auto;
pairing multi;
}
device {
name "LLlyPuK.ua";
class 0x3e0100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}
Рестартуем bluetooth
root# /etc/init.d/bluez-utils restart
Сединяем телефон с компьютером
В телефоне смотрим имя телефона в настройках bluetooth, также ставим его на обнаружение.
Определение адреса телефона
root:~# hcitool scan
Scanning ...
00:16:75:B4:FE:86 LLlyPuK.ua
Этот адрес (00:16:75:B4:FE:86) теперь будет часто фигурировать в настройках и командах.
Определение доступных сервисов на телефоне
root:~# sdptool browse 00:16:75:B4:FE:86
Browsing 00:16:75:B4:FE:86 ...
Service Name: Dial-up networking Gateway
Service Description: Dial-up networking Gateway
Service Provider: Moto-Symbian
Service RecHandle: 0x10001
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x7275
encoding: 0x6a
base_offset: 0xc800
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
Здесь Выводится инфа о сервисах поддерживаемых телефоном но нас интересует Service Name: Dial-up networking Gateway а имменно что мспользуется Channel: 1
Настройка портов /dev/rfcomm*
root# cat /etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 00:16:75:B4:FE:86;
channel 1;
comment "Dial-up Networking";
}
device - это адрес нашего телефона, а channel - номер канала из sdptool browse для соответствующего сервиса. rfcomm0 и rfcomm7 выбраны просто по номерам сервисов им соответствуют устройства /dev/rfcomm0.
Если устройства /dev/rfcomm0 нет то его можно создать
rfcomm bind 0 00:16:75:B4:FE:86 1
Настройка соединения и Wvdial
Устанавливаем pppd и wvdial
root# apt-get install pppd wvdial
Теперь настраиваем wvdial
cat /etc/wvdial.conf [Dialer Defaults] modem = /dev/rfcomm0 Dial Command = ATD Phone = *99# Username = user Password = pas New PPPD = yes Init1 = ATH Init2 = ATE1 Init3 = AT+CGDCONT=1, "IP", "internet"
где user-имя пользователя, pas-пароль пользователя, "internet"-АПН, все эти данные берутся у мобильного оператора. В данном случае настройки для мобильного оператора Life:) Украина.
Запускаем wvdial и наслождаемся интернетом.
root:~# wvdial --> WvDial: Internet dialer version 1.56 --> Cannot get information for serial port. --> Initializing modem. --> Sending: ATH ATH OK --> Sending: ATE1 ATE1 OK --> Sending: AT+CGDCONT=1, "IP", "internet" AT+CGDCONT=1, "IP", "internet" OK --> Modem initialized. --> Sending: ATD*99# --> Waiting for carrier. ATD*99# CONNECT --> Carrier detected. Waiting for prompt. --> Don't know what to do! Starting pppd and hoping for the best. --> Starting pppd at Sat Jan 12 19:37:53 2008 --> Pid of pppd: 3383 --> Using interface ppp0 --> local IP address 91.145.255.136 --> remote IP address 192.168.100.101 --> primary DNS address 212.58.160.33 --> secondary DNS address 212.58.160.34
Часть вторая:если у вас все настроено, но не работает из-за обновления bluez-utils
1. Поставить пакет libdbus-1-dev, если не стоит
2. Зайти в в /usr/share/doc/bluez-utils/examples/ и там распаковать файлик passkey-agent.c.gz, комманда gzip -d ./passkey-agent.c.gz
3. выполнить комманду make, должно все собраться и в этом же каталоге появится файлик выполняемый passkey-agent,
4. Запускаем его в формате ./passkey-agent --default <pin> (например вместо pin пишем 1224), оно висит, но это нормально. (Кстати все делается под рутом) //Alice коммент: этот пункт необязательно под рутом
5. В другом приложении выполняем например пересылку файла, в момент запроса пина на мобиле, вводим 1234, все готово, мобили признается компом... ну и можем в мобиле поставить что на комп не спрашивать разрешения подключения.. 6. Для того чтобы с мобилы можно было передавать данные на комп, запускаем из под рута: hciconfig hci0 piscan, все мобила видит комп...
Если у вас в дистре вдруг нет /usr/share/doc/bluez-utils/examples/* (у меня в mandriva не оказалось), тогда берите скомпиленный файлик здесь:
http://lafox.net/files/passkey_agent
PS: За подсказку по passkey-agent-у, спасибо Nexus-у и Uukrul-у

