Open-Club.Net Проект полностью ориентирован на Open Source-подход(изучаем, настраиваем, устанавливаем и общаемся о Linux).
Мы в соц. сетях:
Главная » Статьи » Мобильный Linux [ Добавить статью ]

Подключение GPRS/EDGE в GNU/Linux
GPRS (и EDGE) -- технологии передачи данных в сетях сотовой связи стандарта TDMA и GSM. Они могут использоваться для подключения к интернету в местах, где другие способы подключения не доступны (в дороге, на даче).

Статья описывает настройку доступа для компьютера с операционной системой GNU/Linux и мобильного телефона, поддерживающего технологии Bluetooth и EDGE.

Оборудование и программное обеспечение


Использованное оборудование:
  • ноутбук Roverbook Navigator E510L
  • Bluetooth-брелок Supercom EP-9221-R (USB)
  • мобильный телефон Nokia 6021 (с поддержкой GPRS/EDGE и Bluetooth)
  • сотовая сеть оператора Мегафон-Москва

Использованное программное обеспечение:

  • операционная система Debian GNU/Linux (testing/etch), ядро 2.6.12-1-686
  • пакеты и версии: bluez-hcidump (1.28-1), bluez-pin (0.26-1), bluez-utils (2.19-1), kernel-patch-2.6-bluez (20050328-1), libbluetooth1 (2.24-1), libbluetooth1-dev (2.24-1), ppp (2.4.4b1-1)

С высокой вероятностью всё написанное ниже будет справедливо и для другого оборудования и для других версий программного обеспечения.

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


Следует убедиться, что услуга передачи данных GPRS/EDGE подключена для Вашего тарифного плана. После этого настроить в телефоне точку доступа (APN) для пакетной передачи данных.

В случае контрактного тарифа Мегафон-Москва, услуга скорее всего уже подключена. В телефоне Nokia 6021:

  • Настройки -> Настройки конфигурации -> Стд параметры конфигурации: Персон. конфиг.
  • Настройки -> Настройки конфигурации -> Настройки персональной конфиг. -> Варианты -> Добавить нов. -> Точка доступа
  • Настройки точки доступа: пакетные данные, настройка канала: Точка доступа пакетных данных: internet.msk, тип аутентификации: обычное, имя пользователя: gdata, пароль: gdata
  • Настройки -> Настройки конфигурации -> Предпочтительн. точка доступа: выбрать созданную точку доступа.

В других телефонах может быть немного иначе. Для других операторов следует использовать другую точку доступа, имя пользователя и пароль (internet.ltmsk, gdata, gdata для предоплаченных тарифов Мегафон-Москва, internet.mts.ru, mts, mts для МТС, internet.beeline.ru, beeline, beeline для Билайн).

Эти настройки можно потом внести и на компьютере, но при таком подходе эти же настройки точки доступа можно использовать и для интернет-доступа в телефоне.

В телефоне включить Bluetooth. Для Nokia: Настройки -> Подключение устройств -> Bluetooth: Включить. При необходимости в настройках Bluetooth включить режим видимости.

Настройка компьютера



Настройка Bluetooth-соединения

1) Вставить Bluetooth-модуль в USB-разъём, подгрузить необходимые модули ядра:

 # modprobe hci_usb

2) Редактировать файл /etc/bluetooth/hcid.conf. В моем случае я оставил файл практически без изменений, указав лишь свой pin_helper (об этом ниже):

 options {
autoinit yes;
security auto;
pairing multi;
pin_helper /usr/local/bin/bluepin.helper
}
device {
name "%h-%d";
class 0x3e0100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
auth enable;
encrypt enable;
}

bluepin.helper должен быть программой, печатающей строку вида "PIN:0000", где "0000" -- пароль доступа к компьютеру по Bluetooth. Для этих целей подойдет крохотный скрипт:

 #!/bin/bash
echo PIN:0000

Не забудьте вместо нулей вписать нормальный пароль и установить права на исполнение bluepin.helper.

