Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Операционные системы -> Linux -> Linux и интернет через GPRS: теория и практика


Linux и интернет через GPRS: теория и практика

Прогресс не стоит на месте, и вот краем это коснулось и меня — под Новый год появился у меня Alcatel 535. Вполне удобная штуковина, кроме того, у него есть встроенный GPRS-модем.

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

Вот и вся предыстория.

Google знает много по теме настройки GPRS в Linux-е. Даже и если телефончик подключается через инфракрасный порт. Несколько из этих страничек даже на русском, но они являются переводами с английского.

Итак, исходные данные:

    — сотовый телефон Alcatel 535 (735);
    — инфракрасный адаптер Tekram IRmate IR-210B, подключаемый к последовательному порту компьютера;
    — собственно сам компьютер;
    — с установленным Debian GNU/Linux (или это еще был ALT Linux Master 2.2? — уже не помню. да и без разницы это).

В процессе поиска чего и как, кроме Google, сильно помогли Tux-мобильный, где собрано много информации о мобильной жизни линуксоидов, и сайт Linux-irda, c которого скачивается последняя версия пакета irda-tools.

Так как сам по себе GPRS — это такое же удаленое соединение, как и при обычном dial-up, то основная проблема, которая стояла передо мной — это настройка ИК-порта и соединения с телефоном.

Общение с модемом телефончика возможно только благодаря присутствию поддержки ядром протокола IrDA и пакету irda-tools.

Поэтому необходимо в ядре включить следующие модули (названия модулей приведу из ядра 2.6.7, так как поглядеть для ветки 2.4 представляется затруднительным):

    —irda — собственно сам модуль протокола IrDA;
    —ircomm_tty — модуль последовательного терминального соединения IrCOMM;
    —ircomm — протокол ик-соединения IrCOMM;
    —sir_dev — ядро протокола работы с адаптерами ик-портов, подключаемых к последовательному порту компьютера;
    —tekram_sir — модуль управления адаптером ик-порта Tekram IRmate IR-210B.

Компилируем соответственно ядро, чтобы данные модули были доступны. Такие модули желательно не включать в ядро статически, поскольку это вещи приходяще-уходящие, а перекомпилировать каждый раз из-за этого ядро непрактично. Кстати, так как у нас будет использоваться удаленое соединение, необходимо так же включить Point-to-Point Protocol (ppp).

Осталось подготовить irda-tools. Можно использовать дистрибутивный пакет, а можно скачать исходники новой версии и собрать бинарный пакет самостоятельно. Собирается пакет без особых проблем. Единственный момент, который тут надо упомянуть — это то, что для ядер ветки 2.6 необходимо использовать irda-tools версии 0.9.16 и выше.

Теперь осталось только запустить и настроить irattach:

    [root@host:~]# irattach /dev/ttyS1 -d tekram -s

Включаем ик-порт на телефоне и кладем его рядом (на расстоянии 5—50 см) с ик-адаптером. Через некоторое время (до 5 секунд) на адаптере начнет помаргивать зелеенький светодиод. Телефон обнаружился. Это видно так:

[root@host:~]# cat /proc/net/irda/discovery
IrLMP: Discovery log:

nickname: ALCATEL OT535, hint: 0xb125,
saddr: 0xcce64403, daddr: 0x74d747e9

Если этого не произошло, значит какой-то этап не сделан правильно. У меня такое было при переезде с ядра 2.4.18 на 2.6.3, когда, как оказалось позже, надо было обновить irda-tools, пакет которого стал называться к этому времени irda-utils.

Казалось бы все — можно настраивать почти обычное удаленое соединение (у меня подключение к BeeLine; МТС и Мегафон настраиваются аналогично, по информации с сайта в соответствующем разделе).

Файл /etc/ppp/chap-secrets:

# Secrets for authentication using CHAP
# client	server	secret		IP addresses
beeline		*       beeline		*

    /etc/ppp/peers/beeline:
   
