Иллюстрированный самоучитель по RedHatLinux

       

Введение в порты Linux


В среде Linux каждому периферийному физическому устройству или порту подключения сопоставляется один или несколько файлов в специальном каталоге / dev. Это относится к жестким дискам, устройствам CD-ROM, параллельным и последовательным портам.

Основной принцип достаточно прост. Рассмотрим для примера жесткий диск.

В Linux каждому жесткому диску IDE присваивается имя hdx, где х принимает значения "а" (для первого диска на первичной шине IDE), "b" (для второго диска на первичной шине ШЕ), "с" (для первого диска на вторичной шине IDE) и т.д. Таким образом, имя главного вторичного диска - /dev/hdc.

Примечание

Жесткие SCSI-диски и SCSI-диски CD-ROM аналогичным образом обозначаются

sdx.

В каталоге / dev имеется составляющая для каждого дискового раздела. Например, второму разделу первичного подчиненного диска присваивается имя /dev/hdb2, первому разделу вторичного главного- /dev/hdcl.

Параллельные порты в Linux

Рассмотрим параллельные порты. В DOS и Windows параллельным портам присваиваются имена LPT1:, LPT2 :, LPT3 : и т.д. Как правило, в ПК один параллельный порт с именем LPT1:.

В Linux параллельным портам сопоставляются файлы устройств 1рх, где х - номер порта. Это основное отличие от DOS и Windows: нумерация портов начинается не с единицы, а с нуля, так что LPT1: в Linux соответствует /dev/lp0, a LPT2 : - /dev/ lpl. В DOS возможна ситуация, когда единственный параллельный порт компьютера имеет имя, отличное от LPT1:; в Linux этому порту будет присвоено имя /dev/lpO, как первому доступному порту.

Теперь перейдем к последовательным портам, понимание принципов рабств которых важно для правильной установки модема.

Последовательные порты в Linux

В Linux каждому последовательному порту сопоставляется два файла устройств - для исходящих и входящих соединений. Файлы исходящих соединений называются ttySx, где



х-

номер, начинающийся с нуля. Таким образом, порту СОМ1: из DOS в Linux соответствует /dev/ttyS0, COМ2 : - /dev/ ttySl. В ранних версиях Linux последовательному порту сопоставлялся еще один файл устройства. Это файл сиах, где х - номер, начинающийся с нуля. Таким образом, в этих версиях СОМ1: соответствовали файлы /dev/ ttyS0 и /dev/cua0, COM4: - /dev/ttyS3 и dev/сuаЗ. Адреса портов сведены в таблицу 18.2.



Табл. 18.2.
Последовательные порты в DOS и Linux


Имя DOS

Файлы устройств Linux

Унаследованные файлы устройств

СОМ1:
COM2:
COM3:
COM4:

/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3

/dev/cua0
/dev/cua1
/dev/cua2
/dev/cua3


Но запомнить эти имена устройств для большинства людей сложно. К счастью, при конфигурировании модема большинство Linux-дистрибутивов организует связь между файлом /dev/modem и реальным устройством. Это можно проверить, выполнив команду 1s -1 /dev/modem. Результат должен быть таким:

lrwxrwxrwx 1 root root 10 Feb 3 19:21 /dev/modem -> /dev/ttyS0

Примечание
В современных версиях Linux используется только файл /dev/ttySx, поддержка же /dev/cuax остается исключительно для обеспечения совместимости. Со временем надобности в поддержке этого файла не будет.

USB-порты в Linux
Теоретически, можно подсоединить до 32 USB-модемов к Linux-компьютеру. Чтобы использовать USB-модемы, необходимо убедиться в том, что соответствующие USB-модули включены в ядро (вопросы конфигурирования ядра обсуждаются в гл. 20). Некоторые USB-модули уже включены в состав последних дистрибутивов, включая Red Hat Linux 7.1.

Для USB модемов также необходим модуль Communication Device Class Abstract Control Module, кратко acm; о. Если он не входит в ядро, следует включить его в текущую конфигурацию. В Red Hat Linux 7.1 необходимо компилировать этот модуль в состав ядра. Более подробно вопросы модификации ядра рассмотрены в гл. 20. Покончив с формированием необходимого ядра, можно запускать следующую команду:

# /sbin/insmod /lib/modules/2.4.2-2/kernel/drivers/usb/acm.o

Если версия вашей команды insmod или ядра другая, задайте ее в команде соответствующим образом. Используемый в вашем Linux-дистрибутиве каталог может отличаться.

Соответствующие устройства уже должны существовать в каталоге /dev/usb. Проверьте это с помощью команды Is -I /dev/usb/ ttyACM*. Результат должен выглядеть приблизительно так:

crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM0

crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM1
crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM2
crw-rw----- 1 root root 188, 0 Aug 24 09:00 /dev/usb/ttyACM3
Если у вас результат отличается от приведенного, выполните следующую команду: mknod /dev/usb/ttyACM0 с 166 0

Повторите эту команду, подставив ttyACM1, ttyACM2 и другие USB-порты по мере необходимости.

Содержание раздела