Как использовать USB модем как флешку (Билайн и другие 3G модели)

usb modem Новости

3g-модем от билайн в виде флэшки

В теории подобное возможно, если пользователь сможет создать новую прошивку для модема, но подобного ещё никто не делал.

Yellow leaf – статьи – использование 3g/4g-модема в linux без wvdial и network manager

Про использование GSM/3G/4G-модемов в Linux написано уже много, но почти все руководства предполагают использование утилит wvdial или network manager для подключения. Эти утилиты позволяют существенно упростить процесс подключения, однако при их использовании невозможно полностью управлять опциями pppd, хотя это бывает необходимо (например при подключении нескольких модемов и/или когда надо “привязывать” подключения к конкретному ppp-интерфейсу).

Далее будет показано как можно настроить подключение к интернету с использованием GSM/3G-модема в дистрибутивах Debian/Ubutnu без использования вспомогательных утилит.

Начальные условия: сервер под управлением Ubuntu 12.04, модем Huawei E171 с симкой оператора “Мегафон”, доступный в системе как “/dev/ttyUSB0”.

Задача: подключиться к интернету используя только pppd и привязать соединение к интерфейсу ppp100.

Переходим к решению задачи. Обычно для дозвона пишут свой chat-скрипт, и почему-то не многие знают что в поставке pppd уже есть chat-скрипт для GSM/3G-модемов, доступный в большинстве дистрибутивов Linux как “/etc/chatscripts/gprs”. Поэтому часть с написанием этого скрипта можно пропустить и сразу приступить к описанию подключения в pppd. Для этого создадим файл “/etc/ppp/peers/Megafon” следующего содержания:

# Используемое для подключения устройство
/dev/ttyUSB0

# chat-скрипт
# В параметре "-T" передаётся имя точки доступа
connect '/usr/sbin/chat -v -f /etc/chatscripts/gprs -T internet'

# Надо ли менять маршрут по умолчанию
# Закомментируйте если не надо
defaultroute

# Использовать ли DNS-сервера провайдера
# Закомментируйте если не надо
usepeerdns

# Номер ppp-интерфейса (в данном случае будет ppp100)
unit 100

# Подключаться в случае обрыва
persist

# Перепосылать пакеты авторизации каждые 60 секунд
# Позволяет избежать обрыва соединения при отсутствии трафика
chap-interval 60

# Идентификатор соединения, используемый для поиска паролей в соответствующих файлах,
# А так же передаваемый ip-up и ip-down-скриптам
ipparam Megafon

# Имя пользователя (пароль описывается в файле "/etc/ppp/chap-secrets")
user "gdata"

# Отключаем любое сжатие
nopcomp
novjccomp
nobsdcomp
nodeflate
noaccomp

# Правильная обработка обрывов соединения
lcp-echo-interval 2
lcp-echo-failure 3

# IP адрес мы будем получать от провайдера, а не назначать сами
noipdefault

Теперь вписываем в файл “/etc/ppp/chap-secrets” следующие строки

"gdata"         Megafon         "gdata"

И подключаемся командой:

pon Megafon

Соответственно отключиться можно командой:

poff Megafon

Чтобы соедиение устанавливалось автоматически при загрузке нужно добавить запись в файл “/etc/network/interfaces”. Согласно документации она должна выглядеть вот так:

auto Megafon
iface Megafon inet ppp
        provider Megafon

Однако в утилите ifup есть баг, который приводит к тому, что сразу после успешного подключения pppd получает SIGHUP и соединение рвётся. Ошибка эта очень древняя и судя по сообщениям на форумах и баг-трэкерам дистрибутивов надеяться на её исправление в ближайшем будущем не стоит. Поэтому используем небольшой хак: опишем интерфейс не как ppp, а как manual:

auto Megafon
iface Megafon inet manual
       pre-up /usr/bin/pon Megafon
       pre-down /usr/bin/poff Megafon

На этом всё. Приятной работы!

Автозагрузка

А теперь — автозагрузка, с ней посложнее. Я сразу опишу создание скрипта автозагрузки, в который можно будет запихнуть всё, что угодно. Он будет стартовать вместе с системой, нооо…

Нельзя просто так взять и создать файл автозагрузки. Есть одна проблема — Debian с какого-то времени пересмотрел свои требования к файлам автозагрузки. Файл мало просто создать, его нужно ещё по-особому отформатировать:

  1. Первая проблема — это LSB headers. Это заголовок файла автозагрузки. Нужен он потому, что компоненты автозагрузки должны выполняться в определённом порядке, поскольку часть из них зависят друг от друга. Предположим, у вас есть два скрипта в автозагрузке — один из них должен будет монтировать сетевую папку, а второй — делать в неё резервную копию файлов. Естественно, что сначала нужно выполнить первый, а потом — второй, поскольку второй зависит от первого. Для указания таких зависимостей и используются заголовки загрузочного файла. Впрочем, будет достаточно того заголовка, который я выложу в образце файла автозагрузки.
  2. Вторая проблема — любой скрипт в автозагрузке при запуске системы вызывается командой /etc/init.d/script start, а при выключении компьютера — командой /etc/init.d/script stop. Нужно добавить условия для обработки этих случаев.

Я сделал просто — взял за основу скрипт из имеющихся в /etc/init.d/ — уж они-то должны быть созданы по правилам, потом изучил этот скрипт и вырезал из него всё ненужное. Осталось два места, которые нужно изменить — место для команд, которые выполняются при запуске системы, и место для команд, которые выполняются при выключении компьютера. Впрочем, сейчас всё увидите:

Возможные проблемы и решения

Для стабильной работы лучше назначить usb-устройству режим «только модем» с помощью программы cutecom, и перейти в порт /dev/ttyUSB0, где нужно вписать соответствующую команду. Если связь проблемно устанавливается, в PPP параметрах следует выключить Deflate, BSD. Чтобы работать без перебоев, нужно следить за оставшимся балансом.

