Следующий Предыдущий Содержание

## 1. Введение

## 1.1 Информация по DSL-, ISDN- и кабельным модемам

В данном HOWTO рассмотрены обычные аналоговые модемы для персональных компьютеров (ПК), подключающиеся к шинам PCI, USB, LPC и ISA. USB- и ISDN-модемы затронуты вскользь. О других типах модемов читайте в:

- DSL-HOWTO
- ADSL-Bandwidth-Management-HOWTO
- Cable-Modems-HOWTO (другое название: Cable Modem Providers HOWTO)
- SuSE ISDN Howto (не входит в LDP) http://brenner.chemietechnik.uni-dortmund.de/doc/sdb/en/html/isdn.html
- http://public.swbell.net/ISDN/overview.html -- справка по ISDN
- Документация по ISDN, поставляемая с ядром (подкаталог isdn)
- http://www.isdn4linux.de
- Приложение D: Другие типы модемов

## 1.2 Информация по PCMCIA-модемам и PPP

По модемам PCMCIA есть параграф "PCMCIA serial and modem devices" в PCMCIA-HOWTO. Документация по PPP (протоколу, используемому для подключения к Интернет через модем) находится в каталогах /usr/doc/ppp, /usr/share/doc/ppp и т.п. Для подключения к Интернет через модем потребуется программа, настраивающая PPP-соединение (например, wvdial).

## 1.3 Формальности и благодарности

### Авторское право

Copyright (c) 1998-2005 David S. Lawyer mailto:dave@lafn.org

Этот документ подлежит свободному распространению в любом формате (путем продажи, дарения, торгов и т.д. :) ). Любые исправления и дополнения высылайте на адрес лица, отвечающего за документ в настоящее время. Разрешается создание на основе этого документа собственного и его распространение при условии, что

1. Новая работа (а не перевод) будет послана по электронной почте автору и/или ответственному лицу (в формате, принимаемом LDP). Если ответа не последует, то ее следует переслать на адрес LDP (Linux Documentation Project): submit@en.tldp.org.
2. Новая работа будет лицензирована в таком же духе или как GPL с указанием авторских прав и хотя бы ссылки на используемую лицензию.
3. Предыдущие авторы и соавторы будут отблагодарены.

Перед созданием собственной работы (не перевода) обсудите свои планы с лицом, отвечающим за документ в настоящее время.

### Ответственность

Хотя у автора не было намерения ввести кого-либо в заблуждение, но некоторое число ошибок в данном документе все же присутствует. Автор будет признателен всем тем, кто сообщит ему о них. Так как это HOWTO является свободным/бесплатным, то должно быть очевидным, что автор не несет никакой юридической ответственности за какие-либо ошибки.

### Торговые марки

Любые названия (начинающиеся с заглавной буквы, как MS Windows) должны рассматриваться как торговые марки, принадлежащие соответствующим владельцам.

"Hayes" -- торговая марка Microcomputer Products Inc. Автор использует термин "winmodem" (винмодем) для обозначения модема, изначально созданного для работы в MS-Windows, а не как торговую марку. Все остальные торговые марки принадлежат соответствующим владельцам.

### Благодарности

Около четверти материала, представленного здесь, заимствовано напрямую из Serial-HOWTO v. 1.11 (1997) by Greg Hankins(с его разрешения). Приблизительно еще одна четверть также взята из Serial-HOWTO и переработана. Оставшаяся половина написана заново David S. Lawyer. С момента создания (2000) было много чего добавлено настоящим автором, так что от информации из старого Serial-HOWTO мало что осталось.

## 1.4 Беспокойство автора

Автор не следит за великим множеством производителей и более великим множеством моделей модемов, поэтому просит не задавать ему вопросы о них (наподобие "какой модем мне купить?"). Если есть заинтересованность в определенной модели (будет ли она работать под Linux?), то обратитесь к огромному списку web-сайтов по ссылке. Вопросы о настройке модема задавайте только после тщательного ознакомления с данным HOWTO, если не смогли найти ответ. Автор не имеет опыта работы с программными модемами.

Автор просит сообщать ему о любых ошибках в фактах, мнениях, логике, правописании, грамматике, ясности изложения, ссылках и т.д. Но прежде убедитесь в том, что имеете самую последнюю версию этого HOWTO. Любая информация, которая по Вашем мнению должна быть в данном документе, но отсутствует, будет принята автором с благодарностью.

