3g модем без NM

Материал из Toshiba AC100 wiki
Версия от 08:13, 15 октября 2014; Unknown user (обсуждение)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Не знаю, насколько это верное решение, но, собственно, вот: Создаем в /etc/ppp/peers/ файл с названием например вашего провайдера, в моем случаем mts

sudo nano /etc/ppp/peers/mts

<range type="comment" id="184796">Наполним его примерно следующим</range id="184796">:

/dev/ttyACM0
noipdefault
defaultroute
persist
noauth
nodetach
usepeerdns
user "mts"
password "mts"
connect "/usr/sbin/chat -vf /etc/ppp/chatscripts/mts.chat"

Вместо "mts" в полях user и password вам необходимо указать свои значения.

Теперь создадим файл mts.chat в /etc/ppp/chatscripts (кстати, никто не заставляет вас пользоваться nano ;) Этот файл мы наполним примерно так: (тут вместо internet.mts.ru APN точка вашего провайдера..так же поговаривают что она бывает зашита в симкартах и можно ее не писать..но точно я сказать не могу) (а в строке OK-AT-OK AT+CFUN=1 эту самую единицу можно заменить на 5(типа 2G онли) на 6(типа 3G онли) ну или оставить 1. Что вроде как должно быть чем то вроде автоподстройки.)

TIMEOUT 3
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT DELAYED
"" ATZ
OK ATX3Q0V1E1S0=0&C1&D2
OK-AT-OK AT+CFUN=1
OK-AT-OK AT+CGDCONT=1,"IP","internet.mts.ru"
OK ATDT*99#
CONNECT ""

Теперь надо не забыть добавить вашего юзера в группу pid (по крайней мере мне в Debian'e пришлось так поступить)

usermod %username% -aG pid

Теперь можно перезагрузиться и пользоваться модемом. Подключаемся на pon mts и отключаемся на poff (или sudo poff) Всем спасибо. Я доволен =)

Полезные команды Разрешить запуск pppd обыным пользователям:

chmod u+s /usr/sbin/pppd

Подключиться (указанная команда не уходит в бэкграунд):

pppd call mts


Есть способ и попроще: wvdial

Устанавливаем wvdial через пакетный менеджер дистрибутива (естественно, для этого нужен интернет через Wi-Fi). Для Debian/Ubuntu:

# apt-get install wvdial

Создаем конфиг: Можно воспользоваться программой wvdialconf (содержится в пакете), но она оставляет в конфиге много ненужного. Сделаем минимальный конфиг - открываем /etc/wvdial.conf от рута и пишем туда примерно следующее:

[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CGDCONT=1,"IP","internet.mts.ru"
Modem Type = Analog Modem
ISDN = 0
Stupid Mode = yes
New PPPD = yes
Phone = *99#
Modem = /dev/ttyUSB0
Username = mts
Password = mts
Baud = 9600

Запускаем:

# wvdial

Запускается wvdial только от рута. Но это можно исправить, поставив SUID на бинарник:

# chmod +s /usr/bin/wvdial

Как и pppd, wvdial не уходит в бэкграунд. Если вам это важно, то можно использовать такой скрипт:

#!/bin/sh

if [ "$1" = "stop" ]; then
 killall -2 wvdial
elif [ "$1" = "log" ]; then
 tail -f "$HOME/.wvdial.log"
else
 wvdial "$@" > ~/.wvdial.log 2>&1 &
fi

Cсылки по теме: Dell Wireless 5530 (Ericsson MBM F3705g) - AT commands reference AT commands for Sony Ericsson phones Linux PPP HOWTO archlinux: 3G and GPRS modems with pppd archlinux: USB 3G Modem