Задачи:

  1. Принимать первый аргумент командной строки в качестве названия внешнего интерфейса, проверяя подлинность имени, используя команду ifconfig;
  2. Добавить сохранение выбранного интерфейса в какой-нибудь файл в /etc и сделать ключ выбора последнего интерфейса, а лучше — при отсутствии имени интерфейса как аргумента.
  3. Запихнуть это всё красиво в автозагрузку и в $PATH.

Как сделать загрузочную флэшку

Для того, чтобы операция прошла успешно, сначала нужно убедиться, что система поддерживает загрузку с юсб. Проверить это можно, зайдя в BIOS. После нужно записать образ на девайс с помощью UltraISO или другой программой, и запустить ПК не с жёсткого диска, а с загрузочной флэшки (тоже через BIOS).

Как сделать модем универсальным?

Операторы сотовой связи ставят блокировку на свои модемы, чтобы их нельзя было использовать с сим-картами чужих операторов. Чтобы активировать данную функцию, нужно прошить устройство с помощью программы Huawei Modem Unloker.  Она требует от себя знание кода пришивки, который можно получить сторонними программами по IMEI.

Мегафон

Получалось подключаться на любых настройках. А вообще точка доступа зависит от тарифа, по умолчанию – internet; имя пользователя megafon, пароль megafon. (Более не актуально, точка доступа для всех тарифов -internet, имя пользователя,пароль не требуются.)

Мегафонмодем в mandriva linux

E160G

Неоднократно видел и читал как народ настраивает модемы, которые видны как флешка модем в Linux, видел страшные скрипты, куча пакетов, кто-то даже ядро пересобирал. Но вот я стал

счастливым

вынужденным обладателем EDGE модема Huawei e160g, который входит комплект Мегафон Модем Плюс.

Настраивалось на Mandriva Linux 2009.0, в других дистрибутивах будет иначе, так как не везде есть drakconnect.

Думал будет страшно, на деле оказалось максимально просто. Итак, инструкция (копипаст из личного блога):

  1. подготовка к настройке — следует заранее установить 2 пакета ppp и comgt (в режиме суперпользователя # urpmi comgt ppp)
  2. вставляем сам модем в USB порт, жмем правой кнопкой на сетевом апплете (рядом с часиками 2 монитора (синенькие квадратики) с зеленой галочкой или красным крестиком), выбираем «Настроить сеть» и понеслась (после каждого пункта надо нажимать кнопку Далее или Готово):

UPD (2009-07-02)

: час ночи (MSK) — поставил на закачку фильм 2.2 Гб, скорость колеблется в районе 20 КБ/с ( -4 КБ/c), прога обещает скачать фильм примерно за 1 день и 5 часов. Трафик нигде не учитывается (не снимаются деньги со счета, 100 халявных МБ тоже не убывают). В целом неплохо, если подводных камней не будет — для дачи/поездок/отсутствие выделенки — самое оно.

Найденный скрипт

Хм-хм. Этот скрипт уже староват — iptables ругается на одну из команд и не хочет выполнять, да и тот путь, которым в статье скрипт пытаются поместить в автозагрузку, тоже работает не всегда на моей практике. Более того, есть проблема — этот скрипт отлично подходит для ситуации, когда ничего не собирается меняться.

Если бы так и было, я бы поставил iptables-persistent и на этом закончил бы статью. А вот я собираюсь иногда получать интернет по интерфейсу ppp0, иногда — по eth0, а иногда — вообще по wlan1, причём менять интерфейс хочу одной консольной командой. Так, eth1 в примере — внешний интерфейс, а eth0 — внутренний.

Настройка с помощью at-команд

Для удобной конфигурации понадобится терминальная программа, или более подходящее решение в виде Huawei Modem Terminal. Подключившись к устройству, нужно проверить подключение командой AT. Если ответ положительный, можно дальше проводить настройку. Для того, чтобы узнать список всех доступных команд, нужно вписать: AT^CMDL.

Общий алгоритм конфигурации

Для подключения модемов МТС, Мегафон в среде Unity (Ubuntu 12.04 и другие) используется интерфейс Network Manager. Инструкция:

  1. Зайти в пункт для изменения соединений.
  2. Добавить во вкладке мобильной передачи новую сеть.
  3. Выбрать настраиваемое устройство.
  4. Определить оператора связи, страну.

Переключение режимов модем/флэшка/модем кардридер

Если устройство изначально поддерживает функцию переключения, процесс происходит через AT-команду AT^U2DIAG=[значение]. С её помощью можно перевести устройство в режим «только модем» (0), использовать в виде флэшки (1), кардридера (256), или соединить всё вместе (255).

Создание wi-fi сети из usb-модема

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

  1. Отключить модем, Интернет.
  2. Соединить сетевым кабелем роутер с компьютером.
  3. В сетевых настройках ПК нужно обратиться к свойствам телефонного подключения.
  4. Разрешить использовать его другим пользователям сети.

Так роутер будет распространять Интернет с компьютера через модем.

Часть вторая — подключаемся

Собственно, программ, которые позволяют заставить модем набрать номер и подключиться к провайдеру — предостаточно. Тот же Network Manager, например. Кстати, те, у кого до этого в Network Managere-е модем не находился, уже могут попробовать поискать его снова 😉 . Ну а мы, в данном случае, решили воевать в консоли. Потому, в консоли и продолжим…

https://www.youtube.com/watch?v=5yUyOc6l0gc

Программу я для этого решил использовать следующую — wvdial. По умолчанию она не установлена, поэтому, устанавливаем:

Оцените статью
Huawei Devices
Добавить комментарий