## 1.5 Новые версии

Новые версии Modem-HOWTO должны выходить раз в несколько месяцев. Решение Вашей проблемы может быть в самой последней версии. Она будет выложена на сайтах-зеркалах LDP. Список этих сайтов находится по адресу: http://www.tldp.org/mirrors.html Содержание самой последней версии располагается по ссылке: http://www.tldp.org/HOWTO/Modem-HOWTO.html

## 1.6 История изменений

Полная история изменений, начиная с первой версии, находится в исходном файле (в формате linuxdoc).

- v0.38 May 2005: Eliminated section on Digital Modems in appendix since it's already covered elsewhere. More on cable modems. ISDN serial modems. Troubleshooting: Can't find winmodems if no driver.
- v0.37 Feb. 2005: For AMR, codec is on motherboard. Fixed a few typos. Better clarity for Dial-In. "NO CARRIER" likely not displayed when remote hangs up.
- v0.36 Feb. 2005 Rewrote "Quick Install" oriented towards PCI. Some external RS-232 modems are winmodems. /dev/modem.
- v0.35 Dec. 2004: send AT expect OK may not work, 2 modems back-to-back work OK w/o a phone line
- v0.34 Nov. 2004: Sentence fragment: ... "use up" fixed. url tag error. Distinctive ring workaround. LPC bus.
- v0.33 Aug. 2004: Modems use telco power, Some external serial modems need Windows ?? Again: new gromitkc url
- v0.32 Dec. 2003: Still newer gromitkc url w/o pop ups; more on devfs
- v0.31 Nov. 2003: Mgetty dial-in, setserial rewritten

## 1.7 Модем

Модем (аналоговый модем) -- устройство, предназначенное для передачи цифровых сигналов по обычной (аналоговой) телефонной линии. Если бы все телефонные линии были цифровыми, то модем (аналоговый) бы не потребовался. К цифровым телефонным линиям взамен аналогового модема подключают то, что называют "цифровым модемом". Модем позволяет компьютеру быть на связи со всем миром. В большинстве случаев для этого используется специальная программа для дозвона и web-браузер. Опытные пользователи могут настроить модем на прием входящих звонков и организовать удаленный доступ к своему компьютеру ("dial-in").

По способу подключения к ПК различают четыре основных вида аналоговых модемов: внешний последовательный (RS-232), USB (= внешний USB), внутренний и встроенный. Внешние последовательный и USB располагаются на Вашем столе вне системного блока; два других скрыты от глаз пользователя, т.к. находятся внутри системного блока. Внешний последовательный модем подключается к разъему сзади системного блока, известному как "последовательный порт". USB-модем подсоединяется USB-кабелем. См. USB-модемы. Внутренний модем представляет собой карту расширения, вставляемую внутрь корпуса. Встроенный модем -- это микросхема на материнской плате прежде всего ноутбука/лэптопа. То, что сказано в этом HOWTO касательно внутренних модемов, как правило применимо и ко встроенным модемам. Внутренние модемы подразделяются на PCI, ISA и AMR в зависимости от того, подключаются ли они к шинам PCI или ISA или вставляются в AMR-слот, соответственно.

Сравнение внешних и внутренних модемов см. в разделе Внешний супротив внутреннего. При использовании внутреннего или встроенного модема оказывается занятым определенный последовательный порт (который используется только данным модемом и ничем другим: ни внешним модемом, ни терминалом). В Linux последовательные порты обозначаются как ttyS0, ttyS1 и т.д. (или tts/0, tts/1 для файловой системы устройств (devfs). Эти порты соответствуют COM1, COM2 и т.д. в Dos/Windows). Но в некоторых случаях названия портов более длинные, например: ttySHCF0 -- нулевой порт для одной из разновидностей винмодемов (HCF = Host Controlled Family). Для обозначения новых типов последовательных портов просто добавляются несколько букв к ttyS.

Описания работы модемов и последовательных портов см. в разделе Модем и последовательный порт. Последовательный порт для USB-модема имитируется его драйвером и имеет путь наподобие /dev/ttySHCFUSB или /dev/usb/asm/0 (для devfs).

