Подключение оборудования

Добавление USB-устройств, терминалов, видеокарт и других аппаратных устройств в систему

Статья включает:

Общие сведения
Устройства PCI/AGP
Устройства CD-ROM и DVD
Дисководы для гибких дисков
Жесткие диски
Устройства EIDE
Устройства для шины SCSI
Устройства типа SCSI RAID
Устройства типа LS-120
Устройства типа ORB
Диски типов Zip и Jaz
Виртуальные диски (диски в оперативной памяти)
Устройства ввода
Мыши и клавиатуры
Сенсорные экраны (touchscreen)
Звуковые карты
Устройства на шине ISA
Устройства на шине PCI
Устройства USB
Принтеры
Мыши и клавиатуры
Сенсорные экраны (touchscreen)
Запоминающие устройства
Символьные устройства
Обычные последовательные адаптеры
Многопортовые последовательные адаптеры
Параллельные порты
Терминалы
Атрибуты ввода/вывода
Сетевые адаптеры
Идентификация сетевого адаптера
Запуск драйвера
Проверка правильности взаимодействия драйвера и оборудования
Модемы
Внутренние модемы
Модемы на шине PCI
Внешние модемы
Кабельные модемы / ISDN
Тестирование модемов
Устранение неисправностей модемов
Видеокарты
Изменение видеорежимов в оболочке Photon
Ручная настройка видеокарты
Настройка нескольких дисплеев
Расширенные параметры

Общие сведения

При начальной загрузке настольной ЗОСРВ «Нейтрино» сперва запускается программа распознавания устройств (device enumerator) — управляющая программа, которая обнаруживает большинство из подключенных аппаратных устройств. Служба распознавания устройств загружает набор конфигурационных файлов из каталога /etc/system/enum/devices, в которых определено, что должна делать система (например, запускать конкретный драйвер), когда добавляется или удаляется оборудование.

Конфигурационные файлы службы распознавания устройств при необходимости можно редактировать. Более подробные сведения приведены в разделе Управление запуском ЗОСРВ «Нейтрино» и в подразделе о enum-devices.

В системе на основе встраиваемой ЗОСРВ «Нейтрино» обычно входит вполне определенный набор оборудования, поэтому при загрузке системы, скорее всего, можно беспрепятственно запустить соответствующие драйверы.


Note: В настоящее время ЗОСРВ «Нейтрино» не поддерживает работу со средствами хранения на магнитных лентах.

Информация данного раздела потребуется вам в том случае, если служба распознавания устройств не сможет обнаружить какое-то системное устройство или вы хотите вручную выполнить конфигурирование статических устройств встраиваемой системы.


Note:
  • для запуска любого драйвера нужно войти в систему под учетной записью root.
  • до запуска ЗОСРВ «Нейтрино» проверьте, чтобы в BIOS была отключена функция PnP-aware OS.

Устройства PCI/AGP

Если вы не знаете тип используемого контроллера, то для его идентификации можно воспользоваться утилитой pci:

pci -vvv | less

В результате работы этой команды вы получите следующий результат:

Class = Mass Storage (IDE) Vendor ID = 8086h, Intel Corporation Device ID = 7111h, 82371AB/EB PIIX4 IDE Controller PCI index = 0h Class Codes = 010180h Revision ID = 1h Bus number = 0 Device number = 4 Function num = 1 Status Reg = 280h Command Reg = 5h I/O space access enabled Memory space access disabled Bus Master enabled Special Cycle operations ignored Memory Write and Invalidate disabled Palette Snooping disabled Parity Checking disabled Data/Address stepping disabled SERR# driver disabled Fast back-to-back transactions to different agents disabled Header type = 0h Single-function BIST = 0h Build-in-self-test not supported Latency Timer = 20h Cache Line Size= 0h PCI IO Address = d800h length 16 enabled Max Lat = 0ns Min Gnt = 0ns PCI Int Pin = NC Interrupt line = 0 Device Dependent Registers: 0x40: 07 c0 03 80 00 00 00 00 05 00 02 02 00 00 00 00 0x50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0xF0: 00 00 00 00 00 00 00 00 30 0f 00 00 00 00 00 00

Найдите запись для необходимого устройства, и вы сможете выяснить конкретные данные относительно идентификаторов производителя/продавца и устройства. Для идентификации устройства можно воспользоваться поиском по ключевым словам (например, Audio).

Необходимую информацию можно найти на сайте производителя или воспользоваться идентификаторами Vendor ID и Device ID для установления перекрестных ссылок в файле /usr/include/hw/pci_devices.h. Можно также поискать нужную информацию на сайте pcidatabase.com.

Устройства CD-ROM и DVD

Обычно CD и DVD-устройства подключаются к шине SCSI или EIDE (АТА). Выбор драйвера зависит от типа шины. Проверьте, чтобы оборудование было правильно установлено и чтобы оно правильно распознавалось в BIOS. Если CD-дисковод подключен к шине EIDE, то просто используйте драйвер devb-eide. Если дисковод работает с шиной SCSI, то нужно указать необходимый драйвер для интерфейса SCSI (см. подраздел "Жесткие диски" далее в этой статье).

Разделяемый объект cam-cdrom.so загружается драйвером по умолчанию, он обеспечивает общий метод доступа для устройств CD-ROM. В зависимости от того, какой драйвер запущен, загружается один из следующих объектов:


Note: Драйвер файловой системы fs-cd.so считается устаревшим в пользу более актуального fs-udf.so.

Устройства CD-ROM и DVD-ROM указываются в каталоге /dev, как /dev/cdx, где x – количество приводов, начиная с 0. Простое монтирование приводов с указанием типа файловой cd или udf. Например:

mount -t cd /dev/cd0 /fs/cdrom mount -t udf /dev/cd0 /fs/dvdrom

При замене дисков нет необходимости в перемонтировании привода. Для более подробной информации о специальных опциях см. в cam-cdrom.so, fs-cd.so и fs-udf.so.

Приводы DVD RAM могут быть интерпретированы, как жесткие диск. Они отображаются в каталоге /dev, как CD, но при этом их можно монтировать и использовать как жесткие диски – см. подраздел "Жесткие диски" далее в этой статье.

Дисководы для гибких дисков

Драйвером дисковода для гибких дисков является devb-fdc. Для использования гибких дисков необходимо разрешить в BIOS работу контроллера гибких дисков, а также задать в BIOS конфигурацию правильного типа дисковода (например, 1.44MB/2.88MB). По умолчанию драйвер использует следующие настройки:

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


Note:
  • Размер кэша по умолчанию задается параметром модуля io-blk.so в размере 15% от объема системной памяти, что даже избыточно для драйвера devb-fdc. Возможно, вы захотите уменьшить это значение до разумных пределов таким образом:

    devb-fdc blk cache=128K &

  • По умолчанию распознавание устройств драйвером devb-fdc не запускается (см. подраздел Распознавание устройств). Если в системе есть привод для гибких дисков, драйвер можно запустить вручную или раскомментировать строку devb-fdc в файле /etc/system/enum/devices/block.

Драйвером создается запись /dev/fdx, где x — порядковый номер дисковода гибких дисков, начиная с 0. Если такая запись не появляется, то, возможно, сделаны неправильные установки в BIOS или есть какие-то проблемы с контроллером. Для прояснения вопроса проверьте информацию, выдаваемую утилитой sloginfo.

После появления записи в каталоге /dev нужно смонтировать дисковод для гибкого диска. Команда mount определяет тип используемой файловой системы (DOS, QNX4), но его также можно явно указать в командной строке.

При замене дисководов гибких дисков выполнять команду перемонтирования устройства не требуется.


Note: Не вытаскивайте дискету в момент чтения или записи данных. Приводы гибких дисков работают медленнее жестких дисков, поэтому приходится ждать некоторое время окончания операции. Перед вытаскиванием дискеты убедитесь, что индикатор работы дисковода погас.

Жесткие диски

По умолчанию, ЗОСРВ «Нейтрино» детектирует контроллеры дисков, установленные в системе, и запускает соответствующие драйверы.

В такой системе драйверы блочных устройств ввода/вывода запускаются утилитой diskboot, включенной в образ ОС. Если вы хотите изменить порядок запуска драйверов, нужно изменить образ начального запуска и ключи запуска программы diskboot. Например:

diskboot -о devb-eide,blk cache=30m

Более подробные сведения приведены в разделе Управление запуском ЗОСРВ «Нейтрино» и в руководстве diskboot.

Устройства EIDE

Для интерфейсов EIDE используется драйвер devb-eide, который по умолчанию автоматически обнаруживает интерфейс и подключенные к нему устройства. В драйвер, кроме поддержки стандартных режимов программируемого ввода/вывода (Programmed Input/Output, PIO), включена поддержка режимов UDMA (Ultra Direct Memory Access, ускоренный прямой доступ в память). В список поддерживаемого оборудования входят адаптеры и соответствующие функции для них (см. раздел "Общие сведения" ранее в этой статье).

Драйвер devb-eide можно запускать без ключей и по умолчанию системный контроллер EIDE будет обнаружен автоматически:

