Я уже писал про использование телефона 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.