FreeSource: AlexandrPetukhov/PhoneModem

Сия статья была найдена на просторах интернета некоторое время назад.

Автор: Сидоров Иван Николаевич (http://f1.front.ru) – Соединимся без рук!

Привожу с небольшими изменениями, сделанными для моего телефона.

Соединимся без рук!

Как я прикручивал к Линуксу Моторолу.

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

Я Линукс выбрал не для учебы, а для работы. Потому что это дешевая среда для Intel-совместимых процессоров. (Сразу скажу, что до сих пор работал не только с Windows, но и с Макинтошами. Могу сравнивать.)

Купил IRu. Есть такие ноутбуки. Вполне приличные для своих денег.

На машине уже стоял Alt Linux. Windows XP я тоже туда поставил. И начали у меня жить две системы. К большому моему сожалению, подсоединить к Linux сотовый через внешний инфракрасный порт для доступа в Интернет мне долгое время не удавалось. Еще к большему сожалению, среди доступных мне дистрибутивов (Suse 9.1, Mandrake 10.0, Red Hat, ASPLinux 9.2) дистрибутива, могущего установиться на IRu не нашлось. ALTLinux Compact и Junior устанавлвались легко. Еще Knoppix работал. Но, сами понимаете, это так для пробы.

Может мне и можно было где-то там внутри поковыряться и наладить. Но зачем, если ALTLinux легко встает, прекрасно русифицирован, работает устойчивее Windows (но хуже apple), поддерживает как-то через Интернет обновления и доступен для понимания.

Поэтому в один вечер я решил все же телефон к ноутбуку с ALTLinux прикрутить через USB порт.

К моей радости безо всяких проблем с сетью соединился мой старенький Motorola V66i. Вся премудрость и хитрость соединения заключалась в том, что мне пришлось купить к нему дорогой USB-кабель и потыкать по очереди в меню выбора порта, а потом в опрос модема. После десяти минут двиганья мышью метод научного тыка свои результаты дал – я попал в порт /dev/ttyUSB0 и на этом эксперименты завершил.

Прикольно, что с Windows мой Motorola V66i так и не соединился. Зато с Windows соединился Nokia 6610 через внешний инфракрасный порт. Сразу замечу, что через кабель Nokia так под Windows и не завелся, до тех пор пока я не купил кабель DKU-5. С ним еще как-то Nokia и Windows между собой договариваются.

Но наступил день другой. Хуже.

Я приобрел Motorola C380. С 10 классом GPRS и mini-USB снизу. Подсоединил его к ноутбуку. Начал тыкать мышкой в меню. Но методика перебора вариантов результаты не дала.

Дальше я сделал дурацкую ошибку – я стал читать форумы, маны и другую документацию. Я затратил как минимум две недели на переписывание, копирование и вставку каких-то непонятных строк кода в файлы, которые закапывались среди веток файловой системы. В конечном итоге я запутался что и куда писать. Но сделал ряд важных открытий:

# В Линуксе мало кто разбирается. В основном люди блещут отдельными знаниями на уровне интуиции или зазубривания

# Множество интернет-страничек созданы времено помешанными на своей уникальности. Они только засоряют пространство Интернет дублями и клонами информации

# Документация устаревает очень быстро. Она отстает примерно на пол-года от программистов. А переводы на русский отстают еще на пол-года. Поэтому читать документацию к программам на русском языке обычно означает гадание о прошлом по запутанным линиям бледной черно-белой фотографии руки

# То, что есть в переводах – смесь компьютерных жаргонизмов и сокращений, объединенных предлогами русского языка.

# Все это следствие бесплатности Linux

#

Есть, есть хорошие книги. Но в них про конкретную задачу подсоединения сотового телефона Motorola C350 к USB порту ноутбука IRu ничего не говорится.

Пришлось разобраться самому. Я использовал для дозвона программу KPPP – утилиту дозвона.

Все началось с правильного по смыслу перевода.

GPRS расшифровывается как General Packet Radio Service, то есть по русски: “Обслуживание Пакетов Данных переданных по радио с технологией До востребования”. А не “общее пакетное радиообслуживание” (сравни, например “general delivery — до востребования”).

Это значит, что данные передаются и ждут, когда их смогут принять при предъявлении документа.

То есть, если я подключаю свой сотовый к сети по каналу GPRS, то моя связь с Интернет уже присутствует. Но увижу я корресподенцию для меня, только удостоверив собственную личность. В сети сотовой связи собственная личность удостоверяется номером телефона. Это значит, что для настроек телефона ничего не нужно. Только указать ему на какую почту идти аппарату за письмами. Хотя вас в салоне сотовой связи засыпят настройками – знайте, что необходимо знать только адрес на который нужно прийти. Обычно это выглядит jcjecn.jknwskcd.kjdca

Для моего “Мегафона” internet.volga

Для моего оператора “Смартс” internet.smarts.ru

Для моего "Би Лайна" internet.beeline.ru

В общем, найдите в настройках оператора английские слова через точку без пробелов и запишите их. Это адрес, на который надо ходить аппарату. Мы его позже используем.

Теперь нужно объяснить телефону как попасть на почту.

Для этого в компьютерном мире нужно просто махнуть рукой. Типа: “Вон в ту сторону идите. Там увидите”. Как ни странно, но подобный совет даже очень хорош.

Направление поиска указывается так:

*9# для телефонов европейцев и американцев

*99***1# для немецких телефонов. Почему у немцев по-другому я ниже объясню.

Эти замечательные сочетания указываются в строке набора номера. Но это не номер. Его в ручную вы не наберете. Проверить пищит ли модем на той стороне, набрав *99# не получится. На самом деле это команда для телефона: “В ту сторону”. Укажите ее в строке набора номера.

Просто программисты не стали утруждать себя дополнительной строкой и включили команду указания направления в строку набору номера, еще и снабдив звездочкой (что часто означает переключение в режим тонального набора). Типа возьми соль в банке из под кофе, на которой написано “перец”.

Что Вы напишите в других строчках – не важно. Если уж так хотите – пишите то, что требует оператор. Это ни на что не повлияет. Кстати, Linux в отличии от Windows заставляет заполнить строчки имени и пароля. Напишите там что-нибудь.

После команды *99# телефон пойдет в сеть, увидит почту, зайдет туда и ...

Теперь нужно объяснить телефону куда обращаться на почте.

В сети GPRS и среди производителей телефонов есть договоренность, что на почте есть три окошка – для открыток, для писем, для посылок и бандеролей. Поскольку старались для людей программисты, они, не долго думая, обозначили эти окошки как 1,2 и 3.

Первое окошко было зарезервировано программистами для общения с Интеренет без компьютера, с самого телефона. Этот путь предназначен для получения открыток и широко известен как WAP. Второе окошко уже приспособлено для общения с компьютера. По нему можно получать более обширную корреспонденцию. До третьего окошка многие не доходят.

Объяснять куда подойти, как обычно в компьютерном мире, приходится прямой командой.

Вам скажут в салоне связи, что это называется “строкой инициализацией модема”

Эта строка начинается так: AT+CGDCONT=1, .......... или AT+CGDCONT=2 .......... или AT+CGDCONT=3 .......... где цифирки 1,2 или 3 как раз и обозначают окошки.

В России, правда, сэкономили. Как обычно. На почте открывают только первое окошко. И всех отправлют туда. В результате образуется очередь у окошка. Скорость падает. Ну и ладно. Мы, те кто воспитаны, привыкшие.

Поэтому в строке инициализации укажите сразу единицу. В очереди модем постоит, но попадет. Кроме того, в строке инициализации укажите еще и адрес почты (тот, что английскими словами через точку) Получится так:

AT+CGDCONT=1,“ip”,“internet.beeline.ru”

Это и есть соответствие словам: “Увидишь красный дом (”ip“), зайдешь туда, подойдешь к первому окошку и покажешь свой номер. То, что дадут – принесешь.”

И для особо интересующихся: AT+ обозначает “внимание” от английского “attention” CGDCONT означает набор команд, указвающих направление

В принципе, к какому окошку подойти, можно сразу указать в команде “пошел”. Немцы сразу так и делают:

*99*1# или *99*2# или *99***3#

Но, помня о наших реалиях следует ограничиться *99***1#

В случае с европейскими телефонами можно указывать

*99*1# или *99*2# или *99*3#

Но достаточно *99# Все равно окошко одно.

Еще на Западе используют команду *98# (Шнеллер, шнеллер). Но нам она ни к чему.

Итожим промежуточную информацию:

Чтобы телефон мог работать как модем в сети GPRS нужно записать строку-указание AT+CGDCONT=1,“ip”,“internet.beeline.ru” в строке инициализации модема и дать команду *99# в строке набора номера

Что еще будет в настройках телефона – не имеет значения.

Теперь телефон нужно физически подсоединить. Для этого проще всего использовать кабель.

Первый вариант – у Вас телефон с широкой и плоской дырой с большим количеством контактов. Тогда спрашивайте: “Мне нужен кабель для соединения компьютера и телефона. ЮСБи”. Но, скорее всего, Вам подсунут негодный кабель.

Не то, что не рабочий. А просто не тот. Дело в том, что раньше выпускались кабели, в средине которых была такая коробочка с микросхемами. И эти микросхемы переделывали сигнал от компьютера в сигналы телефона. Получив в руки кабель попросите продавца его протестировать под Windows. Причем, достаточно воткнуть кабель в компьютер и справа внизу появится его название. Драйвер ставить не нужно. Если в названии есть цифры “2303” – Вам крупно повезло. Этот кабель годится. Если нет – покупайте другой телефон снизу которого есть маленькая дырочка неправильной формы окантованая тонким железом. К такому телефону (например, к Motorola C380) нужно спрашивать кабель “мини юсби”. Только дешевле купить кабель не в салоне сотовой связи, где он стоит от 400 до 900 рублей, а в ближайшем компьютерном магазине, где точно такой же кабель стоит 40 рублей.

Если Вами приобретен кабель “2303” – достаточно соединить аппараты, выбрать во вкладке “модем” утилиты KPPP устройство /dev/ttyUSB0 записать строку и номер. И все – можно работать.

С другим типом модема-телефона придется чуть помучиться.

Напомню, что я пользуюсь телефоном Motorola C380 и ALTLinux Junior.

Во-первых, нужно заставить Linux обнаружить модем в телефоне.

Это не сложно. Сначала нужно соединить кабелем телефон и компьютер, а затем перезагрузить компьютер. В начале загрузки ALTLinux обнаружит телефон. Высыпется окошко в котором Вам предложат сконфигурировать оборудование. Выберайте “Configure”. Сразу предупреждаю, что окошко высыпется, если только Вы ничего шаловливыми ручками в системе не дергали. Если дергали – то процесс соединения Вы, возможно, не закончите.

После загрузки системы во вкладке “модемы” KPPP укажите что модем назвается “modem” или, как у меня, “modem1” (номер один, потому что первый модем (с точки зрения программистов нулевой) уже обозначает встроенный).

Тепперь нужно вернуться к объяснению аппарату куда идти. Для этого зайдите во вкладку “терминалы” и после того как пробегут несколько строчек запишите:

at+cgdcont=1,“ip”,“internet.beeline.ru”

(в последних кавычках тот адрес, который вы получили отоператора) А в строке инициализации укажите

at+cgdcont=1,“ip”

Я рекомендую сделать так, поскольку телефон Motorola несколько по-американски туповат. Для него проблема воспринимать сразу длинные команды. Приходится акцентировать его внимание на важных сообщениях.

Все. Можете жать на соединение.

Если все же Вы не удержались и пытались настроить соединение через консоль?

Тогда попытаемся исправить положение. И если уж Вы такие умные, что предпочитаете бить по дорогой клавиатуре вместо того, чтобы мягко регулировать процесс дешевой мышкой – то следующие несколько абзацев для Вас.

Сначала укажите модуль модема для ядра:

]# /sbin/insmod /lib/modules/2.4.22-std-up-alt28/kernel/drivers/usb/acm.o

