Ubuntu 8.04+bluetooth+phone
Настройка телефона и системы
Первым делом возьмем свой телефон и включим на нем 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).