Ubuntu 8.04+bluetooth+phone

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Настройка телефона и системы

Первым делом возьмем свой телефон и включим на нем bluetooth, а сам телефон сделаем доступным (видимым) для обнаружения. На разных моделях телефонов это включается по разному - уж со своим-то телефоном, думаю, разберетесь. Важное уточнение - если уже спаривали (хм... слово-то какое душевное) свой телефон с компьютером (например, под оффтопиком) - удалите старое сопряжение, иначе ничего нет получится. Я сам в первый раз напоролся, при написании данного руководства забыл упомянуть и вот пожалуйста - люди стали наступать на те же грабли.

Теперь переходим к компьютеру. Сначала необходимо убедится, что установлены все необходимые для работы с bluetooth пакеты. Для оригинальной Убунты это уже неактуально - оно есть из коробки, а вот для некоторых сборок нужно убедиться (Например для Ubuntu Студио пришлось ставить пакеты дополнительно). Для Ubuntu (с Гномом, соотвественно) это

  bluez-gnome bluez-utils

Иногда может еще потребоваться пакет

  bluez-passkey-gnome

В каких именно случаях, сказать не могу - у самого проблем не было, но некоторые имели проблемы с сопряжением, которые решались установкой данного пакета. Для КДЕ есть свои пакеты (любители данного DM думаю сами разберутся. В любом случае поиск в Адепте по слову blue им поможет - только читайте внимательно - далеко не все из найденного нужно устанавливать). Для любителей разных WM подойдут гномовские пакеты.

Первоначальная настройка

Теперь мы подключаем к компьютеру bluetooth-модуль. Тут же убедимся, что телефон нам стал доступен. Заодно начнем получать необходимую для дальнейших настроек информацию. В консоли введем следующую строку:


 hcitool scan

Получим вывод что-то типа:

 Scanning ...
 00:13:70:E1:D6:F3       Nokia 6230

Замечательно - получилось - телефон виден. Выделенные цифры и буквы - это адресок, по которому в дальнейшем будем обращаться к телефону (у Вас - свой, конечно же). Ну а название - оно название и есть. По нему можно только убедиться, что мы нашли свой телефон, а не соседский. Также проверяем, на каком канале у нас сервис DUN (Dial-up networking Gateway), для чего вводим:


 sdptool browse 00:13:70:E1:D6:F3

Будет выведен список доступных сервисов, в нем ищем раздел:

 Service Name: Dial-up networking Gateway

В этом разделе проверяем строку:

 Channel: 1

Как правило, это первый канал. Если иначе, учитываем в следующем шаге (когда будем прописывать канал в rfcomm.conf) Консоль отнюдь не закрываем - дальше пригодится, хотя бы для того, чтобы не забивать вручную полученный адрес нашего телефона.

Далее начинаем править конфиги. Первым делом открываем (с рутовыми правами, естественно) файл /etc/bluetooth/rfcomm.conf. Для чего опять же в консоли пишем:


 sudo gedit /etc/bluetooth/rfcomm.conf

(вместо gedit - можно вписать Ваш любимый текстовый редактор). В открывшемся файле раскомментируем некоторые строки и кое что подправим. Должно получится примерно так:

 rfcomm0 {
 bind yes;
 device 00:13:70:E1:D6:F3;
 channel 1;
 comment "Dial-up networking gateway";
 }