devb-eide &

После запуска драйвера автоматически обнаруживаются все устройства, подключенные к контроллеру EIDE. Для каждого устройства создается запись в каталоге /dev (например, жесткий диск появляется как hdx, где x — порядковый номер устройства, начиная с 0).

Например, пусть в системе имеются два установленных жестких диска. В каталоге /dev драйвер создает следующие записи:

/dev/hd0
обычно это первичный ведущий диск (primary master);
/dev/hd1
обычно это первичный ведомый диск (primary slave) или следующий по порядку (вторичный ведущий) диск (secondary master).

Если в системе установлены один жесткий диск и CD-ROM, то записи будут выглядеть так:

/dev/hd0
первичный ведущий диск;
/dev/cd0
привод CD-ROM.


Note: При наличии ведомого диска в системе обязательно должен присутствовать ведущий диск.

При запуске драйвера на консоль выводится тип обнаруженного оборудования, а также другая отладочная информация, которая пересылается в системный журнал slogger. Для просмотра журнала служит утилита sloginfo.


Note: Примечание. В информации, выводимой утилитой sloginfo, может встретиться некоторое число записей вида ASC_MEDIA_NOT_PRESENT. Драйвер выводит такие записи в журнал в тех случаях, когда в приводе CD-ROM отсутствует компакт-диск. Такие записи можно игнорировать.

Устранение неисправностей драйвера devb-eide

Если драйвер не обнаруживает интерфейс или подключенный к нему дисковод, попробуйте применить приведенные далее действия.

Вы можете столкнуться и с другими проблемами. Ниже даны рекомендации, что при этом нужно делать.

Если дисководы успешно обнаружены, но работают медленно, попробуйте следующие действия.

Устройства для шины SCSI

Интерфейс малых компьютерных систем SCSI (Small Computer Systems Interface), по сути, является еще одной шиной, к которой можно подключать несколько периферийных устройств. В ЗОСРВ «Нейтрино» поддерживаются многие типы SCSI-адаптеров разных производителей (см. описание devb-* в справочнике по утилитам).

Когда запускается драйвер шины SCSI, то происходит сканирование шины для обнаружения подключенных устройств. Когда драйвер обнаруживает поддерживаемое устройство, в каталоге /dev для него создается соответствующая запись (например, hdx для жесткого диска, где x — порядковый номер диска, начиная с 0).

Если драйвер не обнаруживает никаких устройств, то, возможно, причина в том, что адаптер имеет неизвестный идентификатор устройства (ID). Обычно проблему можно разрешить, если драйверу передается необходимый идентификатор устройства или продавца. Для резидентной системы передача этих параметров происходит через процедуру diskboot. Подробнее см. статью Управление запуском ЗОСРВ «Нейтрино».

В приводимом далее примере драйвер выполняет автоматическое сканирование подключенных SCSI-устройств и добавляет записи о найденных устройствах в каталог /dev. Например, если в системе присутствуют четыре жестких диска, то записи о них будут иметь вид:

При запуске драйвера в системный журнал посылается отладочная информация. Ее можно просмотреть с помощью утилиты sloginfo. Записи в этом журнале могут оказаться очень полезными, когда вы пытаетесь выяснить причину проблемы с SCSI-адаптером или SCSI-устройством.

Если драйвер неправильно обнаруживает устройства, то нужно выполнить перечисленные далее проверки.


Note: В операционной системе QNX4 драйверы SCSI не поддерживают устройства с идентификатором более 6. Для ЗОСРВ «Нейтрино» такой проблемы не существует.

Максимальная скорость работы SCSI-устройства соответствует максимальной теоретической пропускной способности интерфейса для пиковых нагрузок. Как указывалось ранее, пропускная способность для продолжительных нагрузок зависит от многих факторов.


Устройства типа SCSI RAID

В настоящее время в ЗОСРВ «Нейтрино» поддерживается оборудование типа RAID (Redundant Arrays of Independent Disks, избыточные массивы независимых дисков). Существует много типов сторонних производителей дисков SCSI RAID, которые можно использовать в ЗОСРВ «Нейтрино». Информацию о них можно найти в Интернете.

Устройства типа LS-120

Устройство LS-120 — это дисковод типа SuperDisk, в котором используется новая технология, позволяющая существенно улучшить позиционирование головок, что приводит к повышению емкости дискет до 120 Мбайт — значительно больше емкости обычных дискет формата 3,5". В ЗОСРВ «Нейтрино» устройство LS-120 воспринимается как диск стандарта EIDE.

Устройства типа ORB

В дисководе типа ORB используются для работы специальные сменные дискеты формата 3,5", работающие с высокой скоростью и имеющие большую емкость. Дисковод подключается к интерфейсу EIDE (ATA). Проверьте правильность подключения оборудования и правильное распознавание этого оборудования в BIOS. Дисководы типа ORB просто устанавливать, запись о них появляется в каталоге /dev как запись о жестком диске. Например:

Для монтирования дисковода типа ORB используется команда:

mount /dev/hd1 /fs/orb_drive

При смене дисков не требуется производить операцию перемонтирования.

Диски типов Zip и Jaz

Дисководы типов Zip и Jaz используют для работы специальные сменные диски, имеющие большую емкость. Диски используются для резервного копирования содержимого жестких дисков и для транспортировки файлов большого размера. Дисководы подключаются к интерфейсу EIDE (ATA). Перед началом использования дисководов проверьте правильность их подключения и правильное распознавание этого оборудования в BIOS. Дисководы типа ORB просто устанавливать, запись о них появляется в каталоге /dev как запись о жестком диске. Например:

Для монтирования дисковода типа Zip используется команда:

mount /dev/hd1 /fs/zip_drive

При смене дисков не требуется производить операцию перемонтирования.

Магнитооптические диски

Дисководы магнитооптических (МО) дисков обычно подключаются к шине SCSI или EIDE (ATA). Перед началом использования дисководов проверьте правильность их подключения и правильное распознавание этого оборудования в BIOS.

Тип драйвера зависит от того, подключается ли дисковод к интерфейсу SCSI или ЕIDЕ. Если используется интерфейс SCSI, то нужно определить для него соответствующий драйвер. Для интерфейса ЕIDЕ подходит драйвер devb-eide. Более подробно об этом сказано в разделе "Жесткие диски" ранее в этой статье.

Драйверы для оптических дисков загружают разделяемый объект cam-optical.so, который обеспечивает метод прямого доступа для оптических дисков.

Запись о магнитооптическом диске появляется в каталоге /dev в виде /dev/mox, где x – порядковый номер диска, начиная с 0.

Для монтирования дисковода магнитооптических дисков используется команда:

mount /dev/mo0 /fs/mo_drive

При смене дисков не требуется производить операцию перемонтирования.

Виртуальные диски (диски в оперативной памяти)

Виртуальный диск – это область памяти, выглядящая как жесткий диск. Виртуальный диск в системе можно создать с использованием devb-ram, но это виртуальный диск с функционалом блочной файловой системы; по умолчанию, он инициализируется и форматируется в файловую систему QNX4 (если не указана опция ram nodinit).


Note: По умолчанию, io-blk.so выделяет 15% системной памяти под кеш. Драйвер devb-ram, взаимодействует с io-blk.so также как любой другой драйвер диска, хотя в этом случае кеш не требуется. Чтобы установить минимальный объём кеш, можно указать опцию blk cache=512k.

Существует более удачный способ создания виртуального диска, для этого надо указать опцию blk ramdisk=... В результате будет создан внутренний диск в оперативной памяти, с которым io-blk.so работает без кеширования и будет использоваться секторы размером 4 кб.

При использовании одного из devb-* драйверов, можно скомбинировать диск в оперативной памяти с ним (указав, например, опцию blk ramdisk=10m).

Если действительно необходимо использовать devb-ram, чтобы он также предоставил внутренний диск в оперативной памяти, то применяется, например, следующая команда:

devb-ram disk name=ram ram capacity=0,nodinit blk \ ramdisk=10m,cache=0,vnode=256

В этом случае, надо игнорировать устройство /dev/ram1 нулевого размера, которое создаёт devb-ram, и работать с устройством /dev/ram0, которое предоставляется io-blk.so. Необходимо проинициализировать диск в оперативной памяти перед первым использованием, например:

dinit /dev/ram0 mount -tqnx4 /dev/ram0

Такой подход увеличивает производительность, поскольку исключает двойное копирование в памяти, не использует кеш и оперирует размер секторов 4 кб, что уменьшает накладные расходы.

Устройства ввода

Для управления вводом в оконном окружении Photon используется набор драйверов devi-*. В зависимости от присоединенного устройства ввода применяется соответствующий драйвер. В оболочке Photon может использоваться либо только мышь, либо мышь и клавиатура, либо одновременно несколько мышей (при условии, что для этого есть место).

Утилита inputtrap автоматически обнаруживает базовые устройства ввода (за исключением клавиатуры и мыши, подключенных через интерфейс USB). Эта утилита запускается в оболочке Photon после запуска графических адаптеров.

