Winmodems-and-Linux HOWTO Версия для печати   


Александр Дж., alexandre12@mageos.com
Перевод и редактирование by Lynx
V1.2

1. Что такое Winmodem?
- 1.1 Модемы ли они вообще...
- 1.2 Не совсем реальные модемы!
- 1.3 Как узнать, что у меня Winmodem

2. ISA или PCI?
- 2.1 PCI?
- 2.2 Или ISA?
- 2.3 ISA и ядро 2.4

3. Установка модемного драйвера
- 3.1 ltmodem 5.78
- 3.2 LT Winmodem (от Lucent) 5.68 (УСТАРЕВШИЙ)
- 3.3 Программа ltmodem (OpenSource драйвер)

4. Конец...
- 4.1 Лицензия, Авторское право
- 4.2 Контакты
- 4.3 Ресурсы

1. Что такое Winmodem?

1.1. Модемы ли они вообще...
Winmodem, подобно другим модемам, используются для реализации своих функций посредством телефона, к примеру: BBS, Internet, сам Телефон, Факс, и т.д. Это - raccorded на телефонную линию и - caracterized его скоростью. Более подробно о действиях и принципах модемов см. в различных Modems-HOWTO.

1.2. Не совсем реальные модемы!?
Но они - Winmodems. То есть они нуждаются в Windows-платформе для своей работы. Почему? Просто, потому что они глупы (т.е. самостоятельно не умеют полностью реализовывать свои функции). Они нуждаются в специальном программном обеспечении, драйвере, для выполнении своих задач. Но кто говорит, что программное обеспечение в 99% исключительно для платформы MS WINDOWS. С демократизацией linux, некоторые изготовители, подобно LT или Motorola, решили создать linux драйвер для своих модемов. Но в отличии от общепринятых правил linux-кодинга, эти конторы представляют свои дрова в виде "Closed Source" (т.е. закрытого кода - источники не доступны), что плохо сказывается на продвижении ВыньМомедов под Линух.
Так, некоторые "хакеры" решили сделать Открытый Исходный драйвер, но в связи с вышесказанным - о закрытых кодах компаний - они не достаточно знают о спецификациях модемов, так что OpenSource драйверы находятся лишь в alpha или максимум beta состоянии.

1.3. Как узнать, что у меня Winmodem?

1. Пробовать получить название (имя) последовательного порта, на котором «сидит» ваш модем (под Windows или MS DOS, пример: COM1 COM2...).
Обозначение вашего модема под linux - /dev/ttySx, где x - номер последовательного порта под DOS-1
1-й пример: Под DOS: COM1, под linux ttySx, x=1-1, т.е. ttyS0
2-ой пример: Под DOS: COM3, под linux ttyS2 (x=3-1)
И так далее...

2. Сделать symlink от /dev/ttySx до /dev/modem:

rm -f /dev/modem

ln -s /dev/ttySx /dev/modem

3. Загрузить, и установить пакет minicom. Затем выполнить "minicom -s".
Выберите "Установку Последовательного порта" ("Serial Port Setup"), введите "А" для установки "Последовательного Устройства" ("Serial Device"), удалите всю линию, и напечатайте "/dev/modem". Далее подтвердите [Вводом]. Затем [Esc], и выберите "сохранить установку как dfl", "Выход";.
Подождите немного, затем напечатайте "AT", если модем отвечает "OK", тогда у вас не Winmodem, а стандартный модем (т.е. хард-момед)...
Если время инициализации длится слишком долго, тогда у вас Winmodem. Используйте этот документ для своих целей. Залогинитесь под root’а.

4. Выйти из minicom, нажав CTRL+A, затем X.

2. ISA или PCI?