bind yes; - разрешаем биндиться автоматически (впоследствии меньше телодвижений) device 00:13:70:E1:D6:F3; - тут, естественно, заменяем на свой адрес (см. выше) Остальные две приведенные строки просто раскомментируйте (если кто совсем новичок и не знает, что это значит - уберите значок # перед этими строками) Файл закрываем, сохранившись.

Снова обращаемся к консоли и пишем:


 sudo hcitool inq 00:13:70:E1:D6:F3

Естественно, адрес тут пишем свой (см. выше). Вывод будет типа такого:

 Inquiring ...
       00:13:70:E1:D6:F3       clock offset: 0x5302    class: 0x520204

Тут нам важно

 class: 0x520204

- дальше понадобится Снова правим конфиги. В консоли:


 sudo gedit /etc/bluetooth/hcid.conf

Должны быть раскомментированы и отредактированы следующие строки:

 options {
 autoinit yes;
 security auto;
 pairing multi;
 passkey "1234";
 }
 device {
 name "%h-%d";
 class 0x520204;
 iscan enable; pscan enable;
 lm accept;
 lp rswitch,hold,sniff,park;
 }
  

Первая секция позволяем нам избежать лишних телодвижений при подключении - все будет аутоматычно. Во второй секции особое внимание обращаем на строку class - должно быть то же, что нам выдала команда выше (помните - я предупреждал). Снова закрываем, сохраняясь.

Теперь, чтобы у нас все этого дело заработало, необходимо рестартовать bluetooth. Снова обращаемся к консоли:


 sudo /etc/init.d/bluetooth restart


Ну и до кучи


 sudo hciconfig hci0 piscan


Все готово, чтобы сделать сопряжение телефона и компьютера.


Возвращаемся к телефону и включаем поиск новых устройств. Тут порядок действий зависит от конкретной модели телефона. Для моей Нокии: войти в "Меню ВТ", подменю "Сопряженные устройства", жмем "Новое". Телефон находит комп, делаем сопряжение. Запросит пароль - дадим ему пароль (см. выше в hcid.conf - он у нас прописан - 1234). Можно тут же в настройках нового сопряжения разрешить подключение без запроса, чтобы при каждом соединении кнопки на телефоне не жать - я очень ленив.


Теперь возвращаемся к компьютеру. Компьютер и телефон сопряжены и могут работать в связке. Но что нам это дает? Пока не особо много, кроме "чувства глубокого удовлетворения" (с) Брежнев.


Настройка GPRS

Можно для начала настроить интернет через GPRS. Конечно, если у Вас уже есть толстый канал в интернет, этот раздел можно пропустить. У меня, к примеру, это - единственная возможность выйти в сеть (даже стационарный домашний телефон для меня поставить - проблема - живу в неудачном месте). Да и для лаптопов эта возможность не помешает.

Есть, конечно, много ГУИшных приблуд для этого. Но мне, к примеру, гораздо проще сделать это через консоль. Для чего набираем в консоли:


 sudo pppconfig

откроется симпатичная текстовая утилитка - отвечам на вопросы." Create Создать подключение"-ОК, далее она спрашивает про название нового соединения. Я оставляю по умолчанию "provider" (так проще - далее скажу почему) - ОК, "Настройка имён серверов (DNS)" - тут нужно выбрать "Dynamic Использовать динамически получаемые адреса DNS" (поставить напротив него звездочку) - ОК, "Метод аутентификации для provider" - оставляем " PAP Протокол аутентификации узла (PAP)" - ОК, "Имя пользователя" - тут пишем то, что нам предлагает оператор сотовой связи (Для МТС - так и есть - mtc. Для остальных - узнаете у своего оператора. Если логин и пароль оператор не требует - тут может быть сложнее. Можно попробовать написать произвольные - оператор их, по идее, должен проигнорировать, а вот с пустыми полями может и не получиться - но тут я не уверен - сам не проверял, но люди так советуют). "Пароль" - опять же к оператору. Для МТС, Вы не поверите - опять же mtc "Скорость" - оставляем предложенную (она же максимальная из предлагаемых) "Импульсный или тональный набор" - без изменений "Номер телефона" - тут, как правило *99***1# для всех телефонов и операторов. "Укажите метод настройки модема " - на корню пресекаем попытку автоматического определения и отвечаем "нет", в ответ на что выскакивает: "Ввести порт модема вручную" - тут мы вместо предложенного /dev/ttyS1 прописываем /dev/rfcomm0 - мы ведь именно его настраивали и прописывали (см. выше) ОК - и вот оно - результирующее окно "Параметры provider". Тут мы проверяем, все ли правильно прописали, без опечаток. Если все хорошо - " Finished Сохранить настройки и вернуться в главное меню". В расширенные настройки не лезем, ибо (по крайней мере так всегда было) данная утилитка не умеет грамотно прописывать строку инициализации - лучше уж мы это вручную сделаем:


 sudo gedit /etc/chatscripts/provider

Находим строку:

  ATZ

и сразу же после нее добавляем строку:

  AT+CGDCONT=1,"IP","internet.mts.ru"

В данном примере я привел строку инициализации для МТС. Для других операторов она, естественно, другая - интересуйтесь у оператора.


Теперь у нас все готово для выхода в интернет (если, конечно, в самом телефоне правильные настройки GPRS и данная услуга подключена - за тем и другим обращайтесь к оператору).

Вот и пришло время сказать, почему я настаивал на том, чтобы название соединения оставить provider. Достаточно набрать в консоли:


 pon

и соединение состоится. Если же Вы выбрали другое название, например gprs, то и набирать надо гораздо больше:


 pon gprs

что меня напрягло бы. А для особо ленивых можно просто забацать кнопку запуска на рабочем столе или (лучше) на панели с той же командой - тогда и писать не нужно ничего.

Для выключения служит обратная команда:

poff

(тут про название соединения не забывайте, если оно не provider).