diff options
Diffstat (limited to 'documentation/content/ru/books/handbook/serialcomms')
| -rw-r--r-- | documentation/content/ru/books/handbook/serialcomms/_index.adoc | 1290 | ||||
| -rw-r--r-- | documentation/content/ru/books/handbook/serialcomms/_index.po | 3226 |
2 files changed, 3640 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". - -Однако, многие компьютеры не поддерживают этот параметр и не смогут загрузиться без графического оборудования. Для этих компьютеров вам потребуется оставить подключенной любую графическую карту (даже если это просто старая моно карта), хотя монитор и не подключен. diff --git a/documentation/content/ru/books/handbook/serialcomms/_index.po b/documentation/content/ru/books/handbook/serialcomms/_index.po new file mode 100644 index 0000000000..99f7123380 --- /dev/null +++ b/documentation/content/ru/books/handbook/serialcomms/_index.po @@ -0,0 +1,3226 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-10-20 11:02+0300\n" +"PO-Revision-Date: 2025-08-16 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/bookshandbookserialcomms_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1 +#, no-wrap +msgid "This chapter covers some of the ways serial communications can be used on FreeBSD" +msgstr "Эта глава рассказывает о некоторых способах использования последовательной передачи данных в FreeBSD" + +#. type: Yaml Front Matter Hash Value: part +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1 +#, no-wrap +msgid "Part IV. Network Communication" +msgstr "Часть IV. Сетевое взаимодействие" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1 +#, no-wrap +msgid "Chapter 29. Serial Communications" +msgstr "Глава 29. Последовательная передача данных" + +#. type: Title = +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:15 +#, no-wrap +msgid "Serial Communications" +msgstr "Последовательная передача данных" + +#. type: Title == +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:53 +#, no-wrap +msgid "Synopsis" +msgstr "Обзор" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:58 +msgid "" +"UNIX(R) has always had support for serial communications as the very first " +"UNIX(R) machines relied on serial lines for user input and output. Things " +"have changed a lot from the days when the average terminal consisted of a 10-" +"character-per-second serial printer and a keyboard. This chapter covers " +"some of the ways serial communications can be used on FreeBSD." +msgstr "" +"UNIX(R) всегда поддерживал последовательную передачу данных, так как самые " +"первые UNIX(R)-машины использовали последовательные линии для ввода и вывода " +"информации. Многое изменилось со времен, когда стандартный терминал состоял " +"из последовательного принтера со скоростью печати 10 символов в секунду и " +"клавиатуры. В этой главе рассматриваются некоторые способы использования " +"последовательной передачи данных в FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:60 +msgid "After reading this chapter, you will know:" +msgstr "Прочитав эту главу, вы будете знать:" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:62 +msgid "How to connect terminals to a FreeBSD system." +msgstr "Как подключить терминалы к системе FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:63 +msgid "How to use a modem to dial out to remote hosts." +msgstr "Как использовать модем для дозвона до удалённых хостов." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:64 +msgid "How to allow remote users to login to a FreeBSD system with a modem." +msgstr "" +"Как разрешить удаленным пользователям входить в систему FreeBSD с помощью " +"модема." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:65 +msgid "How to boot a FreeBSD system from a serial console." +msgstr "Как загрузить систему FreeBSD с последовательной консоли." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:67 +msgid "Before reading this chapter, you should:" +msgstr "Прежде чем читать эту главу, вы должны:" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:69 +msgid "" +"Know how to crossref:kernelconfig[kernelconfig, configure and install a " +"custom kernel]." +msgstr "" +"Знать, как crossref:kernelconfig[kernelconfig,настроить и установить " +"собственное ядро]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:70 +msgid "Understand crossref:basics[basics, FreeBSD permissions and processes]." +msgstr "Понять crossref:basics[basics, права и процессы в FreeBSD]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:71 +msgid "" +"Have access to the technical manual for the serial hardware to be used with " +"FreeBSD." +msgstr "" +"Иметь доступ к техническому руководству по последовательному оборудованию, " +"которое будет использоваться с FreeBSD." + +#. type: Title == +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:73 +#, no-wrap +msgid "Serial Terminology and Hardware" +msgstr "Терминология и оборудование для последовательной передачи данных" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:76 +msgid "The following terms are often used in serial communications:" +msgstr "" +"При связи по последовательному порту часто используются следующие термины:" + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:77 +#, no-wrap +msgid "bps" +msgstr "bps" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:79 +msgid "Bits per Second (bps) is the rate at which data is transmitted." +msgstr "Биты в секунду (бит/с) — это скорость передачи данных." + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:80 +#, no-wrap +msgid "DTE" +msgstr "DTE" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:83 +msgid "" +"Data Terminal Equipment (DTE) is one of two endpoints in a serial " +"communication. An example would be a computer." +msgstr "" +"Оборудование передачи данных (Data Terminal Equipment — DTE) — это одна из " +"двух конечных точек в последовательной связи. Примером может служить " +"компьютер." + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:84 +#, no-wrap +msgid "DCE" +msgstr "DCE" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:87 +msgid "" +"Data Communications Equipment (DCE) is the other endpoint in a serial " +"communication. Typically, it is a modem or serial terminal." +msgstr "" +"Оборудование передачи данных (Data Communication Equipment — DCE) — это " +"другая конечная точка в последовательной связи. Обычно это модем или " +"последовательный терминал." + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:88 +#, no-wrap +msgid "RS-232" +msgstr "RS-232" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:91 +msgid "" +"The original standard which defined hardware serial communications. It has " +"since been renamed to TIA-232." +msgstr "" +"Оригинальный стандарт, определяющий аппаратную последовательную связь. " +"Впоследствии был переименован в TIA-232." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:94 +msgid "" +"When referring to communication data rates, this section does not use the " +"term _baud_. Baud refers to the number of electrical state transitions made " +"in a period of time, while bps is the correct term to use." +msgstr "" +"При упоминании скорости передачи данных в этом разделе не используется " +"термин _бод_. Бод обозначает количество изменений электрического состояния " +"за единицу времени, тогда как бит/с (bps) является корректным термином." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:97 +msgid "" +"To connect a serial terminal to a FreeBSD system, a serial port on the " +"computer and the proper cable to connect to the serial device are needed. " +"Users who are already familiar with serial hardware and cabling can safely " +"skip this section." +msgstr "" +"Для подключения последовательного терминала к системе FreeBSD необходим " +"последовательный порт на компьютере и соответствующий кабель для соединения " +"с последовательным устройством. Пользователям, уже знакомым с " +"последовательным оборудованием и кабелями, можно смело пропустить этот " +"раздел." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:99 +#, no-wrap +msgid "Serial Cables and Ports" +msgstr "Последовательные кабели и порты" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:104 +msgid "" +"There are several different kinds of serial cables. The two most common " +"types are null-modem cables and standard RS-232 cables. The documentation " +"for the hardware should describe the type of cable required." +msgstr "" +"Существует несколько различных типов последовательных кабелей. Два наиболее " +"распространённых типа — это нуль-модемные кабели и стандартные кабели " +"RS-232. В документации к оборудованию должен быть указан тип необходимого " +"кабеля." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:111 +msgid "" +"These two types of cables differ in how the wires are connected to the " +"connector. Each wire represents a signal, with the defined signals " +"summarized in crossref:serialcomms[serialcomms-signal-names,RS-232C Signal " +"Names]. A standard serial cable passes all of the RS-232C signals straight " +"through. For example, the \"Transmitted Data\" pin on one end of the cable " +"goes to the \"Transmitted Data\" pin on the other end. This is the type of " +"cable used to connect a modem to the FreeBSD system, and is also appropriate " +"for some terminals." +msgstr "" +"Эти два типа кабелей отличаются тем, как провода подключены к разъему. " +"Каждый провод представляет собой сигнал, с определенными сигналами, " +"перечисленными в crossref:serialcomms[serialcomms-signal-names,Имена " +"сигналов RS-232C]. Стандартный последовательный кабель передает все сигналы " +"RS-232C напрямую. Например, контакт \"Передаваемые данные\" на одном конце " +"кабеля соединен с контактом \"Передаваемые данные\" на другом конце. Такой " +"тип кабеля используется для подключения модема к системе FreeBSD, а также " +"подходит для некоторых терминалов." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:114 +msgid "" +"A null-modem cable switches the \"Transmitted Data\" pin of the connector on " +"one end with the \"Received Data\" pin on the other end. The connector can " +"be either a DB-25 or a DB-9." +msgstr "" +"Нулевой модемный кабель меняет местами контакт \"Передаваемые данные\" " +"одного конца с контактом \"Принимаемые данные\" другого конца. Разъём может " +"быть либо DB-25, либо DB-9." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:121 +msgid "" +"A null-modem cable can be constructed using the pin connections summarized " +"in crossref:serialcomms[nullmodem-db25, DB-25 to DB-25 Null-Modem Cable], " +"crossref:serialcomms[nullmodem-db9,DB-9 to DB-9 Null-Modem Cable], and " +"crossref:serialcomms[nullmodem-db9-25,DB-9 to DB-25 Null-Modem Cable, DB-9 " +"to DB-25 Null-Modem Cable]. While the standard calls for a straight-through " +"pin 1 to pin 1 \"Protective Ground\" line, it is often omitted. Some " +"terminals work using only pins 2, 3, and 7, while others require different " +"configurations. When in doubt, refer to the documentation for the hardware." +msgstr "" +"Нуль-модемный кабель можно изготовить, используя соединения контактов, " +"приведенные в 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, тогда как другим " +"требуются иные конфигурации. В случае сомнений обратитесь к документации " +"оборудования." + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:123 +#, no-wrap +msgid "RS-232C Signal Names" +msgstr "Имена сигналов RS-232C" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:127 +#, no-wrap +msgid "Acronyms" +msgstr "Аббревиатуры" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:129 +#, no-wrap +msgid "Names" +msgstr "Имена" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:130 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:176 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:177 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:230 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:241 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:295 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:306 +#, no-wrap +msgid "RD" +msgstr "RD" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:132 +#, no-wrap +msgid "Received Data" +msgstr "Received Data" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:133 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:171 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:182 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:235 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:236 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:300 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:301 +#, no-wrap +msgid "TD" +msgstr "TD" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:135 +#, no-wrap +msgid "Transmitted Data" +msgstr "Transmitted Data" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:136 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:195 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:201 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:212 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:217 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:242 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:248 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:265 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:271 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:307 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:313 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:330 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:336 +#, no-wrap +msgid "DTR" +msgstr "DTR" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:138 +#, no-wrap +msgid "Data Terminal Ready" +msgstr "Готовность терминального оборудования (Data Terminal Ready)" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:139 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:200 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:207 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:247 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:260 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:312 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:325 +#, no-wrap +msgid "DSR" +msgstr "DSR" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:141 +#, no-wrap +msgid "Data Set Ready" +msgstr "Готовность терминального оборудования (Data Set Ready)" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:142 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:206 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:213 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:253 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:266 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:318 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:331 +#, no-wrap +msgid "DCD" +msgstr "DCD" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:144 +#, no-wrap +msgid "Data Carrier Detect" +msgstr "Обнаружение несущей (Data Carrier Detect)" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:145 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:165 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:170 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:254 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:259 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:319 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:324 +#, no-wrap +msgid "SG" +msgstr "SG" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:147 +#, no-wrap +msgid "Signal Ground" +msgstr "Сигнальная земля (Signal Ground)" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:148 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:183 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:194 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:272 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:282 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:337 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:347 +#, no-wrap +msgid "RTS" +msgstr "RTS" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:150 +#, no-wrap +msgid "Request to Send" +msgstr "Запрос на передачу (Request to Send)" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:151 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:188 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:189 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:277 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:278 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:342 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:343 +#, no-wrap +msgid "CTS" +msgstr "CTS" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:152 +#, no-wrap +msgid "Clear to Send" +msgstr "Готовность к приёму (Clear to Send)" + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:155 +#, no-wrap +msgid "DB-25 to DB-25 Null-Modem Cable" +msgstr "от DB-25 к DB-25 кабель нуль-модема" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:159 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:164 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:224 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:229 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:289 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:294 +#, no-wrap +msgid "Signal" +msgstr "Сигнал" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:160 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:162 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:225 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:227 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:290 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:292 +#, no-wrap +msgid "Pin #" +msgstr "# пина" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:166 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:168 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:273 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:281 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:322 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:338 +#, no-wrap +msgid "7" +msgstr "7" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:167 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:173 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:179 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:185 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:191 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:197 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:203 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:209 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:215 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:232 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:238 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:244 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:250 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:256 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:262 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:268 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:274 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:280 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:297 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:303 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:309 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:315 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:321 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:327 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:333 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:339 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:345 +#, no-wrap +msgid "connects to" +msgstr "соединяется с" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:172 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:180 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:231 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:239 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:296 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:298 +#, no-wrap +msgid "2" +msgstr "2" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:174 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:178 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:233 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:237 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:302 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:304 +#, no-wrap +msgid "3" +msgstr "3" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:184 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:192 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:243 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:249 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:263 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:269 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:308 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:314 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:346 +#, no-wrap +msgid "4" +msgstr "4" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:186 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:190 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:255 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:257 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:320 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:340 +#, no-wrap +msgid "5" +msgstr "5" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:196 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:202 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:210 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:216 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:328 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:334 +#, no-wrap +msgid "20" +msgstr "20" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:198 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:208 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:245 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:261 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:310 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:326 +#, no-wrap +msgid "6" +msgstr "6" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:204 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:214 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:275 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:279 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:316 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:344 +#, no-wrap +msgid "8" +msgstr "8" + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:220 +#, no-wrap +msgid "DB-9 to DB-9 Null-Modem Cable" +msgstr "от DB-9 к DB-9 кабель нуль-модема" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:251 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:267 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:332 +#, no-wrap +msgid "1" +msgstr "1" + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:285 +#, no-wrap +msgid "DB-9 to DB-25 Null-Modem Cable" +msgstr "от DB-9 к DB-25 кабель нуль-модема" + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:352 +msgid "" +"When one pin at one end connects to a pair of pins at the other end, it is " +"usually implemented with one short wire between the pair of pins in their " +"connector and a long wire to the other single pin." +msgstr "" +"Когда один контакт на одном конце соединяется с парой контактов на другом " +"конце, это обычно реализуется с помощью одного короткого провода между парой " +"контактов в их разъёме и длинного провода к другому одиночному контакту." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:357 +msgid "" +"Serial ports are the devices through which data is transferred between the " +"FreeBSD host computer and the terminal. Several kinds of serial ports " +"exist. Before purchasing or constructing a cable, make sure it will fit the " +"ports on the terminal and on the FreeBSD system." +msgstr "" +"Последовательные порты — это устройства, через которые данные передаются " +"между хост-компьютером FreeBSD и терминалом. Существует несколько видов " +"последовательных портов. Перед покупкой или изготовлением кабеля убедитесь, " +"что он подходит к портам на терминале и системе FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:362 +msgid "" +"Most terminals have DB-25 ports. Personal computers may have DB-25 or DB-9 " +"ports. A multiport serial card may have RJ-12 or RJ-45/ ports. See the " +"documentation that accompanied the hardware for specifications on the kind " +"of port or visually verify the type of port." +msgstr "" +"Большинство терминалов оснащено портами DB-25. Персональные компьютеры могут " +"иметь порты DB-25 или DB-9. Многопортовые последовательные платы могут быть " +"оснащены портами RJ-12 или RJ-45. Для определения типа порта обратитесь к " +"документации, прилагаемой к оборудованию, или визуально проверьте тип порта." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:365 +msgid "" +"In FreeBSD, each serial port is accessed through an entry in [.filename]#/" +"dev#. There are two different kinds of entries:" +msgstr "" +"В FreeBSD каждый последовательный порт доступен через запись в [.filename]#/" +"dev#. Существует два разных типа записей:" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:367 +msgid "" +"Call-in ports are named [.filename]#/dev/ttyuN# where _N_ is the port " +"number, starting from zero. If a terminal is connected to the first serial " +"port ([.filename]#COM1#), use [.filename]#/dev/ttyu0# to refer to the " +"terminal. If the terminal is on the second serial port ([.filename]#COM2#), " +"use [.filename]#/dev/ttyu1#, and so forth. Generally, the call-in port is " +"used for terminals. Call-in ports require that the serial line assert the " +"\"Data Carrier Detect\" signal to work correctly." +msgstr "" +"Поры входящих соединений именуются [.filename]#/dev/ttyuN#, где _N_ — это " +"номер порта, начиная с нуля. Если терминал подключен к первому " +"последовательному порту ([.filename]#COM1#), используйте [.filename]#/dev/" +"ttyu0# для обращения к терминалу. Если терминал находится на втором " +"последовательном порту ([.filename]#COM2#), используйте [.filename]#/dev/" +"ttyu1#, и так далее. Как правило, порт входящих соединений используется для " +"терминалов. Для корректной работы порта требуется, чтобы последовательная " +"линия подавала сигнал \"Data Carrier Detect\"." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:368 +msgid "" +"Call-out ports are named [.filename]#/dev/cuauN# on FreeBSD versions 8.X and " +"higher and [.filename]#/dev/cuadN# on FreeBSD versions 7.X and lower. Call-" +"out ports are usually not used for terminals, but are used for modems. The " +"call-out port can be used if the serial cable or the terminal does not " +"support the \"Data Carrier Detect\" signal." +msgstr "" +"Порты исходящих соединений называются [.filename]#/dev/cuauN# в FreeBSD " +"версий 8.X и выше и [.filename]#/dev/cuadN# в FreeBSD версий 7.X и ниже. " +"Порты исходящих соединений обычно не используются для терминалов, но " +"применяются для модемов. Порт может быть использован, если последовательный " +"кабель или терминал не поддерживают сигнал \"Data Carrier Detect\"." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:373 +msgid "" +"FreeBSD also provides initialization devices ([.filename]#/dev/ttyuN.init# " +"and [.filename]#/dev/cuauN.init# or [.filename]#/dev/cuadN.init#) and " +"locking devices ([.filename]#/dev/ttyuN.lock# and [.filename]#/dev/" +"cuauN.lock# or [.filename]#/dev/cuadN.lock#). The initialization devices " +"are used to initialize communications port parameters each time a port is " +"opened, such as `crtscts` for modems which use `RTS/CTS` signaling for flow " +"control. The locking devices are used to lock flags on ports to prevent " +"users or programs changing certain parameters. Refer to man:termios[4], " +"man:uart[4], and man:stty[1] for information on terminal settings, locking " +"and initializing devices, and setting terminal options, respectively." +msgstr "" +"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] " +"соответственно." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:375 +#, no-wrap +msgid "Serial Port Configuration" +msgstr "Настройка последовательного порта" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:380 +msgid "" +"By default, FreeBSD supports four serial ports which are commonly known as " +"[.filename]#COM1#, [.filename]#COM2#, [.filename]#COM3#, and " +"[.filename]#COM4#. FreeBSD also supports dumb multi-port serial interface " +"cards, such as the BocaBoard 1008 and 2016, as well as more intelligent " +"multi-port cards such as those made by Digiboard. However, the default " +"kernel only looks for the standard [.filename]#COM# ports." +msgstr "" +"По умолчанию FreeBSD поддерживает четыре последовательных порта, обычно " +"известных как [.filename]#COM1#, [.filename]#COM2#, [.filename]#COM3# и " +"[.filename]#COM4#. FreeBSD также поддерживает простые многопортовые " +"последовательные интерфейсные карты, такие как BocaBoard 1008 и 2016, а " +"также более интеллектуальные многопортовые карты, например, производства " +"Digiboard. Однако стандартное ядро ищет только порты [.filename]#COM#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:382 +msgid "" +"To see if the system recognizes the serial ports, look for system boot " +"messages that start with `uart`:" +msgstr "" +"Чтобы проверить, распознает ли система последовательные порты, найдите " +"сообщения загрузки системы, начинающиеся с `uart`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:386 +#, no-wrap +msgid "# grep uart /var/run/dmesg.boot\n" +msgstr "# grep uart /var/run/dmesg.boot\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:392 +msgid "" +"If the system does not recognize all of the needed serial ports, additional " +"entries can be added to [.filename]#/boot/device.hints#. This file already " +"contains `hint.uart.0.\\*` entries for [.filename]#COM1# and `hint.uart.1.*` " +"entries for [.filename]#COM2#. When adding a port entry for " +"[.filename]#COM3# use `0x3E8`, and for [.filename]#COM4# use `0x2E8`. " +"Common IRQ addresses are `5` for [.filename]#COM3# and `9` for " +"[.filename]#COM4#." +msgstr "" +"Если система не распознает все необходимые последовательные порты, в файл " +"[.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#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:395 +msgid "" +"To determine the default set of terminal I/O settings used by the port, " +"specify its device name. This example determines the settings for the call-" +"in port on [.filename]#COM2#:" +msgstr "" +"Для определения стандартных настроек терминального ввода-вывода, " +"используемых портом, укажите имя его устройства. В этом примере определяются " +"настройки для порта вызова на [.filename]#COM2#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:399 +#, no-wrap +msgid "# stty -a -f /dev/ttyu1\n" +msgstr "# stty -a -f /dev/ttyu1\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:407 +msgid "" +"System-wide initialization of serial devices is controlled by [.filename]#/" +"etc/rc.d/serial#. This file affects the default settings of serial " +"devices. To change the settings for a device, use `stty`. By default, the " +"changed settings are in effect until the device is closed and when the " +"device is reopened, it goes back to the default set. To permanently change " +"the default set, open and adjust the settings of the initialization device. " +"For example, to turn on `CLOCAL` mode, 8 bit communication, and `XON/XOFF` " +"flow control for [.filename]#ttyu5#, type:" +msgstr "" +"Системная инициализация последовательных устройств управляется файлом " +"[.filename]#/etc/rc.d/serial#. Этот файл влияет на настройки по умолчанию " +"для последовательных устройств. Чтобы изменить настройки устройства, " +"используйте команду `stty`. По умолчанию изменённые настройки действуют до " +"закрытия устройства, а при повторном открытии устройства возвращаются " +"значения по умолчанию. Чтобы навсегда изменить настройки по умолчанию, " +"откройте и настройте параметры инициализационного устройства. Например, " +"чтобы включить режим `CLOCAL`, 8-битную передачу данных и управление потоком " +"`XON/XOFF` для устройства [.filename]#ttyu5#, введите:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:411 +#, no-wrap +msgid "# stty -f /dev/ttyu5.init clocal cs8 ixon ixoff\n" +msgstr "# stty -f /dev/ttyu5.init clocal cs8 ixon ixoff\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:415 +msgid "" +"To prevent certain settings from being changed by an application, make " +"adjustments to the locking device. For example, to lock the speed of " +"[.filename]#ttyu5# to 57600 bps, type:" +msgstr "" +"Чтобы предотвратить изменение определённых настроек приложением, внесите " +"изменения в блокирующее устройство. Например, чтобы зафиксировать скорость " +"[.filename]#ttyu5# на уровне 57600 бод, введите:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:419 +#, no-wrap +msgid "# stty -f /dev/ttyu5.lock 57600\n" +msgstr "# stty -f /dev/ttyu5.lock 57600\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:422 +msgid "" +"Now, any application that opens [.filename]#ttyu5# and tries to change the " +"speed of the port will be stuck with 57600 bps." +msgstr "" +"Теперь любое приложение, открывающее [.filename]#ttyu5# и пытающееся " +"изменить скорость порта, будет ограничено скоростью 57600 бод." + +#. type: Title == +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:424 +#, no-wrap +msgid "Terminals" +msgstr "Терминалы" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:428 +msgid "" +"Terminals provide a convenient and low-cost way to access a FreeBSD system " +"when not at the computer's console or on a connected network. This section " +"describes how to use terminals with FreeBSD." +msgstr "" +"Терминалы обеспечивают удобный и недорогой способ доступа к системе FreeBSD, " +"когда пользователь не находится за консолью компьютера или в подключенной " +"сети. В этом разделе описывается, как использовать терминалы с FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:431 +msgid "" +"The original UNIX(R) systems did not have consoles. Instead, users logged " +"in and ran programs through terminals that were connected to the computer's " +"serial ports." +msgstr "" +"Оригинальные системы UNIX(R) не имели консолей. Вместо этого пользователи " +"входили в систему и запускали программы через терминалы, подключённые к " +"последовательным портам компьютера." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:434 +msgid "" +"The ability to establish a login session on a serial port still exists in " +"nearly every UNIX(R)-like operating system today, including FreeBSD. By " +"using a terminal attached to an unused serial port, a user can log in and " +"run any text program that can normally be run on the console or in an " +"`xterm` window." +msgstr "" +"Возможность установить сеанс входа через последовательный порт до сих пор " +"присутствует практически во всех UNIX(R)-подобных операционных системах, " +"включая FreeBSD. Подключив терминал к неиспользуемому последовательному " +"порту, пользователь может войти в систему и запускать любые текстовые " +"программы, которые обычно можно запустить на консоли или в окне `xterm`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:438 +msgid "" +"Many terminals can be attached to a FreeBSD system. An older spare computer " +"can be used as a terminal wired into a more powerful computer running " +"FreeBSD. This can turn what might otherwise be a single-user computer into " +"a powerful multiple-user system." +msgstr "" +"Многие терминалы могут быть подключены к системе FreeBSD. Старый запасной " +"компьютер можно использовать в качестве терминала, подключенного к более " +"мощному компьютеру с FreeBSD. Это позволяет превратить, казалось бы, " +"однопользовательский компьютер в мощную многопользовательскую систему." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:440 +msgid "FreeBSD supports three types of terminals:" +msgstr "FreeBSD поддерживает три типа терминалов:" + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:441 +#, no-wrap +msgid "Dumb terminals" +msgstr "Простые терминалы" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:445 +msgid "" +"Dumb terminals are specialized hardware that connect to computers over " +"serial lines. They are called \"dumb\" because they have only enough " +"computational power to display, send, and receive text. No programs can be " +"run on these devices. Instead, dumb terminals connect to a computer that " +"runs the needed programs." +msgstr "" +"Простые терминалы — это специализированные аппаратные устройства, " +"подключаемые к компьютерам через последовательные линии. Они называются " +"простыми, потому что обладают лишь достаточной вычислительной мощностью для " +"отображения, отправки и приёма текста. На этих устройствах нельзя запускать " +"программы. Вместо этого простые терминалы подключаются к компьютеру, на " +"котором выполняются необходимые программы." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:448 +msgid "" +"There are hundreds of kinds of dumb terminals made by many manufacturers, " +"and just about any kind will work with FreeBSD. Some high-end terminals can " +"even display graphics, but only certain software packages can take advantage " +"of these advanced features." +msgstr "" +"Существуют сотни видов простых терминалов, выпускаемых разными " +"производителями, и практически любой из них будет работать с FreeBSD. " +"Некоторые продвинутые терминалы даже поддерживают отображение графики, но " +"только определённые программные пакеты могут использовать эти дополнительные " +"возможности." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:450 +msgid "" +"Dumb terminals are popular in work environments where workers do not need " +"access to graphical applications." +msgstr "" +"Простые терминалы популярны в рабочих средах, где сотрудникам не нужен " +"доступ к графическим приложениям." + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:451 +#, no-wrap +msgid "Computers Acting as Terminals" +msgstr "Компьютеры, выступающие в качестве терминалов" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:454 +msgid "" +"Since a dumb terminal has just enough ability to display, send, and receive " +"text, any spare computer can be a dumb terminal. All that is needed is the " +"proper cable and some _terminal emulation_ software to run on the computer." +msgstr "" +"Поскольку простой терминал обладает лишь минимальными возможностями для " +"отображения, отправки и получения текста, в его роли может выступать " +"практически любой компьютер. Всё, что для этого требуется, — это подходящий " +"кабель и _программное обеспечение для эмуляции терминала_, запущенное на " +"компьютере." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:457 +msgid "" +"This configuration can be useful. For example, if one user is busy working " +"at the FreeBSD system's console, another user can do some text-only work at " +"the same time from a less powerful personal computer hooked up as a terminal " +"to the FreeBSD system." +msgstr "" +"Такая конфигурация может быть полезной. Например, если один пользователь " +"занят работой за консолью системы FreeBSD, другой пользователь может " +"одновременно выполнять текстовые задачи на менее мощном персональном " +"компьютере, подключённом как терминал к системе FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:459 +msgid "" +"There are at least two utilities in the base-system of FreeBSD that can be " +"used to work through a serial connection: man:cu[1] and man:tip[1]." +msgstr "" +"В базовой системе FreeBSD есть как минимум две утилиты для работы через " +"последовательное соединение: man:cu[1] и man:tip[1]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:461 +msgid "" +"For example, to connect from a client system that runs FreeBSD to the serial " +"connection of another system:" +msgstr "" +"Например, чтобы подключиться с клиентской системы под управлением FreeBSD к " +"последовательному соединению другой системы:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:465 +#, no-wrap +msgid "# cu -l /dev/cuauN\n" +msgstr "# cu -l /dev/cuauN\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:469 +msgid "" +"Ports are numbered starting from zero. This means that [.filename]#COM1# is " +"[.filename]#/dev/cuau0#." +msgstr "" +"Порты нумеруются начиная с нуля. Это означает, что [.filename]#COM1# " +"соответствует [.filename]#/dev/cuau0#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:471 +msgid "" +"Additional programs are available through the Ports Collection, such as " +"package:comms/minicom[]." +msgstr "" +"Дополнительные программы доступны через Коллекцию портов, например, " +"package:comms/minicom[]." + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:472 +#, no-wrap +msgid "X Terminals" +msgstr "X Терминалы" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:476 +msgid "" +"X terminals are the most sophisticated kind of terminal available. Instead " +"of connecting to a serial port, they usually connect to a network like " +"Ethernet. Instead of being relegated to text-only applications, they can " +"display any Xorg application." +msgstr "" +"X терминалы представляют собой наиболее продвинутый тип терминалов. Вместо " +"подключения к последовательному порту они обычно работают через сеть, такую " +"как Ethernet. В отличие от ограниченных текстовыми приложениями терминалов, " +"они способны отображать любые приложения Xorg." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:478 +msgid "" +"This chapter does not cover the setup, configuration, or use of X terminals." +msgstr "" +"Эта глава не охватывает настройку, конфигурацию или использование X " +"терминалов." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:480 +#, no-wrap +msgid "Terminal Configuration" +msgstr "Настройка терминала" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:484 +msgid "" +"This section describes how to configure a FreeBSD system to enable a login " +"session on a serial terminal. It assumes that the system recognizes the " +"serial port to which the terminal is connected and that the terminal is " +"connected with the correct cable." +msgstr "" +"В этом разделе описывается, как настроить систему FreeBSD для включения " +"сеанса входа через последовательный терминал. Предполагается, что система " +"распознает последовательный порт, к которому подключен терминал, и что " +"терминал подключен с помощью правильного кабеля." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:492 +msgid "" +"In FreeBSD, `init` reads [.filename]#/etc/ttys# and starts a `getty` process " +"on the available terminals. The `getty` process is responsible for reading " +"a login name and starting the `login` program. The ports on the FreeBSD " +"system which allow logins are listed in [.filename]#/etc/ttys#. For " +"example, the first virtual console, [.filename]#ttyv0#, has an entry in this " +"file, allowing logins on the console. This file also contains entries for " +"the other virtual consoles, serial ports, and pseudo-ttys. For a hardwired " +"terminal, the serial port's [.filename]#/dev# entry is listed without the `/" +"dev` part. For example, [.filename]#/dev/ttyv0# is listed as `ttyv0`." +msgstr "" +"В FreeBSD `init` читает файл [.filename]#/etc/ttys# и запускает процесс " +"`getty` на доступных терминалах. Процесс `getty` отвечает за чтение имени " +"пользователя и запуск программы `login`. Порты в системе FreeBSD, которые " +"разрешают вход в систему, перечислены в файле [.filename]#/etc/ttys#. " +"Например, первая виртуальная консоль [.filename]#ttyv0# имеет запись в этом " +"файле, что разрешает вход на консоли. Этот файл также содержит записи для " +"других виртуальных консолей, последовательных портов и псевдо-терминалов. " +"Для физического терминала последовательный порт указывается как запись в " +"[.filename]#/dev# без части `/dev`. Например, [.filename]#/dev/ttyv0# " +"указывается как `ttyv0`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:494 +msgid "" +"The default [.filename]#/etc/ttys# configures support for the first four " +"serial ports, [.filename]#ttyu0# through [.filename]#ttyu3#:" +msgstr "" +"Файл [.filename]#/etc/ttys# по умолчанию настраивает поддержку первых " +"четырёх последовательных портов, от [.filename]#ttyu0# до [.filename]#ttyu3#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:501 +#, no-wrap +msgid "" +"ttyu0 \"/usr/libexec/getty std.115200\" dialup off secure\n" +"ttyu1 \"/usr/libexec/getty std.115200\" dialup off secure\n" +"ttyu2 \"/usr/libexec/getty std.115200\" dialup off secure\n" +"ttyu3 \"/usr/libexec/getty std.115200\" dialup off secure\n" +msgstr "" +"ttyu0 \"/usr/libexec/getty std.115200\" dialup off secure\n" +"ttyu1 \"/usr/libexec/getty std.115200\" dialup off secure\n" +"ttyu2 \"/usr/libexec/getty std.115200\" dialup off secure\n" +"ttyu3 \"/usr/libexec/getty std.115200\" dialup off secure\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:505 +msgid "" +"When attaching a terminal to one of those ports, modify the default entry to " +"set the required speed and terminal type, to turn the device `on` and, if " +"needed, to change the port's `secure` setting. If the terminal is connected " +"to another port, add an entry for the port." +msgstr "" +"При подключении терминала к одному из этих портов измените запись по " +"умолчанию, чтобы установить необходимую скорость и тип терминала, включить " +"устройство (`on`) и, если требуется, изменить настройку `secure` для порта. " +"Если терминал подключен к другому порту, добавьте запись для этого порта." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:510 +msgid "" +"crossref:serialcomms[ex-etc-ttys,Configuring Terminal Entries] configures " +"two terminals in [.filename]#/etc/ttys#. The first entry configures a " +"Wyse-50 connected to [.filename]#COM2#. The second entry configures an old " +"computer running Procomm terminal software emulating a VT-100 terminal. The " +"computer is connected to the sixth serial port on a multi-port serial card." +msgstr "" +"В crossref:serialcomms[ex-etc-ttys,Настройка записей терминалов] " +"настраиваются два терминала в [.filename]#/etc/ttys#. Первая запись " +"настраивает терминал Wyse-50, подключённый к [.filename]#COM2#. Вторая " +"запись настраивает старый компьютер с программным обеспечением терминала " +"Procomm, эмулирующим терминал VT-100. Компьютер подключён к шестому " +"последовательному порту многопортовой последовательной платы." + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:513 +#, no-wrap +msgid "Configuring Terminal Entries" +msgstr "Настройка записей терминалов" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:520 +#, no-wrap +msgid "" +"ttyu1 \"/usr/libexec/getty std.38400\" wy50 on insecure\n" +"ttyu5 \"/usr/libexec/getty std.19200\" vt100 on insecure\n" +msgstr "" +"ttyu1 \"/usr/libexec/getty std.38400\" wy50 on insecure\n" +"ttyu5 \"/usr/libexec/getty std.19200\" vt100 on insecure\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:523 +msgid "The first field specifies the device name of the serial terminal." +msgstr "Первое поле указывает имя устройства последовательного терминала." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:533 +msgid "" +"The second field tells `getty` to initialize and open the line, set the line " +"speed, prompt for a user name, and then execute the `login` program. The " +"optional _getty type_ configures characteristics on the terminal line, like " +"bps rate and parity. The available getty types are listed in [.filename]#/" +"etc/gettytab#. In almost all cases, the getty types that start with `std` " +"will work for hardwired terminals as these entries ignore parity. There is " +"a `std` entry for each bps rate from 110 to 115200. Refer to " +"man:gettytab[5] for more information. When setting the getty type, make " +"sure to match the communications settings used by the terminal. For this " +"example, the Wyse-50 uses no parity and connects at 38400 bps. The computer " +"uses no parity and connects at 19200 bps." +msgstr "" +"Второе поле указывает `getty` инициализировать и открыть линию, установить " +"скорость линии, запросить имя пользователя и затем выполнить программу " +"`login`. Необязательный _тип getty_ настрайвает характеристики линии " +"терминала, такие как скорость передачи и контроль четности. Доступные типы " +"getty перечислены в [.filename]#/etc/gettytab#. Почти во всех случаях " +"подходят типы getty, начинающиеся с `std`, так как эти записи игнорируют " +"контроль четности. Для каждой скорости передачи от 110 до 115200 существует " +"запись `std`. Дополнительную информацию можно найти в man:gettytab[5]. При " +"настройке типа getty убедитесь, что он соответствует параметрам связи, " +"используемым терминалом. В данном примере Wyse-50 работает без контроля " +"четности и подключается на скорости 38400 бод. Компьютер также работает без " +"контроля четности и подключается на скорости 19200 бод." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:538 +msgid "" +"The third field is the type of terminal. For dial-up ports, `unknown` or " +"`dialup` is typically used since users may dial up with practically any type " +"of terminal or software. Since the terminal type does not change for " +"hardwired terminals, a real terminal type from [.filename]#/etc/termcap# can " +"be specified. For this example, the Wyse-50 uses the real terminal type " +"while the computer running Procomm is set to emulate a VT-100." +msgstr "" +"Третье поле указывает тип терминала. Для коммутируемых портов обычно " +"используется `unknown` или `dialup`, так как пользователи могут подключаться " +"практически с любым типом терминала или программного обеспечения. Поскольку " +"тип терминала не меняется для проводных терминалов, можно указать реальный " +"тип терминала из [.filename]#/etc/termcap#. В данном примере для Wyse-50 " +"используется реальный тип терминала, а для компьютера с Procomm установлена " +"эмуляция VT-100." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:541 +msgid "" +"The fourth field specifies if the port should be enabled. To enable logins " +"on this port, this field must be set to `on`." +msgstr "" +"Четвёртое поле определяет, должен ли порт быть включён. Чтобы разрешить " +"входы через этот порт, в поле должно быть указано значение `on`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:547 +msgid "" +"The final field is used to specify whether the port is secure. Marking a " +"port as `secure` means that it is trusted enough to allow `root` to login " +"from that port. Insecure ports do not allow `root` logins. On an insecure " +"port, users must login from unprivileged accounts and then use `su` or a " +"similar mechanism to gain superuser privileges, as described in " +"crossref:basics[users-superuser,“The Superuser Account”]. For security " +"reasons, it is recommended to change this setting to `insecure`." +msgstr "" +"Последнее поле используется для указания, является ли порт безопасным. " +"Пометка порта как `secure` означает, что он считается достаточно доверенным, " +"чтобы разрешить вход `root` с этого порта. Небезопасные порты не позволяют " +"вход под `root`. На небезопасном порту пользователи должны входить с " +"непривилегированных учетных записей, а затем использовать `su` или " +"аналогичный механизм для получения прав суперпользователя, как описано в " +"crossref:basics[users-superuser,“Учетная запись суперпользователя”]. В целях " +"безопасности рекомендуется изменить этот параметр на `insecure`." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:550 +msgid "" +"After making any changes to [.filename]#/etc/ttys#, send a SIGHUP (hangup) " +"signal to the `init` process to force it to re-read its configuration file:" +msgstr "" +"После внесения изменений в [.filename]#/etc/ttys# отправьте сигнал SIGHUP " +"(завершения работы) процессу `init`, чтобы заставить его перечитать " +"конфигурационный файл:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:554 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:729 +#, no-wrap +msgid "# kill -HUP 1\n" +msgstr "# kill -HUP 1\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:557 +msgid "" +"Since `init` is always the first process run on a system, it always has a " +"process ID of `1`." +msgstr "" +"Поскольку `init` всегда является первым процессом, запускаемым в системе, " +"его идентификатор процесса всегда равен `1`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:559 +msgid "" +"If everything is set up correctly, all cables are in place, and the " +"terminals are powered up, a `getty` process should now be running on each " +"terminal and login prompts should be available on each terminal." +msgstr "" +"Если всё настроено правильно, все кабели подключены, и терминалы включены, " +"процесс `getty` должен быть запущен на каждом терминале, и на каждом " +"терминале должна быть доступна приглашение для входа в систему." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:561 +#, no-wrap +msgid "Troubleshooting the Connection" +msgstr "Устранение проблем с подключением" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:565 +msgid "" +"Even with the most meticulous attention to detail, something could still go " +"wrong while setting up a terminal. Here is a list of common symptoms and " +"some suggested fixes." +msgstr "" +"Даже при самом тщательном внимании к деталям что-то может пойти не так при " +"настройке терминала. Вот список распространённых симптомов и некоторые " +"предлагаемые решения." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:568 +msgid "" +"If no login prompt appears, make sure the terminal is plugged in and powered " +"up. If it is a personal computer acting as a terminal, make sure it is " +"running terminal emulation software on the correct serial port." +msgstr "" +"Если приглашение для входа не появляется, убедитесь, что терминал подключен " +"и включен. Если в качестве терминала используется персональный компьютер, " +"убедитесь, что на нём запущено программное обеспечение эмуляции терминала на " +"правильном последовательном порту." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:571 +msgid "" +"Make sure the cable is connected firmly to both the terminal and the FreeBSD " +"computer. Make sure it is the right kind of cable." +msgstr "" +"Убедитесь, что кабель надежно подключен как к терминалу, так и к компьютеру " +"с FreeBSD. Убедитесь, что используется правильный тип кабеля." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:575 +msgid "" +"Make sure the terminal and FreeBSD agree on the bps rate and parity " +"settings. For a video display terminal, make sure the contrast and " +"brightness controls are turned up. If it is a printing terminal, make sure " +"paper and ink are in good supply." +msgstr "" +"Убедитесь, что терминал и FreeBSD используют одинаковые скорость (bps) и " +"настройки четности. Для видеотерминала убедитесь, что регуляторы " +"контрастности и яркости включены. Если это печатающий терминал, проверьте " +"наличие бумаги и чернил." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:578 +msgid "" +"Use `ps` to make sure that a `getty` process is running and serving the " +"terminal. For example, the following listing shows that a `getty` is " +"running on the second serial port, [.filename]#ttyu1#, and is using the " +"`std.38400` entry in [.filename]#/etc/gettytab#:" +msgstr "" +"Используйте `ps`, чтобы убедиться, что процесс `getty` запущен и обслуживает " +"терминал. Например, следующий вывод показывает, что `getty` работает на " +"втором последовательном порту, [.filename]#ttyu1#, и использует запись " +"`std.38400` в файле [.filename]#/etc/gettytab#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:583 +#, no-wrap +msgid "" +"# ps -axww|grep ttyu\n" +"22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1\n" +msgstr "" +"# ps -axww|grep ttyu\n" +"22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:587 +msgid "" +"If no `getty` process is running, make sure the port is enabled in " +"[.filename]#/etc/ttys#. Remember to run `kill -HUP 1` after modifying " +"[.filename]#/etc/ttys#." +msgstr "" +"Если процесс `getty` не запущен, убедитесь, что порт включен в файле " +"[.filename]#/etc/ttys#. Не забудьте выполнить `kill -HUP 1` после изменения " +"файла [.filename]#/etc/ttys#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:592 +msgid "" +"If the `getty` process is running but the terminal still does not display a " +"login prompt, or if it displays a prompt but will not accept typed input, " +"the terminal or cable may not support hardware handshaking. Try changing " +"the entry in [.filename]#/etc/ttys# from `std.38400` to `3wire.38400`, then " +"run `kill -HUP 1` after modifying [.filename]#/etc/ttys#. The `3wire` entry " +"is similar to `std`, but ignores hardware handshaking. The bps may also " +"need to be reduced or software flow control enabled when using `3wire` to " +"prevent buffer overflows." +msgstr "" +"Если процесс `getty` работает, но терминал по-прежнему не отображает " +"приглашение для входа, или если он отображает приглашение, но не принимает " +"вводимые данные, возможно, терминал или кабель не поддерживают аппаратное " +"подтверждение связи. Попробуйте изменить запись в [.filename]#/etc/ttys# с " +"`std.38400` на `3wire.38400`, затем выполните `kill -HUP 1` после изменения " +"[.filename]#/etc/ttys#. Запись `3wire` аналогична `std`, но игнорирует " +"аппаратное подтверждение связи. Также может потребоваться уменьшить скорость " +"передачи данных или включить программное управление потоком при " +"использовании `3wire`, чтобы избежать переполнения буфера." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:596 +msgid "" +"If garbage appears instead of a login prompt, make sure the terminal and " +"FreeBSD agree on the bps rate and parity settings. Check the `getty` " +"processes to make sure the correct _getty_ type is in use. If not, edit " +"[.filename]#/etc/ttys# and run `kill -HUP 1`." +msgstr "" +"Если вместо приглашения к входу в систему появляется мусор, убедитесь, что " +"терминал и FreeBSD используют одинаковые скорость (bps) и настройки " +"четности. Проверьте процессы `getty`, чтобы убедиться, что используется " +"правильный тип _getty_. Если это не так, отредактируйте файл [.filename]#/" +"etc/ttys# и выполните команду `kill -HUP 1`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:598 +msgid "" +"If characters appear doubled and the password appears when typed, switch the " +"terminal, or the terminal emulation software, from \"half duplex\" or " +"\"local echo\" to \"full duplex.\"" +msgstr "" +"Если символы отображаются удвоенными, а пароль виден при вводе, переключите " +"терминал или программу эмуляции терминала из режима «полудуплексный» или " +"«локальный эхо-контроль» в режим «полнодуплексный»." + +#. type: Title == +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:600 +#, no-wrap +msgid "Dial-in Service" +msgstr "Входящие соединения по модему" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:604 +msgid "" +"Configuring a FreeBSD system for dial-in service is similar to configuring " +"terminals, except that modems are used instead of terminal devices. FreeBSD " +"supports both external and internal modems." +msgstr "" +"Настройка системы FreeBSD для предоставления входящих соединений аналогична " +"настройке терминалов, за исключением того, что вместо терминальных устройств " +"используются модемы. FreeBSD поддерживает как внешние, так и внутренние " +"модемы." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:606 +msgid "" +"External modems are more convenient because they often can be configured via " +"parameters stored in non-volatile RAM and they usually provide lighted " +"indicators that display the state of important RS-232 signals, indicating " +"whether the modem is operating properly." +msgstr "" +"Внешние модемы удобнее, так как их часто можно настроить с помощью " +"параметров, хранящихся в энергонезависимой памяти, и они обычно оснащены " +"световыми индикаторами, отображающими состояние важных сигналов RS-232, что " +"позволяет определить, работает ли модем правильно." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:609 +msgid "" +"Internal modems usually lack non-volatile RAM, so their configuration may be " +"limited to setting DIP switches. If the internal modem has any signal " +"indicator lights, they are difficult to view when the system's cover is in " +"place." +msgstr "" +"Внутренние модемы обычно не имеют энергонезависимой памяти, поэтому их " +"настройка может ограничиваться установкой перемычек. Если у внутреннего " +"модема есть индикаторные лампы, их трудно увидеть, когда корпус системы " +"закрыт." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:612 +msgid "" +"When using an external modem, a proper cable is needed. A standard RS-232C " +"serial cable should suffice." +msgstr "" +"При использовании внешнего модема необходим соответствующий кабель. " +"Достаточно стандартного последовательного кабеля RS-232C." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:616 +msgid "" +"FreeBSD needs the RTS and CTS signals for flow control at speeds above 2400 " +"bps, the CD signal to detect when a call has been answered or the line has " +"been hung up, and the DTR signal to reset the modem after a session is " +"complete. Some cables are wired without all of the needed signals, so if a " +"login session does not go away when the line hangs up, there may be a " +"problem with the cable. Refer to crossref:serialcomms[term-cables-null, " +"Serial Cables and Ports] for more information about these signals." +msgstr "" +"FreeBSD требует сигналов RTS и CTS для управления потоком данных на " +"скоростях выше 2400 бит/с, сигнала CD для определения ответа на вызов или " +"завершения соединения, а также сигнала DTR для сброса модема после " +"завершения сеанса. Некоторые кабели подключены без всех необходимых " +"сигналов, поэтому, если сеанс входа в систему не завершается при разрыве " +"соединения, проблема может быть в кабеле. Дополнительную информацию об этих " +"сигналах можно найти в разделе crossref:serialcomms[term-cables-null, " +"Последовательные кабели и порты]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:619 +msgid "" +"Like other UNIX(R)-like operating systems, FreeBSD uses the hardware signals " +"to find out when a call has been answered or a line has been hung up and to " +"hangup and reset the modem after a call. FreeBSD avoids sending commands to " +"the modem or watching for status reports from the modem." +msgstr "" +"Как и другие UNIX(R)-подобные операционные системы, FreeBSD использует " +"аппаратные сигналы для определения ответа на вызов или завершения " +"соединения, а также для сброса и разрыва соединения модема после вызова. " +"FreeBSD избегает отправки команд модему или отслеживания его статусных " +"отчетов." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:626 +msgid "" +"FreeBSD supports the NS8250, NS16450, NS16550, and NS16550A-based RS-232C " +"(CCITT V.24) communications interfaces. The 8250 and 16450 devices have " +"single-character buffers. The 16550 device provides a 16-character buffer, " +"which allows for better system performance. Bugs in plain 16550 devices " +"prevent the use of the 16-character buffer, so use 16550A devices if " +"possible. As single-character-buffer devices require more work by the " +"operating system than the 16-character-buffer devices, 16550A-based serial " +"interface cards are preferred. If the system has many active serial ports " +"or will have a heavy load, 16550A-based cards are better for low-error-rate " +"communications." +msgstr "" +"FreeBSD поддерживает интерфейсы связи RS-232C (CCITT V.24) на основе NS8250, " +"NS16450, NS16550 и NS16550A. Устройства 8250 и 16450 имеют однобайтовые " +"буферы. Устройство 16550 предоставляет 16-байтовый буфер, что позволяет " +"повысить производительность системы. Ошибки в обычных чипах 16550 не " +"позволяют использовать 16-байтовый буфер, поэтому по возможности следует " +"использовать устройства 16550A. Поскольку устройства с однобайтовым буфером " +"требуют больше работы от операционной системы, чем устройства с 16-байтовым " +"буфером, предпочтительнее использовать последовательные интерфейсные карты " +"на основе 16550A. Если в системе много активных последовательных портов или " +"ожидается высокая нагрузка, карты на основе 16550A обеспечивают более " +"надежную связь с низким уровнем ошибок." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:628 +msgid "" +"The rest of this section demonstrates how to configure a modem to receive " +"incoming connections, how to communicate with the modem, and offers some " +"troubleshooting tips." +msgstr "" +"Оставшаяся часть этого раздела демонстрирует, как настроить модем для приема " +"входящих соединений, как взаимодействовать с модемом, а также предлагает " +"несколько советов по устранению неполадок." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:630 +#, no-wrap +msgid "Modem Configuration" +msgstr "Настройка модема" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:637 +msgid "" +"As with terminals, `init` spawns a `getty` process for each configured " +"serial port used for dial-in connections. When a user dials the modem's " +"line and the modems connect, the \"Carrier Detect\" signal is reported by " +"the modem. The kernel notices that the carrier has been detected and " +"instructs `getty` to open the port and display a `login:` prompt at the " +"specified initial line speed. In a typical configuration, if garbage " +"characters are received, usually due to the modem's connection speed being " +"different than the configured speed, `getty` tries adjusting the line speeds " +"until it receives reasonable characters. After the user enters their login " +"name, `getty` executes `login`, which completes the login process by asking " +"for the user's password and then starting the user's shell." +msgstr "" +"Как и в случае с терминалами, `init` запускает процесс `getty` для каждого " +"настроенного последовательного порта, используемого для входящих соединений. " +"Когда пользователь дозванивается по линии модема и модемы соединяются, модем " +"сообщает о сигнале \"Carrier Detect\". Ядро обнаруживает наличие несущей и " +"указывает `getty` открыть порт и вывести приглашение `login:` с указанной " +"начальной скоростью линии. В типичной конфигурации, если получены " +"некорректные символы (обычно из-за несоответствия скорости соединения модема " +"и настроенной скорости), `getty` пытается изменить скорость линии, пока не " +"получит разборчивые символы. После того как пользователь вводит имя для " +"входа, `getty` запускает `login`, который завершает процесс входа, " +"запрашивая пароль пользователя и затем запуская его оболочку." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:642 +msgid "" +"There are two schools of thought regarding dial-up modems. One " +"configuration method is to set the modems and systems so that no matter at " +"what speed a remote user dials in, the dial-in RS-232 interface runs at a " +"locked speed. The benefit of this configuration is that the remote user " +"always sees a system login prompt immediately. The downside is that the " +"system does not know what a user's true data rate is, so full-screen " +"programs like Emacs will not adjust their screen-painting methods to make " +"their response better for slower connections." +msgstr "" +"Существует два подхода к настройке модемов для коммутируемого доступа. " +"Первый метод заключается в том, чтобы настроить модемы и систему таким " +"образом, что независимо от скорости, с которой удалённый пользователь " +"подключается, скорость интерфейса RS-232 остаётся фиксированной. " +"Преимущество такой настройки в том, что удалённый пользователь всегда сразу " +"видит приглашение системы к вводу логина. Недостаток же состоит в том, что " +"система не знает реальной скорости передачи данных пользователя, поэтому " +"полноэкранные программы, такие как Emacs, не могут адаптировать методы " +"отрисовки экрана для улучшения отклика на медленных соединениях." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:649 +msgid "" +"The second method is to configure the RS-232 interface to vary its speed " +"based on the remote user's connection speed. As `getty` does not understand " +"any particular modem's connection speed reporting, it gives a `login:` " +"message at an initial speed and watches the characters that come back in " +"response. If the user sees junk, they should press kbd:[Enter] until they " +"see a recognizable prompt. If the data rates do not match, `getty` sees " +"anything the user types as junk, tries the next speed, and gives the " +"`login:` prompt again. This procedure normally only takes a keystroke or " +"two before the user sees a good prompt. This login sequence does not look " +"as clean as the locked-speed method, but a user on a low-speed connection " +"should receive better interactive response from full-screen programs." +msgstr "" +"Второй способ заключается в настройке интерфейса RS-232 для изменения " +"скорости в зависимости от скорости соединения удаленного пользователя. " +"Поскольку `getty` не понимает отчеты о скорости соединения конкретного " +"модема, он выводит сообщение `login:` на начальной скорости и отслеживает " +"символы, которые приходят в ответ. Если пользователь видит непонятные " +"символы, он должен нажать kbd:[Enter], пока не увидит узнаваемое " +"приглашение. Если скорости передачи данных не совпадают, `getty` " +"воспринимает введенные пользователем символы как непонятные, переключается " +"на следующую скорость и снова выводит приглашение `login:`. Обычно для " +"появления корректного приглашения достаточно нажать одну-две клавиши. Этот " +"процесс входа выглядит не так аккуратно, как метод с фиксированной " +"скоростью, но пользователь с низкоскоростным соединением получит лучшую " +"интерактивную реакцию от полноэкранных программ." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:656 +msgid "" +"When locking a modem's data communications rate at a particular speed, no " +"changes to [.filename]#/etc/gettytab# should be needed. However, for a " +"matching-speed configuration, additional entries may be required in order to " +"define the speeds to use for the modem. This example configures a 14.4 Kbps " +"modem with a top interface speed of 19.2 Kbps using 8-bit, no parity " +"connections. It configures `getty` to start the communications rate for a " +"V.32bis connection at 19.2 Kbps, then cycles through 9600 bps, 2400 bps, " +"1200 bps, 300 bps, and back to 19.2 Kbps. Communications rate cycling is " +"implemented with the `nx=` (next table) capability. Each line uses a `tc=` " +"(table continuation) entry to pick up the rest of the settings for a " +"particular data rate." +msgstr "" +"При фиксации скорости передачи данных модема на определенном значении " +"изменения в файле [.filename]#/etc/gettytab# обычно не требуются. Однако для " +"конфигурации с согласованием скоростей могут понадобиться дополнительные " +"записи, чтобы определить скорости, используемые для модема. В этом примере " +"настраивается модем 14,4 Кбит/с с максимальной скоростью интерфейса 19,2 " +"Кбит/с при 8-битных соединениях без контроля четности. Здесь `getty` " +"настраивается на начало связи для соединения V.32bis со скоростью 19,2 Кбит/" +"с, затем перебирает скорости 9600 бит/с, 2400 бит/с, 1200 бит/с, 300 бит/с и " +"снова возвращается к 19,2 Кбит/с. Перебор скоростей связи реализуется с " +"помощью возможности `nx=` (следующая таблица). Каждая строка использует " +"запись `tc=` (продолжение таблицы) для наследования остальных параметров для " +"конкретной скорости передачи данных." + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:672 +#, no-wrap +msgid "" +"#\n" +"# Additions for a V.32bis Modem\n" +"#\n" +"um|V300|High Speed Modem at 300,8-bit:\\\n" +" :nx=V19200:tc=std.300:\n" +"un|V1200|High Speed Modem at 1200,8-bit:\\\n" +" :nx=V300:tc=std.1200:\n" +"uo|V2400|High Speed Modem at 2400,8-bit:\\\n" +" :nx=V1200:tc=std.2400:\n" +"up|V9600|High Speed Modem at 9600,8-bit:\\\n" +" :nx=V2400:tc=std.9600:\n" +"uq|V19200|High Speed Modem at 19200,8-bit:\\\n" +" :nx=V9600:tc=std.19200:\n" +msgstr "" +"#\n" +"# Additions for a V.32bis Modem\n" +"#\n" +"um|V300|High Speed Modem at 300,8-bit:\\\n" +" :nx=V19200:tc=std.300:\n" +"un|V1200|High Speed Modem at 1200,8-bit:\\\n" +" :nx=V300:tc=std.1200:\n" +"uo|V2400|High Speed Modem at 2400,8-bit:\\\n" +" :nx=V1200:tc=std.2400:\n" +"up|V9600|High Speed Modem at 9600,8-bit:\\\n" +" :nx=V2400:tc=std.9600:\n" +"uq|V19200|High Speed Modem at 19200,8-bit:\\\n" +" :nx=V9600:tc=std.19200:\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:675 +msgid "" +"For a 28.8 Kbps modem, or to take advantage of compression on a 14.4 Kbps " +"modem, use a higher communications rate, as seen in this example:" +msgstr "" +"Для модема со скоростью 28,8 Кбит/с или для использования сжатия на модеме " +"14,4 Кбит/с следует установить более высокую скорость передачи данных, как " +"показано в этом примере:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:692 +#, no-wrap +msgid "" +"#\n" +"# Additions for a V.32bis or V.34 Modem\n" +"# Starting at 57.6 Kbps\n" +"#\n" +"vm|VH300|Very High Speed Modem at 300,8-bit:\\\n" +" :nx=VH57600:tc=std.300:\n" +"vn|VH1200|Very High Speed Modem at 1200,8-bit:\\\n" +" :nx=VH300:tc=std.1200:\n" +"vo|VH2400|Very High Speed Modem at 2400,8-bit:\\\n" +" :nx=VH1200:tc=std.2400:\n" +"vp|VH9600|Very High Speed Modem at 9600,8-bit:\\\n" +" :nx=VH2400:tc=std.9600:\n" +"vq|VH57600|Very High Speed Modem at 57600,8-bit:\\\n" +" :nx=VH9600:tc=std.57600:\n" +msgstr "" +"#\n" +"# Additions for a V.32bis or V.34 Modem\n" +"# Starting at 57.6 Kbps\n" +"#\n" +"vm|VH300|Very High Speed Modem at 300,8-bit:\\\n" +" :nx=VH57600:tc=std.300:\n" +"vn|VH1200|Very High Speed Modem at 1200,8-bit:\\\n" +" :nx=VH300:tc=std.1200:\n" +"vo|VH2400|Very High Speed Modem at 2400,8-bit:\\\n" +" :nx=VH1200:tc=std.2400:\n" +"vp|VH9600|Very High Speed Modem at 9600,8-bit:\\\n" +" :nx=VH2400:tc=std.9600:\n" +"vq|VH57600|Very High Speed Modem at 57600,8-bit:\\\n" +" :nx=VH9600:tc=std.57600:\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:695 +msgid "" +"For a slow CPU or a heavily loaded system without 16550A-based serial ports, " +"this configuration may produce `uart` \"silo\" errors at 57.6 Kbps." +msgstr "" +"Для медленного процессора или сильно загруженной системы без " +"последовательных портов на базе 16550A такая конфигурация может вызывать " +"ошибки \"silo\" в `uart` на скорости 57,6 Кбит/с." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:699 +msgid "" +"The configuration of [.filename]#/etc/ttys# is similar to " +"crossref:serialcomms[ex-etc-ttys,Configuring Terminal Entries], but a " +"different argument is passed to `getty` and `dialup` is used for the " +"terminal type. Replace _xxx_ with the process `init` will run on the device:" +msgstr "" +"Конфигурация [.filename]#/etc/ttys# аналогична crossref:serialcomms[ex-etc-" +"ttys,Конфигурация записей терминалов], но в `getty` передается другой " +"аргумент, а в качестве типа терминала используется `dialup`. Замените _xxx_ " +"на процесс, который `init` будет запускать на устройстве:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:703 +#, no-wrap +msgid "ttyu0 \"/usr/libexec/getty xxx\" dialup on\n" +msgstr "ttyu0 \"/usr/libexec/getty xxx\" dialup on\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:707 +msgid "" +"The `dialup` terminal type can be changed. For example, setting `vt102` as " +"the default terminal type allows users to use VT102 emulation on their " +"remote systems." +msgstr "" +"Тип терминала `dialup` можно изменить. Например, установка `vt102` в " +"качестве типа терминала по умолчанию позволяет пользователям использовать " +"эмуляцию VT102 на их удалённых системах." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:710 +msgid "" +"For a locked-speed configuration, specify the speed with a valid type listed " +"in [.filename]#/etc/gettytab#. This example is for a modem whose port speed " +"is locked at 19.2 Kbps:" +msgstr "" +"Для конфигурации с фиксированной скоростью укажите скорость с допустимым " +"типом, перечисленным в [.filename]#/etc/gettytab#. В этом примере показана " +"настройка для модема, скорость порта которого зафиксирована на 19,2 Кбит/с:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:714 +#, no-wrap +msgid "ttyu0 \"/usr/libexec/getty std.19200\" dialup on\n" +msgstr "ttyu0 \"/usr/libexec/getty std.19200\" dialup on\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:718 +msgid "" +"In a matching-speed configuration, the entry needs to reference the " +"appropriate beginning \"auto-baud\" entry in [.filename]#/etc/gettytab#. To " +"continue the example for a matching-speed modem that starts at 19.2 Kbps, " +"use this entry:" +msgstr "" +"В конфигурации с согласованной скоростью запись должна ссылаться на " +"соответствующую начальную запись \"автонастройки скорости\" в [.filename]#/" +"etc/gettytab#. Чтобы продолжить пример для модема с согласованной скоростью, " +"начинающего работу с 19,2 Кбит/с, используйте следующую запись:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:722 +#, no-wrap +msgid "ttyu0 \"/usr/libexec/getty V19200\" dialup on\n" +msgstr "ttyu0 \"/usr/libexec/getty V19200\" dialup on\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:725 +msgid "" +"After editing [.filename]#/etc/ttys#, wait until the modem is properly " +"configured and connected before signaling `init`:" +msgstr "" +"После редактирования [.filename]#/etc/ttys# дождитесь, пока модем будет " +"правильно настроен и подключен, прежде чем подавать сигнал `init`:" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:734 +msgid "" +"High-speed modems, like V.32, V.32bis, and V.34 modems, use hardware (`RTS/" +"CTS`) flow control. Use `stty` to set the hardware flow control flag for " +"the modem port. This example sets the `crtscts` flag on [.filename]#COM2#'s " +"dial-in and dial-out initialization devices:" +msgstr "" +"Высокоскоростные модемы, такие как V.32, V.32bis и V.34, используют " +"аппаратное управление потоком (`RTS/CTS`). Используйте `stty` для установки " +"флага аппаратного управления потоком для порта модема. В этом примере " +"устанавливается флаг `crtscts` для устройств инициализации входящих и " +"исходящих соединений на [.filename]#COM2#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:739 +#, no-wrap +msgid "" +"# stty -f /dev/ttyu1.init crtscts\n" +"# stty -f /dev/cuau1.init crtscts\n" +msgstr "" +"# stty -f /dev/ttyu1.init crtscts\n" +"# stty -f /dev/cuau1.init crtscts\n" + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:741 +#, no-wrap +msgid "Troubleshooting" +msgstr "Устранение неполадок" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:744 +msgid "" +"This section provides a few tips for troubleshooting a dial-up modem that " +"will not connect to a FreeBSD system." +msgstr "" +"В этом разделе приведены несколько советов по устранению неполадок с модемом " +"для коммутируемого доступа, который не подключается к системе FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:748 +msgid "" +"Hook up the modem to the FreeBSD system and boot the system. If the modem " +"has status indication lights, watch to see whether the modem's DTR indicator " +"lights when the `login:` prompt appears on the system's console. If it " +"lights up, that should mean that FreeBSD has started a `getty` process on " +"the appropriate communications port and is waiting for the modem to accept a " +"call." +msgstr "" +"Подключите модем к системе FreeBSD и загрузите систему. Если на модеме есть " +"индикаторы состояния, следите за тем, загорается ли индикатор DTR модема при " +"появлении приглашения `login:` на консоли системы. Если он загорается, это " +"должно означать, что FreeBSD запустила процесс `getty` на соответствующем " +"коммуникационном порту и ожидает принятия вызова модемом." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:750 +msgid "" +"If the DTR indicator does not light, login to the FreeBSD system through the " +"console and type `ps ax` to see if FreeBSD is running a `getty` process on " +"the correct port:" +msgstr "" +"Если индикатор DTR не горит, войдите в систему FreeBSD через консоль и " +"введите `ps ax`, чтобы проверить, запущен ли процесс `getty` на правильном " +"порту в FreeBSD:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:754 +#, no-wrap +msgid " 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0\n" +msgstr " 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:758 +msgid "" +"If the second column contains a `d0` instead of a `??` and the modem has not " +"accepted a call yet, this means that `getty` has completed its open on the " +"communications port. This could indicate a problem with the cabling or a " +"misconfigured modem because `getty` should not be able to open the " +"communications port until the carrier detect signal has been asserted by the " +"modem." +msgstr "" +"Если во втором столбце указано `d0` вместо `??` и модем ещё не принял " +"звонок, это означает, что `getty` завершил открытие коммуникационного порта. " +"Это может указывать на проблему с кабелем или неправильную настройку модема, " +"так как `getty` не должен иметь возможности открыть коммуникационный порт до " +"тех пор, пока модем не подал сигнал обнаружения несущей." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:761 +msgid "" +"If no `getty` processes are waiting to open the port, double-check that the " +"entry for the port is correct in [.filename]#/etc/ttys#. Also, check " +"[.filename]#/var/log/messages# to see if there are any log messages from " +"`init` or `getty`." +msgstr "" +"Если нет процессов `getty`, ожидающих открытия порта, дважды проверьте, что " +"запись для порта корректна в [.filename]#/etc/ttys#. Также проверьте " +"[.filename]#/var/log/messages#, чтобы увидеть, есть ли какие-либо сообщения " +"в логе от `init` или `getty`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:767 +msgid "" +"Next, try dialing into the system. Be sure to use 8 bits, no parity, and 1 " +"stop bit on the remote system. If a prompt does not appear right away, or " +"the prompt shows garbage, try pressing kbd:[Enter] about once per second. " +"If there is still no `login:` prompt, try sending a `BREAK`. When using a " +"high-speed modem, try dialing again after locking the dialing modem's " +"interface speed." +msgstr "" +"Далее попробуйте подключиться к системе. Убедитесь, что на удалённой системе " +"установлены 8 бит, отсутствие контроля чётности и 1 стоповый бит. Если " +"приглашение не появляется сразу или отображается как бессмыслица, попробуйте " +"нажимать kbd:[Enter] примерно раз в секунду. Если приглашение `login:` так и " +"не появилось, попробуйте отправить `BREAK`. При использовании " +"высокоскоростного модема попробуйте набрать номер ещё раз после фиксации " +"скорости интерфейса набирающего модема." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:769 +msgid "" +"If there is still no `login:` prompt, check [.filename]#/etc/gettytab# again " +"and double-check that:" +msgstr "" +"Если приглашение `login:` по-прежнему не появляется, проверьте [.filename]#/" +"etc/gettytab# ещё раз и убедитесь, что:" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:771 +msgid "" +"The initial capability name specified in the entry in [.filename]#/etc/ttys# " +"matches the name of a capability in [.filename]#/etc/gettytab#." +msgstr "" +"Изначальное название возможности, указанное в записи файла [.filename]#/etc/" +"ttys#, соответствует названию возможности в файле [.filename]#/etc/gettytab#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:772 +msgid "Each `nx=` entry matches another [.filename]#gettytab# capability name." +msgstr "" +"Каждая запись `nx=` соответствует другому имени возможности в " +"[.filename]#gettytab#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:773 +msgid "Each `tc=` entry matches another [.filename]#gettytab# capability name." +msgstr "" +"Каждая запись `tc=` соответствует другому имени возможности в " +"[.filename]#gettytab#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:776 +msgid "" +"If the modem on the FreeBSD system will not answer, make sure that the modem " +"is configured to answer the phone when DTR is asserted. If the modem seems " +"to be configured correctly, verify that the DTR line is asserted by checking " +"the modem's indicator lights." +msgstr "" +"Если модем в системе FreeBSD не отвечает, убедитесь, что он настроен на " +"ответ на звонок при активном сигнале DTR. Если модем, кажется, настроен " +"правильно, проверьте, что линия DTR активна, по индикаторам модема." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:778 +msgid "" +"If it still does not work, try sending an email to the {freebsd-questions} " +"describing the modem and the problem." +msgstr "" +"Если это по-прежнему не работает, попробуйте отправить письмо в {freebsd-" +"questions} с описанием модема и возникшей проблемы." + +#. type: Title == +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:780 +#, no-wrap +msgid "Dial-out Service" +msgstr "Исходящие соединения по модему" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:784 +msgid "" +"The following are tips for getting the host to connect over the modem to " +"another computer. This is appropriate for establishing a terminal session " +"with a remote host." +msgstr "" +"Вот несколько советов по подключению хоста через модем к другому компьютеру. " +"Это подходит для установки терминального сеанса с удалённым хостом." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:788 +msgid "" +"This kind of connection can be helpful to get a file on the Internet if " +"there are problems using PPP. If PPP is not working, use the terminal " +"session to FTP the needed file. Then use zmodem to transfer it to the " +"machine." +msgstr "" +"Такой тип соединения может быть полезен для получения файла из Интернета, " +"если возникли проблемы с использованием PPP. Если PPP не работает, " +"используйте терминальную сессию для FTP-загрузки нужного файла. Затем " +"воспользуйтесь zmodem для его передачи на машину." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:790 +#, no-wrap +msgid "Using a Stock Hayes Modem" +msgstr "Использование стандартного модема Hayes" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:794 +msgid "" +"A generic Hayes dialer is built into `tip`. Use `at=hayes` in [.filename]#/" +"etc/remote#." +msgstr "" +"В `tip` встроен стандартный Hayes-совместимый наборщик номера. Используйте " +"`at=hayes` в [.filename]#/etc/remote#." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:797 +msgid "" +"The Hayes driver is not smart enough to recognize some of the advanced " +"features of newer modems messages like `BUSY`, `NO DIALTONE`, or `CONNECT " +"115200`. Turn those messages off when using `tip` with `ATX0&W`." +msgstr "" +"Драйвер Hayes недостаточно интеллектуален, чтобы распознать некоторые " +"расширенные функции современных модемов, такие как сообщения `BUSY`, `NO " +"DIALTONE` или `CONNECT 115200`. Отключите эти сообщения при использовании " +"`tip` с помощью команды `ATX0&W`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:801 +msgid "" +"The dial timeout for `tip` is 60 seconds. The modem should use something " +"less, or else `tip` will think there is a communication problem. Try " +"`ATS7=45&W`." +msgstr "" +"Таймаут набора номера для `tip` составляет 60 секунд. Модем должен " +"использовать значение меньше, иначе `tip` решит, что возникли проблемы со " +"связью. Попробуйте `ATS7=45&W`." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:803 +#, no-wrap +msgid "Using `AT` Commands" +msgstr "Использование команд `AT`" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:807 +msgid "" +"Create a \"direct\" entry in [.filename]#/etc/remote#. For example, if the " +"modem is hooked up to the first serial port, [.filename]#/dev/cuau0#, use " +"the following line:" +msgstr "" +"Создайте запись \"direct\" в файле [.filename]#/etc/remote#. Например, если " +"модем подключён к первому последовательному порту, [.filename]#/dev/cuau0#, " +"используйте следующую строку:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:811 +#, no-wrap +msgid "cuau0:dv=/dev/cuau0:br#19200:pa=none\n" +msgstr "cuau0:dv=/dev/cuau0:br#19200:pa=none\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:815 +msgid "" +"Use the highest bps rate the modem supports in the `br` capability. Then, " +"type `tip cuau0` to connect to the modem." +msgstr "" +"Используйте наибольшую скорость передачи данных, которую поддерживает модем, " +"в параметре `br`. Затем введите `tip cuau0` для подключения к модему." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:817 +msgid "Or, use `cu` as `root` with the following command:" +msgstr "Или используйте `cu` от имени `root` с следующей командой:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:821 +#, no-wrap +msgid "# cu -lline -sspeed\n" +msgstr "# cu -lline -sspeed\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:825 +msgid "" +"_line_ is the serial port, such as [.filename]#/dev/cuau0#, and _speed_ is " +"the speed, such as `57600`. When finished entering the AT commands, type " +"`~.` to exit." +msgstr "" +"Строка _line_ указывает на последовательный порт, например, [.filename]#/dev/" +"cuau0#, а _speed_ — это скорость, например, `57600`. После завершения ввода " +"AT-команд введите `~.` для выхода." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:827 +#, no-wrap +msgid "The `@` Sign Does Not Work" +msgstr "Знак `@` не работает" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:831 +msgid "" +"The `@` sign in the phone number capability tells `tip` to look in " +"[.filename]#/etc/phones# for a phone number. But, the `@` sign is also a " +"special character in capability files like [.filename]#/etc/remote#, so it " +"needs to be escaped with a backslash:" +msgstr "" +"Знак `@` в параметре номера телефона указывает `tip` искать номер в файле " +"[.filename]#/etc/phones#. Однако, знак `@` также является специальным " +"символом в файлах параметров, таких как [.filename]#/etc/remote#, поэтому " +"его необходимо экранировать обратной косой чертой:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:835 +#, no-wrap +msgid "pn=\\@\n" +msgstr "pn=\\@\n" + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:838 +#, no-wrap +msgid "Dialing from the Command Line" +msgstr "Набор номера из командной строки" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:841 +msgid "Put a \"generic\" entry in [.filename]#/etc/remote#. For example:" +msgstr "Поместите запись \"generic\" в [.filename]#/etc/remote#. Например:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:848 +#, no-wrap +msgid "" +"tip115200|Dial any phone number at 115200 bps:\\\n" +" :dv=/dev/cuau0:br#115200:at=hayes:pa=none:du:\n" +"tip57600|Dial any phone number at 57600 bps:\\\n" +" :dv=/dev/cuau0:br#57600:at=hayes:pa=none:du:\n" +msgstr "" +"tip115200|Dial any phone number at 115200 bps:\\\n" +" :dv=/dev/cuau0:br#115200:at=hayes:pa=none:du:\n" +"tip57600|Dial any phone number at 57600 bps:\\\n" +" :dv=/dev/cuau0:br#57600:at=hayes:pa=none:du:\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:851 +msgid "This should now work:" +msgstr "Это должно теперь работать:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:855 +#, no-wrap +msgid "# tip -115200 5551234\n" +msgstr "# tip -115200 5551234\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:858 +msgid "Users who prefer `cu` over `tip`, can use a generic `cu` entry:" +msgstr "" +"Пользователи, предпочитающие `cu` вместо `tip`, могут использовать общую " +"запись `cu`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:863 +#, no-wrap +msgid "" +"cu115200|Use cu to dial any number at 115200bps:\\\n" +" :dv=/dev/cuau1:br#57600:at=hayes:pa=none:du:\n" +msgstr "" +"cu115200|Use cu to dial any number at 115200bps:\\\n" +" :dv=/dev/cuau1:br#57600:at=hayes:pa=none:du:\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:866 +msgid "and type:" +msgstr "и введите:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:870 +#, no-wrap +msgid "# cu 5551234 -s 115200\n" +msgstr "# cu 5551234 -s 115200\n" + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:873 +#, no-wrap +msgid "Setting the bps Rate" +msgstr "Установка скорости в бодах" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:878 +msgid "" +"Put in an entry for `tip1200` or `cu1200`, but go ahead and use whatever bps " +"rate is appropriate with the `br` capability. `tip` thinks a good default " +"is 1200 bps which is why it looks for a `tip1200` entry. 1200 bps does not " +"have to be used, though." +msgstr "" +"Добавьте запись для `tip1200` или `cu1200`, но используйте подходящую " +"скорость передачи (bps) с помощью возможности `br`. `tip` считает хорошим " +"значением по умолчанию 1200 bps, поэтому ищет запись `tip1200`. Однако, не " +"обязательно использовать именно 1200 bps." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:880 +#, no-wrap +msgid "Accessing a Number of Hosts Through a Terminal Server" +msgstr "Доступ к нескольким хостам через терминальный сервер" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:884 +msgid "" +"Rather than waiting until connected and typing `CONNECT _host_` each time, " +"use ``tip``'s `cm` capability. For example, these entries in [.filename]#/" +"etc/remote# will let you type `tip pain` or `tip muffin` to connect to the " +"hosts `pain` or `muffin`, and `tip deep13` to connect to the terminal server." +msgstr "" +"Вместо того чтобы каждый раз ждать подключения и вводить `CONNECT _хост_`, " +"используйте возможность `cm` в ``tip``. Например, следующие записи в " +"[.filename]#/etc/remote# позволят вам набрать `tip pain` или `tip muffin` " +"для подключения к хостам `pain` или `muffin`, а `tip deep13` — для " +"подключения к терминальному серверу." + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:893 +#, no-wrap +msgid "" +"pain|pain.deep13.com|Forrester's machine:\\\n" +" :cm=CONNECT pain\\n:tc=deep13:\n" +"muffin|muffin.deep13.com|Frank's machine:\\\n" +" :cm=CONNECT muffin\\n:tc=deep13:\n" +"deep13:Gizmonics Institute terminal server:\\\n" +" :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:\n" +msgstr "" +"pain|pain.deep13.com|Forrester's machine:\\\n" +" :cm=CONNECT pain\\n:tc=deep13:\n" +"muffin|muffin.deep13.com|Frank's machine:\\\n" +" :cm=CONNECT muffin\\n:tc=deep13:\n" +"deep13:Gizmonics Institute terminal server:\\\n" +" :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:\n" + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:896 +#, no-wrap +msgid "Using More Than One Line with `tip`" +msgstr "Использование более одного телефонного номера с `tip`" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:899 +msgid "" +"This is often a problem where a university has several modem lines and " +"several thousand students trying to use them." +msgstr "" +"Это часто оказывается проблемой, когда в университете есть несколько " +"модемных линий и несколько тысяч студентов, пытающихся до них дозвониться." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:901 +msgid "" +"Make an entry in [.filename]#/etc/remote# and use `@` for the `pn` " +"capability:" +msgstr "" +"Сделайте запись в [.filename]#/etc/remote# и используйте `@` для возможности " +"`pn`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:908 +#, no-wrap +msgid "" +"big-university:\\\n" +" :pn=\\@:tc=dialout\n" +"dialout:\\\n" +" :dv=/dev/cuau3:br#9600:at=courier:du:pa=none:\n" +msgstr "" +"big-university:\\\n" +" :pn=\\@:tc=dialout\n" +"dialout:\\\n" +" :dv=/dev/cuau3:br#9600:at=courier:du:pa=none:\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:911 +msgid "Then, list the phone numbers in [.filename]#/etc/phones#:" +msgstr "Затем перечислите номера телефонов в [.filename]#/etc/phones#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:918 +#, no-wrap +msgid "" +"big-university 5551111\n" +"big-university 5551112\n" +"big-university 5551113\n" +"big-university 5551114\n" +msgstr "" +"big-university 5551111\n" +"big-university 5551112\n" +"big-university 5551113\n" +"big-university 5551114\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:922 +msgid "" +"`tip` will try each number in the listed order, then give up. To keep " +"retrying, run `tip` in a `while` loop." +msgstr "" +"`tip` будет пробовать каждый номер в указанном порядке, затем завершит " +"работу. Для повторных попыток запустите `tip` в цикле `while`." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:924 +#, no-wrap +msgid "Using the Force Character" +msgstr "Использование управляющего символа" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:928 +msgid "" +"kbd:[Ctrl+P] is the default \"force\" character, used to tell `tip` that the " +"next character is literal data. The force character can be set to any other " +"character with the `~s` escape, which means \"set a variable.\"" +msgstr "" +"По умолчанию `kbd:[Ctrl+P]` — это символ \"принуждения\", используемый для " +"указания `tip`, что следующий символ является буквальными данными. Символ " +"принуждения можно изменить на любой другой с помощью экранирования `~s`, что " +"означает \"установить переменную\"." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:933 +msgid "" +"Type `~sforce=_single-char_` followed by a newline. _single-char_ is any " +"single character. If _single-char_ is left out, then the force character is " +"the null character, which is accessed by typing kbd:[Ctrl+2] or kbd:" +"[Ctrl+Space]. A pretty good value for _single-char_ is kbd:[Shift+Ctrl+6], " +"which is only used on some terminal servers." +msgstr "" +"Введите `~sforce=_одиночный-символ_`, затем нажмите Enter. _одиночный-" +"символ_ — это любой одиночный символ. Если _одиночный-символ_ не указан, то " +"управляющий символ будет нулевым символом, который вводится с помощью kbd:" +"[Ctrl+2] или kbd:[Ctrl+Пробел]. Хорошим значением для _одиночный-символ_ " +"может быть kbd:[Shift+Ctrl+6], который используется только на некоторых " +"терминальных серверах." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:935 +msgid "" +"To change the force character, specify the following in " +"[.filename]#~/.tiprc#:" +msgstr "" +"Чтобы изменить управляющий символ, укажите следующее в [.filename]#~/.tiprc#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:939 +#, no-wrap +msgid "force=single-char\n" +msgstr "force=single-char\n" + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:942 +#, no-wrap +msgid "Upper Case Characters" +msgstr "Верхний регистр символов" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:947 +msgid "" +"This happens when kbd:[Ctrl+A] is pressed, which is ``tip``'s \"raise " +"character\", specially designed for people with broken caps-lock keys. Use " +"`~s` to set `raisechar` to something reasonable. It can be set to be the " +"same as the force character, if neither feature is used." +msgstr "" +"Это происходит при нажатии kbd:[Ctrl+A], что является «raise character» в " +"``tip``, специально предназначенным для людей с неработающими клавишами caps-" +"lock. Используйте `~s`, чтобы установить `raisechar` в разумное значение. " +"Его можно установить таким же, как и «force character», если ни одна из " +"функций не используется." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:949 +msgid "" +"Here is a sample [.filename]#~/.tiprc# for Emacs users who need to type kbd:" +"[Ctrl+2] and kbd:[Ctrl+A]:" +msgstr "" +"Вот пример файла [.filename]#~/.tiprc# для пользователей Emacs, которым " +"нужно вводить kbd:[Ctrl+2] и kbd:[Ctrl+A]:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:954 +#, no-wrap +msgid "" +"force=^^\n" +"raisechar=^^\n" +msgstr "" +"force=^^\n" +"raisechar=^^\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:957 +msgid "The `^^` is kbd:[Shift+Ctrl+6]." +msgstr "`^^` — это kbd:[Shift+Ctrl+6]." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:959 +#, no-wrap +msgid "File Transfers with `tip`" +msgstr "Копирование файлов с помощью `tip`" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:965 +msgid "" +"When talking to another UNIX(R)-like operating system, files can be sent and " +"received using `~p` (put) and `~t` (take). These commands run `cat` and " +"`echo` on the remote system to accept and send files. The syntax is: `~p` " +"local-file [ remote-file ] `~t` remote-file [ local-file ]" +msgstr "" +"При обмене данными с другой UNIX(R)-подобной операционной системой файлы " +"можно отправлять и получать с помощью команд `~p` (put) и `~t` (take). Эти " +"команды выполняют `cat` и `echo` на удалённой системе для приёма и отправки " +"файлов. Синтаксис следующий: `~p` локальный-файл [ удалённый-файл ] `~t` " +"удалённый-файл [ локальный-файл ]" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:967 +msgid "" +"There is no error checking, so another protocol, like zmodem, should " +"probably be used." +msgstr "" +"Проверка ошибок отсутствует, поэтому следует использовать другой протокол, " +"например, zmodem." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:969 +#, no-wrap +msgid "Using zmodem with `tip`?" +msgstr "Как использовать zmodem с `tip`?" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:973 +msgid "" +"To receive files, start the sending program on the remote end. Then, type " +"`~C rz` to begin receiving them locally." +msgstr "" +"Для получения файлов запустите программу отправки на удаленной стороне. " +"Затем введите `~C rz`, чтобы начать их получение локально." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:976 +msgid "" +"To send files, start the receiving program on the remote end. Then, type " +"`~C sz _files_` to send them to the remote system." +msgstr "" +"Для отправки файлов запустите программу приема на удаленной стороне. Затем " +"введите `~C sz _файлы_`, чтобы отправить их на удаленную систему." + +#. type: Title == +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:978 +#, no-wrap +msgid "Setting Up the Serial Console" +msgstr "Настройка последовательной консоли" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:982 +msgid "" +"FreeBSD has the ability to boot a system with a dumb terminal on a serial " +"port as a console. This configuration is useful for system administrators " +"who wish to install FreeBSD on machines that have no keyboard or monitor " +"attached, and developers who want to debug the kernel or device drivers." +msgstr "" +"FreeBSD поддерживает возможность загрузки системы с использованием простого " +"терминала на последовательном порту в качестве консоли. Такая конфигурация " +"полезна для системных администраторов, которые хотят установить FreeBSD на " +"машины без подключённых клавиатуры или монитора, а также для разработчиков, " +"отлаживающих ядро или драйверы устройств." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:986 +msgid "" +"As described in crossref:boot[boot,The FreeBSD Booting Process], FreeBSD " +"employs a three stage bootstrap. The first two stages are in the boot block " +"code which is stored at the beginning of the FreeBSD slice on the boot " +"disk. The boot block then loads and runs the boot loader as the third stage " +"code." +msgstr "" +"Как описано в crossref:boot[boot,Процесс загрузки FreeBSD], FreeBSD " +"использует трехэтапную загрузку. Первые два этапа находятся в коде " +"загрузочного блока, который хранится в начале раздела FreeBSD на загрузочном " +"диске. Затем загрузочный блок загружает и запускает загрузчик в качестве " +"кода третьего этапа." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:988 +msgid "" +"In order to set up booting from a serial console, the boot block code, the " +"boot loader code, and the kernel need to be configured." +msgstr "" +"Для настройки загрузки с последовательной консоли необходимо настроить код " +"загрузочного блока, код загрузчика и ядро." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:990 +#, no-wrap +msgid "Quick Serial Console Configuration" +msgstr "Быстрая настройка последовательной консоли" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:994 +msgid "" +"This section provides a fast overview of setting up the serial console. " +"This procedure can be used when the dumb terminal is connected to " +"[.filename]#COM1#." +msgstr "" +"В этом разделе представлено краткое описание настройки последовательной " +"консоли. Данная процедура может быть использована, когда к [.filename]#COM1# " +"подключён алфавитно-цифровой терминал." + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:996 +#, no-wrap +msgid "Procedure: Configuring a Serial Console on [.filename]#COM1#" +msgstr "Процедура: Настройка последовательной консоли на [.filename]#COM1#" + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:998 +msgid "" +"Connect the serial cable to [.filename]#COM1# and the controlling terminal." +msgstr "" +"Подключите последовательный кабель к [.filename]#COM1# и управляющему " +"терминалу." + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:999 +msgid "" +"To configure boot messages to display on the serial console, issue the " +"following command as the superuser:" +msgstr "" +"Для настройки вывода загрузочных сообщений на последовательный консоль " +"выполните следующую команду от имени суперпользователя:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1003 +#, no-wrap +msgid "# echo 'console=\"comconsole\"' >> /boot/loader.conf\n" +msgstr "# echo 'console=\"comconsole\"' >> /boot/loader.conf\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1006 +msgid "" +"Edit [.filename]#/etc/ttys# and change `off` to `on` and `dialup` to `vt100` " +"for the [.filename]#ttyu0# entry. Otherwise, a password will not be required " +"to connect via the serial console, resulting in a potential security hole." +msgstr "" +"Отредактируйте файл [.filename]#/etc/ttys# и измените `off` на `on`, а " +"`dialup` на `vt100` для записи [.filename]#ttyu0#. В противном случае, для " +"подключения через последовательную консоль не потребуется пароль, что " +"создаст потенциальную уязвимость безопасности." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1007 +msgid "Reboot the system to see if the changes took effect." +msgstr "Перезагрузите систему, чтобы проверить, вступили ли изменения в силу." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1009 +msgid "" +"If a different configuration is required, see the next section for a more in-" +"depth configuration explanation." +msgstr "" +"Если требуется другая конфигурация, обратитесь к следующему разделу для " +"более подробного объяснения настройки." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1011 +#, no-wrap +msgid "In-Depth Serial Console Configuration" +msgstr "Углубленная настройка последовательной консоли" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1014 +msgid "" +"This section provides a more detailed explanation of the steps needed to " +"setup a serial console in FreeBSD." +msgstr "" +"В этом разделе представлено более подробное объяснение шагов, необходимых " +"для настройки последовательной консоли в FreeBSD." + +#. type: Block title +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1016 +#, no-wrap +msgid "Procedure: Configuring a Serial Console" +msgstr "Процедура: Настройка последовательной консоли" + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1018 +msgid "Prepare a serial cable." +msgstr "Подготовьте последовательный кабель." + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1021 +msgid "" +"Use either a null-modem cable or a standard serial cable and a null-modem " +"adapter. See crossref:serialcomms[term-cables-null, Serial Cables and " +"Ports] for a discussion on serial cables." +msgstr "" +"Используйте нуль-модемный кабель либо стандартный последовательный кабель с " +"нуль-модемным адаптером. Подробнее о последовательных кабелях см. в разделе " +"crossref:serialcomms[term-cables-null, Последовательные кабели и порты]." + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1022 +msgid "Unplug the keyboard." +msgstr "Отключите клавиатуру." + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1025 +msgid "" +"Many systems probe for the keyboard during the Power-On Self-Test (POST) and " +"will generate an error if the keyboard is not detected. Some machines will " +"refuse to boot until the keyboard is plugged in." +msgstr "" +"Многие системы проверяют наличие клавиатуры во время самотестирования при " +"включении (POST) и выдают ошибку, если клавиатура не обнаружена. Некоторые " +"компьютеры отказываются загружаться, пока клавиатура не будет подключена." + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1027 +msgid "" +"If the computer complains about the error, but boots anyway, no further " +"configuration is needed." +msgstr "" +"Если компьютер сообщает об ошибке, но всё же загружается, дальнейшая " +"настройка не требуется." + +#. type: .procedure +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1030 +msgid "" +"If the computer refuses to boot without a keyboard attached, configure the " +"BIOS so that it ignores this error. Consult the motherboard's manual for " +"details on how to do this." +msgstr "" +"Если компьютер отказывается загружаться без подключённой клавиатуры, " +"настройте BIOS так, чтобы он игнорировал эту ошибку. Подробности о том, как " +"это сделать, можно найти в руководстве к материнской плате." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1037 +msgid "" +"Try setting the keyboard to \"Not installed\" in the BIOS. This setting " +"tells the BIOS not to probe for a keyboard at power-on so it should not " +"complain if the keyboard is absent. If that option is not present in the " +"BIOS, look for an \"Halt on Error\" option instead. Setting this to \"All " +"but Keyboard\" or to \"No Errors\" will have the same effect." +msgstr "" +"Попробуйте установить значение \"Не установлена\" для клавиатуры в BIOS. " +"Этот параметр указывает BIOS не проверять наличие клавиатуры при включении, " +"поэтому он не должен выдавать ошибку при её отсутствии. Если такой опции нет " +"в BIOS, поищите параметр \"Останов при ошибке\". Установка его в значение " +"\"Все, кроме клавиатуры\" или \"Нет ошибок\" даст тот же эффект." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1041 +msgid "" +"If the system has a PS/2(R) mouse, unplug it as well. PS/2(R) mice share " +"some hardware with the keyboard and leaving the mouse plugged in can fool " +"the keyboard probe into thinking the keyboard is still there." +msgstr "" +"Если в системе есть мышь PS/2(R), её также следует отключить. Мыши PS/2(R) " +"используют общее оборудование с клавиатурой, и если оставить мышь " +"подключённой, это может ввести проверку клавиатуры в заблуждение, заставив " +"её считать, что клавиатура всё ещё подключена." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1049 +msgid "" +"While most systems will boot without a keyboard, quite a few will not boot " +"without a graphics adapter. Some systems can be configured to boot with no " +"graphics adapter by changing the \"graphics adapter\" setting in the BIOS " +"configuration to \"Not installed\". Other systems do not support this " +"option and will refuse to boot if there is no display hardware in the " +"system. With these machines, leave some kind of graphics card plugged in, " +"even if it is just a junky mono board. A monitor does not need to be " +"attached." +msgstr "" +"Хотя большинство систем загружаются без клавиатуры, многие не загрузятся без " +"графического адаптера. Некоторые системы можно настроить на загрузку без " +"графического адаптера, изменив параметр \"графический адаптер\" в " +"конфигурации BIOS на \"Не установлен\". Другие системы не поддерживают эту " +"опцию и откажутся загружаться, если в системе нет оборудования для вывода " +"изображения. На таких машинах следует оставить какой-либо графический " +"адаптер, даже если это просто старая монохромная плата. Монитор подключать " +"не обязательно." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1052 +msgid "" +"Plug a dumb terminal, an old computer with a modem program, or the serial " +"port on another UNIX(R) box into the serial port." +msgstr "" +"Подключите простой терминал, старый компьютер с модемной программой или " +"последовательный порт другого UNIX(R)-компьютера к последовательному порту." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1053 +msgid "" +"Add the appropriate `hint.uart.*` entries to [.filename]#/boot/device.hints# " +"for the serial port. Some multi-port cards also require kernel configuration " +"options. Refer to man:uart[4] for the required options and device hints for " +"each supported serial port." +msgstr "" +"Добавьте соответствующие записи `hint.uart.*` в файл [.filename]#/boot/" +"device.hints# для последовательного порта. Некоторые многопортовые карты " +"также требуют настройки параметров ядра. Рекомендуемые параметры и подсказки " +"для устройств каждого поддерживаемого последовательного порта смотрите в " +"man:uart[4]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1054 +msgid "" +"Create [.filename]#boot.config# in the root directory of the `a` partition " +"on the boot drive." +msgstr "" +"Создайте [.filename]#boot.config# в корневом каталоге раздела `a` на " +"загрузочном диске." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1058 +msgid "" +"This file instructs the boot block code how to boot the system. In order to " +"activate the serial console, one or more of the following options are " +"needed. When using multiple options, include them all on the same line:" +msgstr "" +"Этот файл указывает коду загрузочного блока, как загружать систему. Для " +"активации последовательной консоли необходима одна или несколько следующих " +"опций. При использовании нескольких опций включите их все в одну строку:" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1059 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1112 +#, no-wrap +msgid "`-h`" +msgstr "`-h`" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1064 +msgid "" +"Toggles between the internal and serial consoles. Use this to switch " +"console devices. For instance, to boot from the internal (video) console, " +"use `-h` to direct the boot loader and the kernel to use the serial port as " +"its console device. Alternatively, to boot from the serial port, use `-h` " +"to tell the boot loader and the kernel to use the video display as the " +"console instead." +msgstr "" +"Переключает между внутренней и последовательной консолями. Используйте это " +"для смены устройств консоли. Например, для загрузки с внутренней (видео) " +"консоли используйте `-h`, чтобы указать загрузчику и ядру использовать " +"последовательный порт в качестве устройства консоли. Или же, для загрузки с " +"последовательного порта, используйте `-h`, чтобы указать загрузчику и ядру " +"использовать видеодисплей в качестве консоли." + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1065 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1115 +#, no-wrap +msgid "`-D`" +msgstr "`-D`" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1071 +msgid "" +"Toggles between the single and dual console configurations. In the single " +"configuration, the console will be either the internal console (video " +"display) or the serial port, depending on the state of `-h`. In the dual " +"console configuration, both the video display and the serial port will " +"become the console at the same time, regardless of the state of `-h`. " +"However, the dual console configuration takes effect only while the boot " +"block is running. Once the boot loader gets control, the console specified " +"by `-h` becomes the only console." +msgstr "" +"Переключает между одноконсольной и двухконсольной конфигурациями. В " +"одноконсольной конфигурации консолью будет либо внутренняя консоль " +"(видеодисплей), либо последовательный порт, в зависимости от состояния `-h`. " +"В двухконсольной конфигурации и видеодисплей, и последовательный порт " +"одновременно становятся консолью, независимо от состояния `-h`. Однако " +"двухконсольная конфигурация действует только во время работы загрузочного " +"блока. Как только загрузчик получает управление, консоль, указанная с " +"помощью `-h`, становится единственной консолью." + +#. type: Labeled list +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1072 +#, no-wrap +msgid "`-P`" +msgstr "`-P`" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1074 +msgid "" +"Makes the boot block probe the keyboard. If no keyboard is found, the `-D` " +"and `-h` options are automatically set." +msgstr "" +"Заставляет загрузочный блок проверять наличие клавиатуры. Если клавиатура не " +"обнаружена, опции `-D` и `-h` устанавливаются автоматически." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1081 +msgid "" +"Due to space constraints in the current version of the boot blocks, `-P` is " +"capable of detecting extended keyboards only. Keyboards with less than 101 " +"keys and without F11 and F12 keys may not be detected. Keyboards on some " +"laptops may not be properly found because of this limitation. If this is " +"the case, do not use `-P`." +msgstr "" +"Из-за ограничений места в текущей версии загрузочных блоков, `-P` способен " +"обнаруживать только расширенные клавиатуры. Клавиатуры с менее чем 101 " +"клавишей и без клавиш F11 и F12 могут не быть обнаружены. Клавиатуры на " +"некоторых ноутбуках могут не находиться корректно из-за этого ограничения. " +"Если это так, не используйте `-P`." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1085 +msgid "" +"Use either `-P` to select the console automatically or `-h` to activate the " +"serial console. Refer to man:boot[8] and man:boot.config[5] for more " +"details." +msgstr "" +"Используйте `-P` для автоматического выбора консоли или `-h` для активации " +"последовательной консоли. Подробности смотрите в man:boot[8] и " +"man:boot.config[5]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1089 +msgid "" +"The options, except for `-P`, are passed to the boot loader. The boot " +"loader will determine whether the internal video or the serial port should " +"become the console by examining the state of `-h`. This means that if `-D` " +"is specified but `-h` is not specified in [.filename]#/boot.config#, the " +"serial port can be used as the console only during the boot block as the " +"boot loader will use the internal video display as the console." +msgstr "" +"Параметры, за исключением `-P`, передаются загрузчику. Загрузчик определит, " +"должна ли внутренняя видеосистема или последовательный порт быть консолью, " +"анализируя состояние параметра `-h`. Это означает, что если указан `-D`, но " +"параметр `-h` не указан в [.filename]#/boot.config#, последовательный порт " +"может использоваться в качестве консоли только во время загрузки блока, так " +"как загрузчик будет использовать внутренний видеоадаптер в качестве консоли." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1090 +msgid "Boot the machine." +msgstr "Загрузите компьютер." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1092 +msgid "" +"When FreeBSD starts, the boot blocks echo the contents of [.filename]#/" +"boot.config# to the console. For example:" +msgstr "" +"При загрузке FreeBSD загрузочные блоки выводят содержимое файла [.filename]#/" +"boot.config# на консоль. Например:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1097 +#, no-wrap +msgid "" +"/boot.config: -P\n" +"Keyboard: no\n" +msgstr "" +"/boot.config: -P\n" +"Keyboard: no\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1101 +msgid "" +"The second line appears only if `-P` is in [.filename]#/boot.config# and " +"indicates the presence or absence of the keyboard. These messages go to " +"either the serial or internal console, or both, depending on the option in " +"[.filename]#/boot.config#:" +msgstr "" +"Вторая строка появляется только при наличии `-P` в [.filename]#/boot.config# " +"и указывает на наличие или отсутствие клавиатуры. Эти сообщения выводятся на " +"последовательный или внутренний консоль, или на оба, в зависимости от опции " +"в [.filename]#/boot.config#:" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1106 +#, no-wrap +msgid "Options" +msgstr "Опции" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1108 +#, no-wrap +msgid "Message goes to" +msgstr "Сообщение отправляется на" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1109 +#, no-wrap +msgid "none" +msgstr "none" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1111 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1123 +#, no-wrap +msgid "internal console" +msgstr "внутреннюю консоль" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1114 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1125 +#, no-wrap +msgid "serial console" +msgstr "последовательную консоль" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1117 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1120 +#, no-wrap +msgid "serial and internal consoles" +msgstr "последовательную и внутреннюю консоли" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1118 +#, no-wrap +msgid "`-Dh`" +msgstr "`-Dh`" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1121 +#, no-wrap +msgid "`-P`, keyboard present" +msgstr "`-P`, клавиатура подключена" + +#. type: Table +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1124 +#, no-wrap +msgid "`-P`, keyboard absent" +msgstr "`-Р`, клавиатура отсутствует" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1129 +msgid "" +"After the message, there will be a small pause before the boot blocks " +"continue loading the boot loader and before any further messages are printed " +"to the console. Under normal circumstances, there is no need to interrupt " +"the boot blocks, but one can do so in order to make sure things are set up " +"correctly." +msgstr "" +"После сообщения будет небольшая пауза перед тем, как загрузочные блоки " +"продолжат загрузку и выполнение загрузчика и до вывода следующих сообщений " +"на консоль. В обычных условиях нет необходимости прерывать работу " +"загрузочных блоков, но это можно сделать, чтобы убедиться, что всё настроено " +"правильно." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1132 +msgid "" +"Press any key, other than kbd:[Enter], at the console to interrupt the boot " +"process. The boot blocks will then prompt for further action:" +msgstr "" +"Нажмите любую клавишу, кроме kbd:[Enter], на консоли, чтобы прервать процесс " +"загрузки. Затем загрузочные блоки запросят дальнейшие действия:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1138 +#, no-wrap +msgid "" +">> FreeBSD/i386 BOOT\n" +"Default: 0:ad(0,a)/boot/loader\n" +"boot:\n" +msgstr "" +">> FreeBSD/i386 BOOT\n" +"Default: 0:ad(0,a)/boot/loader\n" +"boot:\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1142 +msgid "" +"Verify that the above message appears on either the serial or internal " +"console, or both, according to the options in [.filename]#/boot.config#. If " +"the message appears in the correct console, press kbd:[Enter] to continue " +"the boot process." +msgstr "" +"Убедитесь, что указанное сообщение появилось на последовательном или " +"внутреннем консоле, или на обоих, в соответствии с параметрами в " +"[.filename]#/boot.config#. Если сообщение появилось на правильной консоли, " +"нажмите kbd:[Enter] для продолжения процесса загрузки." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1146 +msgid "" +"If there is no prompt on the serial terminal, something is wrong with the " +"settings. Enter `-h` then kbd:[Enter] or kbd:[Return] to tell the boot " +"block (and then the boot loader and the kernel) to choose the serial port " +"for the console. Once the system is up, go back and check what went wrong." +msgstr "" +"Если на последовательном терминале нет приглашения, значит, что-то не так с " +"настройками. Введите `-h`, затем kbd:[Enter] или kbd:[Return], чтобы указать " +"загрузочному блоку (а затем загрузчику и ядру) выбрать последовательный порт " +"для консоли. После загрузки системы вернитесь и проверьте, что пошло не так." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1149 +msgid "" +"During the third stage of the boot process, one can still switch between the " +"internal console and the serial console by setting appropriate environment " +"variables in the boot loader. See man:loader[8] for more information." +msgstr "" +"На третьем этапе процесса загрузки можно по-прежнему переключаться между " +"внутренней консолью и последовательной консолью, установив соответствующие " +"переменные окружения в загрузчике. Подробнее см. в man:loader[8]." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1153 +msgid "" +"This line in [.filename]#/boot/loader.conf# or [.filename]#/boot/" +"loader.conf.local# configures the boot loader and the kernel to send their " +"boot messages to the serial console, regardless of the options in " +"[.filename]#/boot.config#:" +msgstr "" +"Эта строка в [.filename]#/boot/loader.conf# или [.filename]#/boot/" +"loader.conf.local# настраивает загрузчик и ядро для отправки загрузочных " +"сообщений на последовательную консоль, независимо от параметров в " +"[.filename]#/boot.config#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1157 +#, no-wrap +msgid "console=\"comconsole\"\n" +msgstr "console=\"comconsole\"\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1160 +msgid "" +"That line should be the first line of [.filename]#/boot/loader.conf# so that " +"boot messages are displayed on the serial console as early as possible." +msgstr "" +"Эта строка должна быть первой в [.filename]#/boot/loader.conf#, чтобы " +"сообщения загрузки выводились на последовательную консоль как можно раньше." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1163 +msgid "" +"If that line does not exist, or if it is set to `console=\"vidconsole\"`, " +"the boot loader and the kernel will use whichever console is indicated by `-" +"h` in the boot block. See man:loader.conf[5] for more information." +msgstr "" +"Если эта строка отсутствует или имеет значение `console=\"vidconsole\"`, " +"загрузчик и ядро будут использовать консоль, указанную параметром `-h` в " +"загрузочном блоке. Подробнее см. в man:loader.conf[5]." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1165 +msgid "" +"At the moment, the boot loader has no option equivalent to `-P` in the boot " +"block, and there is no provision to automatically select the internal " +"console and the serial console based on the presence of the keyboard." +msgstr "" +"На данный момент загрузчик не имеет опции, аналогичной `-P` в загрузочном " +"блоке, и не предусмотрена возможность автоматического выбора внутренней " +"консоли и последовательной консоли в зависимости от наличия клавиатуры." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1173 +msgid "" +"While it is not required, it is possible to provide a `login` prompt over " +"the serial line. To configure this, edit the entry for the serial port in " +"[.filename]#/etc/ttys# using the instructions in crossref:serialcomms[term-" +"config, Terminal Configuration]. If the speed of the serial port has been " +"changed, change `std.115200` to match the new setting." +msgstr "" +"Хотя это и не обязательно, можно настроить вывод приглашения `login` через " +"последовательный порт. Для этого отредактируйте запись для последовательного " +"порта в [.filename]#/etc/ttys#, следуя инструкциям в " +"crossref:serialcomms[term-config, Настройка терминала]. Если скорость " +"последовательного порта была изменена, замените `std.115200` на новое " +"значение." + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1175 +#, no-wrap +msgid "Setting a Faster Serial Port Speed" +msgstr "Установка более высокой скорости последовательного порта" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1179 +msgid "" +"By default, the serial port settings are 115200 baud, 8 bits, no parity, and " +"1 stop bit. To change the default console speed, use one of the following " +"options:" +msgstr "" +"По умолчанию настройки последовательного порта: скорость 115200 бод, 8 бит " +"данных, без контроля чётности и 1 стоповый бит. Чтобы изменить стандартную " +"скорость консоли, используйте один из следующих вариантов:" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1182 +msgid "" +"Edit [.filename]#/etc/make.conf# and set `BOOT_COMCONSOLE_SPEED` to the new " +"console speed. Then, recompile and install the boot blocks and the boot " +"loader:" +msgstr "" +"Отредактируйте файл [.filename]#/etc/make.conf# и установите значение " +"`BOOT_COMCONSOLE_SPEED` на новую скорость консоли. Затем перекомпилируйте и " +"установите загрузочные блоки и загрузчик:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1189 +#, no-wrap +msgid "" +"# cd /sys/boot\n" +"# make clean\n" +"# make\n" +"# make install\n" +msgstr "" +"# cd /sys/boot\n" +"# make clean\n" +"# make\n" +"# make install\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1192 +msgid "" +"If the serial console is configured in some other way than by booting with `-" +"h`, or if the serial console used by the kernel is different from the one " +"used by the boot blocks, add the following option, with the desired speed, " +"to a custom kernel configuration file and compile a new kernel:" +msgstr "" +"Если последовательная консоль настроена иным способом, кроме загрузки с `-" +"h`, или если последовательная консоль, используемая ядром, отличается от " +"той, что используется загрузочными блоками, добавьте следующую опцию с " +"нужной скоростью в файл конфигурации собственного ядра и соберите новое ядро:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1196 +#, no-wrap +msgid "options CONSPEED=19200\n" +msgstr "options CONSPEED=19200\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1199 +msgid "" +"Add the `-S__19200__` boot option to [.filename]#/boot.config#, replacing " +"`_19200_` with the speed to use." +msgstr "" +"Добавьте параметр загрузки `-S__19200__` в [.filename]#/boot.config#, " +"заменив `_19200_` на нужную скорость." + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1200 +msgid "" +"Add the following options to [.filename]#/boot/loader.conf#. Replace " +"`_115200_` with the speed to use." +msgstr "" +"Добавьте следующие параметры в [.filename]#/boot/loader.conf#. Замените " +"`_115200_` на нужную скорость." + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1207 +#, no-wrap +msgid "" +"boot_multicons=\"YES\"\n" +"boot_serial=\"YES\"\n" +"comconsole_speed=\"115200\"\n" +"console=\"comconsole,vidconsole\"\n" +msgstr "" +"boot_multicons=\"YES\"\n" +"boot_serial=\"YES\"\n" +"comconsole_speed=\"115200\"\n" +"console=\"comconsole,vidconsole\"\n" + +#. type: Title === +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1210 +#, no-wrap +msgid "Entering the DDB Debugger from the Serial Line" +msgstr "Вход в отладчик DDB с последовательной линии" + +#. type: Plain text +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1215 +msgid "" +"To configure the ability to drop into the kernel debugger from the serial " +"console, add the following options to a custom kernel configuration file and " +"compile the kernel using the instructions in " +"crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]. Note " +"that while this is useful for remote diagnostics, it is also dangerous if a " +"spurious BREAK is generated on the serial port. Refer to man:ddb[4] and " +"man:ddb[8] for more information about the kernel debugger." +msgstr "" +"Для настройки возможности перехода в отладчик ядра с последовательной " +"консоли добавьте следующие параметры в пользовательский конфигурационный " +"файл ядра и соберите ядро, используя инструкции из " +"crossref:kernelconfig[kernelconfig,Настройка ядра FreeBSD]. Обратите " +"внимание, что хотя это полезно для удалённой диагностики, это также опасно, " +"если на последовательном порту генерируется ложный BREAK. Дополнительную " +"информацию об отладчике ядра можно найти в man:ddb[4] и man:ddb[8]." + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/serialcomms/_index.adoc:1220 +#, no-wrap +msgid "" +"options BREAK_TO_DEBUGGER\n" +"options DDB\n" +msgstr "" +"options BREAK_TO_DEBUGGER\n" +"options DDB\n" |