2.1 PCI? Хорошо, теперь мы убедились, что у нас Winmodem... Но есть два типа Winmodem’ов: ISA или PCI. Эти два интерфейса довольно различны. Так, теперь мы проверим, если мы имеем МОДЕМ в ISA-исполнении или PCI. Для начала, Вы должны сконфигурировать ваше ядро (kernel). Во время конфигурации ядра, Вы должны ответить «да» на следующие вопросы:
- В Загружаемой поддержке модуля (Loadable module support): «Enable loadable module support (CONFIG_MODULES)», и «Set version information on all modules for symbols (CONFIG_MODVERSIONS)» (обратите внимание, чтобы был установлен пакет modutils; [См. Kerneld-HOWTO])
- В Общей установке:
«PCI support» (CONFIG_PCI)
Выберите "Any" в «PCI Access Mode» (CONFIG_PCI_GOBIOS)
«PCI quirks» (CONFIG_PCI_QUIRKS)
«Backward compatible /proc/pci» (CONFIG_PCI_OLD_PROC)
- Если Вы можете сконфигурировать Именную Базу данных PCI Устройства (возможно с ядра версии 2.4+), то это даст возможность легче понять /proc/PCI файл CONFIG_PCI_NAMES).
- В Filesystems «/proc filesystem support» (CONFIG_PROC_FS)

Если Вы никогда не перекомпилировали ядро, возможно ядро по умолчанию содержит всё это.
Но если Вы всё таки хотите перекомпилировать, но Вы никогда не делали этого, читаете Kernel-HOWTO.
Теперь, предполагаем, что ваше новое ядро установлено.
Запустите «cat /proc/pci». Если Вы видите имя вашего модема в строке, возвращенной командой, тогда у вас PCI Winmodem. Отправляйтесь к разделу «Установка драйверов».

2.2. Или ISA?