Многие модемы обладают возможностью отправки факса (факс-модемы). Перечень программ, предназначенных для этой цели, см. в разделе Факс. "Голосовые" модемы могут служить в качестве автоответчика и обрабатывать голосовую почту. См. Программное обеспечение для голосовой почты.

Протокол v.92 позволяет перевести модем в режим удержания соединения ("on hold") при поступлении входящего звонка во время сеанса связи при условии, что обслуживающая телефонная компания подключила услугу "ожидание вызова" ("call waiting"). Т.е. можно ответить звонящему или позвонить кому-либо, не прерывая модемного сеанса связи. К сожалению, на январь 2003 в Linux не была реализована поддержка данной функции. Автор просит сообщить ему о ее появлении. Некоторые драйвера линмодемов содержат такую поддержку (но что если у Вас аппаратный модем, которому не требуется драйвер для линмодема?).

## 1.8 У меня внутренний модем?

Внутренние модемы обнаруживают себя по наличию пары модульных гнезд на задней стенке системного блока. Они должны располагаться рядом друг с другом и выглядеть как гнездо на стене, к которому подключается телефонный аппарат. Один из них помечен как "line" (или похоже), к нему подключается телефонная линия.

Сетевые карты тоже имеют модульные гнезда, но они более широкие, т.к. имеют 8 контактов, и редко в паре (а еще рядом с гнездом сетевой карты есть две лампочки-светодиода :) -- прим. перев.). Еще похожие разъемы имеют внутренние "модемы" DSL, которые не так распространены (в 2002 большинство DSL-модемов было внешними).

## 1.9 Быстрая установка

### Быстрее не бывает

Если Вы думаете, что модем будет работать под Linux и не нуждается в специальном драйвере, то установите/подключите его в/к компьютер/-у. Запустите компьютер, посмотрите во время загрузки Linux, что модем обнаружен. Он должен значиться как последовательный порт, к примеру ttyS2 (/dev/ttyS2). Подключите телефонную линию к модему и воспользуйтесь программой для установки соединения, например wvdial (после настройки wvdial). Если не получилось, читайте дальше.

### А стоит ли пытаться?

Так называемые "винмодемы" ("winmodems") будут работать под Linux только после установки подходящего драйвера (если, конечно, таковой существует). В случае успеха такой модем превращается в "линмодем" ("linmodem"), поскольку он может работать под Linux (!). См. список модемов и Программные модемы (винмодемы). Нет никакого резона устанавливать модем, который не будет работать с Linux (кто бы сомневался? -- прим. перев.).

### Внешние последовательные модемы

Было время (2002 ?), когда ни один внешний модем не являлся винмодемом, но оно прошло. Подсоедините модем подходящим кабелем к неиспользуемому последовательному порту. Убедитесь, что знаете название этого последовательного порта: в большинстве случаев COM1 -- это ttyS0, COM2 -- ttyS1 и т.д. Проверьте в BIOS: не отключен ли какой-либо из встроенных последовательных портов. Включите модем в розетку (наверняка потребуется сетевой адаптер!!! -- предостер. с иронией перев.). Перейдите к разделу Все модемы.

### Внутренние модемы (ISA, PCI и AMR)

Если модем является PnP и напрямую поддерживается драйвером последовательного порта (ядро 2.4 +), то никакой настройки не требуется. То же касается и винмодемов после успешной установки подходящего драйвера.

Чтобы установить модемную карту, снимите крышку корпуса системного блока, отвинтив пару винтов. Найдите соответствующий свободный слот расширения. Удалите заглушку с задней стенки блока напротив выбранного слота. Совместите разъем карты со слотом и аккуратно надавите на нее по всей длине ребра до полного захода. Закрепите карту винтом с подходящей резьбой (обычно 3 мм с шагом 0,5 мм).

Посмотрите, определяется ли модем Linux. Воспользуйтесь командой "dmesg" или комбинацией клавиш shift-page-up, чтобы вернуться к сообщениям, выданным при загрузке Linux.

### Внутренние модемы: самостоятельная настройка

