Usb gsm modem on linux

Использование 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» следующие строки

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

Чтобы соедиение устанавливалось автоматически при загрузке нужно добавить запись в файл «/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

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

Читайте также:  1c бухгалтерия установка linux

Источник

Установка и настройка 3G USB модема (MTS, Beeline, Megafon, Skylink) на Ubuntu Linux 10.04, 10.10, 11.04, 11.10

затем в окне апплета «Сеть» откройте вкладку «Мобильные широкополосные» и там нажмите кнопку «Добавить». После этого откроется окно мастера создания подключения:

Если в нижнем поле указана модель вашего модема, значит все в порядке и можно нажимать кнопку «Вперед» и создавать соединение.

значит Ubuntu не распознала ваш модем. В этом случае первый шаг — выяснение идентификаторов вашего модема и видит ли вообще Ubuntu ваш модем на USB шине. Для этого нужно выполнить две команды и оценить результаты их вывода.

В списке USB устройств должен быть ваш модем:

lsusb Bus 003 Device 002: ID 12d1:14ac Huawei Technologies Co., Ltd.

В сообщениях системного журнала должны быть записи о регистрации GSM модема:

dmesg | grep GSM 
[ 19.670580] USB Serial support registered for GSM modem (1-port)
[ 19.671086] option 3-2:1.0: GSM modem (1-port) converter detected
[ 19.671878] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB0
[ 19.671909] option 3-2:1.1: GSM modem (1-port) converter detected
[ 19.674325] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB1
[ 19.674357] option 3-2:1.2: GSM modem (1-port) converter detected
[ 19.674696] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB2
[ 19.674722] option 3-2:1.3: GSM modem (1-port) converter detected
[ 19.675021] usb 3-2: GSM modem (1-port) converter now attached to ttyUSB3
[ 19.675099] option: v0.7.2:USB Driver for GSM modems

Если lsusb показывает ваш модем, а в журнале нет записей о регистрации GSM модема тогда в выводе lsusb смотрите vid и pid вашего модема и с этими значениями добавляете новую строку в файле /lib/udev/rules.d/61-option-modem-modeswitch.rules.

Примечание. В Ubuntu 12.04 этот файл называется /lib/udev/rules.d/40-usb_modeswitch.rules. В других дистрибутивах этот файл можно найти через поиск файлов по имени «*modeswitch*» или «*.rules«.

После сохранения файла выдергиваете модем и снова его втыкаете. Ждете 1-2 минуты и проверяете. В простом случае этого должно хватить и далее создаете подключение как описано выше.

В более сложных случаях нужно будет разбираться в причинах по которым не удается использовать ваш модем. Далее будут перечислены некоторые команды, которые могут помочь в определении источника проблемы:

  • cat /var/log/syslogвыводит содержимое системного журнала, но удобнее ее использовать в комбинации с grep, для выборки конкретных строк. Или вообще открывать журнал в gedit.
  • lsusbсм. выше
  • dmesg| grep GSMсм. выше
  • lsmod | grep usb — выводит список загруженных модулей ядра, относящихся к USB. В этом списке должен быть модуль usbserial, который обеспечивает работу с USB модемами
Читайте также:  Linux ubuntu возможности системы

Некоторые возможные ошибки

Модем распознается, подключение создается, но при попытке установить соединение выдается запрос на пароль для доступа к модему. Возможные источники проблемы:

  • Запрос PIN-кода SIM-карты. Нужно ввести PIN-код, обычно это 0000.
  • Это может быть запрос NCK кода на так называемых залоченных модемах, в том случае если в модем вставлена не «родная» SIM-карта. Нужно разлочивать SIM-карту или использовать SIM-карту «родного» оператора.
  • Проверьте, в свойствах соединения, правильно ли указан пароль. Иногда NetworkManager в это поле записывает мусор вместо того пароля который вы вводили.

Модем распознается, подключение создается и работает, но после обрыва соединения невозможно установить повторное подключение. Нужно просмотреть записи системного журнала относящиеся к NetworkManager и если там есть строка «GSM modem connection failed: (32) Sending command failed: device is not enabled» это проявилась ошибка, которая есть в NetworkManager. Нужно либо выполнить перезагрузку, либо вручную убить процессы NetworkManager и заново их запустить.

Все работало, но в какой-то момент перестало подключаться. Нужно просмотреть записи системного журнала относящиеся к NetworkManager и если там есть строка «GSM modem enable failed: (32) Serial command timed out» это может означать временную проблему с модемом или сетью сотового оператора. Можно отключить модем или просто переждать некоторое время.