Вместо процедуры автоматического обнаружения устройств вы можете создать файл входного системного прерывания (input trap file), /etc/system/trap/input.имя_хоста (это место расположения файла по умолчанию, при необходимости его можно изменить). Каждая строка этого файла инициирует запуск драйвера:

Мыши и клавиатуры

Для мыши и клавиатуры используется один и тот же драйвер devi-hid. Тип подключенной к системе мыши определяет необходимый набор используемых параметров. Для последовательной мыши надо задать правильный протокол.

Обнаружение клавиатуры происходит при ее подключении к таким интерфейсам:

Если утилита inputtrap обнаруживает наличие последовательной мыши типа Microsoft и клавиатуры, файловый дескриптор, полученный при открытии файла /dev/kbd, то запуск драйвера devi-hid производится следующим образом:

devi-hid kbd fd -d/dev/kbd msoft fd &

Если утилита inputtrap обнаруживает наличие мыши типа PS/2, подключенной к дополнительному порту контроллера клавиатуры (mousedev), а клавиатура подключена через первичный порт контроллера клавиатуры (kbddev), то запуск драйвера devi-hid производится следующим образом:

devi-hid kbddev ps2 mousedev &

После запуска мыши ее поведение можно изменить с помощью утилиты конфигурирования входных устройств (Input configuration utility) оконного окружения Photon. Эта утилита запускается либо из командной строки посредством команды input-cfg, либо на системной панели выбирается пункт Mouse, либо выбирается пункт меню Launch -> Configure -> Mouse.

Драйвер devc-con-hid поддерживает USB-клавиатуру в текстовом режиме ( devc-con не поддерживает). Оконное окружение Photon поддерживает USB мыши и клавиатуры; более подробную информацию см. в подразделе "Устройства USB" далее в этой статье.

Сенсорные экраны (touchscreen)

В ЗОСРВ «Нейтрино» осуществляется поддержка различных типов сенсорных экранов (touchscreen). Обратитесь к списку поддерживаемого оборудования на нашем сайте, чтобы узнать, какой драйвер нужно использовать. См. также описание devi-* в справочнике по утилитам. Определите, какие параметры нужно задать для установки устройства, а затем запустите нужный драйвер. Например, драйвер для сенсорного экрана типа Dynapro SC4 запускается следующим образом:

devi-dyna dyna -4 fd -d/dev/ser1 &

По этой команде запускается драйвер devi-dyna с помощью протокола SC4 (-4) и файлового дескриптора, ассоциированного с последовательным портом 1 (fd -d/dev/ser1).

При первом запуске драйвер возвращает сообщение об ошибке, где сказано о невозможности прочитать калибровочный файл. Для калибровки сенсорного экрана после запуска оболочки Photon можно использовать утилиту calib.

Процедура подключения сенсорного экрана при использовании композитной оконной подсистемы описана в разделе Устройства ввода.

Звуковые карты

Звуковая карта обнаруживается операционной системой по умолчанию. При запуске ОС служба распознавания устройств идентифицирует карту и для ее запуска используется драйвер io-audio. В ЗОСРВ «Нейтрино» драйверы звуковых карт инициализируются очень просто. При запуске драйвера io-audio для него можно использовать ключ -d:

io-audio -vv -d audiopc &

Ознакомиться с другими ключами запуска можно в описании утилиты io-audio, а также в описании конкретной звуковой карты.

Если операционная система определяет звуковую карту неправильно, то драйвер можно запустить вручную. Для этого нужно вначале идентифицировать карту. Список поддерживаемого оборудования можно найти на нашем сайте (см. также подраздел "Общие сведения" ранее в этой статье).

Устройства на шине ISA

Карты для шины ISA могут как поддерживать, так и не поддерживать стандарт Plug and Play (PnP). Устройства, не поддерживающие этот стандарт, обычно устанавливаются вручную. Для идентификации устройства нужно иметь его описание или получить информацию у производителя (например, на его сайте). В настоящее время в ЗОСРВ «Нейтрино» нет утилиты, которая выдает список всех установленных в системе устройств типа ISA.

Карты, не поддерживающие стандарт PnP

Для карт, не поддерживающих стандарт PnP, нужно вручную запускать драйвер, указывая адрес порта ввода/вывода (I/O), номер прерывания IRQ и номер канала DMA. Например, для запуска драйвера звуковой карты Sound Blaster используется такая команда:

io-audio -dsb ioport=порт,irq=прерывание,dma=канал,dma1=канал &

Для определения значений, которые нужно задать для порта ввода/вывода и номера прерывания, нужно визуально исследовать саму плату. Затем надо запустить драйвер, используя конфигурационные установки карты.

Проверьте, чтобы нужные вам номера порта ввода/вывода и прерывания в BIOS были зарезервированы для использования устройствами, не устанавливаемыми в шину PCI. При использовании звуковой карты типа Sound Blaster проверьте следующее:

Карты, поддерживающие стандарт PnP

Конфигурация карт для шины ISA, поддерживающих стандарт PnP, должна производиться службой распознавания устройств при запуске ОС. Если этого не происходит, то, возможно, потребуется получить копию утилиты isapnp, которая используется для инициализации карт данного вида. Данная утилита не входит в состав ЗОСРВ «Нейтрино», но ее можно найти в свободном доступе в Интернете.

Устройства на шине PCI

Карты для шины PCI должны нормально запускаться службой распознавания устройств. Если звуковая карта все же не работает, попробуйте установить ее в другое гнездо. Иногда номер прерывания IRQ, установленный для данного гнезда, некорректно работает с выбранной звуковой картой.

Для получения дополнительной информации по звуковой карте используйте утилиту pci. Список поддерживаемого оборудования можно найти на нашем сайте (см. также подраздел "Общие сведения" ранее в этой статье).

Устройства USB

Универсальная последовательная шина (USB) обеспечивает интерфейс с возможностью "горячей" замены для USB-устройств (например, сетевых адаптеров, входных устройств, устройств символьного ввода, звуковых устройств, хабов и т.п.). Более подробные сведения об особенностях USB-устройств, спецификациях и др. можно найти на сайте usb.org.

Если вы не знаете, какой тип USB-устройства вы используете, то для идентификации можно воспользоваться утилитой usb:

usb -vvv | less

Результат работы команды выглядит примерно так:

Device Address : 1 Vendor : 0x05c7 (QTRONIX) Product : 0x2011 (USB Keyboard and Mouse) Device Release : r1.12 USB Spec Release : v1.00 Serial Number : N/A Class : 0x00 (Independent per interface) Max PacketSize0 : 8 Languages : 0x0409 (English) Current Frame : 511 (1024 bytes) Configurations : 1 Configuration : 1 Attributes : 0xa0 (Bus-powered, Remote-wakeup) Max Power : 50 mA Interfaces : 2 Interface : 0 / 0 Class : 0x03 (HID) Subclass : 0x01 (Boot interface) Protocol : 0x01 (Keyboard) Endpoints : Control + 1 Endpoint : 0 Attributes : Control Max Packet Size: 8 Endpoint : 1 Attributes : Interrupt/IN Max Packet Size: 8 Interval : 20 ms Interface : 1 / 0 Class : 0x03 (HID) Subclass : 0x01 (Boot interface) Protocol : 0x02 (Mouse) Endpoints : Control + 1 Endpoint : 0 Attributes : Control Max Packet Size: 8

В полях поставщика (Vendor) и продукта (Product) указываются тип устройства и, возможно, используемый в нем набор микросхем.

Наиболее часто используются USB-контроллеры следующих типов:

XHCI
eXtensible Host Controller Interface, расширяемый интерфейс хост-контроллера
UHCI
Universal Host Controller Interface, универсальный интерфейс хост-контроллера
EHCI
Enhanced Host Controller Interface, улучшенный интерфейс хост-контроллера
OHCI
Open Host Controller Interface, открытый интерфейс хост-контроллера — от сторонних производителей


Note: Контроллер EHCI поддерживает только высокоскоростную передачу сигналов. Для поддержки низкоскоростных или полноскоростных устройств должен присутствовать один из контроллеров OHCI или UHCI. Если в системе отсутствует контроллер EHCI, то устройство будет работать на низкой скорости.

В операционной системе должен быть запущен стек протоколов, для того чтобы взаимодействовать с устройствами и контроллерами USB. Для этого необходимо выполнить следующие действия.

Запуск USB стека

  1. идентифицировать контроллер.

    В документации по оборудованию должен быть описан тип контроллера (OHCI, UHCI, EHCI или XHCI). Если вы не знаете, какой тип контроллера используется, воспользуйтесь командой:

    pci -vvv

    Среди выведенной информации отыщите запись для контроллера USB, чтобы определить идентификаторы производителя/продавца и устройства. Эту информацию можно найти либо на сайте производителей ( usb.org), либо, используя идентификаторы продавца и устройства, на сайте pcidatabase.com.

    Коды классов, выводимые командой pci -vvv, приведены ниже:

    UHCI
    Код класса: 0c0300
    OHCI
    Код класса: 0c0310
    EHCI
    Код класса: 0c0320

    Возможно, в системе присутствует несколько наборов микросхем, поэтому требуется загрузить несколько драйверов.

    Можно также попробовать запустить просто один из стеков USB. Если это не поможет, попробуйте загрузить другой стек.

  2. войдите в систему с учетной записью root и запустите стек io-usb с соответствующим модулем:

    При этом в каталоге /dev должна быть создана запись /dev/io-usb/io-usb.


    Note: Если вы запускаете стек USB и драйвер в сценарии начального запуска, проверьте, чтобы использовалась команда waitfor, благодаря которой запись /dev/io-usb/io-usb появится прежде, чем будет запущен драйвер. Например:

    io-usb -dohci waitfor /dev/io-usb/io-usb devu-prn


  3. после запуска стека запустите драйверы устройств так, как описано далее.

    Note: Для USB-хабов драйверы не нужны. Эти устройства поддерживаются самим стеком.

