К основному контенту

Настройка интернета в консоли Linux при помощи wvdial

Не так давно я описывал настройку 3g модема в консоли Linux при помощи pppd, программы которая по умолчанию входит в большинство дистрибутивов. Понятно что для кого-то настроить pppd может показаться сложно и исходя из этого я решил описать настройку при помощи консольной программы wvdial.

Итак, на моём подопытном ноутбуке установлена система Linux Kubuntu, в Ubuntu, Lubuntu и подобных все точно так-же. Систему я только поставил для чистоты эксперимента Linux Kubuntu 11.10, в более новых не сложнее.

Так как программа wvdial по умолчанию не входит в состав дистрибутива, то для начала устанавливаем её. Как её установить не имея интернета на компьютере я описывал здесь. Точно так wvdial, установил и я. Теперь переходим к настройке интернета. Настраивать я буду 3G модем Pantech UM 190 REV, под интернет Ого Мобильный, у меня контракт, он же бывший Utel.

Подключаем 3G модем к ноутбуку и смотрим, увидела ли его система как модем? За определение модема, именно как модема, а не флешки отвечает утилита usb_modeswitch, в моей версии Linux она установлена по умолчанию и мой модем вполне нормально отображается. Смотрим есть ли USB-модемы в системе

ls /dev/ttyUSB*

/dev/ttyUSB0 /dev/ttyUSB1 /dev/ttyUSB2

Замечательно система наблюдает присутствие модема. Так же он у меня виден на порту /dev/ttyACM0

ls /dev/ttyACM*

/dev/ttyACM0

Ну не страшно, главное он есть и определился как модем. Пора его подключать.

Подключаться мы будем как я говорил выше при помощи программы wvdial, которую только что установили. Для начала даём программе возможность выполнить автоматическую, предварительную настройку 3G модема. Для этого в терминале вводим команду:

sudo wvdialconf

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

Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
Modem Port Scan< *1>: S0 S1 S2 S3 S4 S5 S6 S7
Modem Port Scan< *1>: S8 S9 S10 S11 S12 S13 S14 S15
Modem Port Scan< *1>: S16 S17 S18 S19 S20 S21 S22 S23
Modem Port Scan< *1>: S24 S25 S26 S27 S28 S29 S30 S31
WvModem< *1>: Cannot get information for serial port.
ttyACM0< *1>: ATQ0 V1 E1 -- OK
ttyACM0< *1>: ATQ0 V1 E1 Z -- OK
ttyACM0< *1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0< *1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyACM0< *1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyACM0< *1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyACM0< *1>: Modem Identifier: ATI -- Manufacturer: PCD
ttyACM0< *1>: Speed 4800: AT -- OK
ttyACM0< *1>: Speed 9600: AT -- OK
ttyACM0< *1>: Speed 19200: AT -- OK
ttyACM0< *1>: Speed 38400: AT -- OK
ttyACM0< *1>: Speed 57600: AT -- OK
ttyACM0< *1>: Speed 115200: AT -- OK
ttyACM0< *1>: Speed 230400: AT -- OK
ttyACM0< *1>: Speed 460800: AT -- OK
ttyACM0< *1>: Max speed is 460800; that should be safe.
ttyACM0< *1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0< *1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0< *1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0< *1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB1< *1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB1< *1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB1< *1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB2< *1>: ATQ0 V1 E1 -- ERROR
ttyUSB2< *1>: failed with 2400 baud, next try: 9600 baud
ttyUSB2< *1>: ATQ0 V1 E1 -- ERROR
ttyUSB2< *1>: failed with 9600 baud, next try: 9600 baud
ttyUSB2< *1>: ATQ0 V1 E1 -- ERROR
ttyUSB2< *1>: and failed too at 115200, giving up.
Found an USB modem on /dev/ttyACM0.
Modem configuration written to /etc/wvdial.conf.
ttyACM0: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

Как мы видим модем нашёлся и настроился на порт /dev/ttyACM0. Давайте теперь посмотрим что программа сама вписала в фаил конфигурации и добавим то чего нехватает. Вводим в терминале:

sudo nano /etc/wvdial.conf

У меня оказалась вот такая запись.

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
; Phone =
; Password =
; Username = 

Как видите сами, записан полный минимум. Помимо всего прочего номер дозвона Phone, пароль Password, а так же имя пользователя Username закомментированы. Перед ними стоит точка с запятой. 

Теперь нам необходимо отредактировать этот фаил, а именно добавить

номер дозвона, у меня *99#

пароль я поставил 1

имя пользователя так же поставил

а так же точку доступа в моём случае это 

Init3 = AT+CGDCONT=1, "IP","unlim.utel.ua"

эта строка у вас может быть другая, в зависимости от оператора мобильной связи. Кроме всего прочего я включил режим «Тупого модема» 

Stupid Mode =1

автоматическое переподключение 

