UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

277 lines (199 loc) 13.7 kB
Для подключения к Интернету с помощью 3G или GPRS модема не обязательно использовать [Wvdial](/index.php/Wvdial_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Wvdial (Русский)") или подобные программы. Использовать их удобно, но они создают лишний "слой". Более простое, очевидно, является более надёжным, не так ли? ## Contents * [1 Требования](#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F) * [2 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0) * [2.1 Настройки модема](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BC.D0.B0) * [2.2 Настройки оператора](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0) * [2.3 Сценарии диалога](#.D0.A1.D1.86.D0.B5.D0.BD.D0.B0.D1.80.D0.B8.D0.B8_.D0.B4.D0.B8.D0.B0.D0.BB.D0.BE.D0.B3.D0.B0) * [3 Запуск](#.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA) * [3.1 Патч на доступность модема](#.D0.9F.D0.B0.D1.82.D1.87_.D0.BD.D0.B0_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF.D0.BD.D0.BE.D1.81.D1.82.D1.8C_.D0.BC.D0.BE.D0.B4.D0.B5.D0.BC.D0.B0) * [4 Устранение неполадок](#.D0.A3.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B5.D0.BF.D0.BE.D0.BB.D0.B0.D0.B4.D0.BE.D0.BA) * [4.1 Проблема с PIN кодом](#.D0.9F.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC.D0.B0_.D1.81_PIN_.D0.BA.D0.BE.D0.B4.D0.BE.D0.BC) * [4.2 Модем EM770](#.D0.9C.D0.BE.D0.B4.D0.B5.D0.BC_EM770) * [5 Справочник команд AT^SYSCFG для Huawei](#.D0.A1.D0.BF.D1.80.D0.B0.D0.B2.D0.BE.D1.87.D0.BD.D0.B8.D0.BA_.D0.BA.D0.BE.D0.BC.D0.B0.D0.BD.D0.B4_AT.5ESYSCFG_.D0.B4.D0.BB.D1.8F_Huawei) * [6 Связанные статьи](#.D0.A1.D0.B2.D1.8F.D0.B7.D0.B0.D0.BD.D0.BD.D1.8B.D0.B5_.D1.81.D1.82.D0.B0.D1.82.D1.8C.D0.B8) ## Требования Единственное требование к программной части - установленный [ppp](https://www.archlinux.org/packages/?name=ppp). Способ настройки и подключения, изложенный ниже, был проверен на нескольких модемах: * Huawey EM770 MiniPCIe (внутренний модем Asus Eee PC 1000H Go); * внешний модем Huawey E220; * Nokia N73 (подключение по USB; в телефоне выбрано "PC Suite"). ## Настройка **Примечание:** Описание настройки pppd в [оригинальной статье](/index.php/3G_and_GPRS_modems_with_pppd_alone "3G and GPRS modems with pppd alone") содержит подробные листинги конфигурационных файлов. Здесь же описывается краткий вариант для настройки на единственного оператора. **Важно:** Дальнейшие действия предполагают, что ваш модем установлен и успешно опознан. Более подробную информацию по установке и настройке 3G/GPRS модема вы можете получить в статье [USB 3G Модем](/index.php/USB_3G_%D0%9C%D0%BE%D0%B4%D0%B5%D0%BC "USB 3G Модем"). **Tip:** Вам нужно будет создать несоклько файлов в `/etc/ppp`, и для этого понадобятся права root. ### Настройки модема Первым делом, создайте файл `/etc/ppp/options-mobile`. Pppd, следуя указанным настройкам, постарается удержать соединение активным, а в случае обрыва попытается восстановить его. `/etc/ppp/options-mobile` ``` **/dev/ttyUSBn** 921600 defaultroute usepeerdns crtscts lock noauth local persist modem nopcomp novjccomp nobsdcomp nodeflate noaccomp ipcp-accept-local ipcp-accept-remote noipdefault ``` Обратите внимание на первую строчку: здесь должно быть имя вашего модема в `/dev`. Подставьте вместо *n* номер устройства модема. **Примечание:** Обычно, для USB модемов, оно имеет вид `ttyUSBn`, где n - номер модема, или же `ttyACMn`. ### Настройки оператора Если ваш оператор требует авторизации при установлении соединения с Интернетом, создайте файл `/etc/ppp/peers/*название-оператора*` следующего содержания: `/etc/ppp/peers/*название-оператора*` ``` file /etc/ppp/options-mobile user "*логин*" password "*пароль*" connect "/usr/sbin/chat -v -t15 -f /etc/ppp/chatscripts/*название-оператора*.chat" ``` Замените *логин* и *пароль* на предоставленные вашим оператором. **Tip:** Вы можете создать несколько таких файлов для разных операторов Если же авторизация **не** требуется, опустите строчки `user...` и `password...` ### Сценарии диалога Чтобы подключиться к Интернету, вашему компьютеру необходимо отправить на модем команды, которые бы задали режим работы, номер телефона и прочие настройки, необходимые для установления соедиинения. Такие команды называются AT-командами, и pppd для "общения" с модемом использует программу `/usr/sbin/chat`. Сейчас мы создадим "сценарий диалога", которые будет использовать `chat` для общения с нашим модемом. Создайте папку `/etc/ppp/chatscripts`. ``` mkdir /etc/ppp/chatscripts ``` `/etc/ppp/chatscripts/*название-оператора*.chat` ``` ABORT 'BUSY' ABORT 'NO CARRIER' ABORT 'VOICE' ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT 'DELAYED' REPORT CONNECT TIMEOUT 6 '' 'ATQ0' 'OK-AT-OK' 'ATZ' TIMEOUT 3 **'OK' 'AT+CPIN=0000'** 'OK-AT-OK' 'ATI' 'OK' 'ATZ' 'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0' **'OK' 'AT\^SYSCFG=2,2,3fffffff,0,1'** **'OK-AT-OK' 'AT+CGDCONT=1,"IP","internet.apn"'** 'OK' 'ATDT*99***1#' TIMEOUT 30 CONNECT ``` Если вы используете проверку PIN кода, замените нули в первой выделенной строке (`'OK' 'AT+CPIN=0000'`) на ваш PIN-код. В противном случае просто удалите строчку целиком. 3G модем может работать в четырёх режимах. Для задания того или иного режима вам нужно внести изменения во вторую выделенную строчку: * Только 3G - `AT\^SYSCFG=14,2,3fffffff,0,1` * Предпочтительно 3G - `AT\^SYSCFG=2,2,3fffffff,0,1` * Только GPRS - `AT\^SYSCFG=13,1,3fffffff,0,0` * Предпочтительно GPRS - `AT\^SYSCFG=2,1,3fffffff,0,0` Задайте точку доступа в последней выделенной строке: замените `internet.apn` на точку доступа, указанную вашим оператором. **Важно:** Будьте внимательны при указании точки доступа. Ошибка может привести к списанию значительной суммы с вашего виртуального счёта. ## Запуск Чтобы подключиться к Интернету, наберите: ``` pon название-оператора ``` или ``` /etc/rc.d/ppp start ``` Для отключения выполните: ``` poff название-оператора ``` или ``` /etc/rc.d/ppp stop ``` Вы можете добавить pppd в список демонов файла `/etc/rc.conf`, если хотите, чтобы pppd запускался автоматически. ### Патч на доступность модема Если вы запускаете pppd автоматически, может возникнуть такая проблема: к моменту запуска pppd модем ещё не существует. Pppd честно пытается запуститься, не находит нужного устройства и завершается с ошибкой. Для того чтобы pppd немного подождал, пока появится модем, измените файл `/etc/rc.d/ppp`: ``` case "$1" in start) stat_busy "Starting PPP daemon" **/etc/ppp/wait-dialup-hardware** [ -z "$PID" ] && /usr/bin/pon ``` Теперь, создайте файл `/etc/ppp/wait-dialup-hardware`: `/etc/ppp/wait-dialup-hardware` ``` #!/bin/bash INTERFACE="/dev/$(/usr/bin/head -1 /etc/ppp/options-mobile)" for ((retry=0; retry < 40; retry++)) do if [ -c ${INTERFACE} ]; then /usr/bin/logger "$0: OK existing required device ${INTERFACE} (in $((retry / 4)).$((100 * (retry % 4) / 4)) seconds)" break else /bin/sleep 0.25 fi done if [ ! -c ${INTERFACE} ]; then /usr/bin/logger "$0: ERROR timeout waiting for required device ${INTERFACE}" fi exit 0 ``` Этот сценарий добавит в `/var/log/messages` строчку: ``` Jun 1 22:52:08 parsec logger: /etc/ppp/wait-dialup-hardware: OK existing required device /dev/ttyUSB0 (in 1.25 seconds) ``` ## Устранение неполадок ### Проблема с PIN кодом Если PIN код задан неверно, модем может игнорировать строчку, задающую точку доступа. В `/var/log/messages` это выглядит примерно так: ``` Jun 20 00:17:30 quark chat[3348]: send (AT+CGDCONT=1,"IP","ac.vodafone.es"^M) Jun 20 00:17:31 quark chat[3348]: expect (OK) Jun 20 00:17:31 quark chat[3348]: ^M Jun 20 00:17:31 quark chat[3348]: AT+CGDCONT=1,"IP","ac.vodafone.es"^M^M Jun 20 00:17:31 quark chat[3348]: ERROR^M Jun 20 00:17:34 quark chat[3348]: alarm Jun 20 00:17:34 quark chat[3348]: Failed ``` Если вы только что установили или изменили PIN код, перезагрузите телефон и первый раз пройдите проверку PIN кода **на телефоне**, и лишь затем переставляйте SIM карту в модем. Возможно, подходящим решением будет отключить проверку PIN кода, это можно сделать в настройках безопасности вашего телефона. ### Модем EM770 Если pppd часто перезапускается вручную, например, при проверке настроек, EM770 (прошивка 11.104.16.12.00) иногда зависает после ответа `NO CARIER` (хотя исправно отвечал на `AT` а соединение с сотовой сетью в порядке). Этой ошибки не происходит, если при потере соединения с интернетом, сценарий будет ждать некоторое время, прежде чем попытаться ещё раз установить соединение. Если же модем всё-таки "залип", включите и выключите компьютер, это помогает. Вероятно, это ошибка программного обеспечения модема. Кроме того, если используется проверка PIN кода, этот модем отвечает `NO CARRIER` при первой попытке соединения. В этом случае помогает большой интервал ожидания после отправки `AT+CPIN`. ## Справочник команд AT^SYSCFG для Huawei Чтобы увидеть поддерживаемые значения, вы можете опросить свой модем, отправив на него команду `AT^SYSCFG=?`. ``` AT^SYSCFG=$mode,$acqOrder,$band,$roam,$srvDomain $mode 2=Auto-Select 13=GSM only 14=WCDMA only 16=no Change $acqOrder 0=Automatic 1=GSM prefered 2=WCDMA prefered 3=no Change $band 3fffffff = All other (query list with "AT^SYSCFG=?") $roam 0=Not Supported 1=Supported 2=no Change $srvDomain 0=Circuit-Switched only 1=Packet-Switched only 2=Circuit- & Packet-Switched 3=Any 4=no Change ``` ## Связанные статьи * [Dialup without a dialer HOWTO (Русский)](/index.php/Dialup_without_a_dialer_HOWTO_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Dialup without a dialer HOWTO (Русский)") * [Huawei E220](/index.php/Huawei_E220 "Huawei E220") * [USB 3G Modem (Русский)](/index.php/USB_3G_Modem_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "USB 3G Modem (Русский)")