Принтеры

Для USB-принтера запустите стек USB, а затем драйвер devu-prn. Например:

io-usb -dohci waitfor /dev/io-usb/io-usb devu-prn

Мыши и клавиатуры

Драйвер devc-con-hid поддерживает USB клавиатуру в текстовом режиме ( devc-con не поддерживает). Оконное окружение Photon поддерживает USB Human-Interface Devices (HID) такие как клавиатура и мышь.

Для подключения к устройствам, работающим по стандарту USB HID, необходимо выполнить следующие действия.

  1. запустить стек USB, как описано ранее;

  2. запустить утилиту io-hid для загрузки модуля devh-usb.so:

    io-hid -dusb

    Если в вашей системе также используются последовательные входные устройства или устройства с интерфейсом PS/2, то дополнительно нужно загрузить модуль devh-ps2ser.so.

  3. после запуска оболочки Photon запустите драйвер devi-hid для устройств стандарта USB HID следующим образом:

    devi-hid kbd [-u номер_устройства_USB] mouse

Утилита io-hid может быть запущена через файл rс.local, но этот способ нельзя применять для драйвера devi-hid, потому что во время запуска системой файла rс.local оболочка Photon еще не работает. Поэтому команду запуска драйвера devi-hid нужно включить во входной файл системного прерывания, см. описание утилиты inputtrap.

В оболочке Photon после запуска устройств для конфигурирования мыши можно использовать утилиту input-cfg. Для этого на системной панели выберите пункт меню Launch -> Configure -> Mouse. Для получения информации по устройствам с интерфейсом стандарта HID можно воспользоваться утилитой hidview.

Процедура подключения USB устройств ввода при использовании композитной оконной подсистемы описана в разделе Устройства ввода.

Сенсорные экраны (touchscreen)

Для сенсорных экранов, подключаемых через интерфейс USB, необходимо вначале запустить стек USB, затем утилиту io-hid, загружающую драйвер devh-usb.so. После этого запускается драйвер devi-microtouch:

io-hid -dusb devi-microtouch microtouch touchusb

Процедура подключения сенсорного экрана при использовании композитной оконной подсистемы описана в разделе Устройства ввода.

Запоминающие устройства

Драйвер devb-umass осуществляет поддержку устройств, которые соответствуют стандарту Mass Storage Class Specification для запоминающих устройств большой емкости. Определить соответствие устройства этому стандарту можно на основе результата, выдаваемого на консоль командой usb -vv:

Mass Storage Class 08h SubClass Code Command Block Specification 01h Reduced Block Command (RBC) 02h SFF-8020i, MMC-2 (ATAPI) 04h UFI 05h SFF-8070i 06h SCSI transparent Protocol Code Protocol Implementation 00h Control/Bulk/Interrupt (with command completion interrupt) 01h Control/Bulk/Interrupt (with no command completion interrupt) 50h Bulk-Only Transport

Для использования в ЗОСРВ «Нейтрино» устройств памяти большой емкости, подключаемых через интерфейс USB, нужно запустить утилиту io-usb, как описано ранее, а затем запустить драйвер devb-umass. По умолчанию этот драйвер создает в каталоге /dev запись для устройств дискового типа в виде /dev/hdn, где n — порядковый номер диска. После запуска драйвера с устройством можно работать как с диском.

Например, для такого устройства, использующего контроллер UHCI, нужно выполнить команду:

io-usb -d uhci devb-umass cam pnp

Подробнее см. в статье USB устройства.

Диагностика неисправностей

в каталоге /dev не создано устройство.
Возможно, устройство не соответствует стандарту Mass Storage Class Specification. Проверьте результат вывода по команде usb -vv.
в каталоге /dev не создано устройство fdn для флоппи-дисковода.
Именем по умолчанию является /dev/hdn. Можно использовать ключ name в команде cam-disk.so для переопределения префикса.

Символьные устройства

Обычные последовательные адаптеры

По умолчанию драйвер последовательного порта автоматически обнаруживает порт ввода/вывода и номер соответствующего прерывания IRQ. Для стандартной PC-системы используется драйвер devc-ser8250. В документации по пакету BSP указывается драйвер, необходимый для вашей конкретной целевой системы.

Если драйвер не обнаруживает все последовательные порты, проверьте, включены ли порты в BIOS. Если порты включены, то попробуйте при запуске драйвера указать конкретные значения для адреса порта и IRQ. Для разделения адреса и номера прерывания используется запятая; для разделения пар (адрес порта — номер IRQ) вводится пробел. Например:

devc-ser8250 3f8,4 2f8,3


Note: Если запускается драйвер последовательного устройства для адаптера UART или модема при уже запущенном другом последовательном драйвере, то в строке запуска нужно использовать ключ -u, чтобы присвоить номер новому драйверу. Тогда этот номер будет присоединен к имени устройства и не возникнет конфликта с существующей записью /dev/ser.

Стандартный драйвер devc-ser8250 может работать только с протоколом RS-232. В комплекте разработчика драйверов символьных устройств DDK (Character Driver Development Kit) имеется исходный текст для драйвера devc-ser8250. Его можно использовать как основу для реализации драйвера, работающего с любым другим протоколом или реализующим другие функции.

Драйвер последовательного порта может работать как в режиме программного, так и аппаратного управления потоком данных:


Note: В режиме редактирования (-e) управление потоком отключено. Не включайте одновременно работу с аппаратным и программным управлением потоком.

В некоторых системах интенсивное использование последовательного порта может быть накладным с точки зрения производительности, поскольку по умолчанию для каждого вводимого или передаваемого символа в последовательном адаптере генерируется прерывание. Для уменьшения числа генерируемых прерываний можно использовать приводимые далее ключи:

-T число
включить буфер FIFO на передачу и установить число передаваемых символов равным 1, 4, 8 или 14 для каждого сгенерированного прерывания на передачу. Значение по умолчанию равно 0 (буфер FIFO отключен);
-t число
включить буфер FIFO на прием и установить для него порог равным 1, 4, 8 или 14 символов. Значение по умолчанию равно 0 (генерация прерывания отключена).

Наличие тайм-аута при приеме данных гарантирует, что символы не будут оставаться в буфере слишком долго. Например, устройство принимает сообщение:

Это сообщение принимается через последовательный порт.

По умолчанию для приема всего сообщения система должна обработать 54 запроса на прерывание. Если вы установите уровень срабатывания буфера приема равным 14 символам, то число обрабатываемых прерываний снизится до четырех. Это в целом повысит производительность системы, но платой за это будет надежность: чем выше порог срабатывания буфера (-t), тем больше вероятность потери данных.

Многопортовые последовательные адаптеры

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

Вы можете откорректировать работу службы распознавания устройств, чтобы она лучше работала с вашими многопортовыми картами и правильно делала бы установки для каждого порта. Для этого нужно просто отредактировать конфигурационный файл /etc/system/enum/devices/overrides. Подробнее см. описание утилиты enum-devices.

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

В стандартном IBM-совместимом компьютере и в некоторых системах на базе семейства x86 для параллельных портов используется драйвер devc-par (см. документацию по пакету BSP относительно драйвера), необходимый для работы вашей целевой системы.

По умолчанию параллельный порт обнаруживается драйвером автоматически. При необходимости можно с помощью ключа -p указать адрес параллельного порта.

Если драйвер не обнаруживает параллельный порт, посмотрите, включен ли порт в BIOS. Если и это не помогает, попробуйте задать порт ввода/вывода в строке запуска драйвера.

Терминалы

В стандартном IBM-совместимом компьютере и в некоторых системах на базе семейства x86 драйвер devc-con или devc-con-hid управляет непосредственно физической консолью, в состав которой входят адаптер дисплея, экран и системная клавиатура. По умолчанию конфигурация драйвера дает возможность работы не более чем с четырьмя виртуальными консолями: /dev/con1, ..., /dev/con4. Драйвер devc-con также является драйвером для клавиатуры в текстовом режиме, если она подключается не через интерфейс USB. Драйвер запускается командой:

devc-con &

Управляющая программа devc-con-hid похожа на devc-con, но работает с привязкой к io-hid и поддерживает PS2, USB и все остальные устройства интерфейса пользователя.

Более подробное описание см. в руководстве к утилите devc-con.

Атрибуты ввода/вывода