Примечание: в новых версиях bluez-utils механизм ввода пароля изменён. Теперь пользователь Bluetooth должен использовать отдельную программу для подтверждения пароля, а общесистемные настройки пароля стали недействительны. Данное верно как минимум для bluez-utils версии 3.7, а возможно и для более ранних версий. В этом случае рекомендуется установить bluez-passkey-gnome (иконка Bluetooth появится в системном лотке после запуска программы bt-applet). В качестве альтернативы можно использовать программу passkey-agent. При попытке спарить телефон и компьютер, требуется ввести одинаковые пароли на телефоне и в появившемся окне ввода пароля.

3) После этого можно запускать службу Bluetooth (в других дистрибутивах Linux это может выглядеть немного иначе):

 # /etc/init.d/bluez-utils start

За ошибками на этом этапе можно следить через /var/log/syslog.

В более поздних версиях bluez-utils служба Bluetooth в Debian перезапускается так:

 # /etc/init.d/bluetooth restart

4) Проверить работу устройства можно, например, так:

 # hciconfig
hci0: Type: USB
BD Address: 00:11:F6:04:FB:BF ACL MTU: 120:20 SCO MTU: 64:0
UP RUNNING PSCAN ISCAN
RX bytes:965327 acl:6408 sco:0 events:2522 errors:0
TX bytes:294442 acl:3841 sco:0 commands:17 errors:0

5) Теперь необходимо найти телефон. Для этого убеждаемся, что Bluetooth на телефоне включен, и активирован режим видимости.

 # hcitool scan
Scanning ...
00:16:BC:CD:64:D2 Nokia 6021

Был обнаружен только что настроенный телефон. Все в порядке. Его "мак-адрес" запоминаем (выделяем-копируем), он еще пригодится.

6) Редактируем файл /etc/bluetooth/rfcomm.conf и вносим туда "мак-адрес" телефона:

 rfcomm0 {
bind yes;
device 00:16:BC:CD:64:D2;
channel 1;
comment "Dial-up networking gateway";
}

Могут быть доступны другие каналы Bluetooth (профили), например, профили синхронизации или обмена файлами. Однако для доступа в интернет они не нужны. Список поддерживаемых телефоном профилей можно просмотреть с помощью

 # sdptool browse <мак-адрес-телефона>

или

 #sdptool records <мак-адрес-телефона>

Для пользователей телефонов на базе Windows Mobile 6:
В шестой версии винмобайла нет профиля DUN, для таких случаев надо использовать соединение через "Bluetooth NAP Service".
Для пользователей телефонов на базе Windows Mobile 5 Smartphone:
Стек, встроенный в ОС, не возвращает информации о профилях на запрос sdptool browse. Экспериментальным путём было обнаружено, что профиль "Dial-up networking gateway" находится на пятом канале. В этом случае запись в /etc/bluetooth/rfcomm.conf выглядит так:

rfcomm0 {
bind yes;
device 00:11:22:33:44:55;
channel 5;
comment "Dial-up networking gateway on WM5 Smartphone";
}

00:11:22:33:44:55 - "мак-адрес" вашего телефона.

7) Остановите и перестартуйте службу Bluetooth (возможно, это и необязательно делать, я не знаю, -- прим. автора)

 # /etc/init.d/bluez-utils stop

Настройка соединения GPRS (EDGE)

Эта часть настройки практически неизменна и в случае, если телефон подключен к компьютеру с помощью кабеля или через инфракрасный порт. В этом случае будет необходимо заменить имя устройства (/dev/rfcomm0 в примерах).

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

1) В каталоге /etc/ppp/peers/ создаем файл с настройками нового соединения: /etc/ppp/peers/megaedge

/dev/rfcomm0 115200 # отключаем сжатие данных nobsdcomp nodeflate # команда для установки соединения connect '/usr/sbin/chat -v -f /etc/ppp/chat-megaedge' noauth # автоматическое получение сетевых настроек noipdefault usepeerdns defaultroute # необязательно debug nodetach

2) Создаем диалоговый файл /etc/ppp/chat-megaedge

TIMEOUT 5 ECHO ON ABORT '\nBUSY\r' ABORT '\nERROR\r' ABORT '\nNO ANSWER\r' ABORT '\nNO CARRIER\r' ABORT '\nNO DIALTONE\r' ABORT '\nRINGING\r\n\r\nRINGING\r' '' \rAT TIMEOUT 12 OK ATE1 OK 'AT+cgdcont=1,"IP","internet"' OK ATD*99#


