Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
igor:pppd_i_ego_primenenie_dlja_mobilizacii_interneta [2017/04/18 14:30] – [Создание конфигурационного файла.] igor | igor:pppd_i_ego_primenenie_dlja_mobilizacii_interneta [2021/12/12 23:02] (текущий) – [А если не село?] igor |
---|
| Все мои статьи: [[igor:glavnaja|Статьи Игоря Романова]] |
=====PPPD и его применение для "мобилизации" интернета в Linux===== | =====PPPD и его применение для "мобилизации" интернета в Linux===== |
Для подключения к интернету вообще, и к мобильному в частности, в мире линукса предложено много способов. Все они в той или иной степени претендуют на звание штатных, но не все в действительности таковыми являются. \\ \\ | Для подключения к интернету вообще, и к мобильному в частности, в мире линукса предложено много способов. Все они в той или иной степени претендуют на звание штатных, но не все в действительности таковыми являются. \\ \\ |
В нашей системе каждая программа имеет четко определенный круг обязанностей. Всевозможных модемов в мире тысячи, и нет смысла учить PPPD работать с каждым из них. Поэтому с модемом работает драйвер - составная часть ядра ОС, который надстраивает над модемом __логическое устройство__, а PPPD, в свою очередь, над этим логическим устройством надстраивает свое - ppp0 (таких устройств может быть и несколько: ppp1 и т. д.). И, как принято в наших ОС, каждое логическое устройство представлено файлом в каталоге /dev/. \\ | В нашей системе каждая программа имеет четко определенный круг обязанностей. Всевозможных модемов в мире тысячи, и нет смысла учить PPPD работать с каждым из них. Поэтому с модемом работает драйвер - составная часть ядра ОС, который надстраивает над модемом __логическое устройство__, а PPPD, в свою очередь, над этим логическим устройством надстраивает свое - ppp0 (таких устройств может быть и несколько: ppp1 и т. д.). И, как принято в наших ОС, каждое логическое устройство представлено файлом в каталоге /dev/. \\ |
Логическое устройство, "изображающее" модем и служащее предметом работы пппдемона, скорее всего будет называться ttyUSB0 или ttyACM0, однако последняя цифра может варьироваться. \\ | Логическое устройство, "изображающее" модем и служащее предметом работы пппдемона, скорее всего будет называться ttyUSB0 или ttyACM0, однако последняя цифра может варьироваться. \\ |
Несколько слов об этих названиях. TTY - teletype - древнее устройство, которое ныне можно увидеть только в музее, в свое время служившее системной консолью первобытным компьютерщикам - создателям UNIXов и языка программирования C. С тех далеких времен этот термин сохранился в юниксоидных системах для обозначения любого устройства, обеспечивающего посимвольный ввод-вывод данных по некоторому проводу. Компьютер не знает, что за устройство находится на другом конце провода. Ему говорят: работай с этим устройством как с tty - он так и работает, даже если провода как такового уже нет... Так что в нашем нынешнем мире tty - это просто абстракция, за которой могут стоять самые различные приборы и аппараты. TtyUSB0 - очевидно, эмуляция tty посредством USB. ACM - Abstract Control Model - абстрактная модель управления... впрочем, не хочу залезать в дебри. Подробнее читайте здесь: \\ | Несколько слов об этих названиях. TTY - teletype - телетайп, или буквопечатающий телеграфный аппарат, древнее устройство, которое ныне можно увидеть только в музее, в свое время служившее системной консолью первобытным компьютерщикам - создателям UNIXов и языка программирования C. С тех далеких времен этот термин сохранился в юниксоидных системах для обозначения любого устройства, обеспечивающего посимвольный ввод-вывод данных по некоторому проводу. Компьютер не знает, что за устройство находится на другом конце провода. Ему говорят: работай с этим устройством как с tty - он так и работает, даже если провода как такового уже нет... Так что в нашем нынешнем мире tty - это просто абстракция, за которой могут стоять самые различные приборы и аппараты. TtyUSB0 - очевидно, эмуляция tty посредством USB. ACM - Abstract Control Model - абстрактная модель управления... впрочем, не хочу залезать в дебри. Подробнее читайте здесь: \\ |
http://adminbook.ru/index.php?men2=2-4/18/14 \\ | http://adminbook.ru/index.php?men2=2-4/18/14 \\ |
http://rulinux.net.ru/node/112 \\ | http://rulinux.net.ru/node/112 \\ |
Когда я жил в Дебиане (версий 7..8) и работал со скайлинковским свистком и с простыми сотовыми телефонами фирм "Моторола" и "Нокиа", у меня таких ситуаций не случалось. Однако вы, вероятно, скажете, что это техника позавчерашнего века, и захотите использовать что-то более современное? Вероятно модем-свисток 3G/4G? А у меня свои тараканы: я с Дебиана пересаживаюсь на Генту. И вот тогда подобная проблема у нас с вами прогнозируется с определенной вероятностью. \\ | Когда я жил в Дебиане (версий 7..8) и работал со скайлинковским свистком и с простыми сотовыми телефонами фирм "Моторола" и "Нокиа", у меня таких ситуаций не случалось. Однако вы, вероятно, скажете, что это техника позавчерашнего века, и захотите использовать что-то более современное? Вероятно модем-свисток 3G/4G? А у меня свои тараканы: я с Дебиана пересаживаюсь на Генту. И вот тогда подобная проблема у нас с вами прогнозируется с определенной вероятностью. \\ |
Сначала про Генту и вообще про все линуксоидные системы, отличные от Дебиана. Начну с них потому, что здесь есть единственный вопрос, который, собственно, почти даже и не вопрос: есть ли у нас в ядре программная поддержка для USB-модемов? \\ | Сначала про Генту и вообще про все линуксоидные системы, отличные от Дебиана. Начну с них потому, что здесь есть единственный вопрос, который, собственно, почти даже и не вопрос: есть ли у нас в ядре программная поддержка для USB-модемов? \\ |
Мы должны понимать, что все линуксоидные системы имеют в своей основе практически один и тот же агрегат - ядро. Нам он поставляется из репозитория в виде набора "Сделай сам" и собирается на месте. Разработчик Дебиана в комплекте с деталями ядра поставляет нам "технологическую карту сборки", в которой поддержка мобильного интернета уже прописана, так что беспокоиться не о чем. А вот в других системах может быть по-разному. В Генте, например, разработчик принципиально ничего за нас не делает. Короче, если в ядре нет поддержки мобильного интернета, то ядро придется пересобрать. Ничего принципиально страшного в этом нет, просто некоторое время потратить. \\ | Мы должны понимать, что все линуксоидные системы имеют в своей основе практически один и тот же агрегат - ядро. В некоторых системах типа генты он поставляется нам из репозитория в виде набора "Сделай сам" и собирается на месте, разработчик принципиально ничего за нас не делает. Короче, если в ядре нет поддержки мобильного интернета, то ядро придется пересобрать. Ничего принципиально страшного в этом нет, просто некоторое время потратить. Разработчик Дебиана поставляет нам несколько готовых ядер и к ним кучу модулей. Если устанавливать систему в режиме "Expert install", то на определенном этапе установки нам предложат выбор: установить драйверы для этого компьютера или установить все драйверы. Выбираем последнее - и получаем ядро с поддержкой PPP. Очевидно, под драйверами подразумеваются модули ядра. \\ |
Сборка ядра с использованием команды make menuconfig - операция, имеющая место во всех линуксоидных системах. Как она осуществляется, я здесь подробно останавливаться не буду. (можно посмотреть, например, вот здесь: [[igor:gentoo_installation|Установка Gentoo: глазами новичка]]). На что следует обратить первостепенное внимание? \\ | Сборка ядра с использованием команды make menuconfig - операция, имеющая место во всех линуксоидных системах. Как она осуществляется, я здесь подробно останавливаться не буду. (можно посмотреть, например, вот здесь: [[igor:gentoo_installation|Установка Gentoo: глазами новичка]]). На что следует обратить первостепенное внимание? \\ |
В меню верхнего уровня находим раздел Device drivers и входим во вложенное меню (меню следующего уровня). Там ищем пункты: \\ | В меню верхнего уровня находим раздел Device drivers и входим во вложенное меню (меню следующего уровня). Там ищем пункты: \\ |
//Network Device support --> PPP support// - поддержка собственно протокола ppp, безотносительно к модемам; \\ | //Network Device support --> PPP support// - поддержка собственно протокола ppp, безотносительно к модемам; \\ |
Ну и по пункту 3 - эту тему я хочу выделить в отдельную главу. \\ | Ну и по пункту 3 - эту тему я хочу выделить в отдельную главу. \\ |
mtu и mru: при плохой связи можно уменьшить до 800, источник: http://wiki.lblss.ru/%D0%9A%D0%BE%D0%BD%D0%BD%D0%B5%D0%BA%D1%82_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_pppd\\ \\ | mtu и mru: при плохой связи можно уменьшить до 800, источник: http://wiki.lblss.ru/%D0%9A%D0%BE%D0%BD%D0%BD%D0%B5%D0%BA%D1%82_%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D0%B8_pppd\\ \\ |
====Чат-программа и чат-скрипт.==== | ====Чат-программа и чат-скрипт==== |
Это, наверно, самый интересный момент, тем более что в указанных источниках об этом ничего не говорится. \\ | Это, наверно, самый интересный момент, тем более что в указанных источниках об этом ничего не говорится. \\ |
Начнем с элементарного: чат (англ. chat — разговор) — это последовательность сигналов, которыми компьютер и модем должны обменяться, чтобы модем вообще мог передавать и принимать какие-либо данные. Осуществить этот «обмен любезностями» можно разными способами. Ну для начала: мы ведь помним, что каждое логическое устройство представляет собой файл, в который мы можем что-то писать и что-то из него читать. Примерно вот так: \\ \\ | Начнем с элементарного: чат (англ. chat — разговор) — это последовательность сигналов, которыми компьютер и модем должны обменяться, чтобы модем вообще мог передавать и принимать какие-либо данные. Осуществить этот «обмен любезностями» можно разными способами. Ну для начала: мы ведь помним, что каждое логическое устройство представляет собой файл, в который мы можем что-то писать и что-то из него читать. Примерно вот так: \\ \\ |
Те команды, что приведены здесь для модема-свистка AnyData, подключенного к Скайлинку, — абсолютно рабочие, так что мудрить над этим чат-скриптом едва ли придется. Над чем придется помудрить — так это над чат-скриптом для GSM/3G/4G. Приведенный выше упрощенный вариант мною проверен на телефонах фирмы Nokia, подключенных к провайдеру TELE2. Для других телефонов и провайдеров могут потребоваться различные команды, в т. ч. те, которые я поместил в свой файл "про запас", и не только... \\ | Те команды, что приведены здесь для модема-свистка AnyData, подключенного к Скайлинку, — абсолютно рабочие, так что мудрить над этим чат-скриптом едва ли придется. Над чем придется помудрить — так это над чат-скриптом для GSM/3G/4G. Приведенный выше упрощенный вариант мною проверен на телефонах фирмы Nokia, подключенных к провайдеру TELE2. Для других телефонов и провайдеров могут потребоваться различные команды, в т. ч. те, которые я поместил в свой файл "про запас", и не только... \\ |
Сейчас я хочу остановиться на информации, которая имеется в интернет-блогах, но не получила подтверждения в моей практике. Первое: кроме опции connect, якобы еще нужна опция disconnect с соответствующим чат-скриптом. Я сделал все, как там было написано, результат: выход в интернет удавался, но по завершении работы возникала ошибка. И хотя эта ошибка по существу уже ничего не меняет, зачем нам лишняя нервотрепка? В общем, я удалил эти опции и с тех пор спокойно обхожусь без них. Второе: совет прописать имя пользователя и пароль в файлы /etc/ppp/pap-secrets и/или /etc/ppp/chap-secrets. У меня эти файлы пусты — выходит, что и без них можно обойтись. И третье - касательно команды AT+CGDCONT... Сколько раз я ее видел в линуксоидных интернет-блогах, в мануалах по Windows, в инструкциях к сотовым телефонам и памятках абонентам сотовых сетей, столько раз по жизни я без нее обходился. Значит ли это, что она совсем не нужна? - Боюсь что не значит. \\ \\ | Сейчас я хочу остановиться на информации, которая имеется в интернет-блогах, но не получила подтверждения в моей практике. Первое: кроме опции connect, якобы еще нужна опция disconnect с соответствующим чат-скриптом. Я сделал все, как там было написано, результат: выход в интернет удавался, но по завершении работы возникала ошибка. И хотя эта ошибка по существу уже ничего не меняет, зачем нам лишняя нервотрепка? В общем, я удалил эти опции и с тех пор спокойно обхожусь без них. Второе: совет прописать имя пользователя и пароль в файлы /etc/ppp/pap-secrets и/или /etc/ppp/chap-secrets. У меня эти файлы пусты — выходит, что и без них можно обойтись. И третье - касательно команды AT+CGDCONT... Сколько раз я ее видел в линуксоидных интернет-блогах, в мануалах по Windows, в инструкциях к сотовым телефонам и памятках абонентам сотовых сетей, столько раз по жизни я без нее обходился. Значит ли это, что она совсем не нужна? - Боюсь что не значит. \\ \\ |
====Запуск.==== | ====Запуск==== |
Итак, аппаратура подключена, конфиги составлены... Проверено — мин нет? Тогда с Богом: \\ \\ | Итак, аппаратура подключена, конфиги составлены... Проверено — мин нет? Тогда с Богом: \\ \\ |
''igor@ovragi:~$ __pppd__ \\ | ''igor@ovragi:~$ __pppd__ \\ |