Для установки или отображения атрибутов ввода/вывода для символьного устройства (tty) используется утилита stty. Более подробно о процедуре начальной установки терминала см. в подразделе Поддержка терминалов.

Сетевые адаптеры

Для установки сетевого адаптера выполняются следующие основные шаги:

Идентификация сетевого адаптера

В документации на адаптер должен быть указан тип используемого набора микросхем.

Если вы не знаете тип используемого в адаптере набора микросхем, его можно идентифицировать с помощью команды pci -vvv.

Среди выведенных данных найдите запись, относящуюся к сетевому контроллеру, где указаны идентификаторы производителя/продавца и устройства. Дополнительную информацию можно найти на сайте производителя или с помощью идентификатора продавца и устройства на сайте pcidatabase.com.

Запуск драйвера

Запустить найденный драйвер для сетевого адаптера можно с помощью утилиты io-pkt-*. Можно либо указать драйвер в качестве параметра утилиты io-pkt-*, либо присоединить драйвер к уже работающей копии утилиты io-pkt-*. Например, чтобы запустить io-pkt-v4-hc для модуля devn-e1900.so (адаптер 3Com 905), введите команду:

io-pkt-v4-hc -d el900 -t tcpip &

Для присоединения драйвера к работающей копии введите набор команд:

io-pkt-v4-hc -t tcpip & mount -T io-pkt devn-el900.so


Note: Драйвер автоматически определяет похожие сетевые адаптеры, установленные для организации подсетей. Для монтирования различных адаптеров используется утилита mount.

Проверка правильности взаимодействия драйвера и оборудования

Для проверки работы адаптера по приему и отправке пакетов используется утилита nicinfо. Если не происходит прием пакетов на высокоскоростной сети, это может означать, что нет взаимодействия между драйвером и оборудованием. Далее приведен типовой набор данных, выдаваемых командой на экран:

Physical Node ID ........................... 000102 C510D4 Current Physical Node ID ................... 000102 C510D4 Current Operation Rate ..................... 100.00 Mb/s full-duplex Active Interface Type ...................... MII Active PHY Address ......................... 3 Power Management State ..................... Active Maximum Transmittable data Unit ............ 1514 Maximum Receivable data Unit ............... 1514 Receive Checksumming Enabled ............... TCPv6 Transmit Checksumming Enabled .............. TCPv6 Hardware Interrupt ......................... 0x5 DMA Channel ................................ 0 I/O Aperture ............................... 0xd400 — 0xd47f ROM Aperture ............................... 0 Memory Aperture ............................ 0xe6000000 — 0xe6000FFF Promiscuous Mode ........................... Off Multicast Support .......................... Enabled Packets Transmitted OK ..................... 104 Bytes Transmitted OK ....................... 10067 Broadcast Packets Transmitted OK ........... 6 Multicast Packets Transmitted OK ........... 1 Memory Allocation Failures on Transmit ..... 0 Packets Received OK ........................ 1443 Bytes Received OK .......................... 168393 Broadcast Packets Received OK .............. 427970 Multicast Packets Received OK .............. 37596 Memory Allocation Failures on Receive ...... 0 Single Collisions on Transmit .............. 0 Multiple Collisions on Transmit ............ 0 Deferred Transmits ......................... 0 Late Collision on Transmit errors .......... 0 Transmits aborted (excessive collisions) ... 0 Transmits aborted (excessive deferrals) .... 0 Transmit Underruns ......................... 0 No Carrier on Transmit ..................... 0 Jabber detected ............................ 0 Receive Alignment errors ................... 0 Received packets with CRC errors ........... 0 Packets Dropped on receive ................. 0 Ethernet Headers out of range .............. 0 Oversized Packets received ................. 0 Frames with Dribble Bits ................... 0 Total Frames experiencing Collision(s) ..... 0


Note: Результаты вывода по команде nicinfo зависят от того, какие параметры контролируются драйвером. Не все драйверы обеспечивают вывод всех приведенных полей. Тем не менее, всегда представляется информация о принятых и отправленных байтах и пакетах.

Далее описаны категории параметров, представленные выше в примере. Если возникают какие-либо сетевые проблемы, то прежде всего обратите внимание на следующие категории параметров:

Идентификатор физического узла (Physical Node ID)

Идентификатор физического узла известен как MAC-адрес карты (Media Access Control, управление доступом к среде передачи). Это значение уникально для каждой сетевой карты, хотя для некоторых моделей допускается назначать свои собственные адреса. Правда, такое встречается редко и, как правило, во встраиваемых системах.

Если этот адрес представлен значением FFFFFF FFFFFF или 000000 000000, то, скорее всего, что-то не так с аппаратными установками, либо требуется отдельное назначение MAC-адреса для карты. Обратитесь к руководству пользователя для адаптера, чтобы уточнить этот вопрос.


Note: Если оборудование установлено неправильно, то MAC-адрес может принимать иные значения. Первые шесть символов MAC-адреса являются идентификатором продавца. Проверьте правильность этого идентификатора, обратившись к странице http://www.cavebear.com/CaveBear/Ethernet/vendor.html со списком зарегистрированных продавцов. Последние шесть символов соответствуют идентификатору карты. Это число должно быть похоже на случайное. Например, значение вроде 444444, скорее всего, некорректно.

Идентификатор текущего физического узла (Current Physical Node ID)

Идентификатор текущего физического узла показывается в случае, если карта настроена для имитации ("spoof") идентификатора другой карты. Обычно этот параметр передается драйверу и означает, что узел представлен именно таким фактическим идентификатором. В зависимости от типа карты некоторые драйверы принимают такую подмену. На более высоком (программном) уровне эта подмена (спуфинг) означает фильтрацию пакетов, предназначенных для данного узла. Этот метод работает значительно медленнее, чем если бы фильтрация производилась на аппаратном уровне. Поскольку в этом случае карта должна быть установлена в смешанный (promis­cuous) режим работы, то она должна принимать все входящие пакеты и использовать для их сортировки программный режим.

Аналогию описанной ситуации может найти в работе почтовой системы. Если мы хотим "притвориться" кем-нибудь (т.е. читать чужую почту), то нужно получать с почтового отделения всю корреспонденцию. Однако затем придется всю полученную корреспонденцию сортировать. Это займет гораздо больше времени, чем если бы в почтовом отделении проводилась предварительная сортировка, а вы получали бы только корреспонденцию, адресованную непосредственно вам. Подробнее об этом см. в подразделе "Promiscuous Mode (Смешанный режим работы)" далее в этой статье.

Текущая скорость работы (Current Operation Rate)

Скорость передачи означает скорость, с которой сетевая карта передает данные. Для большинства карт это значение равно 10 или 100 Мбит/с. Рядом с этим значением указывается также тип связи, используемый картой. В большинстве случаев используется дуплексный (full-duplex) или полудуплексный (half-duplex) режим передачи:

Простой иллюстрацией этих режимов может быть сравнение с дорогой. По двухполосной дороге (дуплексный режим) машины могут одновременно двигаться в обоих направлениях, не залезая на полосу другого направления. По однополосной дороге (полудуплексный режим) в каждый момент времени машина может двигаться только в одном направлении.

Когда исследуется скорость передачи, нужно проверять собственно скорость работы, учитывать режим дуплексной или полудуплексной работы, а также режим работы, поддерживаемый хабом. Не все хабы поддерживают дуплексный режим работы.

Тип активного интерфейса (Active Interface Type)

Для данного параметра указывается тип физического интерфейса, используемого адаптером Ethernet. Обычно используются интерфейсы типов UTP (unshielded twisted pair, неэкранированная витая пара), STP (shielded twisted pair, экранированная витая пара), оптоволокно, AUI (attachment unit interface, интерфейс подключаемых устройств), MII, или BNC (коаксиальный кабель).

Активный физический адрес (Active PHY Address)

Идентификатор PHY указывает, какая часть физического адреса используется для работы в сети. Число принимает значения от 0 до 31 и изменяется в зависимости от того, задан ли параметр PHY конкретным значением или он выбирается драйвером по умолчанию (в зависимости от типа карты).

Состояние управления питанием (Power Management State)

Этот параметр определяет текущий статус подачи питания на сетевой адаптер: Off (отключено), Standby (в резерве), Idle (режим ожидания) или Active (активный). Если пакеты не передаются или не принимаются, убедитесь, что для карты установлен режим Active. Если это не так, то в вашей системе, возможно, есть неполадки в системе управления питанием.

Максимальный размер передаваемого блока данных (Maximum Transmittable data Unit)

Максимальный размер передаваемого блока данных (MTU) определяет максимальный размер кадра, который может быть послан по физической среде передачи. При отладке этот параметр обычно не нужен, но он может быть полезен при оптимизации работы сети. Значение 0 является недопустимым и служит признаком того, что карта установлена неправильно. Значение по умолчанию равно 1514.

Максимальный размер принимаемого блока данных (Maximum Receivable data Unit)

Этот параметр, аналогичный MTU, только он относится к принимаемому кадру. Значение по умолчанию равно 1514.