Примечание: Если вы видите 'serial line is looped back', то в конце чат-скрипта не хватает строчки: CONNECT ''

Это настройки для Мегафон-Москва. Для других сотовых операторов строку "internet" нужно будет изменить (например, на "internet.mts.ru" или "internet.beeline.ru"). Возможно, некоторые модели сотовых телефонов потребуют изменить номер дозвона: вместо "*99#" попробуйте тогда "*99***1#".

в данном случае имеет значение числовой идентификатор профиля, его можно найти в свойствах профиля соединения телефона, если у вас один профиль, то его номер будет "1" иначе там может быть другое числовое значение

3) Устанавливаем соединение:

# pppd call megaedge AT OK ATE1 OK AT+cgdcont=1,"IP","internet" OK Serial connection established. using channel 2 Using interface ppp0 Connect: ppp0 <--> /dev/rfcomm0 ... (много всего опускаю) local IP address 10.206.131.173 remote IP address 10.6.6.6 primary DNS address 10.22.10.20 secondary DNS address 10.22.10.21 Script /etc/ppp/ip-up started (pid 6203) Script /etc/ppp/ip-up finished (pid 6203), status = 0x0

Соединение установлено, на телефоне Nokia в левом верхнем углу экрана загорается буква "G" в рамочке. Если в терминале нажать ^C или дать команду "killall pppd" -- соединение будет разорвано.

Если при дозвоне появляется сообщение об отсутствии /dev/rfcomm0 можно воспользоваться командой

#rfcomm bind 0 00:16:BC:CD:64:D2 1

в вашем случае ip 00:16:BC:CD:64:D2 может быть другим см.выше


4) Посмотреть параметры соединения (и количество переданных данных) можно так:

# ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:10.206.131.173 P-t-P:10.6.6.6 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:1495 errors:1 dropped:0 overruns:0 frame:0 TX packets:1467 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:981144 (958.1 KiB) TX bytes:339713 (331.7 KiB)

Количество переданных за время подключения данных указано в последней строчке. Следует однако учитывать, что сотовые операторы при подсчете GPRS/EDGE трафика используют свои методики подсчета. Так, Мегафон-Москва округляет объём переданных данных в большую сторону с точностью до 8 килобайт через каждые три минуты соединения.

# /etc/init.d/bluez-utils start

8) Теперь необходимо провести первое "сопряжение" устройств. Это можно сделать так:

 # echo ATZ > /dev/rfcomm0

или так:

 #rfcomm connect 0 00:11:22:33:44:55 1

где 0 - номер устройства rfcomm, 1 - номер канала

и ввести пароль (выдаваемый bluepin.helper) на телефоне. После этого на телефоне в списке сопряжённых устройста для устройства-компьютера установить опцию "Автоподключение без подтверждения", тогда телефон больше не будет спрашивать пароля при каждом соединении.

Примечание: после перезагрузки системы при сопряжении может возникнуть ошибка invalid exchange, при этом телефон даже не пингуется, это вызвано тем что не может выполниться скрипт выводящий пин, у меня это было из-за того что не стояли права на его выполнение, лечится

 # chmod +x /usr/local/bin/bluepin.helper

Если эта ошибка возникает с самого начала, то возможно вы не правильно указали путь к скрипту в hcid.conf

На этом настройка Bluetooth-соединения закончена.




Источник: http://ru.wikibooks.org/wiki/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_GPRS/EDGE_%D0%B2_GNU/Lin
Категория: Мобильный Linux | Добавил: Root (15.01.2009)
Просмотров: 2511 | Рейтинг: 5.0/1
Похожие материалы:
Всего комментариев: 0
ComForm">
avatar
Профиль
Поиск
Категории раздела
Участвуйте в опросе
Как часто вы смотрите ТВ?
Всего ответов: 23
Статистика

Яндекс.Метрика

Онлайн всего: 3
Гостей: 3
Пользователей: 0

Нас уже: 1302 Линуксоидов
Сегодня нас посетили следующие Линуксоиды -