[handbook] serial console rototilling - Stop talking about FreeBSD 9 - Some slight markup changes
2895 lines
103 KiB
XML
2895 lines
103 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde: de-docproj/books/handbook/serialcomms/chapter.xml,v 1.89 2012/04/30 16:20:14 bcr Exp $
|
|
basiert auf: r51494
|
|
-->
|
|
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="serialcomms">
|
|
<info><title>Serielle Datenübertragung</title>
|
|
<authorgroup>
|
|
<author><personname><firstname>Martin</firstname><surname>Heinen</surname></personname><contrib>Übersetzt von </contrib></author>
|
|
</authorgroup>
|
|
</info>
|
|
|
|
<sect1 xml:id="serial-synopsis">
|
|
<title>Übersicht</title>
|
|
|
|
<indexterm><primary>serielle Datenübertragung</primary></indexterm>
|
|
|
|
<para>&unix; Systeme unterstützten schon immer die serielle
|
|
Datenübertragung. Tatsächlich wurden Ein- und Ausgaben auf
|
|
den ersten &unix; Maschinen über serielle Leitungen
|
|
durchgeführt. Seit der Zeit, in der ein durchschnittlicher
|
|
Terminal aus einem seriellen Drucker mit
|
|
10 Zeichen/Sekunde und einer Tastatur bestand, hat sich viel
|
|
verändert. Dieses Kapitel behandelt einige Möglichkeiten,
|
|
serielle Datenübertragung unter &os; zu verwenden.</para>
|
|
|
|
<para>Nachdem Sie dieses Kapitel gelesen haben, werden
|
|
Sie Folgendes wissen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Wie Sie Terminals an ein &os;-System
|
|
anschließen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wie Sie sich mit einem Modem auf entfernte
|
|
Rechner einwählen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wie Sie entfernten Benutzern erlauben, sich mit einem
|
|
Modem in ein &os;-System einzuwählen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wie Sie ein &os;-System über eine serielle Konsole
|
|
booten.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Bevor Sie dieses Kapitel lesen, sollten Sie</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>einen <link linkend="kernelconfig">angepassten Kernel
|
|
konfigurieren und installieren</link> können.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><link linkend="basics">Berechtigungen und Prozesse unter
|
|
&os;</link> verstehen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Zugriff auf die Handbücher der seriellen Komponenten
|
|
haben, die mit &os; verwendet werden sollen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="serial">
|
|
<title>Begriffe und Hardware</title>
|
|
|
|
<para>Die folgenden Begriffe werden oft verwendet, wenn es um
|
|
serielle Kommunikation geht:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><acronym>bps</acronym></term>
|
|
<listitem>
|
|
<para>Bits pro Sekunde
|
|
<indexterm><primary>bits-per-second</primary></indexterm>
|
|
(<acronym>bps</acronym>) ist die
|
|
Einheit für die Übertragungsgeschwindigkeit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><acronym>DEE</acronym> (<acronym>DTE</acronym>)</term>
|
|
|
|
<listitem>
|
|
<para>Eine Datenendeinrichtung
|
|
<indexterm><primary>DTE</primary></indexterm>(Data
|
|
Terminal Equipment) ist einer der beiden Endpunkte bei
|
|
der seriellen Kommunikation. Zum Beispiel ein
|
|
Computer.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><acronym>DÜE</acronym> (<acronym>DCE</acronym>)</term>
|
|
|
|
<listitem>
|
|
<para>Datenübertragungseinrichtung
|
|
<indexterm><primary>DCE</primary></indexterm> (Data
|
|
Communications Equipment) ist der andere Endpunkt bei
|
|
der seriellen Kommunikation. Typischerweise ein
|
|
Modem.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>RS-232</term>
|
|
|
|
<listitem>
|
|
<para>Der originale Standard, der serielle
|
|
Datenübertragung definiert. Er wird
|
|
heutzutage als <acronym>TIA</acronym>-232
|
|
<indexterm><primary>RS-232C Kabel</primary></indexterm>
|
|
bezeichnet.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>In diesem Abschnitt wird der Begriff <quote>Baud</quote> nicht
|
|
für Übertragungsgeschwindigkeiten gebraucht. Baud
|
|
bezeichnet elektrische Zustandswechsel pro Zeiteinheit, die Taktfrequenz,
|
|
während <quote>bps</quote> der <emphasis>richtige</emphasis>
|
|
Begriff für die Übertragungsgeschwindigkeit ist.</para>
|
|
|
|
<para>Um ein Modem oder einen Terminal an ein &os;-System
|
|
anzuschließen, muss der Computer über eine serielle
|
|
Schnittstelle verfügen. Zusätzlich wird das passende Kabel
|
|
benötigt, um das Gerät mit der Schnittstelle zu
|
|
verbinden. Benutzer, die mit seriellen Geräten und den
|
|
nötigen Kabeln schon vertraut sind, können diesen Abschnitt
|
|
überspringen.</para>
|
|
|
|
<sect2 xml:id="term-cables-null">
|
|
<title>Kabel und Schnittstellen</title>
|
|
|
|
<para>Es gibt verschiedene serielle Kabel. Die zwei häufigsten
|
|
sind Nullmodemkabel und Standard-RS-232-Kabel. Die
|
|
Dokumentation der Hardware sollte beschreiben, welcher
|
|
Kabeltyp benötigt wird.</para>
|
|
|
|
<indexterm>
|
|
<primary>Nullmodemkabel</primary>
|
|
</indexterm>
|
|
<para>Ein Nullmodemkabel verbindet einige Signale, wie die
|
|
Betriebserde, eins zu eins, andere Signale werden getauscht:
|
|
Die Sende- und Empfangsleitungen werden zum Beispiel
|
|
gekreuzt.</para>
|
|
|
|
<para>Nullmodemkabel für die Anbindung eines Terminals
|
|
können auch selbst hergestellt werden. Die folgende
|
|
Tabelle enthält die <link
|
|
linkend="serialcomms-signal-names">Signalnamen</link>
|
|
von RS-232C sowie die Pinbelegung für einen Stecker vom
|
|
Typ DB-25. Obwohl der Standard eine direkte Verbindung
|
|
von Pin 1 zu Pin 1
|
|
(<emphasis>Protective Ground</emphasis>) vorschreibt, ist
|
|
diese in vielen Fällen nicht vorhanden. Einige
|
|
Terminals benötigen nur die Pins 2, 3 und 7 für
|
|
eine korrekte Funktion, während andere eine
|
|
unterschiedliche Konfiguration als die in den folgenden
|
|
Beispielen gezeigte benötigen.</para>
|
|
|
|
<table frame="none" pgwide="1">
|
|
<title>Nullmodemkabel vom Typ DB-25-zu-DB-25</title>
|
|
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Signal</entry>
|
|
<entry align="left">Pin #</entry>
|
|
<entry align="left"/>
|
|
<entry align="left">Pin #</entry>
|
|
<entry align="left">Signal</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>SG</entry>
|
|
<entry>7</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>7</entry>
|
|
<entry>SG</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>TD</entry>
|
|
<entry>2</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>3</entry>
|
|
<entry>RD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>RD</entry>
|
|
<entry>3</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>2</entry>
|
|
<entry>TD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>RTS</entry>
|
|
<entry>4</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>5</entry>
|
|
<entry>CTS</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>CTS</entry>
|
|
<entry>5</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>4</entry>
|
|
<entry>RTS</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DTR</entry>
|
|
<entry>20</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>6</entry>
|
|
<entry>DSR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DTR</entry>
|
|
<entry>20</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>8</entry>
|
|
<entry>DCD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DSR</entry>
|
|
<entry>6</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>20</entry>
|
|
<entry>DTR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DCD</entry>
|
|
<entry>8</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>20</entry>
|
|
<entry>DTR</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<para>Die folgenden zwei Schemata werden heutzutage ebenfalls
|
|
häufig eingesetzt:</para>
|
|
|
|
<table frame="none" pgwide="1">
|
|
<title>Nullmodemkabel vom Typ DB-9-zu-DB-9</title>
|
|
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Signal</entry>
|
|
<entry align="left">Pin #</entry>
|
|
<entry align="left"/>
|
|
<entry align="left">Pin #</entry>
|
|
<entry align="left">Signal</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>RD</entry>
|
|
<entry>2</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>3</entry>
|
|
<entry>TD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>TD</entry>
|
|
<entry>3</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>2</entry>
|
|
<entry>RD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DTR</entry>
|
|
<entry>4</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>6</entry>
|
|
<entry>DSR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DTR</entry>
|
|
<entry>4</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>1</entry>
|
|
<entry>DCD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>SG</entry>
|
|
<entry>5</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>5</entry>
|
|
<entry>SG</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DSR</entry>
|
|
<entry>6</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>4</entry>
|
|
<entry>DTR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DCD</entry>
|
|
<entry>1</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>4</entry>
|
|
<entry>DTR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>RTS</entry>
|
|
<entry>7</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>8</entry>
|
|
<entry>CTS</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>CTS</entry>
|
|
<entry>8</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>7</entry>
|
|
<entry>RTS</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table frame="none" pgwide="1">
|
|
<title>Nullmodemkabel vom Typ DB-9-zu-DB-25</title>
|
|
|
|
<tgroup cols="5">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Signal</entry>
|
|
<entry align="left">Pin #</entry>
|
|
<entry align="left"/>
|
|
<entry align="left">Pin #</entry>
|
|
<entry align="left">Signal</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>RD</entry>
|
|
<entry>2</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>2</entry>
|
|
<entry>TD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>TD</entry>
|
|
<entry>3</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>3</entry>
|
|
<entry>RD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DTR</entry>
|
|
<entry>4</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>6</entry>
|
|
<entry>DSR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DTR</entry>
|
|
<entry>4</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>8</entry>
|
|
<entry>DCD</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>SG</entry>
|
|
<entry>5</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>7</entry>
|
|
<entry>SG</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DSR</entry>
|
|
<entry>6</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>20</entry>
|
|
<entry>DTR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>DCD</entry>
|
|
<entry>1</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>20</entry>
|
|
<entry>DTR</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>RTS</entry>
|
|
<entry>7</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>5</entry>
|
|
<entry>CTS</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>CTS</entry>
|
|
<entry>8</entry>
|
|
<entry>verbunden mit</entry>
|
|
<entry>4</entry>
|
|
<entry>RTS</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<note>
|
|
<para>Wird ein Pin eines Kabels mit zwei Pins des anderen
|
|
Kabels verbunden, werden dazu in der Regel zuerst die
|
|
beiden Pins mit einem kurzem Draht verbunden. Danach
|
|
wird dieser Draht mit dem Pin des anderen Endes
|
|
verbunden.</para>
|
|
</note>
|
|
|
|
<para>Die eben besprochenen Schemata scheinen die
|
|
beliebtesten zu sein. Weitere Varianten verbinden SG mit
|
|
SG, TD mit RD, RTS und CTS mit DCD, DTR mit DSR, und
|
|
umgekehrt.</para>
|
|
|
|
<indexterm><primary>RS-232C Kabel</primary></indexterm>
|
|
|
|
<para>Ein Standard-RS-232C-Kabel verbindet alle Signale
|
|
direkt. Das Signal <quote>Transmitted Data</quote> wird
|
|
mit dem Signal <quote>Transmitted Data</quote> der
|
|
Gegenstelle verbunden. Dieses Kabel wird benötigt, um ein
|
|
Modem mit einem &os;-System zu verbinden. Manche
|
|
Terminals benötigen dieses Kabel ebenfalls.</para>
|
|
|
|
<para>Über serielle Schnittstellen werden Daten zwischen dem
|
|
&os;-System und dem Terminal übertragen. Dieser Abschnitt
|
|
beschreibt die verschiedenen Schnittstellen und wie sie
|
|
unter &os; angesprochen werden.</para>
|
|
|
|
<para>Da es verschiedene Schnittstellen gibt, sollte vor
|
|
dem Kauf oder Selbstbau eines Kabels sichergestellt
|
|
werden, dass dieses zu den Schnittstellen des Terminals
|
|
und des &os;-Systems passt.</para>
|
|
|
|
<para>Die meisten Terminals besitzen DB-25-Stecker.
|
|
Personal Computer haben DB-25- oder DB-9-Stecker. Eine
|
|
serielle Multiportkarte hat vielleicht RJ-12- oder
|
|
RJ-45-Anschlüsse.</para>
|
|
|
|
<para>Die Dokumentation der Geräte sollte Aufschluss
|
|
über den Typ der benötigten Anschlüsse geben.
|
|
Oft hilft es, wenn Sie sich den Anschluss einfach
|
|
ansehen.</para>
|
|
|
|
<para>Unter &os; wird jede serielle Schnittstelle
|
|
(Port) über einen Eintrag in <filename>/dev</filename>
|
|
angesprochen. Es gibt dort zwei verschiedene
|
|
Einträge:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Schnittstellen für eingehende Verbindungen werden
|
|
<filename>/dev/ttyu<replaceable>N</replaceable></filename>
|
|
genannt. Dabei ist <replaceable>N</replaceable> die Nummer
|
|
der Schnittstelle, deren Zählung bei Null beginnt.
|
|
Allgemein wird diese Schnittstelle für Terminals
|
|
benutzt. Diese Schnittstelle funktioniert nur, wenn ein
|
|
<quote>Data Carrier Detect</quote> Signal
|
|
(<acronym>DCD</acronym>) vorliegt.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Für ausgehende Verbindungen wird in &os; 8.X und
|
|
neueren Versionen
|
|
<filename>/dev/cuau<replaceable>N</replaceable></filename>
|
|
verwendet. &os; 7.X und ältere Versionen verwenden
|
|
<filename>/dev/cuad<replaceable>N</replaceable></filename>.
|
|
Dieser Port wird normalerweise nur von
|
|
Modems genutzt. Er kann allerdings auch für
|
|
Terminals benutzt werden, die das
|
|
<quote>Data Carrier Detect</quote> Signal nicht
|
|
unterstützen.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Wenn ein Terminal an die erste serielle Schnittstelle
|
|
(<filename>COM1</filename>) angeschlossen ist, wird er
|
|
über <filename>/dev/ttyu0</filename> angesprochen.
|
|
Wenn er an der zweiten seriellen Schnittstelle
|
|
(<acronym>COM2</acronym>) angeschlossen ist, verwenden Sie
|
|
<filename>/dev/ttyu1</filename>, usw.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Kernelkonfiguration</title>
|
|
|
|
<para>In der Voreinstellung benutzt &os; vier serielle
|
|
Schnittstellen, die unter &ms-dos; als
|
|
<filename>COM1</filename>, <filename>COM2</filename>,
|
|
<filename>COM3</filename> und <filename>COM4</filename>
|
|
bekannt sind. Momentan unterstützt &os; einfache
|
|
Multiportkarten, wie bspw. die BocaBoard 1008 und 2016 und
|
|
bessere wie die von Digiboard und Stallion Technologies. In
|
|
der Voreinstellung sucht der Kernel allerdings nur nach den
|
|
Standardanschlüssen.</para>
|
|
|
|
<para>Um zu überprüfen, ob der Kernel die seriellen
|
|
Schnittstellen erkennt, achten Sie auf die Meldungen beim
|
|
Booten, oder schauen sich diese später mit
|
|
<command>/sbin/dmesg</command> an. Achten Sie
|
|
auf Meldungen die mit <literal>uart</literal> beginnen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/sbin/dmesg | grep 'uart'</userinput></screen>
|
|
|
|
<para>Wenn der Kernel nicht alle seriellen Schnittstellen
|
|
erkennt, müssen Sie <filename>/boot/device.hints</filename>
|
|
konfigurieren. Wenn Sie diese Datei editieren, können Sie
|
|
die Einträge für Geräte, die auf dem System nicht vorhanden
|
|
sind, auskommentieren oder komplett entfernen.</para>
|
|
|
|
<note>
|
|
<para><literal>port IO_COM1</literal> ist ein Ersatz für
|
|
<literal>port 0x3f8</literal>, <literal>IO_COM2</literal>
|
|
bedeutet <literal>port 0x2f8</literal>, <literal>IO_COM3</literal>
|
|
bedeutet <literal>port 0x3e8</literal> und <literal>IO_COM4</literal>
|
|
steht für <literal>port 0x2e8</literal>. Die angegebenen
|
|
IO-Adressen sind genau wie die Interrupts 4, 3, 5 und 9
|
|
üblich für serielle Schnittstellen. Beachten Sie, dass sich
|
|
normale serielle Schnittstellen auf ISA-Bussen
|
|
<emphasis>keine</emphasis> Interrupts teilen können.
|
|
Multiportkarten besitzen zusätzliche Schaltkreise, die es
|
|
allen 16550As auf der Karte erlauben, sich einen oder zwei
|
|
Interrupts zu teilen.</para>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Gerätedateien</title>
|
|
|
|
<para>Die meisten Geräte im Kernel werden durch
|
|
Gerätedateien in <filename>/dev</filename> angesprochen. Die
|
|
<filename>sio</filename> Geräte werden durch
|
|
<filename>/dev/ttyuN</filename>
|
|
für eingehende Verbindungen und durch
|
|
<filename>/dev/cuau<replaceable>N</replaceable></filename> für
|
|
ausgehende Verbindungen angesprochen. Zum Initialisieren der
|
|
Geräte stellt &os; die Dateien
|
|
<filename>/dev/ttyu<replaceable>N</replaceable>.init</filename> und
|
|
<filename>/dev/cuau<replaceable>N</replaceable>.init</filename>
|
|
zur Verfügung.
|
|
Zusätzlich existieren Dateien für das Sperren von
|
|
Gerätedateien (<foreignphrase>Locking</foreignphrase>).
|
|
Dabei handelt es sich um die Dateien
|
|
<filename>/dev/ttyuN.lock</filename>
|
|
und
|
|
<filename>/dev/cuau<replaceable>N</replaceable>.lock</filename>.
|
|
Diese Dateien werden benutzt, um Kommunikationsparameter beim
|
|
Öffnen eines Ports vorzugeben. Für Modems, die zur
|
|
Flusskontrolle <literal>RTS/CTS</literal> benutzen, kann damit
|
|
<literal>crtscts</literal> gesetzt werden. Die Geräte
|
|
<filename>/dev/ttyldN</filename> und
|
|
<filename>/dev/cualaN</filename> (locking
|
|
devices) werden genutzt, um bestimmte Parameter festzuschreiben und
|
|
vor Veränderungen zu schützen. Weitere Informationen
|
|
zu Terminals finden Sie in &man.termios.4;, &man.sio.4; erklärt
|
|
die Dateien zum Initialisieren und Sperren der Geräte,
|
|
&man.stty.1; beschreibt schließlich
|
|
Terminal-Einstellungen.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="serial-hw-config">
|
|
<title>Konfiguration der seriellen Schnittstelle</title>
|
|
|
|
<indexterm><primary><filename>ttyu</filename></primary></indexterm>
|
|
<indexterm><primary><filename>cuau</filename></primary></indexterm>
|
|
|
|
<para>Anwendungen benutzen normalerweise die Geräte
|
|
<filename>ttyu<replaceable>N</replaceable></filename> oder
|
|
<filename>cuau<replaceable>N</replaceable></filename>. Das
|
|
Gerät besitzt einige Voreinstellungen für Terminal-I/O,
|
|
wenn es von einem Prozess geöffnet wird. Mit dem folgenden
|
|
Kommando können Sie sich diese Einstellungen ansehen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>stty -a -f /dev/ttyu1</userinput></screen>
|
|
|
|
<para>Wenn diese Einstellungen verändert werden, bleiben sie
|
|
nur solange wirksam, bis das Gerät geschlossen wird.
|
|
Wenn das Gerät danach wieder geöffnet wird, sind die
|
|
Voreinstellungen wieder wirksam. Um die Voreinstellungen
|
|
dauerhaft zu ändern, öffnen Sie das Gerät, das zum Initialisieren
|
|
dient und verändern dessen Einstellungen. Um beispielsweise
|
|
für <filename>ttyu5</filename> den <option>CLOCAL</option>
|
|
Modus, 8-Bit Kommunikation und <option>XON/XOFF</option>
|
|
Flusssteuerung einzuschalten, setzen Sie das folgende
|
|
Kommando ab:</para>
|
|
|
|
<screen>&prompt.root; <userinput>stty -f /dev/ttyu5.init clocal cs8 ixon ixoff</userinput></screen>
|
|
|
|
<indexterm>
|
|
<primary>rc-Dateien</primary>
|
|
<secondary><filename>rc.serial</filename></secondary>
|
|
</indexterm>
|
|
|
|
<para>In <filename>/etc/rc.d/rc.serial</filename> werden die
|
|
systemweiten Voreinstellungen für serielle Geräte
|
|
vorgenommen.</para>
|
|
|
|
<para>Um zu verhindern, dass Einstellungen von Anwendungen
|
|
verändert werden, können Sie die Geräte zum
|
|
Festschreiben von Einstellungen (<quote>locking devices</quote>)
|
|
benutzen. Wenn sie beispielsweise die Geschwindigkeit von
|
|
<filename>ttyu5</filename> auf 57600 bps festlegen wollen,
|
|
benutzen Sie das folgende Kommando:</para>
|
|
|
|
<screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen>
|
|
|
|
<para>Eine Anwendung, die <filename>ttyu5</filename> öffnet,
|
|
kann nun nicht mehr die Geschwindigkeit ändern und muss
|
|
57600 bps benutzen.</para>
|
|
|
|
<para>Die Geräte zum Initialisieren und Festschreiben von
|
|
Einstellungen sollten selbstverständlich nur von
|
|
<systemitem class="username">root</systemitem> beschreibbar sein.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="term">
|
|
<info>
|
|
<title>Terminals</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Sean</firstname>
|
|
<surname>Kelly</surname>
|
|
</personname>
|
|
<contrib>Beigetragen von </contrib>
|
|
</author>
|
|
<!-- 28 July 1996 -->
|
|
</authorgroup>
|
|
</info>
|
|
|
|
<indexterm><primary>Terminals</primary></indexterm>
|
|
|
|
<para>Wenn Sie sich nicht an der Konsole oder über ein Netzwerk an
|
|
ein &os;-System anmelden können, sind Terminals ein
|
|
bequemer und kostengünstiger Weg, um auf ein System zuzugreifen.
|
|
Dieser Abschnitt beschreibt wie Sie Terminals mit &os;
|
|
benutzen.</para>
|
|
|
|
<para>Das ursprüngliche &unix; System besaß keine Konsolen.
|
|
Zum Anmelden und Starten von Programmen wurden stattdessen
|
|
Terminals benutzt, die an den seriellen Schnittstellen des
|
|
Rechners angeschlossen waren.</para>
|
|
|
|
<para>Die Möglichkeit, über eine serielle Schnittstelle eine
|
|
Anmeldesitzung herzustellen, existiert heute noch in fast
|
|
jedem &unix;-artigen Betriebssystem, einschließlich &os;.
|
|
Der Einsatz eines Terminals, das an einem freien seriellen
|
|
Port angeschlossen ist, ermöglicht es dem Benutzer sich
|
|
anzumelden und dort jedes Textprogramm zu starten, das
|
|
normalerweise an der Konsole oder in einem
|
|
<command>xterm</command> Fenster ausgeführt wird.</para>
|
|
|
|
<para>Viele Terminals können an einem &os;-System angeschlossen
|
|
werden. Ein alter Computer kann als Terminal an ein
|
|
leistungsfähiges &os;-System angeschlossen werden. Damit kann
|
|
ein Einzelarbeitsplatz in ein leistungsfähiges
|
|
Mehrbenutzersystem verwandelt werden.</para>
|
|
|
|
<para>&os; unterstützt drei Arten von Anschlüssen:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Dumb-Terminals</term>
|
|
<listitem>
|
|
<para>Dumb-Terminals (unintelligente Datenstationen) sind
|
|
Geräte, die über die serielle Schnittstelle mit einem
|
|
Rechner verbunden werden. Sie werden
|
|
<quote>unintelligent</quote> genannt, weil sie nur Text
|
|
senden und empfangen und keine Programme laufen lassen
|
|
können. Alle benötigten Programme befinden sich auf dem
|
|
Rechner, der mit dem Terminal verbunden ist.</para>
|
|
|
|
<para>Es gibt viele Dumb-Terminals, die von verschiedenen
|
|
Herstellern produziert werden, und so gut wie jeder der
|
|
verschiedenen Terminals sollte mit &os; zusammenarbeiten.
|
|
Manche High-End Geräte verfügen sogar über
|
|
Grafikfähigkeiten, die allerdings nur von spezieller
|
|
Software genutzt werden kann.</para>
|
|
|
|
<para>Dumb-Terminals sind in Umgebungen beliebt, in denen
|
|
keine Grafikanwendungen benötigt werden.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Computer, die als Terminal fungieren</term>
|
|
<listitem>
|
|
<para>Jeder Computer kann die Funktion eines Dumb-Terminals,
|
|
der ja nur Text senden und empfangen kann, übernehmen.
|
|
Dazu wird lediglich das richtige Kabel benötigt und eine
|
|
<emphasis>Terminalemulation</emphasis>, die auf dem
|
|
Computer läuft.</para>
|
|
|
|
<para>Diese Konfiguration ist sehr nützlich. Wenn ein
|
|
Benutzer zum Beispiel gerade an der &os;-Konsole arbeitet,
|
|
kann ein anderer Benutzer einen weniger leistungsstarken
|
|
Computer, der als Terminal mit dem &os;-System verbunden
|
|
ist, benutzen, um dort gleichzeitig im Textmodus zu
|
|
arbeiten.</para>
|
|
|
|
<para>Bereits im Basissystem sind mindestens zwei Werkzeuge
|
|
vorhanden, die Sie zur Arbeit über eine serielle Konsole
|
|
einsetzen können: &man.cu.1; sowie &man.tip.1;.</para>
|
|
|
|
<para>Um sich von einem &os;-System aus über eine serielle
|
|
Verbindung mit einem anderen System zu verbinden, geben
|
|
Sie folgenden Befehl ein:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cu -l /dev/cuau<replaceable>N</replaceable></userinput></screen>
|
|
|
|
<para>Die Ports sind von Null beginnend nummeriert. Das
|
|
bedeutet, dass <filename>COM1</filename> dem Gerät
|
|
<filename>/dev/cuau0</filename> entspricht.</para>
|
|
|
|
<para>In der Ports-Sammlung finden sich weitere Programme,
|
|
wie beispielsweise <package>comms/minicom</package>, mit
|
|
denen eine Verbindung über eine serielle Schnittstelle
|
|
hergestellt werden kann.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>X-Terminals</term>
|
|
<listitem>
|
|
<para>X-Terminals sind die ausgereiftesten der verfügbaren
|
|
Terminals. Sie werden nicht mit der seriellen
|
|
Schnittstelle sondern mit einem Netzwerk, wie dem
|
|
Ethernet, verbunden. Diese Terminals sind auch nicht auf
|
|
den Textmodus beschränkt, sondern können jede
|
|
<application>&xorg;</application>-Anwendung
|
|
darstellen.</para>
|
|
|
|
<para>Die Einrichtung und Verwendung von X-Terminals wird in
|
|
diesem Abschnitt nicht beschrieben.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<sect2 xml:id="term-config">
|
|
<title>Konfiguration</title>
|
|
|
|
<para>Dieser Abschnitt beschreibt, wie Sie ein &os;-System
|
|
konfigurieren müssen, um sich an einem Terminal anzumelden.
|
|
Dabei wird vorausgesetzt, dass der Kernel bereits die
|
|
serielle Schnittstelle, die mit dem Terminal verbunden ist,
|
|
unterstützt. Weiterhin sollte der Terminal schon
|
|
angeschlossen sein.</para>
|
|
|
|
<para>Der <command>init</command> Prozess ist für das
|
|
Initialisieren des Systems und den Start von Prozessen zum
|
|
Zeitpunkt des Systemstarts verantwortlich. Unter anderem
|
|
liest <command>init</command> <filename>/etc/ttys</filename>
|
|
ein und startet für jeden
|
|
verfügbaren Terminal einen <command>getty</command>
|
|
Prozess. <command>getty</command> wiederum fragt beim
|
|
Anmelden den Benutzernamen ab und startet
|
|
<command>login</command>.</para>
|
|
|
|
<para>Um Terminals auf einem &os;-System einzurichten, führen
|
|
Sie folgenden Schritte als <systemitem
|
|
class="username">root</systemitem> durch:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Fügen Sie einen Eintrag in
|
|
<filename>/etc/ttys</filename> für die serielle
|
|
Schnittstelle aus <filename>/dev</filename> ein, falls
|
|
dieser nicht bereits vorhanden ist.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Geben Sie <command>/usr/libexec/getty</command> als
|
|
auszuführendes Programm an. Als Parameter für
|
|
<replaceable>getty</replaceable> geben Sie den passenden
|
|
Verbindungstyp aus <filename>/etc/gettytab</filename>
|
|
an.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Geben Sie den Terminaltyp an.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Aktivieren Sie den Anschluss.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Geben Sie die Sicherheit des Anschlusses an.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Veranlassen Sie <command>init</command>
|
|
<filename>/etc/ttys</filename> erneut zu lesen.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Optional können Sie in <filename>/etc/gettytab</filename>
|
|
auch einen auf Ihre Zwecke angepassten Terminaltyp erstellen.
|
|
&man.gettytab.5; und &man.getty.8; enthalten dazu weitere
|
|
Informationen.</para>
|
|
|
|
<sect3 xml:id="term-etcttys">
|
|
<title>Hinzufügen eines Eintrags in
|
|
<filename>/etc/ttys</filename></title>
|
|
|
|
<para>In <filename>/etc/ttys</filename> werden alle Terminals
|
|
aufgeführt, an denen eine Anmeldung auf dem &os;-System
|
|
möglich ist. Hier findet sich zum Beispiel ein Eintrag
|
|
für die erste virtuelle Konsole
|
|
<filename>/dev/ttyv0</filename>, der es Benutzern
|
|
ermöglicht, sich dort anzumelden. Die Datei enthält weitere
|
|
Einträge für andere virtuelle Konsolen, serielle
|
|
Schnittstellen und Pseudoterminals. Um einen Terminal
|
|
zu konfigurieren, fügen Sie einen Eintrag für den
|
|
Namen des Gerätes aus <filename>/dev</filename> ohne das
|
|
Präfix <filename>/dev</filename> hinzu. Zum Beispiel wird
|
|
<filename>/dev/ttyv0</filename> als
|
|
<literal>ttyv0</literal> aufgeführt.</para>
|
|
|
|
<para>In der Voreinstellung enthält
|
|
<filename>/etc/ttys</filename> Einträge für die ersten
|
|
vier seriellen Schnittstellen: <filename>ttyu0</filename>
|
|
bis <filename>ttyu3</filename>. Wird an eine von diesen
|
|
Schnittstellen ein Terminal angeschlossen, braucht in dieser
|
|
Datei kein weiter Eintrag hinzugefügt werden.</para>
|
|
|
|
<example xml:id="ex-etc-ttys">
|
|
<title>Einträge in <filename>/etc/ttys</filename>
|
|
hinzufügen</title>
|
|
|
|
<para>Dieses Beispiel konfiguriert zwei Terminals:
|
|
Einen Wyse-50 und einen alten 286 IBM PC,
|
|
der mit <application>Procomm</application> einen VT-100
|
|
Terminal emuliert. Der Wyse-Terminal ist mit der
|
|
zweiten seriellen Schnittstelle verbunden und der 286
|
|
mit der sechsten seriellen Schnittstelle, einem Anschluss
|
|
auf einer Multiportkarte. Die entsprechenden Einträge in
|
|
<filename>/etc/ttys</filename> würden dann wie folgt
|
|
aussehen:</para>
|
|
|
|
<programlisting>ttyu1<co xml:id="co-ttys-line1col1"/> "/usr/libexec/getty std.38400"<co xml:id="co-ttys-line1col2"/> wy50<co xml:id="co-ttys-line1col3"/> on<co xml:id="co-ttys-line1col4"/> insecure<co xml:id="co-ttys-line1col5"/>
|
|
ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
|
|
</programlisting>
|
|
|
|
<calloutlist>
|
|
<callout arearefs="co-ttys-line1col1">
|
|
<para>Das erste Feld gibt normalerweise den Namen der
|
|
Gerätedatei aus <filename>/dev</filename> an.</para>
|
|
</callout>
|
|
<callout arearefs="co-ttys-line1col2">
|
|
|
|
<para>Im zweiten Feld wird das auszuführende Kommando,
|
|
normal ist das &man.getty.8;, angegeben.
|
|
<command>getty</command> initialisiert und öffnet die
|
|
Verbindung, setzt die Geschwindigkeit und fragt den
|
|
Benutzernamen ab. Danach führt es &man.login.1;
|
|
aus.</para>
|
|
|
|
<para><command>getty</command> akzeptiert einen optionalen
|
|
Parameter auf der Kommandozeile, den Verbindungstyp, der
|
|
die Eigenschaften der Verbindung, wie die Geschwindigkeit
|
|
und Parität, festlegt. Die Typen und die damit
|
|
verbundenen Eigenschaften liest <command>getty</command>
|
|
aus <filename>/etc/gettytab</filename>.</para>
|
|
|
|
<para><filename>/etc/gettytab</filename> enthält viele
|
|
Einträge sowohl für neue wie auch alte
|
|
Terminalverbindungen. Die meisten Einträge, die mit
|
|
<literal>std</literal> beginnen, sollten mit einem
|
|
festverdrahteten Terminal funktionieren. Für jede
|
|
Geschwindigkeit zwischen
|
|
110 <acronym>bps</acronym> und
|
|
115200 <acronym>bps</acronym> gibt es einen
|
|
<literal>std</literal> Eintrag. Weitere Informationen
|
|
dazu finden Sie in &man.gettytab.5;.</para>
|
|
|
|
<para>Wenn Sie den Verbindungstyp in
|
|
<filename>/etc/ttys</filename> eintragen, stellen Sie
|
|
sicher, dass die Kommunikationseinstellungen
|
|
auch mit denen des Terminals übereinstimmen.</para>
|
|
|
|
<para>In diesem Beispiel verwendet der Wyse-50 keine
|
|
Parität und 38400 <acronym>bps</acronym>, der
|
|
286 PC benutzt ebenfalls keine Parität und
|
|
arbeitet mit 19200 <acronym>bps</acronym>.</para>
|
|
|
|
</callout>
|
|
|
|
<callout arearefs="co-ttys-line1col3">
|
|
|
|
<para>Das dritte Feld gibt den Terminaltyp an, der
|
|
normalerweise mit diesem Anschluss verbunden ist.
|
|
Für Einwählverbindungen wird oft
|
|
<literal>unknown</literal> oder <literal>dialup</literal>
|
|
benutzt, da sich die Benutzer praktisch mit beliebigen
|
|
Terminals oder Emulatoren anmelden können. Bei
|
|
festverdrahteten Terminals ändert sich der Typ nicht,
|
|
so dass in diesem Feld ein richtiger Typ aus der
|
|
&man.termcap.5; Datenbank angegeben werden
|
|
kann.</para>
|
|
|
|
<para>In diesem Beispiel benutzt der Wyse-50
|
|
den entsprechenden Typ aus &man.termcap.5;, der 286 PC
|
|
wird als VT-100, den er ja emuliert, angegeben.</para>
|
|
|
|
</callout>
|
|
|
|
<callout arearefs="co-ttys-line1col4">
|
|
<para>Das vierte Feld gibt an, ob der Anschluss
|
|
aktiviert werden soll. Ist das Feld auf
|
|
<literal>on</literal> gesetzt, startet
|
|
<command>init</command> das Programm, das
|
|
im zweiten Feld angegeben ist. Normalerweise ist dies
|
|
<command>getty</command>. Wenn das Feld auf
|
|
<literal>off</literal>gesetzt wird, wird
|
|
<command>getty</command> nicht ausgeführt und folglich
|
|
kann sich niemand an dem betreffenden Terminal
|
|
anmelden.</para>
|
|
</callout>
|
|
|
|
<callout arearefs="co-ttys-line1col5">
|
|
<para>Das letzte Feld gibt die Sicherheit des
|
|
Anschlusses an. Wenn hier <literal>secure</literal>
|
|
angegeben wird, darf sich <systemitem
|
|
class="username">root</systemitem>, oder jeder
|
|
Account mit der <acronym>UID</acronym>
|
|
<literal>0</literal> über diese Verbindung anmelden.
|
|
Wenn <literal>insecure</literal> angegeben wird,
|
|
dürfen sich nur unprivilegierte Benutzer anmelden.
|
|
Diese können später mit &man.su.1; oder einem
|
|
ähnlichen Mechanismus zu <systemitem
|
|
class="username">root</systemitem> wechseln.</para>
|
|
|
|
<para>Es wird dringend empfohlen
|
|
<literal>insecure</literal> zu verwenden, sogar für
|
|
Terminals hinter verschlossenen Türen. Es ist ganz
|
|
einfach sich mit <command>su</command> anzumelden,
|
|
wenn Superuser-Rechte benötigt werden.</para>
|
|
</callout>
|
|
</calloutlist>
|
|
</example>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="term-hup">
|
|
<title><command>init</command> zwingen,
|
|
<filename>/etc/ttys</filename> erneut zu lesen</title>
|
|
|
|
<para>Nachdem Änderungen in <filename>/etc/ttys</filename>
|
|
vorgenommen wurden, schicken Sie
|
|
<command>init</command> ein SIGHUP-Signal (hangup), um es zu
|
|
veranlassen, seine Konfigurationsdatei neu zu lesen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
|
|
|
|
<note>
|
|
<para>Da <command>init</command> immer der erste Prozess auf
|
|
einem System ist, besitzt es immer die Prozess-ID
|
|
<literal>1</literal>.</para>
|
|
</note>
|
|
|
|
<para>Wenn alles richtig eingerichtet ist, alle Kabel angeschlossen
|
|
und die Terminals eingeschaltet sind, sollte für jeden
|
|
Terminal ein <command>getty</command> Prozess laufen und auf
|
|
jedem Terminal sollte eine Anmeldeaufforderung zu sehen
|
|
sein.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="term-debug">
|
|
<title>Fehlersuche</title>
|
|
|
|
<para>Selbst wenn Sie den Anweisungen akribisch gefolgt sind, kann es
|
|
immer noch zu Fehlern beim Einrichten eines Terminals kommen.
|
|
Hier eine Liste der häufigsten Symptome, sowie einige mögliche
|
|
Lösungen:</para>
|
|
|
|
<para>Wenn kein Anmeldeprompt erscheint, stellen Sie sicher,
|
|
dass der Terminal verbunden und
|
|
eingeschaltet ist. Wenn ein PC als Terminal fungiert,
|
|
überprüfen Sie, dass die Terminalemulation auf
|
|
den richtigen Schnittstellen läuft.</para>
|
|
|
|
<para>Stellen Sie sicher, dass Sie das richtige Kabel
|
|
verwenden und dass das Kabel fest mit dem Terminal und
|
|
dem &os;-Rechner verbunden ist.</para>
|
|
|
|
<para>Stellen Sie sicher, dass die Einstellungen für
|
|
die Geschwindigkeit (<acronym>bps</acronym>) und Parität auf
|
|
dem &os;-System und dem Terminal gleich sind. Wenn der
|
|
Terminal einen Bildschirm besitzt, überprüfen Sie die
|
|
richtige Einstellung von Helligkeit und Kontrast. Wenn der
|
|
Terminal druckt, stellen Sie die ausreichende Versorgung mit
|
|
Papier und Tinte sicher.</para>
|
|
|
|
<para>Überprüfen Sie mit <command>ps</command>,
|
|
dass der <command>getty</command> Prozess für
|
|
den Terminal läuft:</para>
|
|
|
|
<screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen>
|
|
|
|
<para>Für jeden Terminal sollte ein Eintrag vorhanden sein.
|
|
Aus dem folgenden Beispiel ist zu erkennen, dass
|
|
<command>getty</command> auf der zweiten seriellen
|
|
Schnittstelle <filename>tyyd1</filename> läuft und den
|
|
Verbindungstyp <literal>std.38400</literal> aus
|
|
<filename>/etc/gettytab</filename> benutzt:</para>
|
|
|
|
<screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1</screen>
|
|
|
|
<para>Wenn <command>getty</command> nicht läuft,
|
|
überprüfen Sie, ob der Anschluss in
|
|
<filename>/etc/ttys</filename> aktiviert ist. Denken Sie
|
|
daran <command>kill -HUP 1</command> auszuführen, nachdem
|
|
<filename>/etc/ttys</filename> geändert wurde.</para>
|
|
|
|
<para>Wenn <command>getty</command> läuft, aber der
|
|
Terminal immer noch kein Anmeldeprompt ausgibt, oder am
|
|
Anmeldeprompt nichts eingegeben werden kann, kann es sein,
|
|
dass der Terminal oder Kabel keinen Hardware-Handshake
|
|
unterstützt. Ändern Sie dann den Eintrag
|
|
<literal>std.38400</literal> in <filename>/etc/ttys</filename>
|
|
zu <literal>3wire.38400</literal>. Nachdem Sie
|
|
<filename>/etc/ttys</filename> geändert haben, setzen
|
|
Sie <command>kill -HUP 1</command> ab. Der
|
|
Eintrag <literal>3wire</literal> besitzt ähnliche
|
|
Eigenschaften wie der Eintrag <literal>std</literal>,
|
|
ignoriert aber den Hardware-Handshake. Wenn Sie den Eintrag
|
|
<literal>3wire</literal> verwenden, muss vielleicht die
|
|
Geschwindigkeit verkleinert oder die Software-Flusssteuerung
|
|
aktiviert werden, um Pufferüberläufe zu vermeiden.</para>
|
|
|
|
<para>Wenn nur unverständliche Zeichen erscheinen, stellen Sie
|
|
sicher, dass die Einstellungen für
|
|
die Geschwindigkeit (<acronym>bps</acronym>) und Parität auf
|
|
dem &os;-System
|
|
und dem Terminal gleich sind. Kontrollieren Sie den
|
|
<command>getty</command> Prozess und stellen Sie sicher,
|
|
dass der richtige Verbindungstyp aus
|
|
<filename>/etc/gettytab</filename> benutzt wird. Wenn das
|
|
nicht der Fall ist, editieren Sie
|
|
<filename>/etc/ttys</filename> und setzen das Kommando
|
|
<command>kill-HUP 1</command> ab.</para>
|
|
|
|
<para>Wenn Zeichen doppelt und eingegebene Passwörter im
|
|
Klartext erscheinen, stellen Sie den Terminal oder die
|
|
Terminalemulation von <quote>half duplex</quote> oder
|
|
<quote>local echo</quote> auf <quote>full duplex</quote>
|
|
um.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="dialup">
|
|
<info>
|
|
<title>Einwählverbindungen</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Guy</firstname>
|
|
<surname>Helmer</surname>
|
|
</personname>
|
|
<contrib>Beigetragen von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Sean</firstname>
|
|
<surname>Kelly</surname>
|
|
</personname>
|
|
<contrib>Mit Anmerkungen von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</info>
|
|
|
|
<indexterm><primary>Einwählverbindungen</primary></indexterm>
|
|
|
|
<para>Das Einrichten von Einwählverbindungen auf
|
|
&os;-Systemen ähnelt dem Anschließen von Terminals, nur dass
|
|
anstelle eines Terminals ein Modem verwendet wird. &os;
|
|
unterstützt sowohl externe als auch interne Modems.</para>
|
|
|
|
<para>Externe Modems sind für Einwählverbindungen besser
|
|
geeignet, da sie die Konfiguration in nicht flüchtigem RAM
|
|
speichern können. Zudem verfügen Sie über
|
|
Leuchtanzeigen, die den Status wichtiger RS-232 Signale
|
|
anzeigen.</para>
|
|
|
|
<para>Interne Modems verfügen normalerweise nicht über
|
|
nicht flüchtiges RAM und lassen sich meist nur über
|
|
DIP-Schalter konfigurieren. Selbst wenn ein internes Modem
|
|
Leuchtanzeigen besitzt, sind diese meist schwer einzusehen, wenn
|
|
das Modem eingebaut ist.</para>
|
|
|
|
<indexterm><primary>Modem</primary></indexterm>
|
|
|
|
<para>Mit einem externen Modem muss das passende Kabel
|
|
verwendet werden. Ein Standard RS-232C Kabel, bei dem die
|
|
folgenden Signale miteinander verbunden sind, sollte
|
|
ausreichen:</para>
|
|
|
|
<table frame="none" pgwide="1" xml:id="serialcomms-signal-names">
|
|
<title>Signalnamen</title>
|
|
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Abkürzung</entry>
|
|
<entry align="left">Bedeutung</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry><acronym>RD</acronym></entry>
|
|
<entry>Received Data</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>TD</acronym></entry>
|
|
<entry>Transmitted Data</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>DTR</acronym></entry>
|
|
<entry>Data Terminal Ready</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>DSR</acronym></entry>
|
|
<entry>Data Set Ready</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>DCD</acronym></entry>
|
|
<entry>Data Carrier Detect (dadurch erkennt RS-232
|
|
das Signal <emphasis>Received Line</emphasis>)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>SG</acronym></entry>
|
|
<entry>Signal Ground</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>RTS</acronym></entry>
|
|
<entry>Request to Send</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><acronym>CTS</acronym></entry>
|
|
<entry>Clear to Send</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<para>Ab Geschwindigkeiten von 2400 bps benötigt &os; die
|
|
Signale <acronym>RTS</acronym> und <acronym>CTS</acronym>
|
|
für die Flusssteuerung. Das Signal
|
|
<acronym>CD</acronym> zeigt an, ob ein Träger vorliegt, das
|
|
heißt ob die Verbindung aufgebaut ist oder beendet wurde.
|
|
<acronym>DTR</acronym> zeigt an, dass das Gerät
|
|
betriebsbereit ist. Es gibt einige Kabel, bei denen nicht alle
|
|
nötigen Signale verbunden sind. Wenn Probleme dieser Art
|
|
auftreten, dass zum Beispiel die Sitzung nicht beendet wird,
|
|
obwohl die Verbindung beendet wurde, kann das an einem solchen
|
|
Kabel liegen.</para>
|
|
|
|
<para>Wie andere &unix; Betriebssysteme auch, benutzt &os;
|
|
Hardwaresignale, um festzustellen, ob ein Anruf
|
|
beantwortet wurde, eine Verbindung beendet wurde, oder um die
|
|
Verbindung zu schließen und das Modem zurückzusetzen.
|
|
&os; vermeidet es, dem Modem Kommandos zu senden, oder den
|
|
Statusreport des Modems abzufragen.</para>
|
|
|
|
<sect2>
|
|
<title>Schnittstellenbausteine</title>
|
|
|
|
<para>&os; unterstützt EIA RS-232C (CCITT V.24) serielle
|
|
Schnittstellen, die auf den NS8250, NS16450, NS16550 oder NS16550A
|
|
Bausteinen basieren. Die Bausteine der Serie 16550 verfügen
|
|
über einen 16 Byte großen Puffer, der als FIFO angelegt
|
|
ist. Wegen Fehler in der FIFO-Logik kann der Puffer in einem 16550
|
|
Baustein allerdings nicht genutzt werden, das heißt der
|
|
Baustein muss als 16450 betrieben werden. Bei allen
|
|
Bausteinen ohne Puffer und dem 16550 Baustein muss jedes
|
|
Byte einzeln von dem Betriebssystem verarbeitet werden, was
|
|
Fehler bei hohen Geschwindigkeiten oder großer Systemlast
|
|
erzeugt. Es sollten daher nach Möglichkeit serielle
|
|
Schnittstellen, die auf 16550A Bausteinen basieren, eingesetzt
|
|
werden.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Überblick</title>
|
|
|
|
<indexterm><primary>getty</primary></indexterm>
|
|
<para>Wie bei Terminals auch, startet <command>init</command> für
|
|
jede serielle Schnittstelle, die eine Einwählverbindung zur
|
|
Verfügung stellt, einen <command>getty</command> Prozess.
|
|
Wenn das Modem beispielsweise an <filename>/dev/ttyu0</filename>
|
|
angeschlossen ist, sollte in der Ausgabe von <command>ps
|
|
ax</command> eine Zeile wie die folgende erscheinen:</para>
|
|
|
|
<screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyu0</screen>
|
|
|
|
<para>Wenn sich ein Benutzer einwählt und die Verbindung
|
|
aufgebaut ist, zeigt das Modem dies durch das <acronym>CD</acronym>
|
|
Signal (Carrier Detect) an. Der Kernel merkt, dass ein Signal
|
|
anliegt und weist <command>getty</command> an, die
|
|
Schnittstelle zu öffnen. Dann sendet <command>getty</command> das
|
|
Anmeldeprompt mit der ersten für die Verbindung vereinbarten
|
|
Geschwindigkeit und wartet auf eine Antwort. Wenn die Antwort
|
|
unverständlich ist, weil zum Beispiel die Geschwindigkeit des
|
|
Modems von <command>getty</command>s Geschwindigkeit abweicht,
|
|
versucht <command>getty</command> die Geschwindigkeit solange
|
|
anzupassen, bis es eine verständliche Antwort
|
|
erhält.</para>
|
|
|
|
<indexterm>
|
|
<primary><command>/usr/bin/login</command></primary>
|
|
</indexterm>
|
|
<para>Nachdem der Benutzer seinen Benutzernamen eingegeben hat,
|
|
führt <command>getty</command>
|
|
<filename>/usr/bin/login</filename> aus, welches das Passwort
|
|
abfragt und danach die Shell des Benutzers startet.</para>
|
|
</sect2>
|
|
|
|
|
|
<sect2>
|
|
<title>Konfigurationsdateien</title>
|
|
|
|
<para>Drei Konfigurationsdateien in <filename>/etc</filename>
|
|
steuern, ob eine Einwahl in das &os;-System möglich ist.
|
|
<filename>/etc/gettytab</filename>, konfiguriert den
|
|
<filename>/usr/libexec/getty</filename> Dæmon. In
|
|
<filename>/etc/ttys</filename> wird festgelegt, auf welchen
|
|
Schnittstellen <filename>/sbin/init</filename> einen
|
|
<command>getty</command> Prozess startet. Schließlich
|
|
bietet <filename>/etc/rc.d/serial</filename> die
|
|
Möglichkeit, Schnittstellen zu initialisieren.</para>
|
|
|
|
<para>Es gibt zwei Ansichten darüber, wie Modems für
|
|
Einwählverbindungen unter &unix; zu konfigurieren sind. Zum
|
|
einen kann die Geschwindigkeit zwischen dem Modem und dem Computer
|
|
fest eingestellt werden. Sie ist damit unabhängig von der
|
|
Geschwindigkeit, mit der sich der entfernte Benutzer einwählt.
|
|
Dies hat den Vorteil, dass der entfernte Benutzer das
|
|
Anmeldeprompt sofort bekommt. Der Nachteil bei diesem Verfahren
|
|
ist, dass das System die tatsächliche Geschwindigkeit
|
|
der Verbindung nicht kennt. Damit können bildschirmorientierte
|
|
Programme wie <application>Emacs</application> ihren
|
|
Bildschirmaufbau nicht an langsame Verbindungen anpassen,
|
|
um die Antwortzeiten zu verbessern.</para>
|
|
|
|
<para>Die andere Möglichkeit besteht darin, die Geschwindigkeit
|
|
der RS-232 Schnittstelle des lokalen Modems an die Geschwindigkeit
|
|
des entfernten Modems anzupassen. Bei einer V.32bis (14400 bps)
|
|
Verbindung kann das lokale Modem die RS-232 Schnittstelle mit
|
|
19200 bps betreiben, während bei einer Verbindung mit
|
|
2400 bps die RS-232 Schnittstelle mit 2400 bps
|
|
betrieben wird. Da <command>getty</command> die
|
|
Verbindungsgeschwindigkeit des Modems nicht kennt, startet es
|
|
den Anmeldevorgang mit der Ausgabe
|
|
von <prompt>login:</prompt> und wartet auf eine Antwort. Wenn der
|
|
Benutzer der Gegenstelle nun nur unverständliche Zeichen
|
|
erhält, muss er solange <keycap>Enter</keycap>
|
|
drücken, bis das Anmeldeprompt erscheint. Solange die
|
|
Geschwindigkeiten nicht übereinstimmen, sind die Antworten der
|
|
Gegenstelle für <command>getty</command> ebenfalls
|
|
unverständlich. In diesem Fall wechselt
|
|
<command>getty</command> zur nächsten Geschwindigkeit und gibt
|
|
wieder <prompt>login:</prompt> aus. In aller Regel erhält der
|
|
Benutzer der Gegenstelle nach ein bis zwei Tastendrücken
|
|
eine erkennbare Anmeldeaufforderung. Diese Anmeldeprozedur sieht
|
|
nicht so sauber wie die Methode mit einer festen Geschwindigkeit
|
|
aus, bietet dem Benutzer einer langsamen Verbindung allerdings den
|
|
Vorteil, dass sich bildschirmorientierte Programme an die
|
|
Geschwindigkeit anpassen können.</para>
|
|
|
|
<para>Im Folgenden wird die Konfiguration für beide Methoden
|
|
besprochen, doch die Methode der angepassten Geschwindigkeit
|
|
wird bei der Diskussion bevorzugt.</para>
|
|
|
|
<sect3>
|
|
<title><filename>/etc/gettytab</filename></title>
|
|
|
|
<indexterm>
|
|
<primary><filename>/etc/gettytab</filename></primary>
|
|
</indexterm>
|
|
<para>Mit <filename>/etc/gettytab</filename> wird &man.getty.8; im
|
|
Stil von &man.termcap.5; konfiguriert. Das Format dieser Datei und
|
|
die Bedeutung der Einträge wird in &man.gettytab.5;
|
|
beschrieben.</para>
|
|
|
|
<para>Wenn die Modemgeschwindigkeit vorgeben wird, sollten
|
|
Anpassungen in <filename>/etc/gettytab</filename> nicht
|
|
erforderlich sein.</para>
|
|
|
|
<para>Wenn jedoch die Geschwindigkeit angepasst werden soll,
|
|
erstellen Sie einen Eintrag in
|
|
<filename>/etc/gettytab</filename>, um
|
|
<command>getty</command> die Geschwindigkeit für das
|
|
Modem mitzuteilen. Für ein 2400 bps Modem kann der
|
|
vorhandene <literal>D2400</literal> Eintrag benutzt
|
|
werden.</para>
|
|
|
|
<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:</programlisting>
|
|
|
|
<para>Wird ein Modem mit einer höheren Geschwindigkeit
|
|
eingesetzt, müssen weitere Einträge in
|
|
<filename>/etc/gettytab</filename> erstellt werden.
|
|
Dieses Beispiel zeigt einen Eintrag für ein 14400 bps
|
|
Modem mit einer Geschwindigkeit bis zu
|
|
19200 bps:</para>
|
|
|
|
<programlisting>#
|
|
# Additions for a V.32bis Modem
|
|
#
|
|
um|V300|High Speed Modem at 300,8-bit:\
|
|
:nx=V19200:tc=std.300:
|
|
un|V1200|High Speed Modem at 1200,8-bit:\
|
|
:nx=V300:tc=std.1200:
|
|
uo|V2400|High Speed Modem at 2400,8-bit:\
|
|
:nx=V1200:tc=std.2400:
|
|
up|V9600|High Speed Modem at 9600,8-bit:\
|
|
:nx=V2400:tc=std.9600:
|
|
uq|V19200|High Speed Modem at 19200,8-bit:\
|
|
:nx=V9600:tc=std.19200:</programlisting>
|
|
|
|
<para>Die damit erzeugten Verbindungen verwenden 8 Bit und keine
|
|
Parität.</para>
|
|
|
|
<para>Im obigen Beispiel startet die Geschwindigkeit bei
|
|
19200 bps (eine V.32bis Verbindung) und geht dann
|
|
über 9600 bps (V.32), 400 bps, 1200 bps
|
|
und 300 bps wieder zurück zu 19200 bps.
|
|
Das Schlüsselwort <literal>nx=</literal>
|
|
(<foreignphrase>next table</foreignphrase>) sorgt für
|
|
das zyklische Durchlaufen der Geschwindigkeiten. Jede Zeile
|
|
zieht zudem noch mit <literal>tc=</literal>
|
|
(<foreignphrase>table continuation</foreignphrase>)
|
|
die Vorgabewerte für die jeweilige Geschwindigkeit an.</para>
|
|
|
|
<para>Wenn Sie ein 28800 bps Modem besitzen und/oder Kompression
|
|
mit einem 14400 bps Modem benutzen wollen, brauchen Sie
|
|
höhere Geschwindigkeiten als 19200 bps. Das folgende
|
|
Beispiel startet mit 57600 bps:</para>
|
|
|
|
<programlisting>#
|
|
# Additions for a V.32bis or V.34 Modem
|
|
# Starting at 57600 bps
|
|
#
|
|
vm|VH300|Very High Speed Modem at 300,8-bit:\
|
|
:nx=VH57600:tc=std.300:
|
|
vn|VH1200|Very High Speed Modem at 1200,8-bit:\
|
|
:nx=VH300:tc=std.1200:
|
|
vo|VH2400|Very High Speed Modem at 2400,8-bit:\
|
|
:nx=VH1200:tc=std.2400:
|
|
vp|VH9600|Very High Speed Modem at 9600,8-bit:\
|
|
:nx=VH2400:tc=std.9600:
|
|
vq|VH57600|Very High Speed Modem at 57600,8-bit:\
|
|
:nx=VH9600:tc=std.57600:</programlisting>
|
|
|
|
<para>Wenn Sie eine langsame CPU oder ein stark
|
|
ausgelastetes System besitzen und sich kein 16550A im
|
|
System befindet, erhalten Sie bei 57600 bps
|
|
vielleicht <errorname>sio</errorname> Fehlermeldungen der
|
|
Form <quote>silo overflow</quote>.</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="dialup-ttys">
|
|
<title><filename>/etc/ttys</filename></title>
|
|
<indexterm>
|
|
<primary><filename>/etc/ttys</filename></primary>
|
|
</indexterm>
|
|
|
|
<para><filename>/etc/ttys</filename> wurde bereits in <xref
|
|
linkend="ex-etc-ttys"/> besprochen. Die Konfiguration für
|
|
Modems ist ähnlich, allerdings braucht
|
|
<command>getty</command> ein anderes Argument und es muss
|
|
ein anderer Terminaltyp angegeben werden. Der Eintrag für
|
|
beide Methoden (feste und angepasste Geschwindigkeit) hat
|
|
die folgende Form:</para>
|
|
|
|
<programlisting>ttyu0 "/usr/libexec/getty <replaceable>xxx</replaceable>" dialup on</programlisting>
|
|
|
|
<para>Das erste Feld der obigen Zeile gibt die Gerätedatei
|
|
für diesen Eintrag an. <filename>ttyu0</filename>
|
|
bedeutet, dass <command>getty</command> mit
|
|
<filename>/dev/ttyu0</filename> arbeitet. Das zweite Feld
|
|
<literal>"/usr/libexec/getty xxx"</literal>
|
|
gibt das Kommando an, das <command>init</command> für dieses
|
|
Gerät startet (<replaceable>xxx</replaceable> wird durch
|
|
einen passenden Eintrag aus <filename>/etc/gettytab</filename>
|
|
ersetzt). Die Vorgabe für den Terminaltyp, hier
|
|
<literal>dialup</literal>, wird im dritten Feld angegeben. Das
|
|
vierte Feld, <literal>on</literal>, zeigt
|
|
<command>init</command> an, dass die Schnittstelle aktiviert
|
|
ist. Im fünften Feld könnte noch
|
|
<literal>secure</literal> angegeben werden, um Anmeldungen von
|
|
<systemitem class="username">root</systemitem> zu erlauben, doch sollte das wirklich
|
|
nur für physikalisch sichere Terminals, wie die
|
|
Systemkonsole, aktiviert werden.</para>
|
|
|
|
<para>Die Vorgabe für den Terminaltyp,
|
|
<literal>dialup</literal> im obigen Beispiel, hängt von lokalen
|
|
Gegebenheiten ab. Traditionell wird <literal>dialup</literal>
|
|
für Einwählverbindungen verwendet, so dass die
|
|
Benutzer in ihren Anmeldeskripten den Terminaltyp auf ihren
|
|
Terminal abstimmen können, wenn der Typ auf
|
|
<literal>dialup</literal> gesetzt ist. Wenn Sie nur VT102
|
|
Terminals oder Emulatoren einsetzen,
|
|
können Sie den Terminaltyp hier auch fest auf
|
|
<literal>vt102</literal> setzen.</para>
|
|
|
|
<para>Nachdem <filename>/etc/ttys</filename> geändert wurde,
|
|
muss <command>init</command> ein <acronym>HUP</acronym>
|
|
Signal schicken, damit es die Datei wieder einliest:</para>
|
|
|
|
<screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
|
|
|
|
<para>Stellen Sie sicher, dass das Modem richtig konfiguriert
|
|
und angeschlossen ist, bevor Sie das Signal an
|
|
<command>init</command> schicken.</para>
|
|
|
|
<para>Das Argument von <command>getty</command> muss in
|
|
diesem Fall eine feste Geschwindigkeit vorgeben. Der Eintrag
|
|
für ein Modem, das fest auf 19200 bps eingestellt ist,
|
|
könnte wie folgt aussehen:</para>
|
|
|
|
<programlisting>ttyu0 "/usr/libexec/getty std.19200" dialup on</programlisting>
|
|
|
|
<para>Wenn das Modem auf eine andere Geschwindigkeit eingestellt
|
|
ist, setzen Sie anstelle von <literal>std.19200</literal> einen
|
|
passenden Eintrag der Form
|
|
<literal>std.<replaceable>speed</replaceable></literal> ein.
|
|
Stellen Sie sicher, dass dies auch ein gültiger
|
|
Verbindungstyp aus <filename>/etc/gettytab</filename>
|
|
ist.</para>
|
|
|
|
<para>Das Argument von <command>getty</command> muss hier auf
|
|
einen der Einträge aus <filename>/etc/gettytab</filename>
|
|
zeigen, der zu einer Kette von Einträgen gehört, die
|
|
die zu probierenden Geschwindigkeiten beschreiben. Wenn Sie
|
|
dem obigen Beispiel gefolgt sind und zusätzliche
|
|
Einträge in <filename>/etc/gettytab</filename> erzeugt
|
|
haben, können Sie die folgende Zeile verwenden:</para>
|
|
|
|
<programlisting>ttyu0 "/usr/libexec/getty V19200" dialup on</programlisting>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title><filename>/etc/rc.d/serial</filename></title>
|
|
<indexterm>
|
|
<primary>rc-Dateien</primary>
|
|
<secondary><filename>rc.serial</filename></secondary>
|
|
</indexterm>
|
|
|
|
<para>Modems, die höhere Geschwindigkeiten unterstützen,
|
|
zum Beispiel V.32, V.32bis und V.34 Modems, benutzen
|
|
Hardware-Flusssteuerung (<literal>RTS/CTS</literal>). Für
|
|
die entsprechenden Schnittstellen können Sie die
|
|
Flusssteuerung mit <command>stty</command> in
|
|
<filename>/etc/rc.d/serial</filename> einstellen.</para>
|
|
|
|
<para>Um beispielsweise die Hardware-Flusssteuerung
|
|
für die Geräte zur Ein- und Auswahl der zweiten
|
|
seriellen Schnittstelle (<filename>COM2</filename>)
|
|
zu aktivieren, benutzen Sie die Dateien zur Initialisierung der
|
|
entsprechenden Geräte und fügen die folgenden Zeilen in
|
|
<filename>/etc/rc.d/serial</filename> hinzu:</para>
|
|
|
|
<programlisting># Serial port initial configuration
|
|
stty -f /dev/ttyu1.init crtscts
|
|
stty -f /dev/cuad1.init crtscts</programlisting>
|
|
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Modemkonfiguration</title>
|
|
|
|
<para>Für ein Modem, das seine Konfiguration in nicht
|
|
flüchtigem RAM speichert, wird ein Terminalprogramm wie
|
|
<application>Telix</application> unter &ms-dos; oder
|
|
<command>tip</command> unter &os; benötigt, um die Parameter
|
|
einzustellen. Verbinden Sie sich mit derselben Geschwindigkeit, die
|
|
<command>getty</command> zuerst benutzen würde, mit dem Modem und
|
|
treffen Sie folgende Einstellungen:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><acronym>DCD</acronym> ist eingeschaltet, wenn das
|
|
Trägersignal des entfernten Modems erkannt wird.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Im Betrieb liegt <acronym>DTR</acronym> an. Bei einem Verlust
|
|
von DTR legt das Modem auf und setzt sich zurück.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>CTS</acronym> Flusssteuerung ist für
|
|
ausgehende Daten aktiviert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>XON/XOFF</acronym> Flusssteuerung ist
|
|
ausgeschaltet.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><acronym>RTS</acronym> Flusssteuerung ist für
|
|
eingehende Daten aktiviert.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Keine Rückmeldungen ausgeben.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Die Echo-Funktion ist deaktiviert.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Lesen Sie die Dokumentation für das Modem, um
|
|
herauszufinden welche Befehle und/oder DIP-Schalterstellungen
|
|
benötigt werden.</para>
|
|
|
|
<para>Für ein externes 14400 &usrobotics; &sportster; gelten zum
|
|
Beispiel die folgenden Befehle:</para>
|
|
|
|
<programlisting>ATZ
|
|
AT&C1&D2&H1&I0&R2&W</programlisting>
|
|
|
|
<para>Bei dieser Gelegenheit können Sie auch gleich andere
|
|
Einstellungen, zum Beispiel ob Sie V42.bis und/oder MNP5
|
|
Kompression benutzen wollen, an Ihrem Modem vornehmen.</para>
|
|
|
|
<para>Bei einem externen 14400 &usrobotics; &sportster;
|
|
müssen Sie auch noch einige DIP-Schalter einstellen.
|
|
Die folgenden Einstellungen können verwendet werden:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Schalter 1: OBEN – DTR normal</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 2: N/A (Rückmeldungen als Text/numerische
|
|
Rückmeldungen)</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 3: OBEN – Keine Rückmeldungen
|
|
ausgeben</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 4: UNTEN – Echo-Funktion aus</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 5: OBEN – Rufannahme aktiviert</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 6: OBEN – Carrier Detect normal</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 7: OBEN – Einstellungen aus dem NVRAM laden</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Schalter 8: N/A (Smart Mode/Dumb Mode)</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Für Einwählverbindungen sollten die
|
|
Rückmeldungen deaktiviert sein, da sonst
|
|
<command>getty</command> dem Modem das Anmeldeprompt
|
|
<prompt>login:</prompt> schickt und das Modem im Kommandomodus das
|
|
Prompt wieder ausgibt (Echo-Funktion) oder eine Rückmeldung gibt.
|
|
Das führt dann zu einer länglichen und fruchtlosen
|
|
Kommunikation zwischen dem Modem und
|
|
<command>getty</command>.</para>
|
|
|
|
<para>Die Geschwindigkeit zwischen Modem und Computer muss auf
|
|
einen festen Wert eingestellt werden. Mit einem externen 14400
|
|
&usrobotics; &sportster; Modem setzen die folgenden Kommandos die
|
|
Geschwindigkeit auf den Wert der Datenendeinrichtung fest:</para>
|
|
|
|
<programlisting>ATZ
|
|
AT&B1&W</programlisting>
|
|
|
|
<para>In diesem Fall muss die Geschwindigkeit der seriellen
|
|
Schnittstelle des Modems der eingehenden Geschwindigkeit
|
|
angepasst werden. Für ein externes
|
|
14400 &usrobotics; &sportster;
|
|
Modem erlauben die folgenden Befehle eine Anpassung der
|
|
Geschwindigkeit der seriellen Schnittstelle für
|
|
Verbindungen, die keine Fehlerkorrektur verwenden:</para>
|
|
|
|
<programlisting>ATZ
|
|
AT&B2&W</programlisting>
|
|
|
|
<para>Verbindungen mit Fehlerkorrektur (V.42, MNP) verwenden die
|
|
Geschwindigkeit der Datenendeinrichtung.</para>
|
|
|
|
<sect3>
|
|
<title>Überprüfen der Modemkonfiguration</title>
|
|
|
|
<para>Die meisten Modems verfügen über Kommandos, die die
|
|
Konfiguration des Modems in lesbarer Form ausgeben. Auf einem
|
|
externen 14400 &usrobotics; &sportster; zeigt
|
|
<command>ATI5</command> die Einstellungen im nicht
|
|
flüchtigen RAM an. Um die wirklichen
|
|
Einstellungen unter Berücksichtigung der DIP-Schalter zu
|
|
sehen, benutzen Sie <command>ATZ</command> gefolgt von
|
|
<command>ATI4</command>.</para>
|
|
|
|
<para>Wenn Sie ein anderes Modem benutzen, schauen Sie bitte in der
|
|
Dokumentation des Modems nach, wie Sie die Konfiguration des
|
|
Modems überprüfen können.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Fehlersuche</title>
|
|
|
|
<para>Bei Problemen können Sie die Einwählverbindung anhand
|
|
der folgenden Punkte überprüfen:</para>
|
|
|
|
<para>Schließen Sie das Modem an das &os;-System an und
|
|
booten Sie das System. Wenn das Modem über
|
|
Statusindikatoren verfügt, überprüfen Sie, ob der
|
|
<acronym>DTR</acronym> Indikator leuchtet, wenn das Anmeldeprompt
|
|
erscheint. Dies zeigt an, dass das &os;-System einen
|
|
<command>getty</command> Prozess auf der entsprechenden
|
|
Schnittstelle gestartet hat und das Modem auf einkommende
|
|
Verbindungen wartet.</para>
|
|
|
|
<para>Wenn der <acronym>DTR</acronym>-Indikator nicht leuchtet,
|
|
melden Sie sich an dem &os;-System an und überprüfen mit
|
|
<command>ps ax</command>, ob &os; einen
|
|
<command>getty</command>-Prozess auf der entsprechenden
|
|
Schnittstelle gestartet hat:</para>
|
|
|
|
<screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0
|
|
115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu1</screen>
|
|
|
|
<para>Wenn das Modem noch keinen Anruf entgegengenommen hat und Sie
|
|
stattdessen die folgende Zeile sehen</para>
|
|
|
|
<screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyu0</screen>
|
|
|
|
<para>bedeutet dies, dass <command>getty</command> die
|
|
Schnittstelle schon geöffnet hat und zeigt Kabelprobleme
|
|
oder eine falsche Modemkonfiguration an, da
|
|
<command>getty</command> die Schnittstelle erst dann öffnen
|
|
kann, wenn das <acronym>CD</acronym> Signal (Carrier Detect) vom
|
|
Modem anliegt.</para>
|
|
|
|
<para>Wenn Sie keine <command>getty</command>-Prozesse auf den
|
|
gewünschten <filename>ttyu<replaceable>N</replaceable></filename>
|
|
Ports finden, untersuchen Sie <filename>/etc/ttys</filename>
|
|
auf Fehler. Suchen Sie auch in <filename>/var/log/messages</filename>
|
|
nach Meldungen von <command>init</command> oder
|
|
<command>getty</command>. Wenn Sie dort Meldungen finden,
|
|
sollten Sie noch einmal die beiden Konfigurationsdateien
|
|
<filename>/etc/ttys</filename> und <filename>/etc/gettytab</filename>
|
|
nach Fehlern durchsehen. Überprüfen Sie auch, ob die
|
|
Gerätedateien
|
|
<filename>/dev/ttyu<replaceable>N</replaceable></filename>
|
|
vorhanden sind.</para>
|
|
|
|
<para>Versuchen Sie als nächstes, sich in das System
|
|
einzuwählen. Auf dem
|
|
entfernten System stellen Sie bitte die folgenden
|
|
Kommunikationsparameter ein: 8 Bit, keine Parität, ein
|
|
Stop-Bit. Wenn kein Anmeldeprompt erscheint oder nur
|
|
unleserliche Zeichen, drücken Sie mehrmals, in
|
|
Abständen von ungefähr einer Sekunde,
|
|
<keycap>Enter</keycap>. Wenn Sie immer noch nicht die
|
|
<prompt>login:</prompt> Meldung sehen, schicken Sie ein
|
|
<command>BREAK</command> Kommando. Wenn Sie zur Einwahl ein
|
|
Highspeed-Modem benutzen, verwenden Sie eine feste
|
|
Geschwindigkeit auf der seriellen Schnittstelle des
|
|
Modems.</para>
|
|
|
|
<para>Wenn jetzt immer noch kein Anmeldeprompt erscheint,
|
|
überprüfen Sie nochmals <filename>/etc/gettytab</filename>
|
|
und stellen sicher, dass:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>der Verbindungstyp in <filename>/etc/ttys</filename> zu
|
|
einem gültigen Eintrag in <filename>/etc/gettytab</filename>
|
|
gehört.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>jeder der <literal>nx=</literal> Einträge in
|
|
<filename>gettytab</filename> gültig ist und</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>jeder <literal>tc=</literal> Eintrag auf einen
|
|
gültigen Eintrag in <filename>gettytab</filename>
|
|
verweist.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Wenn das Modem am &os;-System auf einen eingehenden Anruf
|
|
nicht antwortet, stellen Sie sicher, dass das Modem so
|
|
konfiguriert ist, dass es einen Anruf beantwortet, wenn
|
|
<acronym>DTR</acronym> anliegt. Wenn das Modem Statusindikatoren
|
|
besitzt, können Sie das Anliegen von <acronym>DTR</acronym>
|
|
anhand der Leuchten überprüfen.</para>
|
|
|
|
<para>Wenn Sie alles schon mehrfach überprüft haben und
|
|
es immer noch noch nicht funktioniert, versuchen Sie es zu
|
|
einem späteren Zeitpunkt erneut. Wenn es immer noch nicht
|
|
funktioniert, können Sie eine Mail an die Mailingliste
|
|
&a.de.questions; schicken, in der Sie Ihr Modem und Ihr
|
|
Problem beschreiben.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="dialout">
|
|
<title>Verbindungen nach Außen</title>
|
|
|
|
<para>Die folgenden Ratschläge beschreiben, wie Sie mit einem
|
|
Modem eine Verbindung zu einem anderen Computer herstellen. Dies
|
|
können Sie nutzen, um sich auf einem entfernten Computer
|
|
anzumelden.</para>
|
|
|
|
<para>Weiterhin ist diese Art von Verbindungen nützlich, wenn
|
|
PPP mal nicht funktioniert. Wenn Sie zum Beispiel eine Datei
|
|
mit FTP übertragen wollen und das über PPP gerade nicht
|
|
möglich ist, melden Sie sich auf dem entfernten Rechner an und
|
|
führen dort die FTP-Sitzung durch. Die Dateien können danach
|
|
mit zmodem auf den lokalen Rechner übertragen werden.</para>
|
|
|
|
<sect2 xml:id="hayes-unsupported">
|
|
<title>Ein Hayes Modem benutzen</title>
|
|
|
|
<para>Es gibt einen eingebauten, allgemeinen Hayes Wähler in
|
|
<command>tip</command>. Verwenden Sie
|
|
<literal>at=hayes</literal> in
|
|
<filename>/etc/remote</filename>.</para>
|
|
|
|
<para>Der Hayes-Treiber ist nicht schlau genug, um ein paar der
|
|
erweiterten Funktionen von neueren Modems, bspw.
|
|
<literal>BUSY</literal>, <literal>NO DIALTONE</literal> oder
|
|
<literal>CONNECT 115200</literal> zu nutzen. Schalten Sie
|
|
diese Nachrichten mit Hilfe von <command>ATX0&W</command>
|
|
ab, wenn Sie <command>tip</command> benutzen.</para>
|
|
|
|
<para>Der Anwahl-Timeout von <command>tip</command> beträgt 60
|
|
Sekunden. Das Modem sollte weniger verwenden, oder
|
|
<command>tip</command> denkt, dass ein Kommunikationsfehler
|
|
vorliegt. Versuchen Sie es mit
|
|
<command>ATS7=45&W</command>.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="direct-at">
|
|
<title><literal>AT</literal>-Befehle benutzen</title>
|
|
|
|
<indexterm>
|
|
<primary><filename>/etc/remote</filename></primary>
|
|
</indexterm>
|
|
<para>Erstellen Sie einen <literal>direct</literal>
|
|
Eintrag in <filename>/etc/remote</filename>. Wenn das Modem zum
|
|
Beispiel an der ersten seriellen Schnittstelle,
|
|
<filename>/dev/cuad0</filename>, angeschlossen ist, dann
|
|
fügen Sie die folgende Zeile hinzu:</para>
|
|
|
|
<programlisting>cuad0:dv=/dev/cuad0:br#19200:pa=none</programlisting>
|
|
|
|
<para>Verwenden Sie die höchste bps-Rate, die das Modem in der
|
|
<literal>br</literal> Fähigkeit unterstützt. Geben Sie dann
|
|
<command>tip cuad0</command> ein und Sie sind mit dem
|
|
Modem verbunden.</para>
|
|
|
|
<para>Oder benutzen Sie <command>cu</command> als
|
|
<systemitem class="username">root</systemitem> mit dem folgenden Befehl:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen>
|
|
|
|
<para><replaceable>line</replaceable> steht für die serielle
|
|
Schnittstelle (<filename>/dev/cuad0</filename>) und
|
|
<replaceable>speed</replaceable> für die Geschwindigkeit
|
|
(<literal>57600</literal>). Wenn Sie mit dem Eingeben der AT
|
|
Befehle fertig sind, beenden Sie mit <command>~.</command>.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="gt-failure">
|
|
<title>Das <literal>@</literal> Zeichen funktioniert
|
|
nicht</title>
|
|
|
|
<para>Das <literal>@</literal> Zeichen in der
|
|
Telefonnummerfähigkeit sagt <command>tip</command>, dass
|
|
es in <filename>/etc/phones</filename> nach einer Nummer
|
|
suchen soll. Aber <literal>@</literal> ist auch ein spezielles
|
|
Zeichen in den Dateien, in denen Fähigkeiten beschrieben
|
|
werden, wie <filename>/etc/remote</filename>. Schreiben Sie es mit
|
|
einem Backslash:</para>
|
|
|
|
<programlisting>pn=\@</programlisting>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="dial-command-line">
|
|
<title>Wie kann ich von der Kommandozeile eine Telefonnummer
|
|
wählen?</title>
|
|
|
|
<para>Setzen Sie einen allgemeinen Eintrag in
|
|
<filename>/etc/remote</filename>. Zum Beispiel:</para>
|
|
|
|
<programlisting>tip115200|Dial any phone number at 115200 bps:\
|
|
:dv=/dev/cuad0: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:</programlisting>
|
|
|
|
<para>Folgendes sollte jetzt funktionieren:</para>
|
|
|
|
<screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen>
|
|
|
|
<para>Benutzer, die <command>cu</command> gegenüber
|
|
<command>tip</command> bevorzugen, können einen allgemeinen
|
|
<literal>cu</literal>-Eintrag verwenden:</para>
|
|
|
|
<programlisting>cu115200|Use cu to dial any number at 115200bps:\
|
|
:dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:</programlisting>
|
|
|
|
<para>und benutzen zum Wählen das Kommando:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="set-bps">
|
|
<title>Die <acronym>bps</acronym>-Rate angeben</title>
|
|
|
|
<para>Schreiben Sie einen <literal>tip1200</literal>- oder einen
|
|
<literal>cu1200</literal>-Eintrag, aber geben Sie auch die
|
|
<acronym>bps</acronym>-Rate an, die das Modem wirklich
|
|
unterstützt. Leider denkt &man.tip.1;, dass 1200 bps ein
|
|
guter Standardwert ist und deswegen sucht es nach einem
|
|
<literal>tip1200</literal>-Eintrag. Natürlich müssen Sie
|
|
nicht 1200 bps benutzen.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="terminal-server">
|
|
<title>Über einen Terminal-Server auf verschiedene Rechner
|
|
zugreifen</title>
|
|
|
|
<para>Sie müssen nicht warten bis Sie verbunden sind, und
|
|
jedes Mal
|
|
<command>CONNECT <replaceable>Rechner</replaceable></command>
|
|
eingeben, benutzen Sie <command>tip</command>s
|
|
<literal>cm</literal>-Fähigkeit. Sie können diese
|
|
Einträge in <filename>/etc/remote</filename> verwenden.
|
|
Mit den Befehlen <command>tip pain</command> oder
|
|
<command>tip muffin</command> können Sie eine Verbindungen zu
|
|
den Rechnern <systemitem>pain</systemitem> oder
|
|
<systemitem>muffin</systemitem> herstellen; mit
|
|
<command>tip deep13</command> verbinden Sie sich mit dem
|
|
Terminalserver.</para>
|
|
|
|
<programlisting>pain|pain.deep13.com|Forrester's machine:\
|
|
:cm=CONNECT pain\n:tc=deep13:
|
|
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:</programlisting>
|
|
|
|
</sect2>
|
|
|
|
<sect2 xml:id="tip-multiline">
|
|
<title>Mehr als eine Verbindung mit <command>tip</command>
|
|
benutzen</title>
|
|
|
|
<para>Das ist oft ein Problem, wenn eine Universität mehrere
|
|
Telefonleitungen hat und viele tausend Studenten diese benutzen
|
|
wollen.</para>
|
|
|
|
<para>Erstellen Sie einen Eintrag in
|
|
<filename>/etc/remote</filename> und benutzen Sie
|
|
<literal>@</literal> für die
|
|
<literal>pn</literal>-Fähigkeit:</para>
|
|
|
|
<programlisting>big-university:\
|
|
:pn=\@:tc=dialout
|
|
dialout:\
|
|
:dv=/dev/cuad3:br#9600:at=courier:du:pa=none:</programlisting>
|
|
|
|
<para>Listen Sie dann die Telefonnummern in
|
|
<filename>/etc/phones</filename> auf:</para>
|
|
|
|
<programlisting>big-university 5551111
|
|
big-university 5551112
|
|
big-university 5551113
|
|
big-university 5551114</programlisting>
|
|
|
|
<para><command>tip</command> probiert jede der Nummern in der
|
|
aufgelisteten Reihenfolge und gibt dann auf. Möchten Sie,
|
|
dass <command>tip</command> beim Versuchen eine Verbindung
|
|
herzustellen nicht aufgibt, lassen Sie es in einer
|
|
<literal>while</literal>-Schleife laufen.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="multi-controlp">
|
|
<title>Eine Übertragung erzwingen</title>
|
|
|
|
<para><keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>P</keycap>
|
|
</keycombo>
|
|
ist das voreingestellte Zeichen, mit dem eine Übertragung
|
|
erzwungen werden kann und wird benutzt, um <command>tip</command>
|
|
zu sagen, dass das nächste Zeichen direkt gesendet werden
|
|
soll und nicht als Fluchtzeichen interpretiert werden soll. Mit
|
|
Hilfe der Fluchtsequenz <command>~s</command>, mit der man
|
|
Variablen setzen kann, können Sie jedes andere Zeichen als
|
|
<quote>force</quote>-Zeichen definieren.</para>
|
|
|
|
<para>Geben Sie
|
|
<command>~sforce=<replaceable>Zeichen</replaceable></command>
|
|
gefolgt von <keycap>Enter</keycap> ein. Für
|
|
<replaceable>Zeichen</replaceable> können Sie ein beliebiges
|
|
einzelnes Zeichen einsetzen. Wenn Sie
|
|
<replaceable>Zeichen</replaceable> weglassen, ist das
|
|
<quote>force</quote>-Zeichen <quote>nul</quote>, das Sie mit
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap><keycap>2</keycap>
|
|
</keycombo>
|
|
oder
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap><keycap>Leertaste</keycap>
|
|
</keycombo> eingeben können. Ein guter Wert für
|
|
<replaceable>Zeichen</replaceable> ist
|
|
<keycombo action="simul">
|
|
<keycap>Shift</keycap>
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>6</keycap>
|
|
</keycombo>, welches nur auf wenigen Terminal Servern benutzt
|
|
wird.</para>
|
|
|
|
<para>Sie können das <quote>force</quote>-Zeichen auch
|
|
bestimmen, indem Sie in <filename>$HOME/.tiprc</filename> das
|
|
Folgende einstellen:</para>
|
|
|
|
<programlisting>force=<replaceable>single-char</replaceable></programlisting>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="uppercase">
|
|
<title>Großbuchstaben</title>
|
|
|
|
<para>Dies passiert, wenn
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap>
|
|
<keycap>A</keycap>
|
|
</keycombo> eingegeben wurde, das <quote>raise</quote>-Zeichen von
|
|
<command>tip</command>, das speziell für Leute mit defekten
|
|
caps-lock Tasten eingerichtet wurde. Benutzen Sie
|
|
<command>~s</command> wie oben und setzen Sie die Variable
|
|
<literal>raisechar</literal> auf etwas, das Ihnen angemessen
|
|
erscheint. Tatsächlich kann die Variable auf das gleiche
|
|
Zeichen wie das <quote>force</quote>-Zeichen gesetzt werden,
|
|
wenn diese Fähigkeiten niemals benutzt werden sollen.</para>
|
|
|
|
<para>Hier ist ein Muster der <filename>.tiprc</filename> Datei
|
|
für <application>Emacs</application> Benutzer, die
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap><keycap>2</keycap>
|
|
</keycombo>
|
|
und
|
|
<keycombo action="simul">
|
|
<keycap>Ctrl</keycap><keycap>A</keycap>
|
|
</keycombo>
|
|
tippen müssen:</para>
|
|
|
|
<programlisting>force=^^
|
|
raisechar=^^</programlisting>
|
|
|
|
<para>Geben Sie für <literal>^^</literal>
|
|
<keycombo action="simul">
|
|
<keycap>Shift</keycap><keycap>Ctrl</keycap><keycap>6</keycap>
|
|
</keycombo> ein.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 xml:id="tip-filetransfer">
|
|
<title>Dateien mit <command>tip</command> übertragen</title>
|
|
|
|
<para>Wenn Sie mit einem anderen &unix; System kommunizieren,
|
|
können Sie mit <command>~p</command> (put) und
|
|
<command>~t</command> (take) Dateien senden und empfangen. Diese
|
|
Befehle lassen <command>cat</command> und <command>echo</command>
|
|
auf dem entfernten System laufen, um Dateien zu empfangen und zu
|
|
senden. Die Syntax ist:</para>
|
|
|
|
<cmdsynopsis>
|
|
<command>~p</command>
|
|
<arg choice="plain">local-file</arg>
|
|
<arg choice="opt">remote-file</arg>
|
|
</cmdsynopsis>
|
|
|
|
<cmdsynopsis>
|
|
<command>~t</command>
|
|
<arg choice="plain">remote-file</arg>
|
|
<arg choice="opt">local-file</arg>
|
|
</cmdsynopsis>
|
|
|
|
<para>Es gibt keine Fehlerkontrolle, deshalb sollte besser ein
|
|
anderes Protokoll, wie zmodem, benutzt werden.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="zmodem-tip">
|
|
<title><application>zmodem</application> mit
|
|
<command>tip</command> benutzen</title>
|
|
|
|
<para>Um Dateien zu empfangen, starten Sie das Programm zum Senden
|
|
auf dem entfernten Computer. Geben Sie dann
|
|
<command>~C rz</command> ein, um die Dateien lokal zu empfangen.</para>
|
|
|
|
<para>Um Dateien zu senden, starten Sie das Programm zum Empfangen
|
|
auf dem entfernten Computer. Geben Sie dann
|
|
<command>~C sz <replaceable>Dateien</replaceable></command> ein,
|
|
um Dateien auf das entfernte System zu senden.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="serialconsole-setup">
|
|
<info>
|
|
<title>Einrichten der seriellen Konsole</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Kazutaka</firstname>
|
|
<surname>YOKOTA</surname>
|
|
</personname>
|
|
<contrib>Beigetragen von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Bill</firstname>
|
|
<surname>Paul</surname>
|
|
</personname>
|
|
<contrib>Based on a document by </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</info>
|
|
|
|
<indexterm><primary>serielle Konsole</primary></indexterm>
|
|
|
|
<para>&os; kann ein System mit einem Dumb-Terminal
|
|
(unintelligente Datenstation) an einer seriellen
|
|
Schnittstelle als Konsole booten. Diese Konfiguration ist
|
|
besonders nützlich für Systemadministratoren, die &os; auf
|
|
Systemen ohne Tastatur oder Monitor installieren wollen, und
|
|
Entwickler, die den Kernel oder Gerätetreiber debuggen.</para>
|
|
|
|
<para>Wie in <xref linkend="boot"/> beschrieben, besitzt &os;
|
|
drei Bootphasen. Der Code für die ersten beiden Bootphasen
|
|
befindet sich im Bootsektor am Anfang der &os;-Slice der
|
|
Bootplatte. Dieser Bootblock lädt den Bootloader in Phase
|
|
drei.</para>
|
|
|
|
<para>Um eine serielle Konsole einzurichten, muss der
|
|
Bootblock, der Bootloader und der Kernel konfiguriert
|
|
werden.</para>
|
|
|
|
<sect2 xml:id="serialconsole-howto-fast">
|
|
<title>Schnelle Konfiguration der seriellen Konsole</title>
|
|
|
|
<para>Dieser Abschnitt bietet einen schnellen Überblick über die
|
|
Einrichtung einer seriellen Konsolen. Es wird vorausgesetzt,
|
|
dass die Voreinstellungen verwendet werden.</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Verbinden Sie die serielle Konsole mit
|
|
<filename>COM1</filename> sowie dem Kontrollterminal.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Um die Startmeldungen der seriellen Konsole zu sehen,
|
|
geben Sie als <systemitem
|
|
class="username">root</systemitem> folgendes ein:</para>
|
|
|
|
<screen>&prompt.root; echo 'console="comconsole"' >> /boot/loader.conf</screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Ändern Sie in <filename>/etc/ttys</filename>
|
|
den Eintrag für <filename>ttyu0</filename> von
|
|
<literal>off</literal> auf <literal>on</literal>.
|
|
Zusätzlich sollten Sie den Wert
|
|
<literal>dialup</literal> auf <literal>vt100</literal>
|
|
ändern. Nur so wird auf der seriellen Konsole
|
|
eine Eingabeaufforderung mit einer Passwortabfrage
|
|
aktiviert.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Starten Sie nun das System neu, damit die serielle
|
|
Konsole aktiviert wird.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Wenn Sie eine unterschiedliche Konfiguration benötigen,
|
|
lesen Sie den nächsten Abschnitt für eine tiefer gehende
|
|
Erklärung.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="serialconsole-howto">
|
|
<title>Konfiguration der seriellen Konsole</title>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Bereiten Sie ein serielles Kabel vor.</para>
|
|
|
|
<indexterm><primary>Nullmodemkabel</primary></indexterm>
|
|
|
|
<para>Sie benötigen entweder ein Nullmodemkabel oder ein
|
|
serielles Standard Kabel mit einem Nullmodemkabel-Adapter.
|
|
In <xref linkend="term-cables-null"/> werden serielle
|
|
Kabel beschrieben.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Trennen Sie die Tastatur vom Computer.</para>
|
|
|
|
<para>Viele PC Systeme suchen beim Power On Self Test
|
|
(<acronym>POST</acronym>) nach einer Tastatur und geben
|
|
eine Fehlermeldung aus, wenn sie keine finden. Einige
|
|
Maschinen werden sich sogar weigern, ohne Tastatur zu
|
|
booten.</para>
|
|
|
|
<para>Wenn der Rechner trotz einer Fehlermeldung normal
|
|
weiterbootet, brauchen Sie weiter nichts zu tun.</para>
|
|
|
|
<para>Wenn das System ohne Tastatur nicht booten will,
|
|
müssen Sie das BIOS so konfigurieren, dass es diesen Fehler
|
|
ignoriert (wenn das möglich ist). Das Handbuch zum
|
|
Motherboard sollte beschreiben, wie das zu bewerkstelligen
|
|
ist.</para>
|
|
|
|
<tip>
|
|
<para>Selbst wenn Sie im BIOS <quote>Not installed</quote>
|
|
für die Tastatur einstellen, können Sie eine
|
|
Tastatur angeschlossen haben und diese auch weiterhin
|
|
benutzen, da sie mit dieser Anweisung das BIOS
|
|
lediglich anweisen, nach dem Einschalten des Rechners nicht
|
|
nach einer Tastatur zu suchen und den Rechner ohne
|
|
entsprechende Fehlermeldung zu starten. Wenn die oben
|
|
beschriebene Option nicht im BIOS vorhanden ist, halten Sie
|
|
stattdessen Ausschau nach einer <quote>Halt on Error</quote>
|
|
Option. Sie können den gleichen Effekt wie oben erzielen,
|
|
wenn Sie diese Option auf <quote>All but Keyboard</quote> oder
|
|
sogar <quote>No Errors</quote> setzen.</para>
|
|
</tip>
|
|
|
|
<note>
|
|
<para>Wenn das System über eine &ps2; Maus verfügt,
|
|
müssen Sie diese wahrscheinlich auch abziehen. Da sich
|
|
die &ps2; Maus und die Tastatur einige Hardwarekomponenten
|
|
teilen, kann das dazu führen, dass die
|
|
Hardwareerkennung fälschlicherweise eine Tastatur findet,
|
|
wenn eine &ps2; Maus angeschlossen ist.</para>
|
|
</note>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Schließen Sie einen Dumb-Terminal an
|
|
<filename>COM1</filename> (<filename>sio0</filename>)
|
|
an.</para>
|
|
|
|
<para>Wenn Sie keinen Dumb-Terminal besitzen, können Sie
|
|
einen alten Computer mit einem Terminalemulator oder die
|
|
serielle Schnittstelle eines anderen &unix; Rechners
|
|
benutzen. Sie benötigen auf jeden Fall eine freie erste
|
|
serielle Schnittstelle (<filename>COM1</filename>).
|
|
Zurzeit ist es nicht möglich, in den Bootblöcken eine
|
|
andere Schnittstelle zu konfigurieren, ohne diese neu zu kompilieren.
|
|
Wenn Sie <filename>COM1</filename> bereits für ein
|
|
anderes Gerät benutzen, müssen Sie dieses Gerät
|
|
temporär entfernen und einen neuen Bootblock sowie Kernel
|
|
installieren, wenn &os; erst einmal installiert
|
|
ist.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Stellen Sie sicher, dass die Kernelkonfiguration die
|
|
richtigen Optionen für <filename>COM1</filename>
|
|
(<filename>sio0</filename>) enthält.</para>
|
|
|
|
<para>Relevante Optionen sind:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><literal>0x10</literal></term>
|
|
|
|
<listitem>
|
|
<para>Aktiviert die Konsolenunterstützung für
|
|
dieses Gerät. Zurzeit kann nur ein Gerät die
|
|
Konsolenunterstützung aktiviert haben. Das erste,
|
|
in der Konfigurationsdatei aufgeführte Gerät,
|
|
mit dieser Option, verfügt über eine aktivierte
|
|
Konsolenunterstützung. Beachten Sie, dass
|
|
diese Option alleine nicht ausreicht, um die serielle
|
|
Konsole zu aktivieren. Setzen Sie entweder noch die
|
|
nachfolgend diskutierte Option oder verwenden Sie beim
|
|
Booten, wie unten beschrieben, den Schalter
|
|
<option>-h</option>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>0x20</literal></term>
|
|
|
|
<listitem>
|
|
<para>Das erste Gerät in der Kernelkonfigurationsdatei
|
|
mit dieser Option wird, unabhängig von dem unten
|
|
diskutierten Schalter <option>-h</option>, zur Konsole.
|
|
Die Option <option>0x20</option> muss zusammen mit
|
|
<option>0x10</option> verwendet werden.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><literal>0x40</literal></term>
|
|
|
|
<listitem>
|
|
<para>Reserviert dieses Gerät und sperrt es für
|
|
normale Zugriffe. Sie sollten diese Option nicht auf dem
|
|
Gerät setzen, das Sie als serielle Konsole verwenden
|
|
wollen. Der Zweck dieser Option ist es, dieses
|
|
Gerät für das Remote-Debuggen zu reservieren.
|
|
Das <link xlink:href="&url.books.developers-handbook.en;/index.html">
|
|
FreeBSD Developers' Handbook</link> enthält dazu weitere
|
|
Informationen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Beispiel:</para>
|
|
|
|
<programlisting>device sio0 at isa? port IO_COM1 tty flags 0x10 irq 4</programlisting>
|
|
|
|
<para>Weitere Einzelheiten finden Sie in
|
|
&man.sio.4;.</para>
|
|
|
|
<para>Wenn diese Optionen nicht gesetzt sind, müssen Sie auf
|
|
einer anderen Konsole beim Booten UserConfig starten oder den
|
|
Kernel neu kompilieren.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Erstellen Sie <filename>boot.config</filename> im
|
|
Rootverzeichnis der <literal>a</literal>-Partition des
|
|
Bootlaufwerks.</para>
|
|
|
|
<para>Der Code des Bootblocks entnimmt dieser Datei, wie Sie Ihr
|
|
System booten möchten. Um die serielle Konsole zu
|
|
aktivieren, müssen Sie hier eine oder mehrere Optionen
|
|
(alle in derselben Zeile) angeben. Die folgenden Optionen
|
|
stehen zur Auswahl der Konsole zur Verfügung:</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><option>-h</option></term>
|
|
|
|
<listitem>
|
|
<para>Schaltet zwischen der internen und der seriellen
|
|
Konsole um. Wenn Sie beispielsweise von der internen
|
|
Konsole (Bildschirm) booten, weist <option>-h</option>
|
|
den Bootloader und den Kernel an, die serielle
|
|
Schnittstelle als Konsole zu nehmen. Wenn die Konsole
|
|
normal auf der seriellen Schnittstelle liegt, wählen
|
|
Sie mit <option>-h</option> den Bildschirm aus.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-D</option></term>
|
|
|
|
<listitem>
|
|
<para>Schaltet zwischen Einzelkonsole und Dual-Konsole um.
|
|
Die Einzelkonsole ist entweder die interne Konsole
|
|
(der Bildschirm) oder die serielle Schnittstelle, je nach
|
|
dem Stand von <option>-h</option>. Im
|
|
Dual-Konsolen Betrieb ist die Konsole, unabhängig
|
|
von <option>-h</option>, gleichzeitig der Bildschirm und
|
|
die serielle Schnittstelle. Dies trifft aber nur zu,
|
|
wenn der Bootblock ausgeführt wird. Sobald der
|
|
Bootloader ausgeführt wird, wird die durch
|
|
<option>-h</option> gegebene Konsole die alleinige
|
|
Konsole.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><option>-P</option></term>
|
|
|
|
<listitem>
|
|
<para>Veranlasst den Bootblock nach einer Tastatur zu
|
|
suchen. Wenn keine Tastatur gefunden wird, werden
|
|
<option>-D</option> und <option>-h</option> automatisch
|
|
gesetzt.</para>
|
|
|
|
<note>
|
|
<para>Wegen Platzbeschränkungen in den
|
|
Bootblöcken kann <option>-P</option> nur
|
|
erweiterte Tastaturen erkennen. Tastaturen mit weniger
|
|
als 101 Tasten und ohne F11 und F12 Tasten werden
|
|
wahrscheinlich, wie vielleicht auch die Tastaturen
|
|
einiger Laptops, nicht erkannt. Wenn das der
|
|
Fall ist, können Sie <option>-P</option>
|
|
nicht verwenden, da es leider keine Abhilfe
|
|
für dieses Problem gibt.</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Benutzen Sie also entweder <option>-P</option>, um die
|
|
Konsole automatisch zu setzen, oder <option>-h</option>, um die
|
|
serielle Konsole zu verwenden.</para>
|
|
|
|
<para>Weitere Optionen werden in &man.boot.8;
|
|
beschrieben.</para>
|
|
|
|
<para>Mit Ausnahme von <option>-P</option> werden die
|
|
Optionen an den Bootloader weitergegeben. Der Bootloader
|
|
untersucht dann einzig <option>-h</option> um
|
|
festzustellen, welches Gerät die Konsole wird. Wenn Sie
|
|
also nur <option>-D</option> angegeben haben, können Sie
|
|
die serielle Schnittstelle nur als Konsole verwenden
|
|
während der Bootblock ausgeführt wird. Danach wird der
|
|
Bootloader, da ja <option>-h</option> fehlt, den
|
|
Bildschirm zur Konsole machen.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Booten Sie die Maschine.</para>
|
|
|
|
<para>Wenn Sie das &os;-System starten, werden die
|
|
Bootblöcke den Inhalt von <filename>/boot.config</filename>
|
|
auf der Konsole ausgeben:</para>
|
|
|
|
<screen>/boot.config: -P
|
|
Keyboard: no</screen>
|
|
|
|
<para>Die zweite Zeile sehen Sie nur, wenn Sie in
|
|
<filename>/boot.config</filename> <option>-P</option> angegeben
|
|
haben. Sie zeigt an, ob eine Tastatur angeschlossen ist oder
|
|
nicht. Die Meldungen gehen je nach den Einstellungen in
|
|
<filename>/boot.config</filename> auf die interne Konsole, die
|
|
serielle Konsole, oder beide Konsolen.</para>
|
|
|
|
<informaltable frame="none" pgwide="1">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Optionen</entry>
|
|
<entry align="left">Meldungen erscheinen auf</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>keine</entry>
|
|
<entry>der internen Konsole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-h</option></entry>
|
|
<entry>der seriellen Konsole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-D</option></entry>
|
|
<entry>der seriellen und der internen Konsole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-Dh</option></entry>
|
|
<entry>der seriellen und der internen Konsole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-P</option>, mit Tastatur</entry>
|
|
<entry>der internen Konsole</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-P</option>, ohne Tastatur</entry>
|
|
<entry>der seriellen Konsole</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
|
|
<para>Nach den oben gezeigten Meldungen gibt es eine kleine
|
|
Verzögerung bevor die Bootblöcke den Bootloader
|
|
laden und weitere Meldungen auf der Konsole erscheinen. Sie
|
|
können die Ausführung der Bootblöcke
|
|
unterbrechen, um zu überprüfen, ob auch alles richtig
|
|
aufgesetzt ist, brauchen das aber unter normalen Umständen
|
|
nicht zu tun.</para>
|
|
|
|
<para>Drücken Sie eine Taste außer
|
|
<keycap>Enter</keycap> um den Bootvorgang zu unterbrechen. Sie
|
|
erhalten dann ein Prompt, an dem Sie weitere Eingaben
|
|
tätigen können:</para>
|
|
|
|
<screen>>> FreeBSD/i386 BOOT
|
|
Default: 0:ad(0,a)/boot/loader
|
|
boot:</screen>
|
|
|
|
<para>Je nach Inhalt von <filename>/boot.config</filename>
|
|
erscheint das Prompt auf der seriellen Konsole, der internen
|
|
Konsole oder beiden Konsolen. Wenn die Meldung auf der
|
|
richtigen Konsole erscheint, drücken Sie
|
|
<keycap>Enter</keycap> um fortzufahren.</para>
|
|
|
|
<para>Wenn kein Prompt auf der seriellen Konsole erscheint,
|
|
liegt ein Fehler in den Einstellungen vor. Als Abhilfe
|
|
geben Sie an der momentanen Konsole <option>-h</option>
|
|
ein, um den Bootblock und den Bootloader auf die serielle
|
|
Konsole umzustellen. Führen Sie dann den Bootvorgang mit
|
|
<keycap>Enter</keycap> weiter und wenn das System gebootet
|
|
hat, können Sie die fehlerhaften Einstellungen
|
|
korrigieren.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Während der dritten Bootphase können Sie immer noch
|
|
zwischen der internen und der seriellen Konsole auswählen.
|
|
Setzen Sie dazu, wie in <xref linkend="serialconsole-loader"/>
|
|
beschrieben, die entsprechenden Variablen des
|
|
Bootloaders.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="serialconsole-summary">
|
|
<title>Zusammenfassung</title>
|
|
|
|
<para>Die folgende Tabelle bietet eine Zusammenfassung der
|
|
verschiedenen Einstellungen, die in diesem Abschnitt
|
|
diskutiert wurden:</para>
|
|
|
|
<table frame="none" pgwide="1">
|
|
<title>Fall 1: Option 0x10 für
|
|
<filename>sio0</filename></title>
|
|
|
|
<tgroup cols="4">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Optionen in <filename>/boot.config</filename></entry>
|
|
<entry align="left">Konsole in den Bootblöcken</entry>
|
|
<entry align="left">Konsole im Bootloader</entry>
|
|
<entry align="left">Konsole im Kernel</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>keine</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-h</option></entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-D</option></entry>
|
|
<entry>serielle und interne</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-Dh</option></entry>
|
|
<entry>serielle und interne</entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-P</option>, mit Tastatur</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-P</option>, ohne Tastatur</entry>
|
|
<entry>serielle und interne</entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table frame="none" pgwide="1">
|
|
<title>Fall 2: Option 0x30 für
|
|
<filename>sio0</filename></title>
|
|
|
|
<tgroup cols="4">
|
|
<thead>
|
|
<row>
|
|
<entry align="left">Optionen in <filename>/boot.config</filename></entry>
|
|
<entry align="left">Konsole in den Bootblöcken</entry>
|
|
<entry align="left">Konsole im Bootloader</entry>
|
|
<entry align="left">Konsole im Kernel</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>keine</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-h</option></entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-D</option></entry>
|
|
<entry>serielle und interne</entry>
|
|
<entry>interne</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-Dh</option></entry>
|
|
<entry>serielle und interne</entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-P</option>, mit Tastatur</entry>
|
|
<entry>interne</entry>
|
|
<entry>interne</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry><option>-P</option>, ohne Tastatur</entry>
|
|
<entry>serielle und interne</entry>
|
|
<entry>serielle</entry>
|
|
<entry>serielle</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="serialconsole-tips">
|
|
<title>Hinweise zur seriellen Konsole</title>
|
|
|
|
<sect3>
|
|
<title>Verwenden einer höheren Geschwindigkeit</title>
|
|
|
|
<para>Die Vorgabewerte für die Kommunikationsparameter der
|
|
seriellen Schnittstelle sind: 9600 baud, 8 Bit, keine
|
|
Parität und ein Stopp-Bit. Um die Standardgeschwindigkeit
|
|
zu ändern, stehen folgende Möglichkeiten zur
|
|
Verfügung:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Geben Sie die neue Konsolengeschwindigkeit mit
|
|
<varname>BOOT_COMCONSOLE_SPEED</varname> an und
|
|
kompilieren Sie die Bootblöcke neu. Ausführliche
|
|
Informationen zum Bau und zur Installation von neuen
|
|
Bootblöcken finden Sie im
|
|
<xref linkend="serialconsole-com2"/> des Handbuchs.</para>
|
|
|
|
<para>Wenn die serielle Konsole nicht mit der Option
|
|
<option>-h</option> gestartet wird,
|
|
oder wenn die verwendete serielle Konsole sich von
|
|
der von den Bootblöcken verwendeten unterscheidet,
|
|
müsssen Sie zusätzlich die folgende Option in
|
|
die Kernelkonfigurationsdatei aufnehmen und den Kernel
|
|
neu bauen:</para>
|
|
|
|
<programlisting>options CONSPEED=19200</programlisting>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Verwenden Sie die Option <option>-S</option>, um den
|
|
Kernel zu booten. Eine Beschreibung dieses Vorgangs
|
|
sowie eine Auflistung der von
|
|
<filename>/boot.config</filename> unterstützten Optionen
|
|
finden Sie in &man.boot.8;.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Aktivieren Sie die Option
|
|
<varname>comconsole_speed</varname> in
|
|
<filename>/boot/loader.conf</filename>.</para>
|
|
|
|
<para>Diese Option setzt voraus, dass auch die Optionen
|
|
<varname>console</varname>,
|
|
<varname>boot_serial</varname>, sowie
|
|
<varname>boot_multicons</varname> in
|
|
<filename>/boot/loader.conf</filename> gesetzt sind.
|
|
Im Folgenden finden Sie ein Beispiel, in dem
|
|
<varname>comconsole_speed</varname> verwendet wird,
|
|
um die Geschwindigkeit der seriellen Konsole zu
|
|
ändern:</para>
|
|
|
|
<programlisting>boot_multicons="YES"
|
|
boot_serial="YES"
|
|
comconsole_speed="115200"
|
|
console="comconsole,vidconsole"</programlisting>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="serialconsole-com2">
|
|
<title>Eine andere Schnittstelle als <filename>sio0</filename>
|
|
benutzen</title>
|
|
|
|
<para>Wenn Sie, warum auch immer, ein anderes Gerät als
|
|
<filename>sio0</filename> für die serielle Konsole
|
|
einsetzen wollen, kompilieren Sie bitte die Bootblöcke, den
|
|
Bootloader und den Kernel nach dem folgenden Verfahren
|
|
neu.</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Installieren Sie die Kernelquellen wie im
|
|
<xref linkend="updating-upgrading"/> beschrieben.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Setzen Sie in <filename>/etc/make.conf</filename>
|
|
<literal>BOOT_COMCONSOLE_PORT</literal> auf die Adresse der
|
|
Schnittstelle (0x3F8, 0x2F8, 0x3E8 oder 0x2E8), die Sie
|
|
benutzen möchten. Sie können nur
|
|
<filename>sio0</filename> bis
|
|
<filename>sio3</filename> (<filename>COM1</filename>
|
|
bis <filename>COM4</filename>) benutzen, Multiportkarten
|
|
können Sie nicht als Konsole benutzen. Interrupts
|
|
müssen Sie hier nicht angeben.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Erstellen Sie eine angepasste Kernelkonfiguration
|
|
und geben Sie dort die richtigen Optionen für die
|
|
Schnittstelle, die Sie benutzen möchten, an. Wenn Sie
|
|
zum Beispiel <filename>sio1</filename>
|
|
(<filename>COM2</filename>) zur Konsole machen wollen,
|
|
geben Sie dort entweder</para>
|
|
|
|
<programlisting>device sio1 at isa? port IO_COM2 tty flags 0x10 irq 3</programlisting>
|
|
|
|
<para>oder</para>
|
|
|
|
<programlisting>device sio1 at isa? port IO_COM2 tty flags 0x30 irq 3</programlisting>
|
|
|
|
<para>an. Keine andere serielle Schnittstelle sollte als
|
|
Konsole definiert werden.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Übersetzen und installieren Sie die
|
|
Bootblöcke und den Bootloader:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /sys/boot</userinput>
|
|
&prompt.root; <userinput>make clean</userinput>
|
|
&prompt.root; <userinput>make</userinput>
|
|
&prompt.root; <userinput>make install</userinput></screen>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Bauen und installieren Sie einen neuen Kernel.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Schreiben Sie die Bootblöcke mit &man.bsdlabel.8;
|
|
auf die Bootplatte und booten Sie den neuen Kernel.</para>
|
|
</step>
|
|
</procedure>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="serialconsole-ddb">
|
|
<title>DDB Debugger über die serielle Schnittstelle</title>
|
|
|
|
<para>Wenn Sie den Kerneldebugger über eine serielle
|
|
Verbindung bedienen möchten, übersetzen Sie einen
|
|
angepassten Kernel mit den folgenden Optionen. Das ist
|
|
nützlich, kann aber gefährlich sein, wenn auf der Leitung
|
|
falsche BREAK-Signale generiert werden.</para>
|
|
|
|
<programlisting>options BREAK_TO_DEBUGGER
|
|
options DDB</programlisting>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Benutzung der seriellen Konsole zum Anmelden</title>
|
|
|
|
<para>Da Sie schon die Bootmeldungen auf der Konsole verfolgen
|
|
können und den Kerneldebugger über die Konsole bedienen
|
|
können, wollen Sie sich vielleicht auch an der Konsole
|
|
anmelden.</para>
|
|
|
|
<para>Öffnen Sie <filename>/etc/ttys</filename> in einem
|
|
Editor und suchen Sie nach den folgenden Zeilen:</para>
|
|
|
|
<programlisting>ttyu0 "/usr/libexec/getty std.9600" unknown off secure
|
|
ttyu1 "/usr/libexec/getty std.9600" unknown off secure
|
|
ttyu2 "/usr/libexec/getty std.9600" unknown off secure
|
|
ttyu3 "/usr/libexec/getty std.9600" unknown off secure</programlisting>
|
|
|
|
<para><filename>ttyu0</filename> bis <filename>ttyu3</filename>
|
|
entsprechen <filename>COM1</filename> bis
|
|
<filename>COM4</filename>. Ändern Sie für die
|
|
entsprechende Schnittstelle <literal>off</literal> zu
|
|
<literal>on</literal>. Wenn Sie auch die Geschwindigkeit der
|
|
seriellen Schnittstelle geändert haben, müssen Sie
|
|
<literal>std.9600</literal> auf die momentane
|
|
Geschwindigkeit anpassen.</para>
|
|
|
|
<para>Auch kann den Terminaltyp von
|
|
<literal>unknown</literal> auf den tatsächlich verwendeten
|
|
Terminal gesetzt werden.</para>
|
|
|
|
<para>Damit die Änderungen wirksam werden,
|
|
müssen Sie noch <command>kill -HUP 1</command>
|
|
absetzen.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="serialconsole-loader">
|
|
<title>Die Konsole im Bootloader ändern</title>
|
|
|
|
<para>In den vorigen Abschnitten wurde beschrieben, wie Sie die
|
|
serielle Konsole durch Änderungen im Bootblock aktivieren.
|
|
Dieser Abschnitt zeigt, wie Sie mit Kommandos und
|
|
Umgebungsvariablen die Konsole im Bootloader definieren. Da der
|
|
Bootloader die dritte Phase im Bootvorgang ist und nach den
|
|
Bootblöcken ausgeführt wird, überschreiben
|
|
seine Einstellungen die des Bootblocks.</para>
|
|
|
|
<sect3>
|
|
<title>Festlegen der Konsole</title>
|
|
|
|
<para>Mit einer einzigen Zeile in
|
|
<filename>/boot/loader.conf</filename> können Sie den
|
|
Bootloader und den Kernel anweisen, die serielle Schnittstelle
|
|
zur Konsole zu machen:</para>
|
|
|
|
<programlisting>console="comconsole"</programlisting>
|
|
|
|
<para>Unabhängig von den Einstellungen im Bootblock legt dies
|
|
die Konsole fest.</para>
|
|
|
|
<para>Die obige Zeile sollte die erste Zeile in
|
|
<filename>/boot/loader.conf</filename> sein, so dass die
|
|
Bootmeldungen so früh wie möglich auf der Konsole zu sehen
|
|
sind.</para>
|
|
|
|
<para>Analog können Sie die interne Konsole verwenden:</para>
|
|
|
|
<programlisting>console="vidconsole"</programlisting>
|
|
|
|
<para>Wenn die Umgebungsvariable <envar>console</envar> nicht
|
|
gesetzt ist, bestimmt der Bootloader und damit auch der
|
|
Kernel, die Konsole über die <option>-h</option> Option des
|
|
Bootblocks.</para>
|
|
|
|
<para>Die Bootkonsole kann in
|
|
<filename>/boot/loader.conf.local</filename> oder
|
|
<filename>/boot/loader.conf</filename> angegeben
|
|
werden.</para>
|
|
|
|
<para>Weitere Informationen erhalten Sie in &man.loader.conf.5;.</para>
|
|
|
|
<note>
|
|
<para>Momentan gibt es im Bootloader nichts vergleichbares zu
|
|
<option>-P</option> im Bootblock. Damit kann die Konsole nicht
|
|
automatisch über das Vorhandensein einer Tastatur
|
|
festgelegt werden.</para>
|
|
</note>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Eine andere Schnittstelle als <filename>sio0</filename>
|
|
benutzen</title>
|
|
|
|
<para>Der Bootloader muss neu kompiliert werden, wenn eine
|
|
andere Schnittstelle als <filename>sio0</filename> benutzt
|
|
werden soll. Folgen Sie der Anleitung aus
|
|
<xref linkend="serialconsole-com2"/>.</para>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="serialconsole-caveats">
|
|
<title>Vorbehalte</title>
|
|
|
|
<para>Obwohl es die meisten Systeme erlauben, ohne Tastatur zu
|
|
booten, gibt es nur wenige Systeme, die ohne eine Grafikkarte
|
|
booten. Maschinen mit einem AMI BIOS können ohne Grafik
|
|
booten, indem Sie den Grafikadapter im CMOS-Setup auf
|
|
<literal>Not installed</literal> setzen.</para>
|
|
|
|
<para>Viele Maschinen unterstützen diese Option allerdings nicht.
|
|
Damit diese Maschinen booten, müssen sie über eine
|
|
Grafikkarte, auch wenn es nur eine alte Monochromkarte ist,
|
|
verfügen. Allerdings brauchen Sie keinen Monitor an die Karte
|
|
anzuschließen. Sie können natürlich auch
|
|
versuchen, auf diesen Maschinen ein AMI BIOS zu
|
|
installieren.</para>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|