connect "/usr/sbin/chat -e -v -f /etc/ppp/chat-beeline"
disconnect "/usr/sbin/chat -e -v -f 
           /etc/ppp/chat-disconnect-gprs"
ipparam beeline
user beeline
nodetach
noauth

/dev/ircomm0
# 38400
lock

noipdefault
defaultroute
usepeerdns

nocrtscts
local
novj
novjccomp
# nopcomp
# noaccomp
asyncmap 20a0000
escape ff

debug kdebug 255

    /etc/ppp/chat-beeline:
   
ABORT BUSY
ABORT VOICE
ABORT DELAYED
ABORT 'NO ANSWER'
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'

#SAY '\n+ resetting modem\n'
'' ATZ
OK-ATZ-OK 'ATF1'

#SAY '\n+ sending initials\n'
OK 'AT+CGATT=0'
#SAY '\n'
OK 'ATV1E1&D2&C1&K3S0=0S7=255'

#SAY '\n+ configuring APN\n'
OK 'AT+CGDCONT=1,"IP","internet.beeline.ru"'
OK 'AT+CGQREQ=1,0,0,0,0,0'
OK 'AT+CGQMIN=1,0,0,0,0,0'

#SAY '\n+ calling service\n'
TIMEOUT 60
OK 'ATDT*99***1#'

#SAY '\n+ waiting connection\n'
CONNECT ''

#SAY '\n+ starting connection\n\n'

    /etc/ppp/chat-disconnect-gprs:
   
ABORT BUSY
ABORT ERROR
ABORT 'NO DIALTONE'
TIMEOUT 30

'' '+++\c'
#SAY '\n+ sending break\n'
'' 'ATH'
#SAY '\n+ dropping data connection\n'
OK-AT-OK ATZ
#OK 'AT+CGATT=0'
#SAY '\n+ disconnecting from GPRS\n'
OK-AT-OK '\c'
#SAY '\n+ disconnected\n'

Теоретически, этого достаточно, чтобы, при включенном пакете GPRS-услуг на BeeLine, пользоваться GPRS-интернетом.

    [root@host:~]$ pppd call beeline

Однако, практика оказалась несколько не столь радужной.

Так уж получилось, что сотовые телефоны Alcatel 535 и 735 рассчитаны на работу с ик-адаптерами версии 2.0 (USB Tekram IRmate IR-410 и аналогичными), а не 1.1 (который 210). И вот… Соединение установилось, и заткнулось.

Как бы сильно того мне не хотелось, «что и как» пришлось экспериментальным путем выяснять в Windows.

Там-то это оказалось просто: чтобы телефон заработал нормально, необходимо, дважды кликнув по иконке ик-адаптера в трее, на вкладке «Режимы» найти параметр «Ограничить скорость ИК-соединения» и выставить его в 38,4 кбит/сек.

Где это указать в Linux? Недельный поиск в Google, чтение документации по IrDA, просмотр исходников — ничего не дало. Пока, однажды, на одном из форумов, посвященом мобильникам, не был дан совет выполнить перед запуском irattach такую вот команду:

[root@host:~]# echo 38400 > /proc/sys/net/irda/max_baud_rate

Посмотрев, что же там записано по умолчанию, я немножко так удивился: стояло даже не 115,2 кбит/сек, а 16 Мбит/сек!!! Вот это я понимаю, вот это скорости!

Как бы то ни было, записав в эту переменную нужное мне ограничение в 38400, случилось чудо! Все прекрасно заработало!

Вот с тех самых пор, с холодного зимнего 10-го январьского вечера 2004 года и появился дома в Linux интернет.

А чтобы не набирать эту команду каждый раз при загрузке, добавил ее скрипт /etc/init.d/irda в секцию start перед вызовом irattach.

PS: Все вышеизложенное справедливо практически для всех сотовых телефонов, за исключением той самой неполной совместимости по версии протокола IrDA.

Автор: Genie
Источник: www.nixp.ru

Ссылки по теме
OS Linux - глазами обычного пользователя
Установка двух ОС на один компьютер
Linux на работе и дома
Что такое Linux
Введение в Linux
 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.