Auto Reconnect = on

Заметьте хоть у меня провайдер и не требует имя пользователя и пароль, я их все равно ввел, иначе программа выдаёт ошибку.

В итоге мой фаил /etc/wvdial.conf стал выглядеть так.

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1, "IP","unlim.utel.ua"
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
Phone = *99#
Password = 1
Username = 1
Stupid Mode = 1
Auto Reconnect = on

Теперь сохраняемся Ctrl+o и выходим из редактора Ctrl+x.

Все все настройки готовы. Подключаемся. Вводим в терминале:

sudo wvdial

и видим что происходит подключение.

--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","unlim.utel.ua"
AT+CGDCONT=1, "IP","unlim.utel.ua"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Mon Sep 3 01:32:17 2012
--> Pid of pppd: 3906
--> Using interface ppp0
--> pppd: (�l[08]@�l[08]��l[08]
--> pppd: (�l[08]@�l[08]��l[08]
--> pppd: (�l[08]@�l[08]��l[08]
--> pppd: (�l[08]@�l[08]��l[08]
--> pppd: (�l[08]@�l[08]��l[08]
--> local IP address 46.203.247.46
--> pppd: (�l[08]@�l[08]��l[08]
--> remote IP address 10.64.64.64
--> pppd: (�l[08]@�l[08]��l[08]
--> primary DNS address 213.179.249.151
--> pppd: (�l[08]@�l[08]��l[08]
--> secondary DNS address 213.179.249.152
--> pppd: (�l[08]@�l[08]��l[08]

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

sudo pkill wvdial

Как видите при помощи программы wvdial подключить интернет несколько проще, чем при помощи pppd. Но каждый способ, если он работает, имеет право на существование. Кому что легче. Ведь на вкус карандаши разные.

Комментарии

Популярные сообщения из этого блога

Перезагрузка Linux в чем разница reboot и shutdown -r now

Брат сегодня спросил, а в чем разница между командами в терминале reboot и shutdown -r now ? Ведь обе эти команды делают кажется одно и тоже. Перезагружают операционную систему. Для чего вводить shutdown -r now , если данная команда заметно длиннее??? На первый взгляд он конечно прав, обе команды действительно делают лишь то, что перезагружают операционную систему Linux. Разница состоит в том как эти команды выполняют перезагрузку. Команда shutdown -r now указывает операционной системе Linux перезагрузить систему сейчас, на что указывает конец данной команды, а именно now . Но на саму перезагрузку это конечно не влияет. Все дело в том что команда shutdown -r выполняет корректное завершение процесса работы. То есть ждёт необходимое для завершения работы программы время, а это может занять достаточно долгое время. Если же система вдруг по каким либо причинам подвисла, время это может растянутся на десятки минут или дольше что не всегда удобно. Команда же reboot просто посылает ком

Настройка bash терминала под себя

Сегодня, в очередной раз разбираясь с работой в консоли Линукс я решил, для удобства немного подредактировать свой файл .bashrc Данный фаил отвечает за то что выводится на экран во время нашей работы в bash . Вообще настроек в bash существует достаточно много и я ещё не со всеми разобрался, да и не все пока разбирал. Например я пока не разбирал цветную настройку консоли. А знаю что консоль можно разукрасить практически как новогоднюю Ёлку. Но всему своё время. Изменений в файле " .bashrc " на сегодня я хоть и сделал не так и много, но это уже позволяет значительно упростить мою работу и обучение работе с консолью. Файл " .bashrc " находится в нашей домашней директории вот здесь ~/.bashrc , как видите знак тильды указывает на то что фаил находится в Вашей домашней директории, как я это уже говорил ранее в статье, когда описывал команды для передвижения по директориям в системе Линукс, в консоли. Точка с которой начинается название файла говорит нам о том чт

Скачиваем deb-пакеты с зависимостями для offline-установки

Сегодня вот задумался над тем что же делать если доступа в интернет не будет, а понадобится установить какую-либо программу. Ведь программы в Linux Ubuntu устанавливаются из интернет-репозиториев. Кстати это работает и в Kubuntu, Lubuntu. Остальные не проверял. А как взять необходимые для установки deb-пакеты? Если на компьютере ещё нет интернета, хотя бы программу для подключения к интернету, например ту же программу wvdial. Чтобы можно было подключить например мой модем в консоли. Хоть я и разобрался как подключать 3g USB-модем при помощи pppd . Но а вдруг понадобится. Для того чтобы получить список интернет адресов где находятся наши deb-пакеты я использую программу apt-get , в виде команды apt-get --print-uris --yes здесь --print-uris возвращает URL адреса на экран. Для вывода данной команды права суперпользователя ненужны, так что sudo вводить Вам не понадобится. apt-get --print-uris --yes install wvdial Но чтобы отсеить результаты и оставить одни URL-адреса. Я использую