aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/handbook/serialcomms/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/handbook/serialcomms/_index.adoc')
-rw-r--r--documentation/content/ru/books/handbook/serialcomms/_index.adoc1290
1 files changed, 414 insertions, 876 deletions
diff --git a/documentation/content/ru/books/handbook/serialcomms/_index.adoc b/documentation/content/ru/books/handbook/serialcomms/_index.adoc
index e379d5db88..abbe4bbb45 100644
--- a/documentation/content/ru/books/handbook/serialcomms/_index.adoc
+++ b/documentation/content/ru/books/handbook/serialcomms/_index.adoc
@@ -1,23 +1,25 @@
---
-title: Глава 22. Последовательные соединения
-part: Часть IV. Сетевые коммуникации
-prev: books/handbook/partiv
+description: 'Эта глава рассказывает о некоторых способах использования последовательной передачи данных в FreeBSD'
next: books/handbook/ppp-and-slip
-showBookMenu: true
-weight: 27
params:
- path: "/books/handbook/serialcomms/"
+ path: /books/handbook/serialcomms/
+part: 'Часть IV. Сетевое взаимодействие'
+prev: books/handbook/partiv
+showBookMenu: true
+tags: ["serial", "communications", "terminal", "modem", "console"]
+title: 'Глава 29. Последовательная передача данных'
+weight: 34
---
[[serialcomms]]
-= Последовательные соединения
+= Последовательная передача данных
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
-:sectnumoffset: 22
+:sectnumoffset: 29
:partnums:
:source-highlighter: rouge
:experimental:
@@ -48,630 +50,488 @@ include::../../../../../shared/asciidoctor.adoc[]
endif::[]
[[serial-synopsis]]
-== Краткое описание
+== Обзор
-В UNIX(R) всегда была поддержка последовательных соединений. Фактически, самые первые UNIX(R) машины использовали последовательные линии для пользовательского ввода/вывода. Многое изменилось с тех пор, когда среднестатистический "терминал" состоял из 10-символов-в-секунду последовательного принтера и клавиатуры. Эта глава рассказывает о некоторых способах, которыми FreeBSD использует последовательные соединения.
+UNIX(R) всегда поддерживал последовательную передачу данных, так как самые первые UNIX(R)-машины использовали последовательные линии для ввода и вывода информации. Многое изменилось со времен, когда стандартный терминал состоял из последовательного принтера со скоростью печати 10 символов в секунду и клавиатуры. В этой главе рассматриваются некоторые способы использования последовательной передачи данных в FreeBSD.
-Прочитав эту главу, вы узнаете:
+Прочитав эту главу, вы будете знать:
-* Как подсоединить терминалы к системе FreeBSD.
-* Как использовать модем для дозвона на удаленные хосты.
-* Как разрешить удаленным пользователям входить в вашу систему с помощью модема.
-* Как загрузить систему с последовательной консоли.
+* Как подключить терминалы к системе FreeBSD.
+* Как использовать модем для дозвона до удалённых хостов.
+* Как разрешить удаленным пользователям входить в систему FreeBSD с помощью модема.
+* Как загрузить систему FreeBSD с последовательной консоли.
-Перед прочтением этой главы вам потребуется:
+Прежде чем читать эту главу, вы должны:
-* Узнать как настраивать и устанавливать новое ядро (crossref:kernelconfig[kernelconfig, Настройка ядра FreeBSD]).
-* Понять, что такое права доступа и процессы UNIX(R) (crossref:basics[basics, Основы UNIX]).
-* Кроме этого вам потребуется техническое руководство на последовательное оборудование (модем или мультипортовую карту), которую вы хотите использовать с FreeBSD.
+* Знать, как crossref:kernelconfig[kernelconfig,настроить и установить собственное ядро].
+* Понять crossref:basics[basics, права и процессы в FreeBSD].
+* Иметь доступ к техническому руководству по последовательному оборудованию, которое будет использоваться с FreeBSD.
[[serial]]
-== Введение
+== Терминология и оборудование для последовательной передачи данных
-[[serial-terminology]]
-=== Терминология
+При связи по последовательному порту часто используются следующие термины:
bps::
-Бит в секунду (Bits per Second) - скорость передачи данных
+Биты в секунду (бит/с) — это скорость передачи данных.
DTE::
-Терминальное оборудование (Data Terminal Equipment) - например, ваш компьютер
+Оборудование передачи данных (Data Terminal Equipment — DTE) — это одна из двух конечных точек в последовательной связи. Примером может служить компьютер.
DCE::
-Оборудование связи (Data Communications Equipment) - ваш модем
+Оборудование передачи данных (Data Communication Equipment — DCE) — это другая конечная точка в последовательной связи. Обычно это модем или последовательный терминал.
RS-232::
-Стандарт EIA для аппаратных последовательных соединений
+Оригинальный стандарт, определяющий аппаратную последовательную связь. Впоследствии был переименован в TIA-232.
-При упоминании скорости передачи данных, в этой главе не используется термин "бод" ("baud"). Бод означает количество электрических импульсов, которые могут быть переданы за период времени, а "bps" это _корректный_ термин для использования (он хотя бы не создает столько проблем как предыдущий).
+При упоминании скорости передачи данных в этом разделе не используется термин _бод_. Бод обозначает количество изменений электрического состояния за единицу времени, тогда как бит/с (bps) является корректным термином.
-[[serial-cables-ports]]
-=== Кабели и порты
+Для подключения последовательного терминала к системе FreeBSD необходим последовательный порт на компьютере и соответствующий кабель для соединения с последовательным устройством. Пользователям, уже знакомым с последовательным оборудованием и кабелями, можно смело пропустить этот раздел.
-Для подсоединения модема или терминала к системе FreeBSD потребуется последовательный порт и подходящий кабель для последовательного устройства. Если вы уже знаете о аппаратном обеспечении и требуемых кабелях, можете пропустить этот раздел.
+[[term-cables-null]]
+=== Последовательные кабели и порты
-[[term-cables]]
-==== Кабели
+Существует несколько различных типов последовательных кабелей. Два наиболее распространённых типа — это нуль-модемные кабели и стандартные кабели RS-232. В документации к оборудованию должен быть указан тип необходимого кабеля.
-Есть несколько различных видов последовательных кабелей. Два наиболее часто используемых в нашей ситуации типа это нуль-модемный и стандартный ("прямой") RS-232 кабель. Документация на оборудование должна описывать тип требуемого кабеля.
+Эти два типа кабелей отличаются тем, как провода подключены к разъему. Каждый провод представляет собой сигнал, с определенными сигналами, перечисленными в crossref:serialcomms[serialcomms-signal-names,Имена сигналов RS-232C]. Стандартный последовательный кабель передает все сигналы RS-232C напрямую. Например, контакт "Передаваемые данные" на одном конце кабеля соединен с контактом "Передаваемые данные" на другом конце. Такой тип кабеля используется для подключения модема к системе FreeBSD, а также подходит для некоторых терминалов.
-[[term-cables-null]]
-===== Нуль-модемные кабели
+Нулевой модемный кабель меняет местами контакт "Передаваемые данные" одного конца с контактом "Принимаемые данные" другого конца. Разъём может быть либо DB-25, либо DB-9.
-Нуль модемный кабель пропускает некоторые сигналы, такие как "Signal Ground", напрямую, а другие "заворачивает". Например, контакт "Transmitted Data" на одном конце соединяется с контактом "Received Data" на другом.
+Нуль-модемный кабель можно изготовить, используя соединения контактов, приведенные в crossref:serialcomms[nullmodem-db25, DB-25 — DB-25 Null-Modem Cable], crossref:serialcomms[nullmodem-db9, DB-9 — DB-9 Null-Modem Cable] и crossref:serialcomms[nullmodem-db9-25, DB-9 — DB-25 Null-Modem Cable, DB-9 — DB-25 Null-Modem Cable]. Хотя стандарт требует прямого соединения контакта 1 с контактом 1 («Protective Ground»), эту линию часто не используют. Некоторые терминалы работают только с контактами 2, 3 и 7, тогда как другим требуются иные конфигурации. В случае сомнений обратитесь к документации оборудования.
-Вы можете сделать собственный кабель для использования с терминалами. Эта таблица показывает названия <<serialcomms-signal-names,сигналов RS-232C>> и номера контактов на разъеме DB-25. Заметим, что стандарт описывает соединение контактов номер 1 как сигнал _Protective Ground_, но его часто не делают. Некоторым терминалам достаточно сигналов на контактах 2, 3 и 7; другим требуется большее число сигналов, как показано на примерах ниже:
+[[serialcomms-signal-names]]
+.Имена сигналов RS-232C
+[cols="1,1", frame="none", options="header"]
+|===
+<| Аббревиатуры
+<| Имена
+
+|RD
+|Received Data
+
+|TD
+|Transmitted Data
+
+|DTR
+|Готовность терминального оборудования (Data Terminal Ready)
+
+|DSR
+|Готовность терминального оборудования (Data Set Ready)
+
+|DCD
+|Обнаружение несущей (Data Carrier Detect)
+
+|SG
+|Сигнальная земля (Signal Ground)
-.Нуль-модемный кабель DB-25 - DB-25
+|RTS
+|Запрос на передачу (Request to Send)
+
+|CTS
+|Готовность к приёму (Clear to Send)
+|===
+
+[[nullmodem-db25]]
+.от DB-25 к DB-25 кабель нуль-модема
[cols="1,1,1,1,1", frame="none", options="header"]
|===
<| Сигнал
-<| Контакт
+<| # пина
|
-<| Контакт
+<| # пина
<| Сигнал
|SG
|7
-|соединен с
+|соединяется с
|7
|SG
|TD
|2
-|соединен с
+|соединяется с
|3
|RD
|RD
|3
-|соединен с
+|соединяется с
|2
|TD
|RTS
|4
-|соединен с
+|соединяется с
|5
|CTS
|CTS
|5
-|соединен с
+|соединяется с
|4
|RTS
|DTR
|20
-|соединен с
+|соединяется с
|6
|DSR
|DTR
|20
-|соединен с
+|соединяется с
|8
|DCD
|DSR
|6
-|соединен с
+|соединяется с
|20
|DTR
|DCD
|8
-|соединен с
+|соединяется с
|20
|DTR
|===
-Вот еще две распространенные в настоящее время схемы.
-
-.Нуль-модемный кабель DB-9 - DB-9
+[[nullmodem-db9]]
+.от DB-9 к DB-9 кабель нуль-модема
[cols="1,1,1,1,1", frame="none", options="header"]
|===
<| Сигнал
-<| Контакт
+<| # пина
|
-<| Контакт
+<| # пина
<| Сигнал
|RD
|2
-|соединен с
+|соединяется с
|3
|TD
|TD
|3
-|соединен с
+|соединяется с
|2
|RD
|DTR
|4
-|соединен с
+|соединяется с
|6
|DSR
|DTR
|4
-|соединен с
+|соединяется с
|1
|DCD
|SG
|5
-|соединен с
+|соединяется с
|5
|SG
|DSR
|6
-|соединен с
+|соединяется с
|4
|DTR
|DCD
|1
-|соединен с
+|соединяется с
|4
|DTR
|RTS
|7
-|соединен с
+|соединяется с
|8
|CTS
|CTS
|8
-|соединен с
+|соединяется с
|7
|RTS
|===
-.Нуль-модемный кабель DB-9 - DB-25
+[[nullmodem-db9-25]]
+.от DB-9 к DB-25 кабель нуль-модема
[cols="1,1,1,1,1", frame="none", options="header"]
|===
<| Сигнал
-<| Контакт
+<| # пина
|
-<| Контакт
+<| # пина
<| Сигнал
|RD
|2
-|соединен с
+|соединяется с
|2
|TD
|TD
|3
-|соединен с
+|соединяется с
|3
|RD
|DTR
|4
-|соединен с
+|соединяется с
|6
|DSR
|DTR
|4
-|соединен с
+|соединяется с
|8
|DCD
|SG
|5
-|соединен с
+|соединяется с
|7
|SG
|DSR
|6
-|соединен с
+|соединяется с
|20
|DTR
|DCD
|1
-|соединен с
+|соединяется с
|20
|DTR
|RTS
|7
-|соединен с
+|соединяется с
|5
|CTS
|CTS
|8
-|соединен с
+|соединяется с
|4
|RTS
|===
[NOTE]
====
-Для соединения одного контакта с одной стороны с двумя контактами на другой обычно пару контактов на одной стороне соединяют коротким проводом, а затем один из них - длинным с единственным контактом на дальней стороне.
-====
-
-Приведенные диаграммы описывают наиболее популярные схемы распайки. В других вариантах (описанных в книге _RS-232 Made Easy_) SG соединяется с SG, TD соединяется с RD, RTS и CTS соединяются с DCD, DTR соединяется с DSR, и наоборот.
-
-[[term-cables-std]]
-===== Стандартные кабели RS-232C
-
-Стандартный последовательный кабель пропускает все RS-232C сигналы напрямую. Так, "send data" на одном конце кабеля соединяется с контактом "send data" на другом конце. Этот тип кабеля предназначен для подсоединения модема, а также подходит для некоторых терминалов.
-
-[[term-ports]]
-==== Порты
-
-Последовательные порты это устройства, через которые данные передаются между компьютером с FreeBSD и терминалом. Этот раздел описывает типы существующих портов и их адресацию в FreeBSD.
-
-[[term-portkinds]]
-===== Типы портов
-
-Существует несколько типов последовательных портов. Перед изготовлением кабеля, вам потребуется убедиться, что он подходит к портам терминала и системы FreeBSD.
-
-Большинство терминалов используют порты DB25. Персональные компьютеры, включая PC под управлением FreeBSD, используют порты DB25 или DB9. Если у вас есть мультипортовая последовательная карта для PC, там могут быть RJ-12 или RJ-45 порты.
-
-Обратитесь к сопровождающей документации на оборудование за информацией об используемых портах. Можно также определить тип используемых портов по их внешнему виду.
-
-[[term-portnames]]
-===== Имена портов
-
-В FreeBSD доступ к каждому последовательному порту может быть получен через файл в каталоге [.filename]#/dev#. Есть два различных типа файлов:
-
-* Порты входящих соединений (dial-in) называются [.filename]#/dev/ttydN#, где _N_ это номер порта начиная с нуля. Обычно, порты входящих соединений используются для терминалов. Для корректной работы этим портам требуется, чтобы последовательный кабель передавал сигнал data carrier detect (DCD).
-* Порты исходящих соединений (call-out) называются [.filename]#/dev/cuadN#. Они обычно используются не для терминалов, а только для модемов. Вы можете использовать эти порты если последовательный кабель или терминал не поддерживает сигнал DCD.
-+
-[NOTE]
-====
-Call-out порты в FreeBSD 5.X и ранее именуются [.filename]#/dev/cuaaN#.
+Когда один контакт на одном конце соединяется с парой контактов на другом конце, это обычно реализуется с помощью одного короткого провода между парой контактов в их разъёме и длинного провода к другому одиночному контакту.
====
-Если вы соединили терминал с первым последовательным портом ([.filename]#COM1# в MS-DOS(R)), используйте [.filename]#/dev/ttyd0# для доступа к терминалу. Если терминал соединен со вторым последовательным портом (известным также как [.filename]#COM2#), используйте [.filename]#/dev/ttyd1#, и так далее.
+Последовательные порты — это устройства, через которые данные передаются между хост-компьютером FreeBSD и терминалом. Существует несколько видов последовательных портов. Перед покупкой или изготовлением кабеля убедитесь, что он подходит к портам на терминале и системе FreeBSD.
-=== Настройка ядра
+Большинство терминалов оснащено портами DB-25. Персональные компьютеры могут иметь порты DB-25 или DB-9. Многопортовые последовательные платы могут быть оснащены портами RJ-12 или RJ-45. Для определения типа порта обратитесь к документации, прилагаемой к оборудованию, или визуально проверьте тип порта.
-FreeBSD c настройками по умолчанию поддерживает последовательные порты. В мире MS-DOS(R) они известны как [.filename]#COM1#, [.filename]#COM2#, [.filename]#COM3#, и [.filename]#COM4#. На данный момент в FreeBSD есть поддержка как "простых" мультипортовых карт с последовательными интерфейсами, таких как BocaBoard 1008 и 2016, так и более "умных" мультипортовых карт, например карт Digiboard и Stallion Technologies. Тем не менее, ядро по умолчанию определяет только стандартные COM порты.
+В FreeBSD каждый последовательный порт доступен через запись в [.filename]#/dev#. Существует два разных типа записей:
-Чтобы увидеть, как ядро определяет последовательные порты, просмотрите сообщения, выводимые во время загрузки ядра, или используйте команду `/sbin/dmesg` для вывода сообщений ядра еще раз. В частности, обратите внимание на сообщения, начинающиеся с символов `sio`.
+* Поры входящих соединений именуются [.filename]#/dev/ttyuN#, где _N_ — это номер порта, начиная с нуля. Если терминал подключен к первому последовательному порту ([.filename]#COM1#), используйте [.filename]#/dev/ttyu0# для обращения к терминалу. Если терминал находится на втором последовательном порту ([.filename]#COM2#), используйте [.filename]#/dev/ttyu1#, и так далее. Как правило, порт входящих соединений используется для терминалов. Для корректной работы порта требуется, чтобы последовательная линия подавала сигнал "Data Carrier Detect".
+* Порты исходящих соединений называются [.filename]#/dev/cuauN# в FreeBSD версий 8.X и выше и [.filename]#/dev/cuadN# в FreeBSD версий 7.X и ниже. Порты исходящих соединений обычно не используются для терминалов, но применяются для модемов. Порт может быть использован, если последовательный кабель или терминал не поддерживают сигнал "Data Carrier Detect".
-[TIP]
-====
-
-Для просмотра только тех сообщений, которые содержат слово `sio`, используйте команду:
+FreeBSD также предоставляет устройства инициализации ([.filename]#/dev/ttyuN.init# и [.filename]#/dev/cuauN.init# или [.filename]#/dev/cuadN.init#) и устройства блокировки ([.filename]#/dev/ttyuN.lock# и [.filename]#/dev/cuauN.lock# или [.filename]#/dev/cuadN.lock#). Устройства инициализации используются для установки параметров порта связи при каждом его открытии, например, `crtscts` для модемов, использующих сигнализацию `RTS/CTS` для управления потоком. Устройства блокировки применяются для фиксации флагов на портах, чтобы предотвратить изменение определённых параметров пользователями или программами. Дополнительную информацию о настройках терминала, блокировке и инициализации устройств, а также установке параметров терминала можно найти в руководствах man:termios[4], man:uart[4] и man:stty[1] соответственно.
-[source,shell]
-....
-# /sbin/dmesg | grep 'sio'
-....
+[[serial-hw-config]]
+=== Настройка последовательного порта
-====
+По умолчанию FreeBSD поддерживает четыре последовательных порта, обычно известных как [.filename]#COM1#, [.filename]#COM2#, [.filename]#COM3# и [.filename]#COM4#. FreeBSD также поддерживает простые многопортовые последовательные интерфейсные карты, такие как BocaBoard 1008 и 2016, а также более интеллектуальные многопортовые карты, например, производства Digiboard. Однако стандартное ядро ищет только порты [.filename]#COM#.
-Например, в системе с четырьмя последовательными портами, появятся такие специфичные для последовательных портов сообщения:
+Чтобы проверить, распознает ли система последовательные порты, найдите сообщения загрузки системы, начинающиеся с `uart`:
-[source,shell]
+[source, shell]
....
-sio0 at 0x3f8-0x3ff irq 4 on isa
-sio0: type 16550A
-sio1 at 0x2f8-0x2ff irq 3 on isa
-sio1: type 16550A
-sio2 at 0x3e8-0x3ef irq 5 on isa
-sio2: type 16550A
-sio3 at 0x2e8-0x2ef irq 9 on isa
-sio3: type 16550A
+# grep uart /var/run/dmesg.boot
....
-Если ядро не распознает все последовательные порты, вам возможно потребуется настроить ядро FreeBSD, изменив файл [.filename]#/boot/device.hints#. Вы можете также закомментировать или вовсе удалить строки, относящиеся к отсутствующим у вас устройствам.
-
-Обратитесь к странице справочника man:sio[4] за дополнительной информацией о настройке последовательных портов и мультипортовых карт. Будьте осторожны при использовании настроек, которые работали в предыдущих версиях FreeBSD, поскольку флаги устройств и синтаксис изменились в новых версиях.
-
-[NOTE]
-====
-`port IO_COM1` это синоним для `port 0x3f8`, `IO_COM2` для `0x2f8`, `IO_COM3` для `0x3e8`, и `IO_COM4` для `0x2e8`. Это наиболее часто используемые для соответствующих последовательных портов адреса. Наиболее часто используемые прерывания 4, 3, 5, и 9. Имейте ввиду, что обычные последовательные порты _не могут_ совместно использовать прерывания на ISA PC (на мультипортовых картах есть электроника, позволяющая всем чипам 16550A на плате совместно использовать одно или два IRQ).
-====
+Если система не распознает все необходимые последовательные порты, в файл [.filename]#/boot/device.hints# можно добавить дополнительные записи. Этот файл уже содержит записи `hint.uart.0.\*` для [.filename]#COM1# и `hint.uart.1.*` для [.filename]#COM2#. При добавлении записи для порта [.filename]#COM3# используйте `0x3E8`, а для [.filename]#COM4# — `0x2E8`. Обычные адреса IRQ: `5` для [.filename]#COM3# и `9` для [.filename]#COM4#.
-=== Специальные файлы устройств
+Для определения стандартных настроек терминального ввода-вывода, используемых портом, укажите имя его устройства. В этом примере определяются настройки для порта вызова на [.filename]#COM2#:
-К большинству устройств ядра можно получить доступ через "специальные файлы устройств", расположенные в каталоге [.filename]#/dev#. К устройствам [.filename]#sio# можно получить доступ через [.filename]#/dev/ttydN# (устройства входящих вызовов, dial-in) и [.filename]#/dev/cuadN# (устройства исходящих вызовов, call-out). FreeBSD предоставляет также устройства инициализации ([.filename]#/dev/ttydN.init# и [.filename]#/dev/cuadN.init# в случае FreeBSD 6.X, [.filename]#/dev/ttyidN# и [.filename]#/dev/cuaiaN# для FreeBSD 5.X), устройства блокировки ([.filename]#/dev/ttydN.lock# и [.filename]#/dev/cuadN.lock# в случае FreeBSD 6.X, [.filename]#/dev/ttyldN# и [.filename]#/dev/cualaN# для FreeBSD 5.X). Первые используются для инициализации параметров порта при каждом его открытии (таких как `crtscts` для модемов, использующих сигналы `RTS/CTS` для управления потоком). Устройства блокировки используются для установки флага блокировки на порт и предотвращения изменения определенных параметров пользователями или программами; обратитесь к страницам справочника man:termios[4], man:sio[4] и man:stty[1] соответственно за информацией о параметрах терминала, блокировании и инициализации устройств и настройке терминала.
-
-[[serial-hw-config]]
-=== Настройка последовательных портов
-
-Устройство [.filename]#ttydN# (или [.filename]#cuadN#) это обычное устройство, которое потребуется открыть для приложений. Когда процесс открывает устройство применяются настройки ввода/вывода терминала по умолчанию. Вы можете посмотреть эти настройки с помощью команды
-
-[source,shell]
+[source, shell]
....
-# stty -a -f /dev/ttyd1
+# stty -a -f /dev/ttyu1
....
-Если вы измените настройки устройства, они будут действовать до его закрытия. После повторного открытия, оно вернется к настройкам по умолчанию. Для изменения настроек по умолчанию, вы можете открыть и изменить установки "начального состояния" устройства. Например, для включения по умолчанию режима `CLOCAL`, 8-битного соединения и контроля передачи `XON/XOFF` для [.filename]#ttyd5#, выполните:
+Системная инициализация последовательных устройств управляется файлом [.filename]#/etc/rc.d/serial#. Этот файл влияет на настройки по умолчанию для последовательных устройств. Чтобы изменить настройки устройства, используйте команду `stty`. По умолчанию изменённые настройки действуют до закрытия устройства, а при повторном открытии устройства возвращаются значения по умолчанию. Чтобы навсегда изменить настройки по умолчанию, откройте и настройте параметры инициализационного устройства. Например, чтобы включить режим `CLOCAL`, 8-битную передачу данных и управление потоком `XON/XOFF` для устройства [.filename]#ttyu5#, введите:
-[source,shell]
+[source, shell]
....
-# stty -f /dev/ttyd5.init clocal cs8 ixon ixoff
+# stty -f /dev/ttyu5.init clocal cs8 ixon ixoff
....
-Инициализация последовательных устройств контролируется файлом [.filename]#/etc/rc.d/serial#. Этот файл определяет настройки последовательных устройств по умолчанию.
-
-Для предотвращения изменения программами отдельных установок, настройте "состояние блокировки" устройства. Например, для установки значения скорости [.filename]#ttyd5# в 57600 bps, выполните:
+Чтобы предотвратить изменение определённых настроек приложением, внесите изменения в блокирующее устройство. Например, чтобы зафиксировать скорость [.filename]#ttyu5# на уровне 57600 бод, введите:
-[source,shell]
+[source, shell]
....
-# stty -f /dev/ttyd5.lock 57600
+# stty -f /dev/ttyu5.lock 57600
....
-Теперь приложение, открывающее [.filename]#ttyd5# и пытающееся изменить скорость порта, получит скорость 57600 bps.
-
-И конечно, сделайте запись начальных значений и состояния блокировки устройств доступной только учетной записи `root`.
+Теперь любое приложение, открывающее [.filename]#ttyu5# и пытающееся изменить скорость порта, будет ограничено скоростью 57600 бод.
[[term]]
== Терминалы
-Терминалы предоставляют удобный и дешевый способ доступа к системе FreeBSD, когда вы не сидите за консолью компьютера и не подключены к сети. Этот раздел описывает использование терминалов в FreeBSD.
-
-[[term-uses]]
-=== Пользователи и типы терминалов
-
-В первых системах UNIX(R) не было консолей. Вместо этого, пользователи входили и запускали программы через терминалы, которые были подключены к последовательным портам компьютеров. Это очень похоже на использование модема и программного обеспечения терминала для дозвона до удаленной системы и выполнения только-текстовой работы.
-
-Консоли современных PC поддерживают высококачественную графику, но возможность входа по последовательному порту на сегодняшний день все еще доступна почти в каждой UNIX(R) подобной операционной системе; FreeBSD не исключение. Используя терминал, подключенный к неиспользуемому последовательному порту, вы можете войти и запустить текстовую программу, которую обычно запускаете в текстовой консоли или в окне `xterm` системы X Window.
-
-Для корпоративных пользователей, вы можете подсоединить множество терминалов к системе FreeBSD и поставить их на столы пользователей. Для домашнего пользователя, устаревший IBM PC или Macintosh(R) может быть подключен в качестве терминала к более мощному компьютеру под управлением FreeBSD. Вы можете превратить однопользовательский компьютер в мощную многопользовательскую систему.
-
-В FreeBSD три вида терминалов:
+Терминалы обеспечивают удобный и недорогой способ доступа к системе FreeBSD, когда пользователь не находится за консолью компьютера или в подключенной сети. В этом разделе описывается, как использовать терминалы с FreeBSD.
-* <<term-dumb,Простые (dumb) терминалы>>
-* <<term-pcs,"PC, работающие в качестве терминалов">>
-* <<term-x,X терминалы>>
+Оригинальные системы UNIX(R) не имели консолей. Вместо этого пользователи входили в систему и запускали программы через терминалы, подключённые к последовательным портам компьютера.
-В оставшейся части раздела описывается каждый вид.
+Возможность установить сеанс входа через последовательный порт до сих пор присутствует практически во всех UNIX(R)-подобных операционных системах, включая FreeBSD. Подключив терминал к неиспользуемому последовательному порту, пользователь может войти в систему и запускать любые текстовые программы, которые обычно можно запустить на консоли или в окне `xterm`.
-[[term-dumb]]
-==== Простые терминалы
+Многие терминалы могут быть подключены к системе FreeBSD. Старый запасной компьютер можно использовать в качестве терминала, подключенного к более мощному компьютеру с FreeBSD. Это позволяет превратить, казалось бы, однопользовательский компьютер в мощную многопользовательскую систему.
-Простые терминалы это специализированное оборудование, позволяющее соединять компьютеры через последовательные линии. Они называются "простыми", поскольку их вычислительных возможностей хватает только для отображения, отправки и получения текста. Вы не сможете запустить на них никаких программ. Компьютер, к которому подсоединяется терминал, предоставляет все возможности для запуска текстовых редакторов, компиляторов, почтовых программ, игр и так далее.
+FreeBSD поддерживает три типа терминалов:
-Есть сотни видов простых терминалов, изготовленных различными производителями, включая DEC VT-100 и Wyse WY-75. Почти любой терминал может работать с FreeBSD. Некоторые high-end терминалы даже могут отображать графику, но только отдельные программные пакеты могут получить преимущество от этих расширенных возможностей.
-
-Простые терминалы популярны в рабочей среде, где не требуется доступ к графическим приложениям, например тем, которые предоставляет система X Window.
-
-[[term-pcs]]
-==== PC, работающие в качестве терминалов
-
-Если <<term-dumb,простые терминалы>> могут только отображать, отправлять и получать текст, возможностей абсолютно любого персонального компьютера хватит для работы в роли простого терминала. Все, что вам потребуется, это подходящий кабель и какая-нибудь программа _эмулятора терминала_.
-
-Это популярная домашняя конфигурация. Например, когда ваша вторая половина занята работой на системной консоли FreeBSD, вы можете одновременно выполнять только-текстовую работу с менее мощного персонального компьютера, подключенного к системе FreeBSD.
-
-[[term-x]]
-==== X терминалы
+Простые терминалы::
+Простые терминалы — это специализированные аппаратные устройства, подключаемые к компьютерам через последовательные линии. Они называются простыми, потому что обладают лишь достаточной вычислительной мощностью для отображения, отправки и приёма текста. На этих устройствах нельзя запускать программы. Вместо этого простые терминалы подключаются к компьютеру, на котором выполняются необходимые программы.
++
+Существуют сотни видов простых терминалов, выпускаемых разными производителями, и практически любой из них будет работать с FreeBSD. Некоторые продвинутые терминалы даже поддерживают отображение графики, но только определённые программные пакеты могут использовать эти дополнительные возможности.
++
+Простые терминалы популярны в рабочих средах, где сотрудникам не нужен доступ к графическим приложениям.
-X терминалы это наиболее сложный тип существующих терминалов. Вместо подключения к последовательному порту, они обычно подключаются к сети, например Ethernet. Вместо работы только с текстовыми приложениями, они могут отображать любое X приложение.
+Компьютеры, выступающие в качестве терминалов::
+Поскольку простой терминал обладает лишь минимальными возможностями для отображения, отправки и получения текста, в его роли может выступать практически любой компьютер. Всё, что для этого требуется, — это подходящий кабель и _программное обеспечение для эмуляции терминала_, запущенное на компьютере.
++
+Такая конфигурация может быть полезной. Например, если один пользователь занят работой за консолью системы FreeBSD, другой пользователь может одновременно выполнять текстовые задачи на менее мощном персональном компьютере, подключённом как терминал к системе FreeBSD.
++
+В базовой системе FreeBSD есть как минимум две утилиты для работы через последовательное соединение: man:cu[1] и man:tip[1].
++
+Например, чтобы подключиться с клиентской системы под управлением FreeBSD к последовательному соединению другой системы:
++
+[source, shell]
+....
+# cu -l /dev/cuauN
+....
++
+Порты нумеруются начиная с нуля. Это означает, что [.filename]#COM1# соответствует [.filename]#/dev/cuau0#.
++
+Дополнительные программы доступны через Коллекцию портов, например, package:comms/minicom[].
-Мы представляем X терминалы только ради полноты описания. Тем не менее, эта глава _не_ охватывает установку, настройку или использование X терминалов.
+X Терминалы::
+X терминалы представляют собой наиболее продвинутый тип терминалов. Вместо подключения к последовательному порту они обычно работают через сеть, такую как Ethernet. В отличие от ограниченных текстовыми приложениями терминалов, они способны отображать любые приложения Xorg.
++
+Эта глава не охватывает настройку, конфигурацию или использование X терминалов.
[[term-config]]
-=== Настройка
+=== Настройка терминала
-Этот раздел описывает, что нужно сделать для настройки системы FreeBSD и включения входа в систему через терминал. Предполагается, что вы уже подключили терминал и настроили ядро для включения поддержки последовательного порта, к которому он подключен.
+В этом разделе описывается, как настроить систему FreeBSD для включения сеанса входа через последовательный терминал. Предполагается, что система распознает последовательный порт, к которому подключен терминал, и что терминал подключен с помощью правильного кабеля.
-Обратитесь к главе crossref:boot[boot, Процесс загрузки FreeBSD] за информацией о процессе `init`, отвечающем за контроль над всеми процессами и за инициализацию системы во время загрузки. Одна из задач, выполняемых `init` - чтение файла [.filename]#/etc/ttys# и запуск процесса `getty` на доступных терминалах. Процесс `getty` отвечает за чтение имени пользователя и запуск программы `login`.
+В FreeBSD `init` читает файл [.filename]#/etc/ttys# и запускает процесс `getty` на доступных терминалах. Процесс `getty` отвечает за чтение имени пользователя и запуск программы `login`. Порты в системе FreeBSD, которые разрешают вход в систему, перечислены в файле [.filename]#/etc/ttys#. Например, первая виртуальная консоль [.filename]#ttyv0# имеет запись в этом файле, что разрешает вход на консоли. Этот файл также содержит записи для других виртуальных консолей, последовательных портов и псевдо-терминалов. Для физического терминала последовательный порт указывается как запись в [.filename]#/dev# без части `/dev`. Например, [.filename]#/dev/ttyv0# указывается как `ttyv0`.
-Таким образом, для настройки терминалов в системе FreeBSD необходимо выполнить следующие действия под `root`:
+Файл [.filename]#/etc/ttys# по умолчанию настраивает поддержку первых четырёх последовательных портов, от [.filename]#ttyu0# до [.filename]#ttyu3#:
-[.procedure]
-====
-. Добавить строку к [.filename]#/etc/ttys# для файла из каталога [.filename]#/dev#, представляющего последовательный порт, если этой строки еще нет.
-. Настроить запуск команды `/usr/libexec/getty` на этом порту и указать соответствующий тип _getty_ в файле [.filename]#/etc/gettytab#.
-. Указать тип терминала по умолчанию.
-. Переключить порт в состояние "on" ("включен")
-. Указать, должен ли порт быть "secure" ("безопасным")
-. Заставить `init` перечитать файл [.filename]#/etc/ttys#.
-====
-
-Опционально, вы можете настроить свой тип _getty_ для использования на шаге 2, добавив описание в файл [.filename]#/etc/gettytab#. За описанием обратитесь к страницам справочника man:gettytab[5] и man:getty[8].
-
-[[term-etcttys]]
-==== Добавление строки в [.filename]#/etc/ttys#
+[.programlisting]
+....
+ttyu0 "/usr/libexec/getty std.115200" dialup off secure
+ttyu1 "/usr/libexec/getty std.115200" dialup off secure
+ttyu2 "/usr/libexec/getty std.115200" dialup off secure
+ttyu3 "/usr/libexec/getty std.115200" dialup off secure
+....
-В файле [.filename]#/etc/ttys# находится список всех портов системы FreeBSD, на которые возможен вход. Например, там находится первая виртуальная консоль [.filename]#ttyv0#. Вы можете войти на консоль с помощью этой записи. Файл содержит записи и для других виртуальных консолей, последовательных портов, и псевдо-терминалов. Название файла последовательного порта из каталога [.filename]#/dev# приводится без префикса [.filename]#/dev# (например, устройство [.filename]#/dev/ttyv0# будет записано как [.filename]#ttyv0#).
+При подключении терминала к одному из этих портов измените запись по умолчанию, чтобы установить необходимую скорость и тип терминала, включить устройство (`on`) и, если требуется, изменить настройку `secure` для порта. Если терминал подключен к другому порту, добавьте запись для этого порта.
-Установка FreeBSD по умолчанию включает файл [.filename]#/etc/ttys# с поддержкой первых четырех последовательных портов: от [.filename]#ttyd0# до [.filename]#ttyd3#. Если вы подключаете терминал к одному из этих портов, добавлять записи терминалов не потребуется.
+В crossref:serialcomms[ex-etc-ttys,Настройка записей терминалов] настраиваются два терминала в [.filename]#/etc/ttys#. Первая запись настраивает терминал Wyse-50, подключённый к [.filename]#COM2#. Вторая запись настраивает старый компьютер с программным обеспечением терминала Procomm, эмулирующим терминал VT-100. Компьютер подключён к шестому последовательному порту многопортовой последовательной платы.
-[[ex-etc-ttys]]
-.Добавление записей терминалов в [.filename]#/etc/ttys#
[example]
+[[ex-etc-ttys]]
+.Настройка записей терминалов
====
-Предположим, вы хотите подключить два терминала к системе: Wyse-50 и старый 286 IBM PC с эмулятором терминала VT-100. Мы подключаем Wyse к второму последовательному порту и 286 к шестому последовательному порту (порт на мультипортовой карте). Соответствующие строки в [.filename]#/etc/ttys# будут выглядеть так:
[.programlisting]
....
-ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure
-ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
+ttyu1 "/usr/libexec/getty std.38400" wy50 on insecure
+ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
....
-* Первое поле, как правило, указывает имя специального файла терминала, в соответствии с его именем в [.filename]#/dev#.
-* Второе поле - это команда, исполняемая для этого терминала, обычно man:getty[8]. `getty` инициализирует и открывает линию, устанавливает ее скорость, приглашает пользователя к вводу имени пользователя, а затем выполняет программу man:login[1].Программа `getty` принимает один (опциональный) параметр в командной строке, тип _getty_. Тип _getty_ определяет характеристики терминальной линии, такие как значение bps и четность. Программа `getty` считывает эти характеристики из файла [.filename]#/etc/gettytab#.Файл [.filename]#/etc/gettytab# содержит множество записей для терминалов, как для старых так и для новых. Почти во всех случаях запись, начинающаяся с текста `std`, предназначена для работы с аппаратными терминалами. Эти записи игнорируют четность. Запись `std` есть для каждого значения bps от 110 до 115200. Конечно, вы можете добавить собственные записи в этот файл. Страница справочника man:gettytab[5] содержит дополнительную информацию.При установке типа _getty_ в файле [.filename]#/etc/ttys# убедитесь в наличии соответствующей записи терминала.Например, Wyse-50 не использует четность и соединяется на 38400 bps. 286 PC не использует четность и соединяется на 19200 bps.
-* Третье поле определяет тип терминала, обычно подключаемого к этой линии tty. Для портов входящих соединений обычно используется значение `unknown` или `dialup`, поскольку пользователь может подключить практически любой тип терминала или программу. Для аппаратных терминалов тип не меняется, поэтому вы можете поместить в это поле определенный тип терминала из базы данных man:termcap[5].Например, Wyse-50 использует реальный тип терминала, а 286 PC, работающий с Procomm, настроен на эмуляцию VT-100.
-* Четвертое поле определяет должен ли порт быть включен. Размещение здесь `on` укажет процессу `init` запустить программу, указанную во втором поле, `getty`. Если вы поместите `off` в это поле, команда `getty` не будет запущена и вход на этот порт станет невозможен.
-* Последнее поле используется, чтобы указать, является ли порт безопасным. Пометка порта безопасным означает, что вы доверяете ему достаточно для того, чтобы разрешить учетной записи `root` (или любой учетной записи с UID 0) входить с этого порта. Небезопасные порты не разрешат вход `root`. На небезопасном порту пользователи должны войти с через непривилегированную учетную запись, а затем использовать man:su[1] или подобный механизм для получения привилегий суперпользователя.Настоятельно рекомендуется использовать "insecure" даже для терминалов, находящихся за закрытыми дверями. Довольно легко использовать `su` после входа, если вам потребуются привилегии суперпользователя.
-====
+Первое поле указывает имя устройства последовательного терминала.
-[[term-hup]]
-==== Заставьте `init` перечитать [.filename]#/etc/ttys#
+Второе поле указывает `getty` инициализировать и открыть линию, установить скорость линии, запросить имя пользователя и затем выполнить программу `login`. Необязательный _тип getty_ настрайвает характеристики линии терминала, такие как скорость передачи и контроль четности. Доступные типы getty перечислены в [.filename]#/etc/gettytab#. Почти во всех случаях подходят типы getty, начинающиеся с `std`, так как эти записи игнорируют контроль четности. Для каждой скорости передачи от 110 до 115200 существует запись `std`. Дополнительную информацию можно найти в man:gettytab[5]. При настройке типа getty убедитесь, что он соответствует параметрам связи, используемым терминалом. В данном примере Wyse-50 работает без контроля четности и подключается на скорости 38400 бод. Компьютер также работает без контроля четности и подключается на скорости 19200 бод.
-После выполнения необходимых изменений в файле [.filename]#/etc/ttys#, вам потребуется отправить сигнал SIGHUP (hangup) процессу `init`, чтобы заставить его перечитать его файл настройки. Например:
+Третье поле указывает тип терминала. Для коммутируемых портов обычно используется `unknown` или `dialup`, так как пользователи могут подключаться практически с любым типом терминала или программного обеспечения. Поскольку тип терминала не меняется для проводных терминалов, можно указать реальный тип терминала из [.filename]#/etc/termcap#. В данном примере для Wyse-50 используется реальный тип терминала, а для компьютера с Procomm установлена эмуляция VT-100.
-[source,shell]
-....
-# kill -HUP 1
-....
+Четвёртое поле определяет, должен ли порт быть включён. Чтобы разрешить входы через этот порт, в поле должно быть указано значение `on`.
-[NOTE]
-====
-`init` это всегда первый из запущенных в в системе процессов, поэтому его PID всегда 1.
+Последнее поле используется для указания, является ли порт безопасным. Пометка порта как `secure` означает, что он считается достаточно доверенным, чтобы разрешить вход `root` с этого порта. Небезопасные порты не позволяют вход под `root`. На небезопасном порту пользователи должны входить с непривилегированных учетных записей, а затем использовать `su` или аналогичный механизм для получения прав суперпользователя, как описано в crossref:basics[users-superuser,“Учетная запись суперпользователя”]. В целях безопасности рекомендуется изменить этот параметр на `insecure`.
====
-Если все установлено правильно, все кабели на месте и терминалы включены, процесс `getty` должен быть запущен на каждом терминале и вы увидите приглашение ко входу на каждом терминале.
+После внесения изменений в [.filename]#/etc/ttys# отправьте сигнал SIGHUP (завершения работы) процессу `init`, чтобы заставить его перечитать конфигурационный файл:
-[[term-debug]]
-=== Решение проблем с соединением
+[source, shell]
+....
+# kill -HUP 1
+....
-Даже при самом внимательном отношении к деталям, при настройке терминала все же могут возникнуть проблемы. В этом разделе приведен список симптомов и предлагается несколько решений.
+Поскольку `init` всегда является первым процессом, запускаемым в системе, его идентификатор процесса всегда равен `1`.
-==== Не появляется приглашение ко входу
+Если всё настроено правильно, все кабели подключены, и терминалы включены, процесс `getty` должен быть запущен на каждом терминале, и на каждом терминале должна быть доступна приглашение для входа в систему.
-Убедитесь, что терминал подключен и его питание включено. Убедитесь, что эмулятор терминала запущен на соответствующем порту.
+[[term-debug]]
+=== Устранение проблем с подключением
-Убедитесь, что кабель хорошо подключен и к терминалу и к компьютеру с FreeBSD. Убедитесь, что правильно выбран тип кабеля.
+Даже при самом тщательном внимании к деталям что-то может пойти не так при настройке терминала. Вот список распространённых симптомов и некоторые предлагаемые решения.
-Убедитесь, что терминал и FreeBSD имеют одинаковые установки значения bps и четности. Если у вас видео терминал, убедитесь, что контраст и яркость включены. Если это принт-терминал, убедитесь, что бумага и чернила в порядке.
+Если приглашение для входа не появляется, убедитесь, что терминал подключен и включен. Если в качестве терминала используется персональный компьютер, убедитесь, что на нём запущено программное обеспечение эмуляции терминала на правильном последовательном порту.
-Убедитесь, что процесс `getty` запущен и обслуживает терминал. Например, для получения списка запущенных процессов `getty` с помощью `ps`, выполните:
+Убедитесь, что кабель надежно подключен как к терминалу, так и к компьютеру с FreeBSD. Убедитесь, что используется правильный тип кабеля.
-[source,shell]
-....
-# ps -axww|grep getty
-....
+Убедитесь, что терминал и FreeBSD используют одинаковые скорость (bps) и настройки четности. Для видеотерминала убедитесь, что регуляторы контрастности и яркости включены. Если это печатающий терминал, проверьте наличие бумаги и чернил.
-Вы должны увидеть строку для соответствующего терминала. Например, если `getty` запущена на втором последовательном порту `ttyd1` и использует запись `std.38400` из файла [.filename]#/etc/gettytab#, отобразится следующее:
+Используйте `ps`, чтобы убедиться, что процесс `getty` запущен и обслуживает терминал. Например, следующий вывод показывает, что `getty` работает на втором последовательном порту, [.filename]#ttyu1#, и использует запись `std.38400` в файле [.filename]#/etc/gettytab#:
-[source,shell]
+[source, shell]
....
-22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
+# ps -axww|grep ttyu
+22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
....
-Если процесс `getty` не запущен, убедитесь, что вы включили порт в [.filename]#/etc/ttys#. Не забудьте также запустить `kill -HUP 1` после изменения файла [.filename]#ttys#.
-
-Если процесс `getty` запущен, но на терминале по-прежнему не отображается приглашение ко входу, или если приглашение отображается, но войти невозможно, терминал или кабель, возможно, не поддерживают квитирование связи. Попробуйте изменить поле в [.filename]#/etc/ttys# с `std.38400` на `3wire.38400`. Запись `3wire` похожа на `std`, но игнорирует квитирование связи. Вам может потребоваться уменьшить скорость соединения или включить программный контроль передачи при использовании `3wire` для предотвращения переполнений буфера.
+Если процесс `getty` не запущен, убедитесь, что порт включен в файле [.filename]#/etc/ttys#. Не забудьте выполнить `kill -HUP 1` после изменения файла [.filename]#/etc/ttys#.
-==== Вместо приглашения ко входу на экране появляется "мусор"
+Если процесс `getty` работает, но терминал по-прежнему не отображает приглашение для входа, или если он отображает приглашение, но не принимает вводимые данные, возможно, терминал или кабель не поддерживают аппаратное подтверждение связи. Попробуйте изменить запись в [.filename]#/etc/ttys# с `std.38400` на `3wire.38400`, затем выполните `kill -HUP 1` после изменения [.filename]#/etc/ttys#. Запись `3wire` аналогична `std`, но игнорирует аппаратное подтверждение связи. Также может потребоваться уменьшить скорость передачи данных или включить программное управление потоком при использовании `3wire`, чтобы избежать переполнения буфера.
-Убедитесь, что терминал и FreeBSD имеют одинаковые установки значения bps и четности. Проверьте процесс `getty`, чтобы убедиться, что используется подходящий тип _getty_. Если это не так, отредактируйте [.filename]#/etc/ttys# и запустите `kill -HUP 1`.
+Если вместо приглашения к входу в систему появляется мусор, убедитесь, что терминал и FreeBSD используют одинаковые скорость (bps) и настройки четности. Проверьте процессы `getty`, чтобы убедиться, что используется правильный тип _getty_. Если это не так, отредактируйте файл [.filename]#/etc/ttys# и выполните команду `kill -HUP 1`.
-==== Символы появляются дважды, пароль отображается при вводе
-
-Переключите терминал (или программу эмулятора терминала) с "half duplex" или "local echo" на "full duplex".
+Если символы отображаются удвоенными, а пароль виден при вводе, переключите терминал или программу эмуляции терминала из режима «полудуплексный» или «локальный эхо-контроль» в режим «полнодуплексный».
[[dialup]]
== Входящие соединения по модему
-Настройка системы FreeBSD для поддержки входящих соединений очень похожа на подсоединение терминалов за исключением того, что вы работаете с модемами вместо терминалов.
-
-=== Внешние и внутренние модемы
-
-Внешние модемы более удобны для дозвона, поскольку легко могут быть настроены с помощью параметров, сохраняемых в энергонезависимой памяти. На них обычно есть индикаторы, отображающие состояние основных RS-232 сигналов. Мигающие индикаторы впечатляют, но кроме того они также очень полезны для индикации правильной работы модема.
-
-Внутренние модемы обычно не снабжаются энергонезависимой памятью, поэтому их настройка может ограничиваться установкой DIP переключателей. Если на внутреннем модеме есть индикаторы, их обычно сложно увидеть при закрытой крышке корпуса.
-
-==== Модемы и кабели
-
-Если вы используете внешний модем, несомненно потребуется подходящий кабель. Стандартный RS-232C кабель должен подойти, если подключены все обычные сигналы:
-[[serialcomms-signal-names]]
-.Наименования сигналов
-[cols="1,1,1", frame="none", options="header"]
-|===
-<| Сокращение
-<| Наименование
-<| Назначение
-
-|RD
-|Received Data
-|Принимаемые данные
-
-|TD
-|Transmitted Data
-|Передаваемые данные
-
-|DTR
-|Data Terminal Ready
-|Готовность терминала
-
-|DSR
-|Data Set Ready
-|Готовность данных
-
-|DCD
-|Data Carrier Detect
-|Наличие несущей
-
-|SG
-|Signal Ground
-|Сигнальная земля
-
-|RTS
-|Request to Send
-|Запрос на посылку
-
-|CTS
-|Clear to Send
-|Готовность к приему
-|===
-
-FreeBSD требуются сигналы RTS и CTS для контроля передачи на скоростях выше 2400 bps, сигнал CD для определения, был ли ответ на сигнал или произошло отключение линии, и сигнал DTR для сброса модема после завершения сессии. Некоторые кабели не поддерживают все необходимые сигналы, поэтому, если вы столкнулись с проблемами, например, если сессия не завершается после отсоединения линии, причиной возможно являются проблемы с кабелем.
-
-Как и другие UNIX(R) подобные операционные системы, FreeBSD использует аппаратные сигналы для определения того, был ли ответ на звонок или линия была отключена и требуется завершить работу модема и сбросить его в начальное состояние. FreeBSD избегает отправлять команды модему или просматривать отчеты о статусе от модема. Если вы знакомы с настройкой BBS, это может показаться неудобным.
-
-=== Рекомендации по последовательным интерфейсам
-
-FreeBSD поддерживает интерфейсы, основанные на NS8250, NS16450, NS16550, и NS16550A EIA RS-232C (CCITT V.24). Устройства 8250 и 16450 снабжены односимвольным буфером. Устройство 16550 снабжено 16-ти символьным буфером, который повышает производительность системы. (Ошибки в 16550 делают невозможным использование 16-символьного буфера, поэтому используйте 16550A если возможно). Поскольку устройства с односимвольным буфером предъявляют большие требования к операционной системе, чем с 16-ти символьным буфером, предпочтительны устройства на 16550A. Если в системе много активных последовательных портов или нагрузка велика, устройства на 16550A лучше подходят для поддержки соединений с малым количеством ошибок.
-
-=== Краткий обзор
-
-Как и с терминалами, `init` запускает процесс `getty` на каждом настроенном для входящих звонков последовательном порту. Например, если модем подключен к [.filename]#/dev/ttyd0#, команда `ps ax` может вывести следующее:
-
-[source,shell]
-....
-4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
-....
-
-Когда пользователь дозванивается на подключенный модем, модем выдает сигнал CD (Carrier Detect). Ядро определяет, что несущая обнаружена и завершает открытие порта командой `getty`. `getty` отправляет приглашение `login:` на указанной скорости. `getty` ожидает в ответ набор символов, и, как правило, получает неправильный набор (обычно это происходит из-за того, что скорость соединения модема отличается от скорости `getty`). `getty` пробует подобрать скорость линии до тех пор, пока не получит правильный набор символов.
-
-После того, как будет введено имя пользователя, `getty` выполняет [.filename]#/usr/bin/login#, которая завершает вход, запрашивая пароль пользователя и запуская оболочку.
-
-=== Файлы настройки
+Настройка системы FreeBSD для предоставления входящих соединений аналогична настройке терминалов, за исключением того, что вместо терминальных устройств используются модемы. FreeBSD поддерживает как внешние, так и внутренние модемы.
-Есть три файла настройки системы в каталоге [.filename]#/etc#, которые возможно потребуется отредактировать для включения удаленного доступа по модему в FreeBSD. Первый, [.filename]#/etc/gettytab#, содержит информацию по настройке даемона [.filename]#/usr/libexec/getty#. Второй, [.filename]#/etc/ttys#, содержит информацию, указывающую [.filename]#/sbin/init# на каких устройствах [.filename]#tty# должны быть запущены процессы `getty`. Наконец, вы можете поместить команды инициализации портов в скрипт /etc/rc.d/serial.
+Внешние модемы удобнее, так как их часто можно настроить с помощью параметров, хранящихся в энергонезависимой памяти, и они обычно оснащены световыми индикаторами, отображающими состояние важных сигналов RS-232, что позволяет определить, работает ли модем правильно.
-В UNIX(R) есть две школы настройки модемов для входящих соединений. Одна предпочитает настраивать модемы и системы так, что не важно на какой скорости подсоединяется удаленный пользователь. Локальный интерфейс RS-232 компьютер-модем работает на жестко заданной скорости. Преимущество этой настройки в том, что удаленный пользователь всегда сразу видит приглашение ко входу. Обратная сторона в том, что система не знает, какова на самом деле скорость передачи данных, поэтому полноэкранные программы, такие как Emacs, не настраивают свои методы отображения на экране для работы с медленными соединениями.
+Внутренние модемы обычно не имеют энергонезависимой памяти, поэтому их настройка может ограничиваться установкой перемычек. Если у внутреннего модема есть индикаторные лампы, их трудно увидеть, когда корпус системы закрыт.
-Другая школа настраивает интерфейс RS-232 для работы с различной скоростью в зависимости от скорости подсоединения удаленного пользователя. Например, соединение модемов по протоколу V.32bis (14.4 Кбит/с) установит скорость порта RS-232 равной 19.2 Кбит/с, а соединение на скорости 2400 бит/с установит скорость RS-232 равной 2400 бит/с. Поскольку `getty` не понимает сообщений модема о скорости соединения, `getty` выдает приглашение `login:` на установленной по умолчанию скорости и считывает символы, полученные в ответе. Если пользователь видит "мусор" вместо приглашения ко входу, это означает, что нужно нажимать Enter до тех пор, пока не появится приглашение ко входу. Если скорости не совпадают, `getty` получает все, что вводит пользователь, в виде "мусора", пробует переключиться на другую скорость и выдает приглашение `login:` опять. Эта процедура может продолжаться до отвращения, но обычно требуется одно или два нажатия клавиши перед появлением нормально выглядящего приглашения. Очевидно, эта последовательность входа не так хороша, как метод с фиксированной скоростью, но при низкой скорости соединения работать с полноэкранными программами станет проще.
+При использовании внешнего модема необходим соответствующий кабель. Достаточно стандартного последовательного кабеля RS-232C.
-В этом разделе делается попытка дать сбалансированную информацию для настройки, но предпочтение будет отдано установке скорости соединения с модемом в соответствие скорости подключения.
+FreeBSD требует сигналов RTS и CTS для управления потоком данных на скоростях выше 2400 бит/с, сигнала CD для определения ответа на вызов или завершения соединения, а также сигнала DTR для сброса модема после завершения сеанса. Некоторые кабели подключены без всех необходимых сигналов, поэтому, если сеанс входа в систему не завершается при разрыве соединения, проблема может быть в кабеле. Дополнительную информацию об этих сигналах можно найти в разделе crossref:serialcomms[term-cables-null, Последовательные кабели и порты].
-==== [.filename]#/etc/gettytab#
+Как и другие UNIX(R)-подобные операционные системы, FreeBSD использует аппаратные сигналы для определения ответа на вызов или завершения соединения, а также для сброса и разрыва соединения модема после вызова. FreeBSD избегает отправки команд модему или отслеживания его статусных отчетов.
-[.filename]#/etc/gettytab# это файл в стиле man:termcap[5], содержащей информацию по настройке man:getty[8]. Пожалуйста, обратитесь к странице справочника man:gettytab[5] за полной информацией о формате файла и за списком возможностей `getty`.
+FreeBSD поддерживает интерфейсы связи RS-232C (CCITT V.24) на основе NS8250, NS16450, NS16550 и NS16550A. Устройства 8250 и 16450 имеют однобайтовые буферы. Устройство 16550 предоставляет 16-байтовый буфер, что позволяет повысить производительность системы. Ошибки в обычных чипах 16550 не позволяют использовать 16-байтовый буфер, поэтому по возможности следует использовать устройства 16550A. Поскольку устройства с однобайтовым буфером требуют больше работы от операционной системы, чем устройства с 16-байтовым буфером, предпочтительнее использовать последовательные интерфейсные карты на основе 16550A. Если в системе много активных последовательных портов или ожидается высокая нагрузка, карты на основе 16550A обеспечивают более надежную связь с низким уровнем ошибок.
-===== Настройка фиксированной скорости
+Оставшаяся часть этого раздела демонстрирует, как настроить модем для приема входящих соединений, как взаимодействовать с модемом, а также предлагает несколько советов по устранению неполадок.
-Если вы зафиксировали скорость соединения модема на определенной скорости, редактировать файл [.filename]#/etc/gettytab# скорее всего не потребуется.
+[[dialup-ttys]]
+=== Настройка модема
-===== Настройка изменяемой скорости
+Как и в случае с терминалами, `init` запускает процесс `getty` для каждого настроенного последовательного порта, используемого для входящих соединений. Когда пользователь дозванивается по линии модема и модемы соединяются, модем сообщает о сигнале "Carrier Detect". Ядро обнаруживает наличие несущей и указывает `getty` открыть порт и вывести приглашение `login:` с указанной начальной скоростью линии. В типичной конфигурации, если получены некорректные символы (обычно из-за несоответствия скорости соединения модема и настроенной скорости), `getty` пытается изменить скорость линии, пока не получит разборчивые символы. После того как пользователь вводит имя для входа, `getty` запускает `login`, который завершает процесс входа, запрашивая пароль пользователя и затем запуская его оболочку.
-Вам потребуется сделать запись в [.filename]#/etc/gettytab# для предоставления `getty` информации о скоростях, которые предполагается использовать для модема. Если у вас 2400 бит/с модем, возможно, подойдет существующая запись `D2400`.
+Существует два подхода к настройке модемов для коммутируемого доступа. Первый метод заключается в том, чтобы настроить модемы и систему таким образом, что независимо от скорости, с которой удалённый пользователь подключается, скорость интерфейса RS-232 остаётся фиксированной. Преимущество такой настройки в том, что удалённый пользователь всегда сразу видит приглашение системы к вводу логина. Недостаток же состоит в том, что система не знает реальной скорости передачи данных пользователя, поэтому полноэкранные программы, такие как Emacs, не могут адаптировать методы отрисовки экрана для улучшения отклика на медленных соединениях.
-[.programlisting]
-....
-#
-# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
-#
-D2400|d2400|Fast-Dial-2400:\
- :nx=D1200:tc=2400-baud:
-3|D1200|Fast-Dial-1200:\
- :nx=D300:tc=1200-baud:
-5|D300|Fast-Dial-300:\
- :nx=D2400:tc=300-baud:
-....
+Второй способ заключается в настройке интерфейса RS-232 для изменения скорости в зависимости от скорости соединения удаленного пользователя. Поскольку `getty` не понимает отчеты о скорости соединения конкретного модема, он выводит сообщение `login:` на начальной скорости и отслеживает символы, которые приходят в ответ. Если пользователь видит непонятные символы, он должен нажать kbd:[Enter], пока не увидит узнаваемое приглашение. Если скорости передачи данных не совпадают, `getty` воспринимает введенные пользователем символы как непонятные, переключается на следующую скорость и снова выводит приглашение `login:`. Обычно для появления корректного приглашения достаточно нажать одну-две клавиши. Этот процесс входа выглядит не так аккуратно, как метод с фиксированной скоростью, но пользователь с низкоскоростным соединением получит лучшую интерактивную реакцию от полноэкранных программ.
-Если у вас более скоростной модем, вам возможно потребуется добавить запись в [.filename]#/etc/gettytab#; вот запись, которую вы можете использовать для 14.4 Кбит/с модема с максимальной скоростью интерфейса 19.2 Кбит/с:
+При фиксации скорости передачи данных модема на определенном значении изменения в файле [.filename]#/etc/gettytab# обычно не требуются. Однако для конфигурации с согласованием скоростей могут понадобиться дополнительные записи, чтобы определить скорости, используемые для модема. В этом примере настраивается модем 14,4 Кбит/с с максимальной скоростью интерфейса 19,2 Кбит/с при 8-битных соединениях без контроля четности. Здесь `getty` настраивается на начало связи для соединения V.32bis со скоростью 19,2 Кбит/с, затем перебирает скорости 9600 бит/с, 2400 бит/с, 1200 бит/с, 300 бит/с и снова возвращается к 19,2 Кбит/с. Перебор скоростей связи реализуется с помощью возможности `nx=` (следующая таблица). Каждая строка использует запись `tc=` (продолжение таблицы) для наследования остальных параметров для конкретной скорости передачи данных.
[.programlisting]
....
@@ -690,11 +550,7 @@ uq|V19200|High Speed Modem at 19200,8-bit:\
:nx=V9600:tc=std.19200:
....
-Эта настройка включает 8-битные соединения без программного контроля четности.
-
-В примере выше скорость порта будет переключаться в цикле начиная с 19.2 Кбит/с (для соединения по V.32bis), затем 9600 бит/с (для V.32), 2400 бит/с, 1200 бит/с, 300 бит/с, и обратно на 19.2 Кбит/с. Переключение скоростей в цикле реализовано с помощью `nx=` ("next table"). Каждая из линий использует `tc=` ("table continuation") для указания "стандартных" (std) настроек на каждой скорости.
-
-Если у вас 28.8 Кбит/с модем и/или вы хотите получить преимущество от сжатия на скорости 14.4 Кбит/с, потребуются скорости выше, чем 19.2 Кбит/с. Вот пример записи из [.filename]#gettytab# для начала соединения на скорости 57.6 Кбит/с:
+Для модема со скоростью 28,8 Кбит/с или для использования сжатия на модеме 14,4 Кбит/с следует установить более высокую скорость передачи данных, как показано в этом примере:
[.programlisting]
....
@@ -714,263 +570,166 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
:nx=VH9600:tc=std.57600:
....
-Если у вас медленный CPU или сильно загруженная система без последовательных портов на базе 16550A, на скорости 57.6 Кбит/с могут возникнуть ошибки `sio` "silo".
-
-[[dialup-ttys]]
-==== [.filename]#/etc/ttys#
+Для медленного процессора или сильно загруженной системы без последовательных портов на базе 16550A такая конфигурация может вызывать ошибки "silo" в `uart` на скорости 57,6 Кбит/с.
-Настройка файла [.filename]#/etc/ttys# была описана в <<ex-etc-ttys>>. Настройка модемов похожа, но потребуется передавать `getty` различные аргументы и указывать различные типы терминалов. Общий формат для фиксированной и переменной скорости такой:
+Конфигурация [.filename]#/etc/ttys# аналогична crossref:serialcomms[ex-etc-ttys,Конфигурация записей терминалов], но в `getty` передается другой аргумент, а в качестве типа терминала используется `dialup`. Замените _xxx_ на процесс, который `init` будет запускать на устройстве:
[.programlisting]
....
-ttyd0 "/usr/libexec/getty xxx" dialup on
+ttyu0 "/usr/libexec/getty xxx" dialup on
....
-Первый пункт в строке выше это специальный файл устройства для этой записи - `ttyd0` означает, что `getty` будет запущена на [.filename]#/dev/ttyd0#. Второй пункт, `"/usr/libexec/getty _xxx_"` (_xxx_ будет замещено на запись из [.filename]#gettytab# для начальной скорости), это процесс, который будет запущен на данном устройстве. Третий пункт, `dialup`, это тип терминала по умолчанию. Четвертый параметр, `on`, указывает `init`, что линия включена. Может быть пятый параметр, `secure`, но он должен использоваться только для терминалов, которые физически безопасны (таких как системная консоль).
+Тип терминала `dialup` можно изменить. Например, установка `vt102` в качестве типа терминала по умолчанию позволяет пользователям использовать эмуляцию VT102 на их удалённых системах.
-Тип терминала по умолчанию (`dialup` в примере выше) может зависеть от личных предпочтений. `dialup` это традиционный тип терминала по умолчанию на линиях для дозвона, который позволяет пользователям, зная что тип терминала `dialup`, автоматически настраивать свой тип терминала. Однако, автор находит более легким указание `vt102` в качестве типа терминала по умолчанию, поскольку пользователи работают на своих удаленных системах с эмулятором терминала VT102.
-
-После внесения изменений в [.filename]#/etc/ttys#, вы можете отправить процессу `init` сигнал HUP перечитать файл. Используйте команду
-
-[source,shell]
-....
-# kill -HUP 1
-....
-
-для отправки сигнала. Если вы настраиваете систему в первый раз, то возможно захотите подождать, пока модем(ы) правильно настроятся и соединятся перед отправкой сигнала `init`.
-
-===== Настройка фиксированной скорости
-
-Для настройки соединения с фиксированной скоростью, в файле [.filename]#ttys# должна быть запись с фиксированной скоростью для `getty`. Для модема, скорость порта которого фиксирована на значении 19.2 Кбит/с, строка в [.filename]#ttys# может выглядеть так:
+Для конфигурации с фиксированной скоростью укажите скорость с допустимым типом, перечисленным в [.filename]#/etc/gettytab#. В этом примере показана настройка для модема, скорость порта которого зафиксирована на 19,2 Кбит/с:
[.programlisting]
....
-ttyd0 "/usr/libexec/getty std.19200" dialup on
+ttyu0 "/usr/libexec/getty std.19200" dialup on
....
-Если скорость модема фиксирована на другом значении, подставьте соответствующее значение в `std._speed_` вместо `std.19200`. Убедитесь, что вы используете тип, описанный в [.filename]#/etc/gettytab#.
-
-===== Настройка переменной скорости
-
-В настройке с переменной скоростью, запись в [.filename]#ttys# должна обращаться к соответствующей "auto-baud" (sic) записи в [.filename]#/etc/gettytab#. Например, если вы добавите предложенную выше запись для подключения модема с переменной скоростью, которая начинается с 19.2 Кбит/с (запись в [.filename]#gettytab# начинается с `V19200`), запись в [.filename]#ttys# может выглядеть так:
+В конфигурации с согласованной скоростью запись должна ссылаться на соответствующую начальную запись "автонастройки скорости" в [.filename]#/etc/gettytab#. Чтобы продолжить пример для модема с согласованной скоростью, начинающего работу с 19,2 Кбит/с, используйте следующую запись:
[.programlisting]
....
-ttyd0 "/usr/libexec/getty V19200" dialup on
+ttyu0 "/usr/libexec/getty V19200" dialup on
....
-==== [.filename]#/etc/rc.d/serial#
-
-Для высокоскоростных модемов, таких как V.32, V.32bis и V.34, требуется использование аппаратного контроля передачи (`RTS/CTS`). Вы можете добавить команды `stty` к файлу [.filename]#/etc/rc.d/serial# для установки флага аппаратного контроля передачи в ядре FreeBSD для модемных портов.
+После редактирования [.filename]#/etc/ttys# дождитесь, пока модем будет правильно настроен и подключен, прежде чем подавать сигнал `init`:
-Например, для установки флага `termios crtscts` на последовательном порту номер 1 ([.filename]#COM2#) при инициализации устройств для входящей и исходящей связи, в [.filename]##/etc/rc.d/serial##должны быть добавлены следующие строки:
-
-[.programlisting]
-....
-# Serial port initial configuration
-stty -f /dev/ttyd1.init crtscts
-stty -f /dev/cuad1.init crtscts
+[source, shell]
....
-
-=== Настройка модема
-
-Если параметры вашего модема могут быть сохранены в энергонезависимой памяти, потребуется использовать терминальную программу (например, Telix под MS-DOS(R) или `tip` под FreeBSD) для установки параметров. Подсоединитесь к модему, используя ту же скорость соединения, которую использует `getty` в качестве начальной скорости, и настройте модем для соответствия следующим требованиям:
-
-* CD включен после соединения
-* DTR включен во время работы; сброс DTR отключает линию и переводит модем в начальное состояние
-* CTS контроль переданных данных
-* Контроль потока XON/XOFF отключен
-* RTS контроль принятых данных
-* "Тихий" режим (без кодов возврата)
-* Эхо команд отключено
-
-Прочтите документацию на модем для определения какие команды и/или DIP переключатели требуются чтобы установить эти настройки.
-
-Например, для установки вышеуказанных параметров на внешнем 14,400 модеме U.S. Robotics(R) Sportster(R), требуется отправить модему следующие команды:
-
-[.programlisting]
-....
-ATZ
-AT&C1&D2&H1&I0&R2&W
+# kill -HUP 1
....
-Вы, возможно, захотите настроить и другие параметры модема, такие как использование сжатия V.42bis и/или MNP5.
-
-Внешний U.S. Robotics(R) Sportster(R) 14,400 модем также снабжен некоторыми DIP переключателями, которые требуется установить; для других модемов эти настройки могут быть использованы в качестве примера:
-
-* Переключатель 1: вверх - нормальный DTR
-* Переключатель 2: N/A (визуальные коды возврата/числовые коды возврата)
-* Переключатель 3: вверх - подавление кодов возврата
-* Переключатель 4: вниз - без эхо, offline команды
-* Переключатель 5: вверх - авто ответ
-* Переключатель 6: вверх - нормальный контроль несущей
-* Переключатель 7: вверх - загрузить установки по умолчанию из NVRAM
-* Переключатель 8: N/A (Smart/Dumb режимы)
-
-Коды возврата должны быть отключены/подавлены для устранения проблем, которые могут возникнуть, если `getty` ошибочно выдаст приглашение `login:` модему в командном режиме и модем вернет (echo) эту команду или код возврата. Эта последовательность может привести к дополнительному и бессмысленному обмену командами между `getty` и модемом.
-
-==== Настройка фиксированной скорости
+Высокоскоростные модемы, такие как V.32, V.32bis и V.34, используют аппаратное управление потоком (`RTS/CTS`). Используйте `stty` для установки флага аппаратного управления потоком для порта модема. В этом примере устанавливается флаг `crtscts` для устройств инициализации входящих и исходящих соединений на [.filename]#COM2#:
-Для настройки фиксированной скорости вам потребуется настроить модем с поддержкой постоянной скорости обмена данными модем-компьютер независимо от скорости соединения. На внешнем модеме U.S. Robotics(R) Sportster(R) 14,400 эти команды зафиксируют скорость передачи модем-компьютер на скорости, которая установлена при выполнении команды:
-
-[.programlisting]
+[source, shell]
....
-ATZ
-AT&B1&W
+# stty -f /dev/ttyu1.init crtscts
+# stty -f /dev/cuau1.init crtscts
....
-==== Настройка переменной скорости
-
-Для настройки переменной скорости вам потребуется настроить модем с поддержкой изменения скорости передачи данных через последовательный порт в соответствии через скоростью соединения. Следующие команды зафиксируют скорость передачи данных с коррекцией ошибок внешнего модема U.S. Robotics(R) Sportster(R) 14,400 на значении, которое установлено при выполнении команды, но сделают возможным изменение скорости последовательного порта для соединений без коррекции ошибок:
+=== Устранение неполадок
-[.programlisting]
-....
-ATZ
-AT&B2&W
-....
+В этом разделе приведены несколько советов по устранению неполадок с модемом для коммутируемого доступа, который не подключается к системе FreeBSD.
-==== Проверка настроек модема
+Подключите модем к системе FreeBSD и загрузите систему. Если на модеме есть индикаторы состояния, следите за тем, загорается ли индикатор DTR модема при появлении приглашения `login:` на консоли системы. Если он загорается, это должно означать, что FreeBSD запустила процесс `getty` на соответствующем коммуникационном порту и ожидает принятия вызова модемом.
-Большинство высокоскоростных модемов предоставляют команды для просмотра текущих параметров модема в виде, отчасти приспособленном для чтения. Для внешних модемов U.S. Robotics(R) Sportster(R) 14,400 команда `ATI5` отображает установки, сохраненные в энергонезависимой памяти. Для просмотра действующих параметров модема (с учетом положения DIP переключателей), используйте команду `ATZ`, а затем `ATI4`.
+Если индикатор DTR не горит, войдите в систему FreeBSD через консоль и введите `ps ax`, чтобы проверить, запущен ли процесс `getty` на правильном порту в FreeBSD:
-Если ваш модем другого производителя, проверьте руководство к модему для аккуратной проверки параметров настройки модема.
-
-=== Решение проблем
-
-Вот несколько шагов, которые нужно выполнить для проверки настроек.
-
-==== Проверьте систему FreeBSD
-
-Подсоедините модем к системе FreeBSD, загрузите систему, и, если на модеме есть индикаторы, посмотрите, загорелся ли индикатор DTR при появлении приглашения `login:` на системной консоли - если он загорелся, это означает, что FreeBSD запустила процесс `getty` на соответствующем коммуникационном порту и модем ожидает входящего звонка.
-
-Если индикатор DTR не загорелся, войдите на консоль системы FreeBSD и выполните команду `ps ax`, чтобы увидеть, пытается ли FreeBSD запустить процесс `getty` на соответствующем порту. Вы должны увидеть строки вроде этих среди показанных процессов:
-
-[source,shell]
+[source, shell]
....
- 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
- 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
+ 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0
....
-Если вы видите что-то другое, вроде этого:
-
-[source,shell]
-....
- 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
-....
-
-и модем все еще не принимает звонок, это означает, что `getty` завершила открытие коммуникационного порта. Это может означать проблему с кабелем или неправильную настройку модема, поскольку `getty` не должна открывать коммуникационный порт, пока модем не установит CD (обнаружение несущей).
-
-Если вы не видите процессов `getty`, ожидающих открытия соответствующего порта [.filename]#ttydN#, внимательно проверьте записи в [.filename]#/etc/ttys# и попробуйте найти ошибки, если они есть. Проверьте также лог файл [.filename]#/var/log/messages#, нет ли там сообщений от `init` или `getty`, имеющих отношение к проблеме. Если сообщения есть, проверьте еще раз файлы настройки [.filename]#/etc/ttys# и [.filename]#/etc/gettytab#, как и соответствующие специальные файлы устройств [.filename]#/dev/ttydN#, чтобы обнаружить ошибки, отсутствующие записи или отсутствующие специальные файлы устройств.
+Если во втором столбце указано `d0` вместо `??` и модем ещё не принял звонок, это означает, что `getty` завершил открытие коммуникационного порта. Это может указывать на проблему с кабелем или неправильную настройку модема, так как `getty` не должен иметь возможности открыть коммуникационный порт до тех пор, пока модем не подал сигнал обнаружения несущей.
-==== Попробуйте позвонить на модем
+Если нет процессов `getty`, ожидающих открытия порта, дважды проверьте, что запись для порта корректна в [.filename]#/etc/ttys#. Также проверьте [.filename]#/var/log/messages#, чтобы увидеть, есть ли какие-либо сообщения в логе от `init` или `getty`.
-Попробуйте дозвониться до системы; убедитесь, что используете 8 бит без четности и 1 стоп бит на удаленной системе. Если вы не получите приглашение сразу, или получите случайные данные, попробуйте нажимать Enter примерно раз в секунду. Если вы все еще не видите приглашения `login:` после нескольких попыток, попробуйте отправить команду `BREAK`. Если вы используете для дозвона высокоскоростной модем, попробуйте позвонить еще раз после фиксирования скорости интерфейса дозванивающегося модема (например, с помощью команды `AT&B1` для модема U.S. Robotics(R) Sportster(R)).
+Далее попробуйте подключиться к системе. Убедитесь, что на удалённой системе установлены 8 бит, отсутствие контроля чётности и 1 стоповый бит. Если приглашение не появляется сразу или отображается как бессмыслица, попробуйте нажимать kbd:[Enter] примерно раз в секунду. Если приглашение `login:` так и не появилось, попробуйте отправить `BREAK`. При использовании высокоскоростного модема попробуйте набрать номер ещё раз после фиксации скорости интерфейса набирающего модема.
-Если вы все еще не можете получить приглашение `login:`, проверьте [.filename]#/etc/gettytab# еще раз и убедитесь, что
+Если приглашение `login:` по-прежнему не появляется, проверьте [.filename]#/etc/gettytab# ещё раз и убедитесь, что:
-* Имя параметра `getty`, указанного в [.filename]#/etc/ttys#, совпадает с именем параметра в [.filename]#/etc/gettytab#
-* Каждая запись `nx=` соответствует имени другой записи в [.filename]#gettytab#
-* Каждая запись `tc=` соответствует имени другой записи в [.filename]#gettytab#
+* Изначальное название возможности, указанное в записи файла [.filename]#/etc/ttys#, соответствует названию возможности в файле [.filename]#/etc/gettytab#.
+* Каждая запись `nx=` соответствует другому имени возможности в [.filename]#gettytab#.
+* Каждая запись `tc=` соответствует другому имени возможности в [.filename]#gettytab#.
-Если система FreeBSD не отвечает на звонок, убедитесь, что модем настроен для ответа на звонок при включении DTR. Если модем настроен правильно, проверьте, что DTR включается, взглянув на индикаторы модема (если они есть).
+Если модем в системе FreeBSD не отвечает, убедитесь, что он настроен на ответ на звонок при активном сигнале DTR. Если модем, кажется, настроен правильно, проверьте, что линия DTR активна, по индикаторам модема.
-Если вы проверили все несколько раз и все еще не добились результата, сделайте перерыв и вернитесь к настройкам позже. Если опять ничего не получилось, возможно вам потребуется отправить письмо в {freebsd-questions}, описав модем и возникшую проблему, участники рассылки попробуют помочь вам.
+Если это по-прежнему не работает, попробуйте отправить письмо в {freebsd-questions} с описанием модема и возникшей проблемы.
[[dialout]]
== Исходящие соединения по модему
-Текст, приведенный ниже, это советы, позволяющие настроить ваш хост для доступа к другому компьютеру через модем. Они подходят для установления терминальной сессии с удаленным хостом.
+Вот несколько советов по подключению хоста через модем к другому компьютеру. Это подходит для установки терминального сеанса с удалённым хостом.
-Это подходит для входа на BBS.
+Такой тип соединения может быть полезен для получения файла из Интернета, если возникли проблемы с использованием PPP. Если PPP не работает, используйте терминальную сессию для FTP-загрузки нужного файла. Затем воспользуйтесь zmodem для его передачи на машину.
-Этот вид соединения может очень выручить, если требуется получить файл из интернет и есть проблемы с PPP. Если вам требуется зайти куда-то по FTP, а PPP не работает, используйте терминальную сессию для получения файла по FTP. Затем используйте zmodem для сброса его на свой компьютер.
+[[hayes-unsupported]]
+=== Использование стандартного модема Hayes
-=== Мой модем Stock Hayes не поддерживается, что я могу сделать?
+В `tip` встроен стандартный Hayes-совместимый наборщик номера. Используйте `at=hayes` в [.filename]#/etc/remote#.
-На самом деле, страница руководства для `tip` устарела. Встроенная поддержка generic Hayes уже есть. Используйте `at=hayes` в файле [.filename]#/etc/remote#.
+Драйвер Hayes недостаточно интеллектуален, чтобы распознать некоторые расширенные функции современных модемов, такие как сообщения `BUSY`, `NO DIALTONE` или `CONNECT 115200`. Отключите эти сообщения при использовании `tip` с помощью команды `ATX0&W`.
-Драйвер Hayes не умеет работать с некоторыми расширенными возможностями более новых модемов - сообщения вроде `BUSY`, `NO DIALTONE`, или `CONNECT 115200`. Вы должны отключить эти сообщения при использовании `tip` (с помощью `ATX0&W`).
-
-Таймаут дозвона для `tip` составляет 60 секунд. Ваш модем должен использовать меньшее значение, или `tip` решит, что возникли проблемы со связью. Попробуйте `ATS7=45&W`.
-
-[NOTE]
-====
-Оригинальная `tip` не полностью поддерживает модемы Hayes. Решить это проблему можно отредактировав файл [.filename]#tipconf.h# в каталоге [.filename]#/usr/src/usr.bin/tip/tip#. Конечно, для этого вам потребуются исходные тексты.
-
-Замените строку `#define HAYES 0` на `#define HAYES 1`. Затем выполните `make` и `make install`. После этого все должно работать отлично.
-====
+Таймаут набора номера для `tip` составляет 60 секунд. Модем должен использовать значение меньше, иначе `tip` решит, что возникли проблемы со связью. Попробуйте `ATS7=45&W`.
[[direct-at]]
-=== Как нужно выполнять команды AT?
+=== Использование команд `AT`
-Сделайте то, что называется "прямой" записью в файле [.filename]#/etc/remote#. Например, если модем подключен к первому последовательному порту, [.filename]#/dev/cuad0#, добавьте следующую строку:
+Создайте запись "direct" в файле [.filename]#/etc/remote#. Например, если модем подключён к первому последовательному порту, [.filename]#/dev/cuau0#, используйте следующую строку:
[.programlisting]
....
-cuad0:dv=/dev/cuad0:br#19200:pa=none
+cuau0:dv=/dev/cuau0:br#19200:pa=none
....
-Используйте для br наибольшее значение bps, поддерживаемое модемом. Для подключения к модему выполните `tip cuad0`.
+Используйте наибольшую скорость передачи данных, которую поддерживает модем, в параметре `br`. Затем введите `tip cuau0` для подключения к модему.
-Или используйте `cu` под `root` так:
+Или используйте `cu` от имени `root` с следующей командой:
-[source,shell]
+[source, shell]
....
# cu -lline -sspeed
....
-_line_ это последовательный порт (например [.filename]#/dev/cuad0#), а _speed_ это скорость (например `57600`). После ввода команд AT наберите kbd:[~.] для выхода.
+Строка _line_ указывает на последовательный порт, например, [.filename]#/dev/cuau0#, а _speed_ — это скорость, например, `57600`. После завершения ввода AT-команд введите `~.` для выхода.
-=== Знак `@` не работает для pn!
+[[gt-failure]]
+=== Знак `@` не работает
-Знак `@` в телефонном номере указывает `tip` взять телефонный номер из [.filename]#/etc/phones#. Но знак `@` это также специальный символ в таких файлах как [.filename]#/etc/remote#. Экранируйте его с помощью обратной косой черты:
+Знак `@` в параметре номера телефона указывает `tip` искать номер в файле [.filename]#/etc/phones#. Однако, знак `@` также является специальным символом в файлах параметров, таких как [.filename]#/etc/remote#, поэтому его необходимо экранировать обратной косой чертой:
[.programlisting]
....
pn=\@
....
-=== Как я могу позвонить по телефонному номеру из командной строки?
+[[dial-command-line]]
+=== Набор номера из командной строки
-Поместите так называемую "generic" запись в файл [.filename]#/etc/remote#. Например:
+Поместите запись "generic" в [.filename]#/etc/remote#. Например:
[.programlisting]
....
tip115200|Dial any phone number at 115200 bps:\
- :dv=/dev/cuad0:br#115200:at=hayes:pa=none:du:
+ :dv=/dev/cuau0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
- :dv=/dev/cuad0:br#57600:at=hayes:pa=none:du:
+ :dv=/dev/cuau0:br#57600:at=hayes:pa=none:du:
....
-Затем вы можете сделать следующее:
+Это должно теперь работать:
-[source,shell]
+[source, shell]
....
# tip -115200 5551234
....
-Если вы предпочитаете `cu` команде `tip`, используйте generic запись для `cu`:
+Пользователи, предпочитающие `cu` вместо `tip`, могут использовать общую запись `cu`:
[.programlisting]
....
cu115200|Use cu to dial any number at 115200bps:\
- :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:
+ :dv=/dev/cuau1:br#57600:at=hayes:pa=none:du:
....
-и выполните:
+и введите:
-[source,shell]
+[source, shell]
....
# cu 5551234 -s 115200
....
-=== Должен ли я вводить значение bps каждый раз?
+[[set-bps]]
+=== Установка скорости в бодах
-Создайте запись `tip1200` или `cu1200`, но используйте то значение bps, которое записано в поле br. `tip` считает, что хорошее значение по умолчанию это 1200 bps, поэтому обращается к записи `tip1200`. Тем не менее, значение bps будет другим.
+Добавьте запись для `tip1200` или `cu1200`, но используйте подходящую скорость передачи (bps) с помощью возможности `br`. `tip` считает хорошим значением по умолчанию 1200 bps, поэтому ищет запись `tip1200`. Однако, не обязательно использовать именно 1200 bps.
-=== Я получаю доступ ко множеству хостов через терминальный сервер
+[[terminal-server]]
+=== Доступ к нескольким хостам через терминальный сервер
-Вместо ожидания соединения и ввода каждый раз `CONNECT <host>`, используйте возможность `tip cm`. Вот пример записи в [.filename]#/etc/remote#:
+Вместо того чтобы каждый раз ждать подключения и вводить `CONNECT _хост_`, используйте возможность `cm` в ``tip``. Например, следующие записи в [.filename]#/etc/remote# позволят вам набрать `tip pain` или `tip muffin` для подключения к хостам `pain` или `muffin`, а `tip deep13` — для подключения к терминальному серверу.
[.programlisting]
....
@@ -979,26 +738,25 @@ pain|pain.deep13.com|Forrester's machine:\
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
- :dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:
+ :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:
....
-Она позволит вам вводить `tip pain` или `tip muffin` для соединения с хостами pain или muffin, и `tip deep13` для доступа к терминальному серверу.
+[[tip-multiline]]
+=== Использование более одного телефонного номера с `tip`
-=== Может ли tip соединяться более через одну линию для каждого сайта?
+Это часто оказывается проблемой, когда в университете есть несколько модемных линий и несколько тысяч студентов, пытающихся до них дозвониться.
-Эта проблема часто возникает в университете, где несколько модемных линий и несколько тысяч студентов, пытающихся их использовать.
-
-Создайте запись для университета в [.filename]#/etc/remote# и используйте `@` для `pn`:
+Сделайте запись в [.filename]#/etc/remote# и используйте `@` для возможности `pn`:
[.programlisting]
....
big-university:\
:pn=\@:tc=dialout
dialout:\
- :dv=/dev/cuad3:br#9600:at=courier:du:pa=none:
+ :dv=/dev/cuau3:br#9600:at=courier:du:pa=none:
....
-Затем, создайте список телефонов для университета в [.filename]#/etc/phones#:
+Затем перечислите номера телефонов в [.filename]#/etc/phones#:
[.programlisting]
....
@@ -1008,26 +766,28 @@ big-university 5551113
big-university 5551114
....
-`tip` попробует связаться с каждым в указанном порядке, затем прекратит попытки. Если вы хотите продолжать соединяться, запустите `tip` в цикле.
+`tip` будет пробовать каждый номер в указанном порядке, затем завершит работу. Для повторных попыток запустите `tip` в цикле `while`.
-=== Почему я должен дважды нажать kbd:[Ctrl+P] для отправки kbd:[Ctrl+P] один раз?
+[[multi-controlp]]
+=== Использование управляющего символа
-kbd:[Ctrl+P] это "управляющий" символ по умолчанию, используемый для указания `tip` того, что далее идут символьные данные. Вы можете сделать любой другой символ управляющим с помощью экранирования `~s`, которое означает "установить переменную".
+По умолчанию `kbd:[Ctrl+P]` — это символ "принуждения", используемый для указания `tip`, что следующий символ является буквальными данными. Символ принуждения можно изменить на любой другой с помощью экранирования `~s`, что означает "установить переменную".
-Введите `~sforce=_single-char_`, завершив ввод новой строкой. _single-char_ это любой одиночный символ. Если вы не введете _single-char_, управляющим символом станет nul, который можно получить, введя kbd:[Ctrl+2] или kbd:[Ctrl+Space]. Хорошее значение для _single-char_ это kbd:[Shift+Ctrl+6], которое используется только на некоторых терминальных серверах.
+Введите `~sforce=_одиночный-символ_`, затем нажмите Enter. _одиночный-символ_ — это любой одиночный символ. Если _одиночный-символ_ не указан, то управляющий символ будет нулевым символом, который вводится с помощью kbd:[Ctrl+2] или kbd:[Ctrl+Пробел]. Хорошим значением для _одиночный-символ_ может быть kbd:[Shift+Ctrl+6], который используется только на некоторых терминальных серверах.
-Вы можете использовать в качестве управляющего символа все, что захотите, поместив его в файл [.filename]#$HOME/.tiprc#:
+Чтобы изменить управляющий символ, укажите следующее в [.filename]#~/.tiprc#:
[.programlisting]
....
-force=<single-char>
+force=single-char
....
-=== Почему все, что я ввожу, вдруг стало отображаться в верхнем регистре??
+[[uppercase]]
+=== Верхний регистр символов
-Вы нажали kbd:[Ctrl+A], "повышающий символ" `tip`, который был специально введен для тех, у кого не работает клавиша caps-lock. Используйте `~s` как в примере выше для установки переменной `raisechar` в подходящее значение. Фактически, вы можете установить ее в то же значение, что и управляющий символ, если не собираетесь использовать ни один из них.
+Это происходит при нажатии kbd:[Ctrl+A], что является «raise character» в ``tip``, специально предназначенным для людей с неработающими клавишами caps-lock. Используйте `~s`, чтобы установить `raisechar` в разумное значение. Его можно установить таким же, как и «force character», если ни одна из функций не используется.
-Вот пример .tiprc, отлично подходящий для пользователей Emacs, которым часто требуется вводить kbd:[Ctrl+2] и kbd:[Ctrl+A]:
+Вот пример файла [.filename]#~/.tiprc# для пользователей Emacs, которым нужно вводить kbd:[Ctrl+2] и kbd:[Ctrl+A]:
[.programlisting]
....
@@ -1035,335 +795,186 @@ force=^^
raisechar=^^
....
-Символ ^^ это kbd:[Shift+Ctrl+6].
-
-=== Могу ли я передавать файлы с помощью `tip`?
-
-Если вы соединяетесь с другой системой UNIX(R), возможны передача и прием файлов с помощью команды `~p` (put) и `~t` (take). Эти команды запускают `cat` и `echo` в удаленной системе для приема и передачи файлов. Синтаксис следующий:
+`^^` — это kbd:[Shift+Ctrl+6].
-`~p` local-file [ remote-file ]
+[[tip-filetransfer]]
+=== Копирование файлов с помощью `tip`
-`~t` remote-file [ local-file ]
+При обмене данными с другой UNIX(R)-подобной операционной системой файлы можно отправлять и получать с помощью команд `~p` (put) и `~t` (take). Эти команды выполняют `cat` и `echo` на удалённой системе для приёма и отправки файлов. Синтаксис следующий: `~p` локальный-файл [ удалённый-файл ] `~t` удалённый-файл [ локальный-файл ]
-Коррекции ошибок нет, поэтому возможно лучше использовать другой протокол, например zmodem.
+Проверка ошибок отсутствует, поэтому следует использовать другой протокол, например, zmodem.
-=== Как мне запустить zmodem с `tip`?
+[[zmodem-tip]]
+=== Как использовать zmodem с `tip`?
-Для получения файла запустите отправляющую программу на удаленной стороне. Затем, наберите `~C rz` для начала локального приема файла.
+Для получения файлов запустите программу отправки на удаленной стороне. Затем введите `~C rz`, чтобы начать их получение локально.
-Для отправки файлов запустите принимающую программу на удаленной стороне. Затем, наберите `~C sz _файлы_` для отправки их на удаленную систему.
+Для отправки файлов запустите программу приема на удаленной стороне. Затем введите `~C sz _файлы_`, чтобы отправить их на удаленную систему.
[[serialconsole-setup]]
== Настройка последовательной консоли
-[[serialconsole-intro]]
-=== Введение
+FreeBSD поддерживает возможность загрузки системы с использованием простого терминала на последовательном порту в качестве консоли. Такая конфигурация полезна для системных администраторов, которые хотят установить FreeBSD на машины без подключённых клавиатуры или монитора, а также для разработчиков, отлаживающих ядро или драйверы устройств.
-FreeBSD может загружаться при использовании в качестве консоли текстового терминала на последовательном порту. Такая конфигурация может быть полезна в двух случаях: для системных администраторов, устанавливающих FreeBSD на компьютеры без подключенных клавиатуры или монитора, и для разработчиков, производящих отладку ядра или драйверов устройств.
+Как описано в crossref:boot[boot,Процесс загрузки FreeBSD], FreeBSD использует трехэтапную загрузку. Первые два этапа находятся в коде загрузочного блока, который хранится в начале раздела FreeBSD на загрузочном диске. Затем загрузочный блок загружает и запускает загрузчик в качестве кода третьего этапа.
-Как описано в crossref:boot[boot, Процесс загрузки FreeBSD], процесс загрузки FreeBSD состоит из трех стадий. Первые две стадии реализованы в блоке загрузки, находящемся в начале слайса FreeBSD на загрузочном диске. На третей стадии загрузочный блок запускает загрузчик ([.filename]#/boot/loader#).
-
-Для настройки последовательной консоли вам потребуется настроить блок загрузки, загрузчик и ядро.
+Для настройки загрузки с последовательной консоли необходимо настроить код загрузочного блока, код загрузчика и ядро.
[[serialconsole-howto-fast]]
-=== Настройка последовательной консоли, краткая версия
+=== Быстрая настройка последовательной консоли
-В этом разделе предполагается, что вы используете настройки по умолчанию и просто хотите увидеть краткий обзор настройки последовательной консоли.
+В этом разделе представлено краткое описание настройки последовательной консоли. Данная процедура может быть использована, когда к [.filename]#COM1# подключён алфавитно-цифровой терминал.
[.procedure]
-====
-. Соедините кабелем последовательный порт COM1 и управляющий терминал.
-. Для того, чтобы сообщения в процессе загрузки выводились в последовательную консоль, выполните от имени суперпользователя команду
+.Процедура: Настройка последовательной консоли на [.filename]#COM1#
+. Подключите последовательный кабель к [.filename]#COM1# и управляющему терминалу.
+. Для настройки вывода загрузочных сообщений на последовательный консоль выполните следующую команду от имени суперпользователя:
+
-[source,shell]
+[source, shell]
....
# echo 'console="comconsole"' >> /boot/loader.conf
....
-+
-. Отредактируйте [.filename]#/etc/ttys# и измените `off` на `on` и `dialup` на `vt100` для записи `ttyd0`. В противном случае для входа с последовательной консоли не будет требоваться пароль, что может являться проблемой с точки зрения безопасности.
-. Перезагрузите систему и убедитесь, что последовательная консоль активировалась.
-====
-Если вам требуется иная конфигурация, обратитесь к более подробному описанию в разделе <<serialconsole-howto>>.
+. Отредактируйте файл [.filename]#/etc/ttys# и измените `off` на `on`, а `dialup` на `vt100` для записи [.filename]#ttyu0#. В противном случае, для подключения через последовательную консоль не потребуется пароль, что создаст потенциальную уязвимость безопасности.
+. Перезагрузите систему, чтобы проверить, вступили ли изменения в силу.
+
+Если требуется другая конфигурация, обратитесь к следующему разделу для более подробного объяснения настройки.
[[serialconsole-howto]]
-=== Настройка последовательной консоли
+=== Углубленная настройка последовательной консоли
-[.procedure]
-====
+В этом разделе представлено более подробное объяснение шагов, необходимых для настройки последовательной консоли в FreeBSD.
-. Подготовьте кабель.
-+
-Вам потребуется нуль-модемный или стандартный последовательный кабель и нуль-модемный адаптер. Обратитесь к <<serial-cables-ports>>, где рассматриваются последовательные кабели.
+[.procedure]
+.Процедура: Настройка последовательной консоли
+. Подготовьте последовательный кабель.
++
+Используйте нуль-модемный кабель либо стандартный последовательный кабель с нуль-модемным адаптером. Подробнее о последовательных кабелях см. в разделе crossref:serialcomms[term-cables-null, Последовательные кабели и порты].
. Отключите клавиатуру.
-+
-Большинство систем PC тестируют клавиатуру во время включения (POST) и выдают ошибку если клавиатура не обнаружена. Некоторые системы при отсутствии клавиатуры выдают звуковой сигнал и не загружаются пока клавиатура не будет подключена.
-+
-Если компьютер сообщает об ошибке, но все же загружается, вам не потребуется делать что-то еще. (Некоторые компьютеры с Phoenix BIOS просто сообщают `Keyboard failed` и продолжают загрузку).
-+
-Если компьютер не загружается без клавиатуры, вам потребуется настроить BIOS так, чтобы отсутствие клавиатуры игнорировалось (если это возможно). Обратитесь к руководству по материнской плате за деталями о том, как это сделать.
+
-[TIP]
-======
-
-Установите параметр клавиатуры в настройках BIOS в значение "Not installed". При этом вы сможете продолжать использовать клавиатуру. Все, что делает этот параметр - указывает BIOS не тестировать клавиатуру во время загрузки, поэтому ее отсутствие не вызывает ошибки. Вы можете оставить клавиатуру подключенной, даже если с флагом "Not installed", и она все еще будет работать.
-======
+Многие системы проверяют наличие клавиатуры во время самотестирования при включении (POST) и выдают ошибку, если клавиатура не обнаружена. Некоторые компьютеры отказываются загружаться, пока клавиатура не будет подключена.
+
-[NOTE]
-======
-Если в к системе подключена PS/2(R) мышь, отключите ее, как и клавиатуру. Мышь PS/2(R) использует часть оборудования совместно с клавиатурой, поэтому если оставить ее подключенной, тестирование клавиатуры может ошибочно выдать наличие последней. Например, система Gateway 2000 Pentium 90 MHz ведет себя именно так. К тому же, это не проблема, поскольку мышь без клавиатуры как правило не нужна.
-======
+Если компьютер сообщает об ошибке, но всё же загружается, дальнейшая настройка не требуется.
+
-. Подключите текстовый терминал к [.filename]#COM1# ([.filename]#sio0#).
-+
-Если у вас нет текстового терминала, используйте старый PC/XT с модемной программой, или последовательный порт на другом компьютере UNIX(R). Если порта [.filename]#COM1# ([.filename]#sio0#) нет, подключите его. На данный момент нет способа использовать другой порт вместо [.filename]#COM1# без перекомпиляции загрузочных блоков. Если вы уже используете [.filename]#COM1# для подключения другого устройства, временно удалите это устройство установите новый загрузочный блок и ядро как только FreeBSD заработает. (Предполагается, что [.filename]#COM1# будет доступен на файловом/вычислительном/терминальном сервере в любом случае; если вам действительно требуется [.filename]#COM1# для чего-то другого (и вы не можете переключить это на [.filename]#COM2# ([.filename]#sio1#)), возможно не стоит беспокоиться об этом сейчас.)
-. Убедитесь, что в файле настройки ядра установлены соответствующие флаги для [.filename]#COM1# ([.filename]#sio0#).
-+
-Подходящие флаги такие:
+Если компьютер отказывается загружаться без подключённой клавиатуры, настройте BIOS так, чтобы он игнорировал эту ошибку. Подробности о том, как это сделать, можно найти в руководстве к материнской плате.
+
-`0x10`:::
-Включает поддержку консоли для этого устройства. Если установлен этот флаг, другие игнорируются. На данный момент поддержка консоли может быть включена не более чем на одном устройстве; предпочтительно на первом (в соответствии с порядком в конфигурационном файле) с установкой этого флага. Эта опция сама по себе не сделает последовательный порт консолью. Установите следующий флаг или используйте опцию `-h`, описанную ниже, вместе с этим флагом.
-
-`0x20`:::
-Включает поддержку консоли на устройстве (если нет другой консоли с более высоким приоритетом), независимо от наличия описываемой ниже опции `-h`. Флаг `0x20` должен использоваться вместе с флагом `0x10`.
-
-`0x40`:::
-Резервирует это устройство (совместно с флагом `0x10`) и делает устройство недоступным для обычной работы. Вы не должны использовать этот флаг для устройства последовательного порта, которое будет использоваться в качестве последовательной консоли. Используйте этот флаг только если устройство предназначено для удаленной отладки ядра. Обратитесь к extref:{developers-handbook}[Руководству для разработчиков] за дополнительной информацией по удаленной отладке.
-+
-Пример:
+[TIP]
+====
+Попробуйте установить значение "Не установлена" для клавиатуры в BIOS. Этот параметр указывает BIOS не проверять наличие клавиатуры при включении, поэтому он не должен выдавать ошибку при её отсутствии. Если такой опции нет в BIOS, поищите параметр "Останов при ошибке". Установка его в значение "Все, кроме клавиатуры" или "Нет ошибок" даст тот же эффект.
+====
+
-[.programlisting]
-....
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
-....
-+
-Обратитесь к странице справочника man:sio[4] за подробностями.
-+
-Если флаги не были установлены, вам потребуется запустить UserConfig (на другой консоли) или пересобрать ядро.
+Если в системе есть мышь PS/2(R), её также следует отключить. Мыши PS/2(R) используют общее оборудование с клавиатурой, и если оставить мышь подключённой, это может ввести проверку клавиатуры в заблуждение, заставив её считать, что клавиатура всё ещё подключена.
++
+[NOTE]
+====
+Хотя большинство систем загружаются без клавиатуры, многие не загрузятся без графического адаптера. Некоторые системы можно настроить на загрузку без графического адаптера, изменив параметр "графический адаптер" в конфигурации BIOS на "Не установлен". Другие системы не поддерживают эту опцию и откажутся загружаться, если в системе нет оборудования для вывода изображения. На таких машинах следует оставить какой-либо графический адаптер, даже если это просто старая монохромная плата. Монитор подключать не обязательно.
+====
+
+. Подключите простой терминал, старый компьютер с модемной программой или последовательный порт другого UNIX(R)-компьютера к последовательному порту.
+. Добавьте соответствующие записи `hint.uart.*` в файл [.filename]#/boot/device.hints# для последовательного порта. Некоторые многопортовые карты также требуют настройки параметров ядра. Рекомендуемые параметры и подсказки для устройств каждого поддерживаемого последовательного порта смотрите в man:uart[4].
. Создайте [.filename]#boot.config# в корневом каталоге раздела `a` на загрузочном диске.
-+
-Этот файл сообщит загрузочному блоку способ загрузки системы. Для активации последовательной консоли вам потребуется одна или несколько следующих опций - несколько опций могут быть указаны на одной строке:
++
+Этот файл указывает коду загрузочного блока, как загружать систему. Для активации последовательной консоли необходима одна или несколько следующих опций. При использовании нескольких опций включите их все в одну строку:
+
`-h`:::
-Переключает внутреннюю и последовательную консоль. Вы можете использовать ее для переключения устройств консоли. Например, при загрузке с внутренней (видео) консоли, вы можете использовать `-h` для запуска загрузчика и ядра с использованием последовательного порта в качестве устройства консоли. При загрузке с последовательной консоли, вы можете использовать опцию `-h` для указания загрузчику и ядру использовать в качестве консоли видео дисплей.
+Переключает между внутренней и последовательной консолями. Используйте это для смены устройств консоли. Например, для загрузки с внутренней (видео) консоли используйте `-h`, чтобы указать загрузчику и ядру использовать последовательный порт в качестве устройства консоли. Или же, для загрузки с последовательного порта, используйте `-h`, чтобы указать загрузчику и ядру использовать видеодисплей в качестве консоли.
`-D`:::
-Переключает одно- и двухконсольную конфигурации. В одноконсольной конфигурации консоль может быть либо внутренней (видео дисплей), либо последовательным портом, в зависимости от состояния опции `-h`. В двухконсольной конфигурации и видео дисплей и последовательный порт станут консолями одновременно, независимо от состояния опции `-h`. Имейте ввиду, что конфигурация с двумя консолями работает только во время работы загрузочного блока. Как только управление переходит к загрузчику, остается только одна консоль, указанная опцией `-h`.
+Переключает между одноконсольной и двухконсольной конфигурациями. В одноконсольной конфигурации консолью будет либо внутренняя консоль (видеодисплей), либо последовательный порт, в зависимости от состояния `-h`. В двухконсольной конфигурации и видеодисплей, и последовательный порт одновременно становятся консолью, независимо от состояния `-h`. Однако двухконсольная конфигурация действует только во время работы загрузочного блока. Как только загрузчик получает управление, консоль, указанная с помощью `-h`, становится единственной консолью.
`-P`:::
-Указывает загрузочному блоку протестировать клавиатуру. Если клавиатура не найдена, автоматически устанавливаются параметры `-D` и `-h`.
+Заставляет загрузочный блок проверять наличие клавиатуры. Если клавиатура не обнаружена, опции `-D` и `-h` устанавливаются автоматически.
+
[NOTE]
-======
-По причине ограничений на размер в существующей версии загрузочного блока, опция `-P` может протестировать только расширенные клавиатуры. Клавиатуры с менее чем 101 клавишами (и без клавиш F11 и F12) могут быть не обнаружены. Клавиатуры некоторых лэптопов могут быть не найдены из-за этого ограничения. Если это случилось, вы не сможете использовать опцию `-P`. К сожалению, не существует обходного пути решения этой проблемы.
-======
-+
-Используйте или опцию `-P` для автоматического выбора консоли, или опцию `-h` для активации последовательной консоли.
-+
-Вы можете включить также другие опции, описанные в man:boot[8].
-+
-Опции, за исключением `-P`, будут переданы загрузчику ([.filename]#/boot/loader#). Загрузчик определит будет ли консолью внутреннее видео устройство или последовательный порт, проверив только состояние опции `-h`. Это означает, что если вы включите в [.filename]#/boot.config# опцию `-D`, но не `-h`, то сможете использовать консоль только во время работы загрузочного блока; загрузчик будет использовать внутреннее видео устройство в качестве консоли.
+====
+Из-за ограничений места в текущей версии загрузочных блоков, `-P` способен обнаруживать только расширенные клавиатуры. Клавиатуры с менее чем 101 клавишей и без клавиш F11 и F12 могут не быть обнаружены. Клавиатуры на некоторых ноутбуках могут не находиться корректно из-за этого ограничения. Если это так, не используйте `-P`.
+====
++
+Используйте `-P` для автоматического выбора консоли или `-h` для активации последовательной консоли. Подробности смотрите в man:boot[8] и man:boot.config[5].
++
+Параметры, за исключением `-P`, передаются загрузчику. Загрузчик определит, должна ли внутренняя видеосистема или последовательный порт быть консолью, анализируя состояние параметра `-h`. Это означает, что если указан `-D`, но параметр `-h` не указан в [.filename]#/boot.config#, последовательный порт может использоваться в качестве консоли только во время загрузки блока, так как загрузчик будет использовать внутренний видеоадаптер в качестве консоли.
. Загрузите компьютер.
-+
-Когда вы включите компьютер FreeBSD, загрузочный блок выведет содержимое [.filename]#/boot.config# на консоль. Например:
+
-[source,shell]
+При загрузке FreeBSD загрузочные блоки выводят содержимое файла [.filename]#/boot.config# на консоль. Например:
++
+[source, shell]
....
/boot.config: -P
Keyboard: no
....
-+
-Вторая строка появится только если вы поместите `-P` в [.filename]#/boot.config# и отражает наличие/отсутствие клавиатуры. Эти сообщения выводятся либо на последовательную, либо на внутреннюю консоль, или на обе, в зависимости от параметров в [.filename]#/boot.config#.
++
+Вторая строка появляется только при наличии `-P` в [.filename]#/boot.config# и указывает на наличие или отсутствие клавиатуры. Эти сообщения выводятся на последовательный или внутренний консоль, или на оба, в зависимости от опции в [.filename]#/boot.config#:
+
[.informaltable]
[cols="1,1", frame="none", options="header"]
|===
<| Опции
-<| Сообщения выводятся на
+<| Сообщение отправляется на
-|нет
-|внутренняя консоль
+|none
+|внутреннюю консоль
|`-h`
-|последовательная консоль
+|последовательную консоль
|`-D`
-|последовательная и внутренняя консоли
+|последовательную и внутреннюю консоли
|`-Dh`
-|последовательная и внутренняя консоли
+|последовательную и внутреннюю консоли
-|`-P`, клавиатура присутствует
-|внутренняя консоль
+|`-P`, клавиатура подключена
+|внутреннюю консоль
-|`-P`, клавиатура отсутствует
-|последовательная консоль
+|`-Р`, клавиатура отсутствует
+|последовательную консоль
|===
-+
-После вывода вышеприведенных сообщений, происходит небольшая пауза перед тем, как запускается загрузчик и на консоли появляются следующие сообщения. В нормальной ситуации вам не потребуется прерывать загрузку в этот момент, но это можно сделать, чтобы убедиться, что все настроено правильно.
-+
-Нажмите на консоли любую клавишу кроме Enter для прерывания процесса загрузки. Загрузочный блок выдаст приглашение к дальнейшим действиям. Оно выглядит примерно так:
+
-[source,shell]
+После сообщения будет небольшая пауза перед тем, как загрузочные блоки продолжат загрузку и выполнение загрузчика и до вывода следующих сообщений на консоль. В обычных условиях нет необходимости прерывать работу загрузочных блоков, но это можно сделать, чтобы убедиться, что всё настроено правильно.
++
+Нажмите любую клавишу, кроме kbd:[Enter], на консоли, чтобы прервать процесс загрузки. Затем загрузочные блоки запросят дальнейшие действия:
++
+[source, shell]
....
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:
....
-+
-Убедитесь, что сообщение выше появилось на последовательной, внутренней консоли или на обеих, в зависимости от опций в [.filename]#/boot.config#. Если сообщение появилось там, где должно было появиться, нажмите Enter для продолжения процесса загрузки.
-+
-Если вам нужна последовательная консоль, но на терминале не видно приглашения, это означает проблемы с настройками. Введите `-h` и нажмите Enter/Return (если это возможно) для указания загрузочному блоку (а также загрузчику и ядру) выбрать последовательный порт в качестве консоли. Когда система загрузится, проверьте настройки еще раз и определите, что было сделано неправильно.
-====
-
-После запуска загрузчика и перехода в третью стадию процесса загрузки вы все еще можете переключиться между внутренней консолью и последовательной консолью путем установки соответствующих переменных окружения в загрузчике. Обращайтесь к разделу <<serialconsole-loader>>.
-
-[[serialconsole-summary]]
-=== Итоги
-
-Здесь приведены краткие итоги по различным настройкам, рассмотренным в этом разделе и выбираемым в соответствии с ними консолям.
-
-==== Вариант 1: вы устанавливаете для [.filename]#sio0# флаги 0x10
-
-[.programlisting]
-....
-device sio0 at isa? port IO_COM1 flags 0x10 irq 4
-....
-
-[.informaltable]
-[cols="1,1,1,1", frame="none", options="header"]
-|===
-<| Параметры в /boot.config
-<| Консоль для загрузочного блока
-<| Консоль для загрузчика
-<| Консоль для ядра
-
-|нет
-|внутренняя
-|внутренняя
-|внутренняя
-
-|`-h`
-|последовательная
-|последовательная
-|последовательная
-
-|`-D`
-|последовательная и внутренняя
-|внутренняя
-|внутренняя
-
-|`-Dh`
-|последовательная и внутренняя
-|последовательная
-|последовательная
-
-|`-P`, клавиатура присутствует
-|внутренняя
-|внутренняя
-|внутренняя
-
-|`-P`, клавиатура отсутствует
-|последовательная и внутренняя
-|последовательная
-|последовательная
-|===
-
-==== Вариант 2: вы устанавливаете для [.filename]#sio0# флаги 0x30
-
-[.programlisting]
-....
-device sio0 at isa? port IO_COM1 flags 0x30 irq 4
-....
-
-[.informaltable]
-[cols="1,1,1,1", frame="none", options="header"]
-|===
-<| Параметры в /boot.config
-<| Консоль для загрузочного блока
-<| Консоль для загрузчика
-<| Консоль для ядра
-
-|нет
-|внутренняя
-|внутренняя
-|последовательная
-
-|`-h`
-|последовательная
-|последовательная
-|последовательная
-
-|`-D`
-|последовательная и внутренняя
-|внутренняя
-|последовательная
-
-|`-Dh`
-|последовательная и внутренняя
-|последовательная
-|последовательная
-
-|`-P`, клавиатура присутствует
-|внутренняя
-|внутренняя
-|последовательная
-
-|`-P`, клавиатура отсутствует
-|последовательная и внутренняя
-|последовательная
-|последовательная
-|===
-
-[[serialconsole-tips]]
-=== Приемы работы с последовательной консолью
++
+Убедитесь, что указанное сообщение появилось на последовательном или внутреннем консоле, или на обоих, в соответствии с параметрами в [.filename]#/boot.config#. Если сообщение появилось на правильной консоли, нажмите kbd:[Enter] для продолжения процесса загрузки.
++
+Если на последовательном терминале нет приглашения, значит, что-то не так с настройками. Введите `-h`, затем kbd:[Enter] или kbd:[Return], чтобы указать загрузочному блоку (а затем загрузчику и ядру) выбрать последовательный порт для консоли. После загрузки системы вернитесь и проверьте, что пошло не так.
-==== Установка более высокой скорости порта
+На третьем этапе процесса загрузки можно по-прежнему переключаться между внутренней консолью и последовательной консолью, установив соответствующие переменные окружения в загрузчике. Подробнее см. в man:loader[8].
-По умолчанию, последовательный порт настроен так: 9600 бит/с, 8 бит, без четности, 1 стоп бит. Если вам необходимо изменить скорость, потребуется перекомпиляция как минимум загрузочных блоков. Добавьте следующую строку к [.filename]#/etc/make.conf# и скомпилируйте новый загрузочный блок:
+[NOTE]
+====
+Эта строка в [.filename]#/boot/loader.conf# или [.filename]#/boot/loader.conf.local# настраивает загрузчик и ядро для отправки загрузочных сообщений на последовательную консоль, независимо от параметров в [.filename]#/boot.config#:
[.programlisting]
....
-BOOT_COMCONSOLE_SPEED=19200
+console="comconsole"
....
-Обратитесь к <<serialconsole-com2>> за подробными инструкциями по сборке и установке новых загрузочных блоков.
+Эта строка должна быть первой в [.filename]#/boot/loader.conf#, чтобы сообщения загрузки выводились на последовательную консоль как можно раньше.
-Если последовательная консоль настраивается не путем установки параметра `-h`, или последовательная консоль, используемая ядром, отличается от той, что используется загрузочным блоком, потребуется добавить следующие опции к файлу настройки ядра и собрать новое ядро:
+Если эта строка отсутствует или имеет значение `console="vidconsole"`, загрузчик и ядро будут использовать консоль, указанную параметром `-h` в загрузочном блоке. Подробнее см. в man:loader.conf[5].
-[.programlisting]
-....
-options CONSPEED=19200
-....
+На данный момент загрузчик не имеет опции, аналогичной `-P` в загрузочном блоке, и не предусмотрена возможность автоматического выбора внутренней консоли и последовательной консоли в зависимости от наличия клавиатуры.
+====
-[[serialconsole-com2]]
-==== Использование для консоли другого последовательного порта вместо [.filename]#sio0#
+[TIP]
+====
+Хотя это и не обязательно, можно настроить вывод приглашения `login` через последовательный порт. Для этого отредактируйте запись для последовательного порта в [.filename]#/etc/ttys#, следуя инструкциям в crossref:serialcomms[term-config, Настройка терминала]. Если скорость последовательного порта была изменена, замените `std.115200` на новое значение.
+====
-Использование другого последовательного порта вместо [.filename]#sio0# для консоли потребует кое-какой перекомпиляции. Если вы по каким-либо причинам хотите использовать другой последовательный порт, перекомпилируйте загрузочный блок, загрузчик и ядро согласно приведенной ниже инструкции.
+=== Установка более высокой скорости последовательного порта
-[.procedure]
-====
+По умолчанию настройки последовательного порта: скорость 115200 бод, 8 бит данных, без контроля чётности и 1 стоповый бит. Чтобы изменить стандартную скорость консоли, используйте один из следующих вариантов:
-. Получите исходные тексты ядра (глава crossref:cutting-edge[updating-upgrading, Обновление системы и смена версии FreeBSD])
-. Отредактируйте [.filename]#/etc/make.conf# и установите `BOOT_COMCONSOLE_PORT` в соответствии с адресом порта, который вы хотите использовать (0x3F8, 0x2F8, 0x3E8 или 0x2E8). Могут быть использованы только устройства от [.filename]#sio0# до [.filename]#sio3# (от [.filename]#COM1# до [.filename]#COM4#); мультипортовые последовательные карты не будут работать. Установка прерываний не требуется.
-. Создайте файл настройки ядра и добавьте соответствующие флаги для порта, который планируется использовать. Например, если вы хотите использовать для консоли [.filename]#sio1# ([.filename]#COM2#):
-+
-[.programlisting]
-....
-device sio1 at isa? port IO_COM2 flags 0x10 irq 3
-....
-+
-или
-+
-[.programlisting]
-....
-device sio1 at isa? port IO_COM2 flags 0x30 irq 3
-....
-+
-Флаги для других последовательных устройств не устанавливайте.
-. Соберите и установите загрузочный блок и загрузчик:
+* Отредактируйте файл [.filename]#/etc/make.conf# и установите значение `BOOT_COMCONSOLE_SPEED` на новую скорость консоли. Затем перекомпилируйте и установите загрузочные блоки и загрузчик:
+
-[source,shell]
+[source, shell]
....
# cd /sys/boot
# make clean
@@ -1371,104 +982,31 @@ device sio1 at isa? port IO_COM2 flags 0x30 irq 3
# make install
....
+
-. Соберите и установите ядро.
-. Запишите загрузочный блок на загрузочный диск с помощью man:bsdlabel[8] и загрузитесь с новым ядром.
-====
-
-[[serialconsole-ddb]]
-==== Вход в отладчик DDB с последовательной линии
-
-Если вы хотите войти в отладчик ядра с последовательной консоли (полезно для удаленной диагностики, но опасно если вы введете неправильный BREAK на последовательном порту!), потребуется собрать ядро со следующими параметрами:
-
-[.programlisting]
-....
-options BREAK_TO_DEBUGGER
-options DDB
-....
-
-==== Получение приглашения на последовательной консоли
-
-Хотя это не обязательно, вам может потребоваться приглашение _login_ по последовательной линии, в дополнение к уже доступным загрузочным сообщениям и отладочной сессии ядра. Здесь описано как сделать это.
-
-Откройте файл [.filename]#/etc/ttys# с помощью редактора и найдите строки:
-
-[.programlisting]
-....
-ttyd0 "/usr/libexec/getty std.9600" unknown off secure
-ttyd1 "/usr/libexec/getty std.9600" unknown off secure
-ttyd2 "/usr/libexec/getty std.9600" unknown off secure
-ttyd3 "/usr/libexec/getty std.9600" unknown off secure
-....
-
-Строки от `ttyd0` до `ttyd3` соответствуют портам от [.filename]#COM1# до [.filename]#COM4#. Измените `off` на `on` для требуемого порта. Если вы изменили скорость последовательного порта, может потребоваться изменить `std.9600` для соответствия текущим настройкам, например `std.19200`.
-
-Возможно, вы захотите заменить тип терминала `unknown` на тип реально используемого терминала.
-
-После редактирования файла потребуется выполнить `kill -HUP 1` для включения новых настроек.
-
-[[serialconsole-loader]]
-=== Изменение консоли из загрузчика
-
-Предыдущий раздел описывает настройку последовательной консоли изменением параметров загрузочного блока. Этот раздел показывает, как указать консоль, вводя команды и переменные окружения для загрузчика. Поскольку загрузчик загружается после загрузочного блока, на третьей стадии загрузочного процесса, настройки загрузчика превалируют над настройками загрузочного блока.
-
-==== Настройка последовательной консоли
-
-Вы можете прямо указать загрузчику и ядру использовать последовательную консоль, записав одну строку в [.filename]#/boot/loader.rc#:
-
-[.programlisting]
-....
-set console="comconsole"
-....
-
-Это сработает независимо от настроек загрузочного блока, рассмотренных в предыдущем разделе.
-
-Поместите эту строку в самое начало [.filename]#/boot/loader.rc#, чтобы увидеть на последовательной консоли все загрузочные сообщения.
-
-Вы можете также указать внутреннюю консоль:
-
+Если последовательная консоль настроена иным способом, кроме загрузки с `-h`, или если последовательная консоль, используемая ядром, отличается от той, что используется загрузочными блоками, добавьте следующую опцию с нужной скоростью в файл конфигурации собственного ядра и соберите новое ядро:
++
[.programlisting]
....
-set console="vidconsole"
+options CONSPEED=19200
....
-Если вы не установите переменную загрузчика `console`, загрузчик, а затем и ядро будут использовать ту консоль, которая установлена параметром `-h` для загрузочного блока.
-
-В версиях 3.2 или выше, вы можете указать консоль в [.filename]#/boot/loader.conf.local# или [.filename]#/boot/loader.conf# вместо [.filename]#/boot/loader.rc#. С этим методом [.filename]#/boot/loader.rc# должен выглядеть примерно так:
-
+* Добавьте параметр загрузки `-S__19200__` в [.filename]#/boot.config#, заменив `_19200_` на нужную скорость.
+* Добавьте следующие параметры в [.filename]#/boot/loader.conf#. Замените `_115200_` на нужную скорость.
++
[.programlisting]
....
-include /boot/loader.4th
-start
+boot_multicons="YES"
+boot_serial="YES"
+comconsole_speed="115200"
+console="comconsole,vidconsole"
....
-Затем, создайте [.filename]#/boot/loader.conf.local# и поместите туда следующую строку.
-
-[.programlisting]
-....
-console=comconsole
-....
+[[serialconsole-ddb]]
+=== Вход в отладчик DDB с последовательной линии
-или
+Для настройки возможности перехода в отладчик ядра с последовательной консоли добавьте следующие параметры в пользовательский конфигурационный файл ядра и соберите ядро, используя инструкции из crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Обратите внимание, что хотя это полезно для удалённой диагностики, это также опасно, если на последовательном порту генерируется ложный BREAK. Дополнительную информацию об отладчике ядра можно найти в man:ddb[4] и man:ddb[8].
[.programlisting]
....
-console=vidconsole
+options BREAK_TO_DEBUGGER
+options DDB
....
-
-Обращайтесь к man:loader.conf[5] за дополнительной информацией.
-
-[NOTE]
-====
-На данный момент у загрузчика нет параметра, эквивалентного параметру `-P` загрузочного блока и нет способа автоматического выбора внутренней и последовательной консоли в зависимости от наличия клавиатуры.
-====
-
-==== Использование для консоли отличного от [.filename]#sio0# последовательного порта
-
-Вам потребуется перекомпилировать загрузчик для использования отличного от [.filename]#sio0# последовательного порта в качестве консоли. Следуйте процедуре, описанной в разделе <<serialconsole-com2>>.
-
-[[serialconsole-caveats]]
-=== Предостережения
-
-Идея в том, чтобы настроить выделенный сервер, который не требует графического оборудования или подсоединенной клавиатуры. К сожалению, хотя многие системы способны загрузиться без клавиатуры, есть совсем немного систем, способных загрузиться без графического адаптера. Компьютеры с AMI BIOS могут быть настроены для загрузки без графического адаптера простой установкой параметра настройки CMOS "graphics adapter" в значение "Not installed".
-
-Однако, многие компьютеры не поддерживают этот параметр и не смогут загрузиться без графического оборудования. Для этих компьютеров вам потребуется оставить подключенной любую графическую карту (даже если это просто старая моно карта), хотя монитор и не подключен.