Включено вычисление контрольной суммы при приеме (Receive Checksumming Enabled), Включено вычисление контрольной суммы при передаче (Transmit Checksumming Enabled)

Эта возможность поддерживается не всеми типами карт. Если адаптер поддерживает такую возможность, то будет указано, какой метод вычисления контрольной суммы нужно использовать: IPv4, TCPv4, UDPv4, TCPv6 или UDPv6.

Аппаратное прерывание (Hardware Interrupt)

Аппаратное прерывание — это линия запроса на прерывания (IRQ) вашей сетевой карты. Назначение конкретного номера IRQ зависит от типа интерфейса карты: PCI или ISA. В случае интерфейса PCI значение IRQ назначается утилитой pci-bios. Для карт ISA значение IRQ жестко задано перемычками на самой плате.


Note: Карты с интерфейсом ISA не могут совместно использовать один и тот же номер IRQ. Для карт с интерфейсом PCI такая возможность существует.

Канал DMA (DMA Channel)

Параметр указывает на используемый картой номер канала прямого доступа в память (DMA). Значение определяется картой и тем каналом, который на ней используется.

Диапазон адресов ввода/вывода (I/O Aperture)

Это шестнадцатеричное значение показывает занимаемое картой пространство адресов для портов ввода/вывода. Диапазон адресов ввода/вывода используется для локализации портов и для их отображения на данное адресное пространство. Диапазон зависит от платформы.

Диапазон адресов ОЗУ (Memory Aperture)

Это шестнадцатеричное значение показывает занимаемое картой пространство адресов ОЗУ. Диапазон адресов ОЗУ используется для локализации ОЗУ и для его отображения на данное адресное пространство. Диапазон зависит от платформы.

Диапазон адресов ПЗУ (ROM Aperture)

Это шестнадцатеричное значение показывает занимаемое картой пространство адресов ПЗУ. Диапазон адресов ПЗУ используется для локализации ПЗУ и для его отображения на данное адресное пространство. Диапазон зависит от платформы.

Смешанный режим работы (Promiscuous Mode)

Когда карта установлена в смешанный (promiscuous) режим работы, то она должна принимать из сети любой пакет Ethernet. Это весьма накладно при нормальной работе системы, но является обычной практикой при работе в режиме отладки.

Кроме того, при задании смешанного режима работы сетевой MAC-адрес карты может имитироваться (spoof), т.е. карта будет воспринимать все пакеты, как адресованные, так и не адресованные к ней. Тогда на более высоком (программном) уровне можно воспринимать пакеты, адресованные кому угодно. По умолчанию смешанный режим работы отключен.

Поддержка многоадресных пакетов (Multicast Support)

При включении многоадресного режима передачи пакет можно пометить специальным адресом назначения так, что его смогут принять многие узлы сети. Допускаются также многоадресные пакеты.

Правильно переданные пакеты (Packets Transmitted OK)

Прежде чем смотреть значение этого параметра, попробуйте вначале воспользоваться некоторыми видами передачи данных по сети ( ping, telnet, передача файлов). Если карта установлена неправильно, то число указанных в этом параметре пакетов имеет очень маленькое значение или нулевое. Если через карту не отправляются пакеты, то дело, скорее всего, в драйвере. Проверьте все ключи и параметры, передаваемые при запуске драйвера. Возможно, в каком-то из них вы обнаружите ошибку.

Правильно переданные байты (Bytes Transmitted OK)

Этот параметр указывает число переданных в сеть байтов данных. Число возрастает по мере роста числа переданных пакетов.

Общее число ошибочно переданных пакетов (Total Packets Transmitted Bad)

Эту статистику можно использовать для определения наличия сбоев в работе оборудования. Если все отправляемые пакеты оказываются ошибочными, то, вероятно, это аппаратная проблема, хотя возможная причина может быть в использовании неправильного драйвера. Проверьте совместимость оборудования. Если все указывает на аппаратные проблемы, попробуйте поменять плату, возможно проблема исчезнет.

Правильно переданные широковещательные пакеты (Broadcast Packets Transmitted OK)

В этом параметре указывается число переданных с сетевой карты широковещательных пакетов.

Правильно переданные многоадресные пакеты (Multicast Packets Transmitted OK)

В этом параметре указывается число переданных с сетевой карты многоадресных пакетов.

Сбои при выделении памяти во время передачи (Memory Allocation Failures on Transmit)

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

Если возникает ошибка выделения памяти, то, скорее всего, причиной является недостаток памяти в системе. Проверьте, имеется ли в системе достаточное количество памяти. Если ошибка выделения памяти возникает регулярно, то рассмотрите возможность наращивания памяти в системе. Другой причиной может быть наличие утечек памяти в системе, из-за этого системная память медленно "съедается" до полного истощения ресурса.

Правильно принятые пакеты (Packets Received OK)

Значение этого параметра соответствует числу успешно принятых от карты пакетов. Если возникают проблемы с приемом данных, то следует проверить соединение кабелей и хаба. Возможно, что проблемы при приеме связаны с драйвером. Драйвер может быть правильно установлен, и он обеспечивает нормальную передачу данных, но не обеспечивает их приема. Если данные принимаются, но не отправляются, то, как правило, причиной этого является некорректная работа драйвера. Проверьте правильность параметров драйвера. Обратитесь к системному журналу, используя утилиту sloginfo, может быть, там вы найдете необходимую подсказку.

Правильно принятые байты (Bytes Received OK)

Этот параметр соответствует числу принятых из сети байтов данных. Значение параметра возрастает по мере роста числа принятых пакетов.

Одиночные конфликты при передаче (Single Collisions on Transmit)

Данный параметр соответствует числу конфликтов (collisions), которые возникали при попытке передачи кадров.

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

Когда на сетевых картах обнаруживается конфликт такого рода, то они обе прекращают передачу и переходят в режим ожидания на случайно выбираемый период времени. Для обеих сетевых карт выбираемые периоды времени оказываются различными. Поэтому теоретически после окончания времени ожидания первой сетевой карты другая сетевая карта либо уже начнет передачу, либо будет по-прежнему находиться в состоянии ожидания. Так удается избегать конфликтных ситуаций.

Проблемы такого рода в меньшей степени свойственны сетям с дуплексным режимом работы.

Многократные конфликты при передаче (Multiple Collisions on Transmit)

Данная ошибка возникает в случае, когда при попытке передачи подряд возникает несколько конфликтных ситуаций, даже несмотря на ожидание в течение нескольких случайно заданных периодов времени. Такая проблема обычно характерна для занятых сетей, работающих в полудуплексном режиме. При наличии большого числа ошибок такого рода попробуйте перейти на работу в дуплексном режиме. Если сеть работает по протоколу TCP/IP, то вместо хабов можно попробовать установить коммутаторы (switch).

Отложенные передачи (Deferred Transmits)

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

Ошибки поздней занятости при передаче (Late Collision on Transmit errors)

Ошибки поздней занятости встречаются в случае, когда карта передала большую часть кадра, поэтому в сети должно быть известно, что сеть занята, но, тем не менее, другая система в сети все равно пытается начать передачу кадра по той же линии. Эта ситуация похожа на обычные ошибки конфликта доступа, они просто были обнаружены слишком поздно.

В зависимости от протокола этот тип ошибок может вредно сказываться на общей пропускной способности протокола. Например, потеря 1% пакетов для протокола NFS при использовании применяемых по умолчанию таймеров повторной передачи оказывается достаточной для уменьшения скорости передачи приблизительно на 90%. Если в сети наблюдается низкая пропускная способность, проверьте, нет ли избыточного количества ошибок описанного типа. Обычно адаптеры Ethernet не делают повторной передачи кадров, потерянных в результате появления ошибок поздней занятости.

Появление таких ошибок является признаком того, что время распространения сигнала по сети больше, чем время, необходимое для выдачи сетевой картой в сеть всего пакета. Поэтому мешающая работе система не знает, что сеть постоянно используется, следовательно, она пытается разместить в сети свой новый кадр.

Узлы, которые пытаются одновременно занять сеть, обнаруживают ошибку после первого временного сегмента в 64 байта. Это означает, что сетевая карта обнаруживает конфликты поздней занятости только после передачи кадра длиннее 64 байт. Проблема состоит в том, что при передаче кадра менее 64 байт сетевая карта не способна обнаружить ошибку. Обычно если возникают ошибки поздней занятости в сети с кадрами большого размера, то, скорее всего, эти же ошибки и возникают при малом размере кадра.

Появление таких ошибок обычно связано с кабелями Ethernet, длина которых оказывается более значения, указываемого стандартом IEEE 802.3, или же превышено максимальное число используемых кабелей конкретного типа, или же между двумя узлами сети использовано избыточное число повторителей.

Другой причиной возникновения такого вида ошибок является то, что в сети имеется неправильно работающее оборудование, которое посылает в сеть поврежденные кадры, которые воспринимаются как конфликтные фрагменты. Эти поврежденные фрагменты могут иногда появляться в сетевой карте после возникновения ошибок поздней занятости.

Прекращение передачи — слишком большое число конфликтов (Transmits aborted (excessive collisions))

