Подключаемся к Интернет через модем в сотовом телефоне | Версия для печати |
название статьи: Подключаемся к Интернет через модем в сотовом телефоне #!/bin/bash exec /usr/sbin/pppd /dev/ttyS1 57600 lock nocrtscts nocdtrcts noipdefault \ defaultroute 0.0.0.0:0.0.0.0 user beeline connect /etc/ppp/dial /dev/ttyS1 - телефон подключен через COM2; 57600 - модем в моем телефоне на 56К; lock - монопольная работа с портом; nocrtscts, nocdtrcts - не использовать в работе управляющие сигналы порта (у меня ведь используются только две линии); noipdefault - ипишник мне присвоит провайдер; defaultroute 0.0.0.0:0.0.0.0 - маршрут по умолчанию тоже; user beeline - логин, пароль находится в pap-secrets (мой провайдер использует PAP-аутентификацию) connect /etc/ppp/dial - для установления соединения с провайдером использовать скрипт /etc/ppp/dial. 2) Содержимое /etc/ppp/pap-secrets: # пользователь сервер пароль beeline 192.168.17.1 beeline ИП сервера я узнал у провайдера. Скорее всего он также имеется в настройках профиля WAP в телефоне. Вместо ИП сервера наверное можно поставить и *. 3) /etc/ppp/dial: #!/bin/bash exec /usr/sbin/chat -v -f /etc/ppp/connect Программа chat - это "звонилка", обычно поставляется вместе с pppd и используется для установления низкоуровневого соединения между модемами (aka handshake). Скрипт, управляющий ее работой, называется /etc/ppp/connect. В нем как раз и прописываются команды управления модемом (или AT-команды). 4) Скрипт /etc/ppp/connect: ABORT BUSY ABORT 'NO CARRIER' "" ATZ OK AT+CGDCONT=1,"IP","internet.beeline.ru" OK ATDT*99***1# CONNECT "" Здесь вроде все понятно. Строку инициализации и номер телефона я узнал у провайдера, набор тоновый. Теперь надо дать права на выполнение скриптам ppp-on и dial и скомандовать /etc/ppp/ppp-on. Через некоторое время соединение должно установиться и появится интерфейс ppp0, это можно проверить при помощи ifconfig. Если ничего не получилось - смотрите /var/log/messages на предмет ошибок. 5. Послесловие. Конечно скрипт /etc/ppp/connect довольно прост, но я и не стремился сделать из него ЦУП. Для меня достаточно и этого, для кого нет - у вас широкое поле для деятельности. Все эти скрипты необязательно называть так, как они названы и располагать там, где они расположены. Если вы измените пути и/или названия - не забудьте просто все поправить в соотв. местах. Ну и о впечатлениях. На данный момент в Омске эта услуга находится в тестовой эксплуатации и может поэтому качество связи оставляет желать много-много лучшего. Примлемое качество связи приходится на утренние часы - примерно с 4х до 8ми утра. Плюсы этого способа выхода в интернет - мобильность (достаточно носить с собой кабель в моем случае), простота оплаты и обслуживания, быстрый дозвон, никогда не бывает занято. Минусы - есть подозрение, что при вводе этой услуги в штатную эксплуатацию качество связи не сильно улучшится в силу ограничений, накладываемых стандартами GSM и GPRS. В любом случае скорее всего для этого вида связи будут характерны неожиданные замирания передачи. 6. Примечания. Недавно приобрел новый аппарат Motorola C333, у которого интерфейс организован по шине USB. Поиски в Сети снова ничего особенно не дали - везде предлагали какой-то непонятный патч к ядру, который только и делал, что в файле acm.c повышал на единицу значение одной переменной. Мне он не помог. Однако я не терял надежды и ждал ядра 2.4.23 - как оказалось не зря. Достаточно было собрать его с поддержкой USB-модема (USB-support -> USB Modem (CDC ACM) support) модулем и мой модем в телефоне "увиделся" как /dev/ttyACM0 и именно это устройство надо "подсовывать" pppd вместо /dev/ttyS1 (в моем случае). Файл устройства можно создать и самостоятельно при помощи команды mknod: # mknod /dev/ttyACM0 c 166 0Если вы планируете подключать к компьютеру больше одного модема, то просто увеличивайте минор (0 в этом примере) на 1 для каждого нового устройства, всего устройств может быть 255. Проблема здесь может быть в следующем - устройства по файлам /dev/ttyACMx распределяются по очередности подключения к компьютеру, какой-либо привязки между файлом и устройством в общем случае нет. Для телефона Motorola V600 и соединения через USB-кабель исправлять ничего не потребовалось - сказанное в этом пункте работает как есть. То же самое и в случае ядер 2.6.х (только опция про USB Modem в конфиге ядра переехала). 7. Дополнение. Что касается использования мобильного телефона Nokia 6100. При использовании комуникационного кабеля MA-8620E (USB Data Cable for Nokia 7210, 6610, 7250, 5100, 6800, 7250i, 3100, 6220 - данный кабель представляет собой конвертор USB-to-Serial на читсете PL2303), необходима поддрежка USB Serial Converter suport. В ядре, по меньшей мере, должны быть включены следующие опции. Надеюсь у вас USB и так работает. Работоспособность проверялась на ядре 2.4.22. CONFIG_USB_SERIAL=m # USB Serial Converter Support CONFIG_USB_SERIAL_GENERIC=y # USB Generic Serial Driver CONFIG_USB_SERIAL_PL2303=m # USB Prolific Sigle Port Serial DriverПримечание: Prolific PL2303 Driver Этот драйвер поддерживает устройства, которые построенны на Prolific PL2303 чипсете. Он включает в себя ряд конверторов USB-портов в последовательные COM-порты и USB GPS устройства.Также поддерживает работу с устройствами Aten (the UC-232) и IO-Data.После подключения кабеля cмотрим поднялись ли драйверы: #lsmod pl2303 11864 1 usbserial 18876 0 [pl2303] uhci 24496 0 (unused) usbcore 58400 1 [pl2303 usbserial hid usbmouse uhci]Проверяем есть ли у нас устройства: #ls -l /dev/ttyUS* crw-r----- 1 root uucp 188, 0 2004-04-12 12:29 /dev/ttyUSB0 crw-rw---- 1 root uucp 188, 1 2001-03-26 01:04 /dev/ttyUSB1Если таковых нет создаем: #mknod /dev/ttyUSB0 c 188 0 #mknod /dev/ttyUSB1 c 188 1Создаем /etc/ppp/GPRS ABORT "BUZY" ABORT "NO CARRIER" "" "AT" "OK" "AT&FV1&D2&S0&C1&C1S0=0+CVHU=1" "OK" 'AT+CGDCONT=1, "IP", "internet.mts.ru"' "OK" "ATS7=60+CBST=,,1;+DS=1,0;&K3" "OK" "ATD*99#" TIMEOUT 30 CONNECTСоздаем /etc/ppp/options debug /dev/ttyUSB0 connect '/usr/sbin/chat -v -f /etc/ppp/GPRS' local ipcp-accept-local ipcp-accept-remote -pap noipdefault defaultroute 8. Некоторые ссылки по теме. Про GSM, GPRS и много чего еще: 9. Автор. San АНДРЕЕВ 9.1. Дополнение Andrew E. Kuznetsoff aka Разгильдяй на обкуренной кошке Обоснованные исправления и дополнения вэлкам. Опубликовал: San АНДРЕЕВ |