Я уже писал про использование телефона Nokia E5 в качестве модема, и даже приводил настройки интернета для черногорского оператора M-tel. Все это работает отлично, если бы не одно НО. Длинна USB кабеля для Nokia E5 меньше 10 сантиметров, и уж очень неудобно его крепить к ноутбуку. Телефон постоянно свешивается, дергается; связь может теряться в зоне неуверенного приема. И я решил попробовать использовать телефон в качестве модема при соединении через Bluetooth.
Оказалось, все делается очень просто. Сначала надо сделать так, чтобы телефон и ноутбук снюхались по Bluetooth. Это делается очень просто — на телефоне разрешается соединение Bluetooth для всех, и с помощью апплета gnome-bluetooth находится телефон среди доступных. Далее следует обмен пин-кодами и вуаля, две железки снюхались.
Затем надо посмотреть, какой канал модема используется в телефоне. Ищем адрес телефона:
notebook:~ # hcitool scan
Scanning ...
04:A8:2A:93:CE:48 Nokia E5
Далее выясняем номер канала модема:
# sdptool browse 04:A8:2A:93:CE:48
…
Service Name: Dial-Up Networking
Service RecHandle: 0x10009
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
…
В моем случае это Channel 5. Теперь надо настроить модем:
# cat /etc/bluetooth/rfcomm.conf
#
# RFCOMM configuration file.
#
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 04:A8:2A:93:CE:48;
# RFCOMM channel for the connection
channel 5;
# Description of the connection
comment "Nokia E5 Bluetooth Modem";
}
Номер канала в настройках модема должен совпадать с номером обнаруженного канала, иначе модем работать не будет. После этого надо создать конфигурационный файл для «звонилки». Привожу свой конфиг для черногорского оператора T-mobile:
# cat /etc/wvdial.conf [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","tmcg-wnw" Modem = /dev/rfcomm0 Phone = *99# Idle Seconds = 30000 Modem Type = USB Modem Stupid Mode = 1 Compuserve = 0 Baud = 460800 Auto DNS = on New PPPD = Yes Dial Command = ATDT Ask Password = 0 ISDN = 0 Password = 38167 Username = 38167
Ну и последний скрипт запуска «звонилки»:
# cat start_internet_via_bluetooth.sh #!/bin/sh rfcomm release 0 # разрываем текущую связь устройства с модемом rfcomm bind 0 04:A8:2A:93:CE:48 5 # привязываем модем телефона на 5-м канале к устройству rfcomm0 wvdial # набираем номер и подключаемся к интернету
Вот теперь телефону не обязательно находиться рядом с ноутбуком. Его можно держать, например, на балконе (где уровень сигнала выше чем в помещении). Главное, чтобы ноутбук видел телефон, а телефон видел сеть. Скорости передачи данных более чем достаточно для голосовой связи по SIP или Skype.
