20061123

Bluetooth: спаривание телефона и компьютера (bluez-passkey-gnome)

Я пользуюсь Nokia 6021 и USB-модулем Bluetooth для доступа в интернет через GPRS/EDGE, когда другого доступа нет. Некоторое время назад я описал подключение GPRS/EDGE в GNU/Linux в викиучебнике.
Дополнение: подключение GPRS «без коммандной строки» (используя KPPP) хорошо описал в своём блоге SIR.

Недавно после обновления системы я заметил, что соединение между компьютером и телефоном больше не устанавливается. При попытке спарить телефон и компьютер, на телефоне запрашивался пароль, и соединение благополучно разрывалось с сообщением, что PIN неверный, хотя везде где можно в /etc/bluetooth был указан тот же самый правильный PIN.

Похоже, что причина в изменении работы bluez-utils. Поскольку Bluetooth предназначен для использования пользователями, у которых может и не быть прав на изменение общесистемных настроек, ввод пароля должен осуществляться пользовательской программой. Согласно информации в /usr/share/doc/bluez-utils/README.Debian.gz в качестве такой программы рекомендуется bluez-passkey-gnome. Итак,

Рецепт сопряжения Bluetooth-телефона и Linux-компьютера



Шаг 1: установить bluez-passkey-gnome

Например, так:

# aptitude install bluez-passkey-gnome


После этого при запуске рабочего стола в системном лотке будет появляться значок Bluetooth. Это Bluetooth Manager. Чтобы не перезапускать сессию пользователя, первый раз его можно запустить как bt-applet (например, через комбинацию клавиш Alt+F2 в Gnome).

Шаг 2: поправить /etc/bluetooth/hcid.conf

Обычно этот шаг не потребуется. На всякий случай вот конфигурация моего hcid.conf:

options {
autoinit yes;
security user;
pairing multi;
}

device {
name "jx-%d"; # это имя, под которым комьютер будет виден на телефоне
class 0x3e0100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}


Шаг 3: спарить устройства

Я обычно это делаю такой командой:
# echo ATZ > /dev/rfcomm0

но можно проделать то же самое уже и при нормальном установлении GPRS-соединения.

Когда на телефоне появиться запрос, ввести на нём пароль. После этого иконка Bluetooth в системном лотке начнёт мигать. Нажмите на нее, введите тот же пароль в появившемся диалоговом окне. Чтобы не повторять эту операцию каждый раз, в настройках Bluetooth на телефоне откройте список сопряжённых устройств и разрешите автоподключение без подтверждения для только что добавленного устройства.

Такой способ работает у меня с bluez-utils 3.7-1 и bluez-passkey-gnome 0.5-2.