Главная страница

ргр. Конспект лекций ПЕРЕСДАТЬ. Конспект лекций по дисциплине "Управление и перспективы развития инфокоммуникационных систем" для докторантов специальности


Скачать 1.63 Mb.
НазваниеКонспект лекций по дисциплине "Управление и перспективы развития инфокоммуникационных систем" для докторантов специальности
Дата15.07.2021
Размер1.63 Mb.
Формат файлаdocx
Имя файлаКонспект лекций ПЕРЕСДАТЬ.docx
ТипКонспект лекций
#224364
страница15 из 16
1   ...   8   9   10   11   12   13   14   15   16

Внешние модемы


В ОС 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.
1   ...   8   9   10   11   12   13   14   15   16


написать администратору сайта