Обычно ресурсы для последовательного порта модема выделяются на этапе загрузки. К примеру, ttyS14 дается адрес I/O 0x6450 (IRQ = 10). Если этого не происходит (или есть особая причина их изменить), то требуется самостоятельная настройка (возможно, придется обновить ядро -- это повысит вероятность обнаружения модема). Модем не получится использовать до тех пор, пока ему не назначен номер ttyS (вроде ttyS10). По этому номеру порта к модему получают доступ прикладные программы: программы для установления соединения, minicom. Получить информацию о PCI-модеме можно по команде "lspci -v".

Чтобы назначить модему порт ttyS? из числа доступных, необходимо воспользоваться программой "setserial". Для этого нужно знать адрес IO модема (например, 0x6450) и его IRQ (например, 10).

У Вас есть некоторый выбор IRQ и адресов IO. См. Выбор IRQ и Выбор адресов.

### Ранние ISA-модемы

ISA-модемы обычно занимают ttyS0 - ttyS3. На старых модемах настройки выставлялись с помощью перемычек (jumpers): обратитесь к прилагаемому руководству или надписям на плате модема, поясняющим их назначение. Портам ttySx соответствуют стандартные адреса IO. Например, /dev/ttyS2 соответствуют адрес IO 0x3e8 и IRQ 11.

Если перемычки отсутствуют, то модем по всей видимости является Plug-and-Play и настраивается BIOS при включении ПК. Посмотрите вывод команды "pnpdump --dumpregs". При необходимости установить или изменить какую-либо из настроек, воспользуйтесь "isapnp". Программа "pnpdump" подскажет какие изменения можно внести.

### PCI и ISA: настройка драйвера последовательного порта программой setserial

Найдите файл, из которого может запускаться "setserial" при загрузке, и добавьте в него строку наподобие: "setserial /dev/ttyS2 irq 5 port 0x0b8". Для setserial версий 2.15 и выше настройки могут (или не могут) быть сохранены в файле с именем serial.conf или autoserial.conf. Он может располагаться в каталоге /etc или /var/lib/setserial (для поиска примените "locate"). За подробностями обращайтесь к разделу Setserial. Дальнейшие инструкции по установке в разделе Все модемы.

### Использование MS Windows для настройки BIOS (когда ничего другого не остается)

Можно попытаться задействовать MS Windows9x, чтобы "заставить" BIOS выставить определенное IRQ и/или IO. Эти настройки можно записать во flash-память PnP BIOS, откуда они могут быть взяты в дальнейшем как Windows, так и Linux. См. Plug-and-Play-HOWTO. В Windows3.x для этих целей служит программа ICU. В нескольких моделях модемов есть возможность отключить PnP с помощью программного обеспечения (под Windows), идущего вместе с модемом.

### Все модемы

Подключите модем к телефонной линии. Настройте программу, служащую для установления соединения. Чтобы подключиться к интернет-провайдеру (ISP), Вы можете выбрать одну из следующих: wvdial, pppconfig, gnome-ppp, modem lights (Gnome) или kppp. Они не только устанавливают физическое соединение, но и запускают PPP, необходимый для подключения к Интернет. Бодовую скорость последовательного порта установите в несколько раз выше битовой скорости модема. Обратитесь к Таблице скоростей, чтобы определить какая скорость "лучше". В настройках программы указывайте полное наименование последовательного порта, такое как /dev/ttyS1 (или /dev/ttys/1).

Одним из способов настройки и проверки модема является использование программы minicom. Установите аппаратное управление потоком (RTS/CTS). Установив и настроив minicom, запустите его и наберите команду AT, нажмите enter, в ответ Вы должны получить "OK", если все в порядке. См. Осуществление исходящего звонка в Minicom.

## 1.10 dev/modem

Чтобы не запоминать название последовательного порта, к которому подключен модем (например, /dev/ttyS2), можно создать для него символическую ссылку /dev/modem. Командой для этой операции является `ln -s /dev/ttyS2 /dev/modem` (вместо "ttyS2" может быть "ttyS14" и т.д.). Утилита modemtool из состава Red Hat делает то же самое. Только учтите, что создав такую ссылку, следует в настройках программ, использующих модем, указывать /dev/modem, а не /dev/ttyS2. В противном случае может получиться так, что две программы попытаются получить доступ к модему, не зная друг о друге, -- ни к чему хорошему, как Вы понимаете, это не приведет.

Следующий Предыдущий Содержание