Данная ошибка встречается при возникновении в сети слишком большого числа конфликтов. Сетевой карте не удается передать кадр в сеть после возникновения 16 конфликтов. Это означает, что сеть "заклинило" или сеть перегружена.


Note: Иногда маршрутизаторы не могут передать кадр, если в них возникают ситуации с избыточными конфликтами. Однако вместо того, чтобы послать уведомление на соответствующий передающий узел, маршрутизатор просто отбрасывает кадр.

При частом возникновении ошибок подобного рода нужно пересмотреть топологию сети: уменьшить размер сети, вставить коммутатор в стратегически важные места, что позволит уменьшить число посылаемых в общую сеть пакетов. Проблема может быть разрешена переходом в режим дуплексной работы.

Прекращение передачи — слишком большое число отложенных передач (Transmits aborted (excessive deferrals))

Прекращение передачи из-за слишком большого числа отложенных передач означает, что сетевой карте не удается передать кадр из-за чрезвычайной занятости сети. Решением проблемы может оказаться переход в режим дуплексной передачи.

Передачи с недозагрузкой (Transmit Underruns)

Этот тип ошибки может встречаться в микросхемах, в которых предусмотрено использование механизма прямого доступа в память (DMA). При использовании механизма DMA пакеты копируются в буфер FIFO, из которого данные передаются в линию. При оборудовании низкой производительности система DMA оказывается неспособной заполнять буфер FIFO с той скоростью, как они передаются в линию, поэтому возникает ошибка недозагрузки, и передача прекращается.

Нет несущей при передаче (No Carrier on Transmit)

Когда карта памяти собирается начать передачу кадра, то вначале выполняется контроль несущей (это похоже на то, что, подняв трубку телефона перед набором номера, вы проверяете наличие тонального сигнала готовности линии от станции). При передаче кадра сетевая карта "прослушивает" линию с точки зрения появления возможных конфликтов или ошибок. Ошибки возникают в случае, когда сетевая карта передает кадр в сеть, и вдруг выясняется, что не удается обнаружить ее собственную несущую (по аналогии с телефоном: при наборе номера вы слышите ответную реакцию на каждую нажимаемую цифровую клавишу).

Ошибки такого рода возникают при отключении и подключении сетевых кабелей или в результате малой оптической мощности оптоволоконного трансивера (Fiber Optic Transceiver, FOT).

Обнаружение сбойного пакета (Jabber detected)

Обычно такая ошибка возникает в сетях со скоростью передачи 10 Мбит. Появление ошибки указывает на то, что сетевая карта продолжает передачу после того, как пакет уже был послан. Для более скоростных сетей эта ошибка не встречается, поскольку в этих сетях допускается больший размер кадра.

Ошибки выравнивания при приеме (Receive Alignment errors)

Появление ошибки выравнивания при приеме означает, что карта приняла из сети поврежденный пакет. Появление этой ошибки сопровождается также появлением ошибки FCS (Frame Check Sequence, контрольная последовательность кадра). Эти ошибки встречаются в случае, когда размер принимаемого кадра не кратен восьми битам (одному байту).

Обычно эти ошибки являются следствием некачественного подключения кабеля, использования кабелей не в соответствии со стандартом IEEE 802.3, неисправности сетевой карты, а возможно, и неисправности хаба или коммутатора. Для локализации места возникновения проблемы используйте отключение фрагментов сети по методу бинарного дерева.

Ошибки CRC при приеме пакетов (Received packets with CRC errors)

Запись в этом поле указывает на то, сколько раз (на аппаратном уровне) сетевая карта приняла искаженные данные. Наличие неправильно принятых данных может быть вызвано неисправностью кабеля, хаба или сетевой карты.

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

Отбрасывание пакетов при приеме (Packets Dropped on receive)

Обычно это означает, что возникло переполнение при приеме пакета. Это имеет отношение к работе системы DMA и буфера FIFO (аналогично ошибке Transmit Underruns — передача с недозагрузкой), только на этот раз система DMA не успевает копировать пакеты в память с той скоростью, как они поступают из сети. В результате часть пакетов отбрасывается. Как и в случае передачи с недозагрузкой, обычно причина ошибок кроется в низкой производительности оборудования.

Выход за допустимые пределы заголовков Ethernet (Ethernet Headers out of range)

В этой записи указывается число пакетов, для которых поле типа/длины протокола Ethernet оказывается недействительным.

Прием пакетов слишком большого размера (Oversized Packets received)

Пакеты слишком большого размера обычно обнаруживаются на стороне приема. Принимаемый пакет оказывается больше заданного размера приемного буфера драйвера.

Кадры с избыточными битами (Frames with Dribble Bits)

Избыточные биты данных принимаются после приема значения CRC протокола Ethernet. Наличие таких битов обычно вызывается неисправным оборудованием или проблемами кабельного подсоединения сети Ethernet, которые не соответствуют стандарту IEEE 802.3.

Общее число кадров с конфликтами (Total Frames experiencing Collision(s))

Значение этого параметра соответствует общему количеству кадров, где возникали конфликтные ситуации при попытке их передачи в сеть. Это значение иногда может быть большим, все зависит от степени загруженности сети. При загруженной сети этот тип ошибок встречается чаще, чем в сети с небольшим трафиком.

Модемы

Модемы могут быть следующих типов:

Внутренние модемы

Для внутренних модемов может использоваться интерфейс ISA, причем модемы могут поддерживать или не поддерживать стандарт Plug and Play (PnP). Устройства, не поддерживающие этот стандарт, должны устанавливаться вручную.


Note: Для идентификации устройства необходимо иметь документацию на него или связаться с производителем устройства. В настоящее время в составе ЗОСРВ «Нейтрино» нет утилиты, с помощью которой можно было бы получить список установленных в системе ISA-устройств.

Модемы с интерфейсом ISA без поддержки PnP

Для конфигурирования модема необходимо использовать адрес порта ввода/вывода и номер прерывания IRQ, которые не вызывают конфликта в системе.

Драйвер devc-ser8250 должен произвести автоматическое определение модема, и в каталоге /dev должна появиться запись о нем в виде serx, где x — целое число.


Note: Такое имя может иметь более одной записи. Имейте в виду, что первые две записи представляют порты comm. Любая дополнительная запись, скорее всего, относится к модему. При сомнениях можно проверить все записи ser с помощью утилиты qtalk. Более подробно этот вопрос рассмотрен в разделе "Тес­тирование модемов" далее в этой статье.

Записи обычно имеют такой вид:

Comm1 is enabled in the BIOS Comm1 is disabled Modem is configured to Comm2's ioport and IRQ

В каталоге /dev при этом можно будет увидеть следующее:

Модемы с интерфейсом ISA и поддержкой PnP

Если модем ISA поддерживает стандарт PnP и с помощью перемычек на его плате можно вручную установить значения для порта ввода/вывода и прерывания IRQ, то предпочтительнее использовать все же ручной метод, а не Plug and Play.

Драйвер devc-ser8250 должен произвести автоматическое определение модема, и в каталоге /dev должна появиться запись о нем в виде serx, где x — целое число.


Note: С именем ser в каталоге /dev может существовать более одной записи. Имейте в виду, что первые две записи представляют порты comm. Любая дополнительная запись, скорее всего, относится к модему. Если по этому поводу есть сомнения, то можно проверить все записи ser с помощью утилиты qtalk. Более подробно этот вопрос рассмотрен в разделе "Тестирование модемов" далее в этой статье.

Если модем не обнаруживается, то для определения номера порта ввода/вывода и прерывания IRQ воспользуйтесь утилитой isapnp, после чего используйте эти значения для запуска драйвера devc-ser8250.


Note: Если вы запускаете драйвер последовательного канала для UART или модема, при этом уже был запущен другой драйвер последовательного канала, то необходимо использовать при запуске ключ -u, чтобы присвоить номер новому драйверу. Этот номер присоединяется к имени устройства, так что не возникнет конфликта с ранее существовавшими в каталоге /dev/ser записями.

Модемы на шине PCI

Драйвер devc-ser8250 должен произвести автоматическое определение модема, и в каталоге /dev должна появиться запись о нем в виде serx, где x — целое число.

Если не создано никакой записи, запустите утилиту pci -vvv. Она выведет на экран информацию, где можно увидеть назначенные для модема адрес порта ввода/вывода и номер прерывания IRQ. Используйте эти данные для запуска драйвера devc-ser8250. Если вы используете правильные значения для порта и прерывания, то в каталоге /dev будет создана корректная запись.

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

Внешние модемы устанавливаются очень легко. В каталоге /dev можно найти последовательный порт, к которому подключен модем. Модем подключается к разъему на задней панели системы. Если модем подключен к последовательному порту 1, то в каталоге /dev для него будет присутствовать запись с именем ser1.

Кабельные модемы / ISDN

Будем предполагать, что кабельный модем подключается к вашей системе через сетевую карту, и драйвер карты уже был запущен и нормально работает. Если это не так, то см. подраздел "Сетевые адаптеры" ранее в этой статье.