Затем создайте устройство:

]# mknod /dev/usb/ttyACM0 c 166 0

Делегируйте ему права

]# chmod 666 /dev/usb/ttyACM*

Сошлитесь на вновь созданное устройство:

]# ln -s /dev/usb/ttyACM0 /dev/modem

]# ln -s /dev/usb/ttyACM0 /dev/modem1

Пользуйтесь.

Примечание в конце: Я не злой. Я потребитель. Хочу проще и дешевле. Просто меня порою злят умники. Особенно тогда, когда я понимаю, что они в этих вопросах меня умнее. Но я не один. Нас много. Так что, умники, поберегитесь!

У меня Motorola C380, подсоединяется к компьютеру мини-USB кабелем.

Я делаю #modprobe cdc-acm и у меня появляется устройство /dev/ttyACM0, это мой телефон.

Для Моторол есть программа moto4lin на sourceforge.net.

Резюме.

Телефон: Motorolla K1

Оператор связи: Beeline

Система: Alt Linux 4.1

Программа дозвона: KPPP

Имя пользователя: beeline

Пароль: номер телефона(без кода оператора)

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

имя: beeline

номер: *99***1#

ip: динамический

шлюз: по умолчанию

DNS-серверы: автоматически(или можно узнать у оператора, или покопавшись в телефоне... вроде как с указанными в ручную DNS соединения стали устойчивее)

Настройки модема:

имя модема: motorolla

устройство модема: /dev/mobile

управление потоком: аппаратное

окончание строки: CR/LF

команды модема: в строке инициализации 1 пишем AT+CGDCONT=1,"ip","internet.beeline.ru"