Все работало, но скорость очень низкая. Тут может быть несколько причин.

  • Во-первых модем может подключиться к сети оператора по стандарту GSM вместо 3G. Протокол по которому модем подключился к сети оператора можно узнать по индикатору модема. Как решить эту проблему описано в статье Установка и настройка 3G USB модема (МТС, Билайн, Мегафон) на Windows.
  • Во-вторых внимательно ознакомьтесь с информацией о вашем тарифном плане. Если у вас так называемый «безлимитный» тарифный план, то на таких планах есть лимиты по трафику и по достижении этих лимитов скорость резко обрезается.
  • В-третьих это может быть временное явление, доступ к Интернет через сотовые сети вообще работает «неровно».

Все работало, но в начале месяца перестало работать. Проверьте баланс на вашей SIM-карте.

Модем распознается системой, через апплет «Сеть» настраивается соединение, но подключиться не получается, апплет «Сеть» выдает сообщение о том, что вы отключены от сети GSM. В этом случае во-первых нужно проверить сохранен ли пароль на доступ к сети, иногда он «слетает» в такой ситуации может помочь включение опции «Сохранять для всех пользователей». Во-вторых можно «поиграть» с опциями PPP — включить или отключить сжатие данных и все методы аутентификации. И даже может помочь простое повторение попыток подключения. С первой попытки не соединяет, а со второй или третьей соединится.

Ну и не нужно забывать о том, что ваша проблема может быть никак не связана с Linux. Особенность работы модемов сотовых сетей, заключается в том, все это очень неровно. Сейчас ваш модем не подключается, а через час подключится при тех же настройках. Сейчас скорость скачивания 150 кб/сек, а через полчаса всего 5 кб/сек. В общем прежде чем «выкидывать» Linux , смотрите что показывает индикатор модема, не стесняйтесь звонить в техподдержку вашего сотового оператора.

Читайте также:  Gtx 750 драйвер linux

«Ускорение» Интернет

Если вам не нравится как у вас работает Интернет тогда можете попробовать изменить некоторые сетевые настройки.

В файле /etc/sysctl.conf добавьте следующие строки:

  • net.ipv4.tcp_fin_timeout = 30
  • net.ipv4.tcp_keepalive_time = 1800
  • net.ipv4.tcp_window_scaling = 0
  • net.ipv4.tcp_sack = 0
  • net.ipv4.tcp_timestamps = 0

Затем обновите настройки командой «sudo sysctl -p».

Кроме этого можно поэкспериментировать с размером MTU.

Для PPP интерфейсов. Командой «sudo ifconfig ppp0 mtu 1488» можно изменить текущий размер MTU на интерфейсе ppp0. Если вам нужно изменить размер MTU на постоянной основе тогда вписываете нужное значение параметра mtu в файле /etc/ppp/options.

Для не PPP интерфейсов, например сетевых карт, размер MTU можно изменить через апплет «Сеть».

Совместимость модемов и операторов

Меньше всего возникает проблем с модемами Huawei. Хуже дело обстоит с моделями ZTE. Из операторов без проблем на Linux работают Мегафон, МТС, СкайЛинк. Билайн в свои модемы ставит прошивку с блокировками и в результате подключиться через билайновский модем минуя билайновскую же программу дозвона становится проблематично. А программа у Билайна только под Windows, в результате нужно возиться с разблокировкой модема.

Данные авторизации для разных операторов

Мастер создания подключения подставляет почти все необходимые данные автоматически, но имя пароль нужно вводить вручную. Для разных операторов пары имя/пароль такие:

  • Мегафон: можно оставить эти поля пустые.
  • МТС: mts/mts.
  • Билайн: beeline/beeline
  • Скайлинк: mobile/internet.

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

Сопутствующие статьи

  • Настройка L2TP VPN (Beeline) на Ubuntu 14.04
  • Настройка 4G ZTE MF823 на Zyxel Keenetic
  • 4G ZTE MF823 (Мегафон М100-3) на Windows XP и Vista
  • QMI модем Anydata W140 Zyxel Keenetic
  • Смартфон (планшет) — USB модем
  • Как подключить 4G USB модем в Ubuntu 12.04
  • Настройка pppoe Ubuntu 12.04
  • Настройка домашнего интернета Windows 7
  • Настройка домашнего интернета Windows XP
  • Ошибки PPPoE в Windows 7
  • Установка и настройка 3G USB модема в Windows XP / 7
  • Диагностика USB модемов (Билайн, Мегафон, МТС)
  • Как подключить 3G USB модем в Ubuntu 12.04
  • Установка и настройка 3G USB модема в Ubuntu Linux
  • Настройка Beeline (Corbina) VPN на Ubuntu Linux
Copyright digital.workshop 1999 — 2021.
Это произведение доступно по лицензии Creative Commons Attribution-NoDerivs 3.0.
Developed by digital.workshop

Источник

Оцените статью
Adblock
detector