ргр. Конспект лекций ПЕРЕСДАТЬ. Конспект лекций по дисциплине "Управление и перспективы развития инфокоммуникационных систем" для докторантов специальности
Скачать 1.63 Mb.
|
Внешние модемыВ ОС Linux лучше всего использовать стандартные внешние модемы. Модемы этого типа подключаются к серверу на базе ОС Linux через последовательный СОМ-порт посредством стандартного 9- или 25-контактного модемного кабеля, который можно приобрести в любом компьютерном магазине. На момент выхода курса текущим стандартом для модемов является протокол V.90, который позволяет работать модемам на скорости 56 Кбит/с. К сожалению, в реальных условиях эта скорость достигается очень редко. Скорость 56 Кбит/с достигается применением специальных алгоритмов сжатия данных и модуляции сигналов. В обычных линиях связи, предназначенных для передачи речи, качество сигнала недостаточно для работы на таких высоких скоростях. Поэтому модемы, рассчитанные на 56 Кбит/с, работают обычно на скорости 38,4 Кбит/с. Тем не менее использование протокола V.90 оправдано хотя бы с точки зрения использования его возможностей по коррекции ошибок. Если используются высокоскоростные модемы, то с помощью внутренних регистров модема можно установить скорость его работы. Если скорость не определена, модем пытается соединиться с сервером на той же скорости, что и удаленный модем, которая, однако, может варьироваться. Это зависит от качества конкретной телефонной линии и удаленного модема. Установив скорость обмена модема с портом 115200 бит/с, можно настроить последовательный порт в ОС Linux со стандартными параметрами. Об этом более подробно далее в этой лекции. Внутренние модемыВнутренние модемы намного сложнее в работе по сравнению со своими внешними собратьями. В использовании внутренних модемов с операционной системой Linux имеется много "подводных камней". Во-первых, следует напрочь избегать модемов, маркированных как WinModem или совместимых с ними. Эти модемы специально разработаны для использования с операционными системами Microsoft Windows 95 и 98. В комплект их поставки не входит стандартный аппаратный интерфейс и, соответственно, они не будут работать с ОС Linux. Их принцип работы основан на специальном программном обеспечении, адаптированном для среды Windows 95-98. Модемы PCI — еще одна головная боль. Дело в том, что архитектура системной шины PCI позволяет устройствам автоматически конфигурироваться в процессе загрузки системы. В зависимости от установленных в системе устройств, каждое из них может запросить при очередной загрузке системы любое свободное прерывание IRQ и адрес порта ввода-вывода. К моменту выхода курса в ядре Linux версии 2.2 еще не была реализована поддержка модемов на шине PCI. Однако в настоящее время в сообществе потребителей ОС Linux ходят упорные слухи, что уже в следующую версию ядра эта поддержка будет включена. Если новая версия ядра уже доступна, то можно проверить, насколько эти слухи верны. А пока, если в системе имеется модем на шине PCI, можно попытаться заставить его работать с Linux вручную. В процессе загрузки системы параметры устройств на шине PCI отображаются базовой системой ввода-вывода BIOS. Посмотрите, какое прерывание назначается во время загрузки вашему модему, и вручную запустите программу setserial с соответствующим значением прерывания. Хотя этот метод и не совсем корректен, он должен сработать. Обычные внутренние модемы, предназначенные для работы с шиной ISA, работают с ОС Linux вполне нормально. Чаще всего у них имеется набор перемычек для установки их на определенный СОМ-порт. Помните, что не следует использовать СОМ-порт, который уже используется в качестве внешнего порта. Также будьте осторожны, если к этому же последовательному порту подключены другие устройства. Все они могут быть восприняты как модем на одном и том же порту. Довольно часто можно столкнуться с тем, что на порту СОМ1 имеется устройство-указатель (манипулятор "мышь"). Помните, что порт СОМ1 использует то же прерывание, что и порт СОМ3 (см. табл. 3.3). Если установить внутренний модем на порт СОМ3, то вполне можно лишиться мыши, так как вы не сможете одновременно использовать их на одном и том же прерывании. Чтобы избежать этого конфликта, поставьте модем на порт СОМ4. Конечно, если на порту СОМ2 уже имеется какое-либо устройство, то это не решение проблемы. Все эти проблемы подводят вас к использованию нестандартной конфигурации для последовательных портов. Вам нужно подобрать прерывание, которое не используется никакими другими устройствами в системе. Для этой цели в большинстве случаев подходят прерывания 9, 10 и 11. Модемы Plug-and-Play для шины ISAОдна из необычных технологий в IBM-совместимых ПК — использование устройств plug-and-play для шины ISA. Эти устройства, предшественники устройств для шины PCI, являются как бы переходной ступенькой между технологиями ISA и PCI. В них еще используется архитектура шины ISA, но делается попытка автоматически конфигурировать прерывания и адреса портов ввода-вывода при загрузке системы. Linux практически так же, как и в ситуации с шиной PCI, не может автоматически определять модемы PnP для шины ISA. Однако существует несколько программных утилит, которые могут помочь вам. С целью конфигурирования модемов PnP для шины ISA в ОС Linux Питер Фокс (Peter Fox) написал несколько программных утилит. Так, например, программа isapnp может считывать конфигурационный файл, который определяет все устройства PnP для шины ISA и конфигурирует их соответствующим образом в ядре ОС Linux. Если вы не знакомы с конфигурированием устройств PnP для шины ISA, не отчаивайтесь, программа pnpdump может запросить все необходимые параметры и создать файл конфигурации автоматически. Формат pnpdump: pnpdump [ -- config] [ --script [=outputfile] ][ --reset] [-- ignoresum ] [ -- showmasks] [ -- dumpregs] [ [ devs ] readport ] По умолчанию программа pnpdump сканирует все PnP-платы на шине ISA и посылает используемые ими ресурсы на стандартный вывод. Затем pnpdump сбрасывает все внутренние номера плат PnP и блокирует каждую из них для тестирования. Параметр devs, задаваемый в командной строке, определяет количество устройств, сканируемых программой pnpdump. При этом платы PnP не блокируются и не сбрасываются, но должен быть указан соответствующий значению в BIOS параметр readport. По умолчанию pnpdump отображает также ресурсы, используемые платами PnP, но при этом отключает строки в конфигурационном файле, отвечающие за их настройку. Задавая параметр --config, вы даете, по сути, команду программе pnpdump на создание конфигурационного файла, который затем программа isapnp может использовать для настройки модема PnP на шине ISA. В листинге 5 приведены фрагменты конфигурационного файла, созданного для PnP-модема на шине ISA командой pnpdump -- config. 1 # $Id: pnpdump.c,v 1.16 1998/10/09 22:19:06 fox Exp $ 2 # This is free software, see the sources for details. 3 # This software has NO WARRANTY, use at your OWN RISK 4 # 5 # For details of this file format, see isapnp.conf(5) 6 # 7 # For latest information on isapnp and pnpdump see: 8 # http://www.roestock.demon.co.uk/isapnptools/ 9 # 10 # Compiler flags: -DREALTIME 11 # 12 #Trying port address 0203 13 # Board 1 has serial identifier 5b 10 0d 6a 0e 24 00 8c 0e 14 # Board 2 has serial identifier c5 00 00 11 11 01 00 36 10 15 # 16 # (DEBUG) 17 (READPORT 0x0203) 18 (ISOLATE PRESERVE) 19 (IDENTIFY *) 20 (VERBOSITY 2) 21 (CONFLICT (I0 FATAL)(IRQ FATAL)(DMA FATAL)(MEM FATAL)) # or WARNING 22 23 #Card 2: (serial identifier c5 00 00 11 11 01 00 36 10) 24 # Vendor Id DAV0001, Serial Number 4369, checksum 0xC5. 25 # Version 1.0, Vendor version 1.0 26 # ANSI string -->DAVICOM 336PNP MODEM<-- 27 # 28 # Logical device id DAV0336 29 # Device support I/O range check register 30 # Device supports vendor reserved register @ 0x39 31 # Device supports vendor reserved register @ 0x3a 32 # Device supports vendor reserved register @ 0x3d 33 # 34 # Edit the entries below to uncomment out the configuration required. 35 # Note that only the first value of any range is given, this may be changed 36 #if required. Don't forget to uncomment the activate (ACT Y) when happy 37 38 (CONFIGURE DAV0001/4369 (LD 0 39 40 #Multiple choice time, choose one only 41 42 # Start dependent functions: priority acceptable 43 # Logical device decodes 16 bit 10 address lines 44 # Minimum I0 base address 0x02f8 45 # Maximum I0 base address 0x02f8 46 # I0 base alignment 8 bytes 47 # Number of I0 addresses required: 8 48 (I0 0 (SIZE 8) (BASE 0x02f8)) 49 # IRQ 3. 50 # High true, edge sensitive interrupt (by default) 51 [INT 0 (IRQ 3 (MODE +E))) 52 53 (NAME "DAV0001/4369[0]{DAVICOM 336PNP MODEM}") 54 55 # End dependent functions 56 (ACT Y) 57 )) 58 # End tag... Checksum 0x00 (OK) 59 60 # Returns all cards to the "Wait for Key" state 61 (WAITFORKEY) Листинг 5. Пример результатов работы команды pnpdump -- config (html, txt) В листинге 5 представлена лишь часть файла, генерируемого pnpdump. Программа pnpdump генерирует все возможные комбинации настроек, но оставляет активными лишь те, которые, с ее точки зрения, наилучшим образом подходят для данной PnP-платы. Результаты выполнения программы pnpdump могут перенаправляться в файл, где хранятся настройки PnP-плат: pnpdump -- config > /etc/isapnp.conf Именно в файле /etc/isapnp.conf программа isapnp попытается получить конфигурационную информацию, если не указан какой-либо другой файл. После того как конфигурационный файл создан, запускается программа isapnp. Формат команды isapnp следующий: isapnp conffile, где conffile — альтернативный путь к файлу конфигурации. После запуска в системе на базе ОС Linux программа isapnp должна обнаружить модем PnP. И, наконец, для завершения процесса настройки следует запустить программу setserial для порта, к которому привязан PnP-модем. Подобно работе программы setserial, вся информация, которая генерируется программой isapnp, помещается в таблицы ядра ОС Linux и теряется при перезагрузке системы. Эта проблема может быть решена запуском соответствующего сценария во время загрузки. В большинстве случаев в ОС Linux программа isapnp запускается при наличии файла /etc/isapnp.conf. Помните, что программа setserial должна запускаться уже после выполнения программы isapnp для того, чтобы соответствующим образом сконфигурировать последовательный порт с целью использования PnP-модемом для шины ISA. |