Но если Вы не лицезрели такого ответа, возможно у вас ISA-модем. Как убедиться?
Поддержка ISA-устройств не принята Ядром (МОДИФИЦИРОВАННОЕ: ядро 2.4.x, может сделать это за Вас (автоматически); если так, пропустите этот раздел и читайте следующий).
Это - стороннее программное обеспечение, названное isapnp, которое также делает это. Сначала Вы должны убедиться, что у вас есть этот пакет. Если нет, загрузите пакет isapnptools.
Когда установите isapnptools, запускайте специальную программу pnpdump, которая осмотрит ваш компьютер на наличие ISA-устройств. Она запросит ресурсы, используемые устройствами, с последующей записью в файл,/etc/isapnp.conf. После просмотра и редактирования этого файла, запустите другую программу, isapnp, которая с помощью файла isapnp.conf автоматически настроит ваши устройства.
А? Сложно? Тогда следуйте этим рекомендациям:
1. Запустите «pnpdump > /etc/isapnp.conf».
2. Подредактируйте при помощи любимого текстового редактора.
3. Найти раздел, где ваш модем прописан.
4. Уберите комментарии в следующих линиях файла (Удалите # в начале линии):
1 линия "(IO 0 ...)"
1 линия "(INT 0 ...)"
1 линия "(DMA 0 ...)"
1 линия "(DMA 1 ...)"
1 линия "(IO 1 ...)"
5. Удалить «ПРОВЕРКУ» (CHECK) во всех непрокомментированных IO линиях.
6. Запустите "isapnp /etc/isapnp.conf". Если Вы получили ошибку, отредактируйте файл isapnp.conf, и попробуйте изменить параметры. Если больше не возникнут ошибки, отредактируйте isapnp.conf и уберите комментарий линии «(ACT Y)» в секции вашего модема. Затем перезапустите «isapnp /etc/isapnp.conf». В ответ должно появиться: "[[Имя вашего модема]] Функционирует OK" ("[[Name of your modem]] Enabled OK").
7. Добавьте «isapnp /etc/isapnp.conf» в /etc/rc.d/rc.local, введя «echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local». Это будет полезно для автоконфигурирования ваших устройств при каждом запуске.
Если это может помочь, вот - отрывок моего /etc/isapnp.conf файла (я прокомментировал этот файл при помощи #, а оригинальные комментарии предшествуют ##).
--------------------------------------------
# Snip details ...
## (DEBUG)
(READPORT 0x0203)
(ISOLATE PRESERVE)
(IDENTIFY *)
(VERBOSITY 2)
(CONFLICT (IO FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING

# Identification of my modem card

## Card 1: (serial identifier e2 00 00 01 00 05 50 c3 1e)
## Vendor Id GVC5005, Serial Number 256, checksum 0xE2.
## Version 1.0, Vendor version 0.1
## ANSI string -->LT Win Modem<--
##
## Logical device id HSM0140
## Device support I/O range check register
#

# We want to configure the GVC5005/256 card

(CONFIGURE GVC5005/256 (LD 0

# I/O Base address 0x03f8, with a range of 8
(IO 0 (SIZE [img=images/smiley_icons/icon_cool.gif]Cool[/img] (BASE 0x03f8) )
# IRQ 4
(INT 0 (IRQ 4 (MODE +E)))
# DMA 5
(DMA 0 (CHANNEL 5))
# DMA 7
(DMA 1 (CHANNEL 7))
# I/O Base Address 2 0x0100, range 8
(IO 1 (SIZE [img=images/smiley_icons/icon_cool.gif]Cool[/img] (BASE 0x0100) )
# Name of the card
(NAME "GVC5005/256[0]{LT Win Modem }")
# Activate it
(ACT Y)
# End configuration
))

######## The parameters for my other ISA devices ##############

## Returns all cards to the "Wait for Key" state
(WAITFORKEY)
--------------------------------------------

2.3 ISA и ядро 2.4
Но если у вас имеется ядро версии 2.4 (для проверки версии ядра введите «uname -r»), Вы не должны делать выше сказанных textfile-манипуляций, наряду с инсталляциями различных пакетов, т.к. начиная с версии ядра 2.4, предоставляются методы, подобные PCI-устройствам, а пакет isapnptools предустановлен заранее.
Для того чтобы получить в распоряжении данные функции ядра, Вы должны подтвердить («Y» или «М») в разделах «Plug and Play support» (CONFIG_PNP) и «ISA Plug and Play support» (CONFIG_ISAPNP) при установке kernel’а, или конфигурации оного (находящимся в разделе «Plug and Play configuration», установки kernel’а). Снова перекомпилируйте ваше ядро, с последующей инсталляцией.
Если Вы подтвердили, кнопкой «М», в установке ISA Plug-and-Play support, то не лишним будет сделать «modprobe isapnp».
Вы должны располагать драйвером, совместимым с новым устройством.

3. Установка модемного драйвера
Вы можете не читать этот раздел полностью; руководствуйтесь тем разделом, соответствующий вашему модему. В данной части разъясняются следующие вопросы: как установить LT Модем, используя Lucents и OpenSource драйвера. Если Вы написали или использовали другой Winmodem драйвер, Open или Closed Source, Вы можете послать по электронной почте письмо на мой адрес(alexandre12@mageos.com), и я включу его в этот раздел.

3.1 ltmodem 5.78
URL:
Автор: Lucent
Лицензия: Non-GPL
Поддерживает: ISA/PCI модемы, с чипсетами Lucent (семейство Mars)
Особенности: Модуль ядра; эмуляция последовательного порта. PPP, Факс и Голос.
Текущая Версия: 5.78e
Документация: README-1ST
Требования: 2.2.x или 2.4.x; Поддержка ISA PNP; Загружаемая поддержка модуля; C Компилятор
HOW-TO: Прочитайте README-1ST. Кратко и ясно.
Проблемы:
·При не опознавании символов: xxx_isapnp_xxxx: выполните modprobe isapnp.
·Устройство или ресурсы заняты: ваш модем - не сопоставим с драйвером
Комментарии: Lucent, на данный момент, не обеспечивают поддержку.

3.2 LT Winmodem (от Lucent) 5.68 (УСТАРЕВШИЙ)
URL:
Автор: Lucent Technologies
Лицензия: Non-GPL
Поддержки: ISA/PCI модемы, с чипсетом Lucent (семейство Mars)
Особенности: Модуль ядра; эмуляция последовательного порта. PPP, Факс и Голос.
Текущая версия (насколько я знаю): 5.68
Документация: README
Требует: 2.2.12 или выше (RedHat ядро); загружаемая поддержка модуля
HOW-TO: Разархивируйте пакет («unzip linux568.zip»), и запустите командой ./ltinst. Enjoy!
Проблемы:
- «insmod: ltmodem: Unresolved symbol(s) *****»: Вы располагаете ядром, не соответствующим ltmodem драйверам. Скачайте ядро 2.2.12 с [url]ftp://ftp.kernel.org/,[/url] скомпилируйте и установите.
- "Warning: kernel version mismatch...": просто, потому что у вас не 2.2.12-20 версия ядра. Это - только предупреждение; не повлияет на работоспособность модема.
- «ltmodem: init_module: device or resource busy»:
- У вас не lt-модем или не соответствующий установке.
- Если у вас ISA-модем – не конфигурировано при помощи isapnp.
- Если у вас PCI-модем – поддержка PCI, в ядре, не была сконфигурирована.

3.3 Программа ltmodem (OpenSource драйвер)
URL:
Авторы: Ричард Клос и Павел Мачек
Лицензия: GPL
Поддержка: ISA/PCI модемы, с чипсетами Lucent (семейство Mars)
Особенность: Все - Пользовательские драйвера; Voice calls; без поддержки PPP (V90)
Текущая версия (насколько я знаю): 0.99
Документация: README
Требует: GNU C Компилятор, automake
HOW-TO:
- PCI: make; make install – Затем, при помощи «ltmodem» программы «свяжитесь» с модемом.
- ISA: (прочитайте файл README.ISA) mv Makefile Makefile.PCI ; mv Makefile.ISA Makefile; Подредактируйте config.h и измените правильные значения вашего модема (Адрес ввода – вывода (I/O Address), DMA, IRQ); make; make install – Затем, при помощи «ltmodem» программы «свяжитесь» с модемом.
Проблемы:
- "Sorry, I cant found any modem...":
- У вас не lt-модем.
- У вас ISA-модем, не конфигурированный при помощи isapnp.
- У вас конфигурированный ISA-модем; но ltmodem не компилировался как ISA.
- У вас PCI модем без поддержки PCI, включенной в ядро.
- У вас PCI модем, с поддерживающим ядром, но ltmodem не компилировался как PCI.

4. Конец...

4.1 Лицензия, Авторское право

Copyright ( C ) 2000, 2001 Alexandre J.
Эта «программа» – свободно распространяемое (бесплатное) программное обеспечение; Вы можете распространять и/или изменять данный документ в соответствии с GNU Лицензией, описанная Фондом бесплатного программного обеспечения (Free Software Foundation); любая из версий выше Лицензии v.2.
Данная программа распространяется в надежде, что будет полезным пособием; Но БЕЗ ЛЮБОЙ ГАРАНТИИ с нашей стороны. См. GNU Лицензию для большего разъяснения.
Вы должны были получить копию GNU Лицензии наряду с этой программой; если нет, свяжитесь с Фондом бесплатного программного обеспечения (Free Software Foundation):
Foundation, Inc, Temple Place 59, а/я 330, Бостон, MA 02111-1307 США
(Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)

4.2 Контакты
Если у вас имеются любые идеи об этом документе, пожалуйста, сообщите их мне по электронной почте: main e-mail; касательно перевода: translate e-mail.

4.3 Ресурсы
- Веб-страничка проекта Linmodems:
- Веб-страничка проекта LTModem:
- Сайт Lucent Technologies:
- The Linux Kernel:
- Веб-страничка isapnptools:
Веб-страничка LDP (для соответствующих HOWTO):

Автор: Lynx

Опубликовал: DIMON
Дата: 01.08.2003
постоянный адрес статьи: http://linuxportal.ru/entry.php/P106_0_3_0/