Настройка конфигурации

  1. Для задания конфигурации воспользуйтесь инструментами конфигурирования протокола TCP/IP. Это можно сделать путем запуска из командной строки утилиты phlip, выбором пункта Network на системной панели оболочки Photon или выбором пункта меню Launch -> Configure -> Network.

  2. Перейдите на вкладку Devices и задайте следующие установки:

  3. Перейдите на вкладку Network и задайте следующие установки:

  4. Перезагрузите компьютер. Служба DHCP будет запущена автоматически.

Тестирование модемов

Для тестирования модема можно использовать утилиту qtalk.

  1. убедитесь в том, что модем подключен к телефонной линии;

  2. введите команду stty для установки скорости работы модема в бодах. Например, для установки скорости 57 760 (такую скорость используют модемы 56К) для модема, установленного в каталог /dev/ser1, нужно ввести:

    stty baud=57760 < /dev/ser1

  3. введите команду qtalk -mустройство, где устройство — имя последовательного порта (например, /dev/ser1);

  4. введите команду at. От модема должен быть получен ответ OK.

Устранение неисправностей модемов

Если вы следовали вышеописанным инструкциям, но от модема не получен ответ OK, нужно попробовать выполнить следующие действия.

Видеокарты

Список видеокарт, поддерживаемых в ЗОСРВ «Нейтрино» можно узнать в описании драйверов в разделах Модульные драйвера графической подсистемы и Классические драйвера графической подсистемы. Кроме того стоит ознакомиться с подразделом "Общие сведения" ранее в этой статье.


Warning: Данный способ настройки не является рекомендуемым, поскольку не отражает всех особенностей графической подсистемы ЗОСРВ «Нейтрино», а местами и противоречит ей. Единственно верным путем конфигурации является прямое предметное редактирование конфигурационных файлов display.conf, screen.conf, graphics.conf и конфигурационных файлов драйверов.

Процедура конфигурирования детально описана в статьях Настройка графической подсистемы и Композитная оконная подсистема и менеджер окон. Рассмотренное ниже в данном параграфе лишь отражение во многом устаревшей практики, совместимой с предыдущей версией графической подсистемы.


Изменение видеорежимов в оболочке Photon

Для изменения видеорежимов графического адаптера в оболочке Photon можно использовать либо приложение phgrafx, либо выбрав пункт Graphics в системной панели shelf, либо выбрав пункт меню Launch -> Configure -> Display.

Для изменения видеорежима необходимо выполнить следующие действия:

  1. выбрать нужную конфигурацию.

  2. щелкнуть по кнопке Apply (Применить).

    Вначале появится черный экран, после чего должен произойти переход в новый режим. Если выбранный новый режим работает некорректно, нужно подождать 15 секунд, затем дисплей автоматически вернется к предыдущим установкам. Можно просто нажать клавишу <Esc> или <Enter>.

  3. если режим изменился и работает нормально, щелкните по кнопке Accept (Принять).

С помощью данной утилиты можно также поменять драйвер, разрешение, частоту обновления экрана, палитру (только для режима с 8-битовой палитрой) и отключить аппаратный курсор.

Дополнительную информацию об изменении командной строки для запуска адаптера дисплея см. в разделе о phgrafx.

Ручная настройка видеокарты

Ручная настройка видеокарты:

  1. Идентифицируйте тип видеоадаптера. В документации должен быть описан набор используемых в нем микросхем.

  2. Отредактируйте файл конфигурации /etc/system/config/display.conf в соответствии с особенностями оборудования. Более подробную информацию о драйвере графических устройств см. в io-display.


    Note: В этом случае, можно просто перезапустить систему, чтобы новая конфигурация была распознана. Следующие шаги описывают, как вручную остановить работу и перезагрузить драйвер.

  3. В текстовом режиме завершить работу io-display, и убедиться, что процесс завершен.


    Note: При выполнении данных действий Photon не должен быть запущен.

  4. запустите io-display:

    io-display -dvid=0xVVVV,did=0xDDDD

    где VVVV – идентификатор производителя и DDDD – идентификатор устройства видео-карты.

  5. перезапустить Photon, запустив скрипт /usr/bin/ph.

Информацию об опциях графических драйверов можно найти на страницах соответствующих конфигурационных файлов, полный перечень которых приведен на странице Классические драйвера графической подсистемы.

Настройка нескольких дисплеев

Для установки двух или нескольких дисплеев следует использовать конфигурационный файл display.conf менеджера io-display. Можно выполнить конфигурирование двух или более видеокарт для работы с несколькими дисплеями либо использовать одну видеокарту для поддержки нескольких дисплеев.

Общая настройка

В целях поддержки множественных дисплеев необходимо отредактировать или создать конфигурационный файл display.conf перед запуском io-display.

Следующий пример показывает конфигурационный файл, устанавливающий возможность работы с двумя дисплеями, с использованием графического драйвера devg-skylake.so:

device { drivername=skylake modeopts=/etc/system/config/skylake.conf vid=0x8086 did=0x1912 deviceindex=0 display { xres=1920 yres=1080 refresh=60 pixel_format=argb8888 } display { xres=1920 yres=1080 refresh=60 pixel_format=argb8888 } }

Для некоторых драйверов также требуется настройка дополнительных параметров. Например, для данного драйвера в некоторых случаях нужно выбрать физические порты, на которые будет выводиться изображение обоих дисплеев. В противном случае изображения будут выводиться на порты, используемые по умолчанию, что не обязано соответствовать физически подключенным мониторам. В данном случае выполнить соответствующую настройку можно через конфигурационный файл skylake.conf, используя параметры 1st, 2nd и vga (порт для вывода текстового режима при переходе в него из графики).

Расширенные параметры

Следующие примеры описывают, как ориентацию дисплеев и перечень возможных драйверов для данного устройства. Исторически эти параметры относятся к Photon, хотя ряд из них к нему не относится.

Конфигурация множественных дисплеев с множественными видео-картами

При существовании множественных видео-устройств, конфигурационный файл, содержащий записи для каждого устройства, автоматически конфигурируется при загрузке. По умолчанию, используется видео-карта со значением дисплея index 0. Для установки драйвера устройства для разрешения использования множественных дисплеев, необходимо запустить phgrafx, и удостовериться, что установлено Enable. Также для конфигурации части параметров и установки режима для каждого устройства можно использовать phgrafx.

Следующий пример конфигурационного файла отображает использование видео-карт Radeon и Intel с выходом на два дисплея:

device { photon { driver { drivername=svga modeopts= } driver { drivername=skylake modeopts= } driver { drivername=vesabios modeopts= } } drivername=skylake modeopts=/etc/system/config/skylake.conf vid=0x8086 did=0x1912 deviceindex=0x0 display { xres=1920 yres=1080 refresh=60 pixel_format=argb1555 photon { enabled=1 xoffset=1920 yoffset=0 cursor=hardware input_group=1 } } } device { photon { driver { drivername=svga modeopts= } driver { drivername=radeon modeopts= } driver { drivername=vesabios modeopts= } } drivername=radeon modeopts= vid=0x1002 did=0x4966 deviceindex=0x0 display { xres=1920 yres=1080 refresh=60 pixel_format=argb8888 photon { enabled=1 xoffset=0 yoffset=0 cursor=hardware input_group=1 } } }

Конфигурация множественных дисплеев с использованием одной видео-карты

Одна видео-карта может осуществлять поддержку множественных дисплеев (при этом в видео-карте должны быть множественные выходы). Для этого необходимо вручную создать в файле конфигурации дополнительный раздел для display. Необходимо помнить, что для распознавания новой конфигурации необходима перезагрузка компьютера.

Следующий пример отображает файл конфигурации для видео-карты Intel и двух дисплеев:

device { photon { driver { drivername=svga modeopts= } driver { drivername=skylake modeopts= } driver { drivername=vesabios modeopts= } } drivername=skylake modeopts=/etc/system/config/skylake.conf vid=0x8086 did=0x1912 deviceindex=0x0 display { xres=1920 yres=1080 refresh=60 pixel_format=rgb565 photon { enabled=1 xoffset=0 yoffset=0 cursor=hardware input_group=1 } } display { xres=1920 yres=1080 refresh=60 pixel_format=rgb565 photon { enabled=1 xoffset=1920 yoffset=0 cursor=hardware input_group=1 } } }


Note: По умолчанию, в автоматически созданном конфигурационном файле настраивается один дисплей. В зависимости от драйвера это может соответствовать как настройке единственного порта устройства, либо зеркалированию единого изображения на несколько портов.

Для каждого дисплея можно изменить свойства графики прямо в файле конфигурации, или использовать phgrafx для конфигурации каждого дисплея.


Caution: Если в файле /etc/system/enum/devices/graphics менеджера enum-devices отсутствуют настройки для конкретного устройства, то при последующей загрузке файл display.conf может быть перезаписан настройками по умолчанию. Это следует учитывать при редактировании.

К такому же эффекту приводит и удаление секции device -> photon при наличии соответствующей записи в /etc/system/enum/devices/graphics.



Подробная информация о формате файла конфигурации io-display и возможных опциях содержится на странице display.conf.




Предыдущий раздел: перейти