diff options
-rw-r--r-- | nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.sgml | 3251 |
1 files changed, 3048 insertions, 203 deletions
diff --git a/nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.sgml index daae937716..fa5743fcfb 100644 --- a/nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.sgml @@ -1,84 +1,894 @@ <!-- - The FreeBSD Dutch Documentation Project + The FreeBSD Dutch Documentation Project + + $FreeBSD$ + $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.21 2005/12/20 21:06:26 remko Exp $ + Gebaseerd op: 1.108 - $FreeBSD$ --> <chapter id="serialcomms"> - <title>* Seriële communicatie</title> + <chapterinfo> + <authorgroup> + <author> + <firstname>René</firstname> + <surname>Ladan</surname> + <contrib>Vertaald door </contrib> + </author> + </authorgroup> + </chapterinfo> + + <title>Seriële communicatie</title> <sect1 id="serial-synopsis"> - <title>* Samenvatting</title> - - <para></para> + <title>Overzicht</title> + + <indexterm><primary>seriële communicatie</primary></indexterm> + + <para>&unix; heeft altijd ondersteuning geboden voor seriële + communicatie. Het is een feit dat de allereerste &unix;-machines + afhankelijk waren van seriële kabels voor gebruikersinvoer + en -uitvoer. De dingen zijn flink veranderd sinds de tijd dat de + gemiddelde <quote>terminal</quote> uit een 10-tekens-per-seconde + seriële printer en een toetsenbord bestond. Dit hoofdstuk + beschrijft enkele manieren waarop &os; gebruik maakt van + seriële communicatie.</para> + + <para>Na het lezen van dit hoofdstuk weet de lezer:</para> + + <itemizedlist> + <listitem> + <para>Hoe terminals met een &os;-systeem te verbinden;</para> + </listitem> + + <listitem> + <para>Hoe een modem te gebruiken om naar computers op afstand + te bellen;</para> + </listitem> + + <listitem> + <para>Hoe het mogelijk te maken voor gebruikers op afstand om + met een modem op een systeem aan te melden;</para> + </listitem> + + <listitem> + <para>Hoe een systeem van een seriële console op te + starten.</para> + </listitem> + </itemizedlist> + + <para>Veronderstelde voorkennis:</para> + + <itemizedlist> + <listitem> + <para>Weten hoe een nieuwe kernel ingesteld en + geïnstalleerd wordt (<xref + linkend="kernelconfig">);</para> + </listitem> + + <listitem> + <para>Begrijpen hoe rechten en processen in &unix; werken ( + <xref linkend="basics">);</para> + </listitem> + + <listitem> + <para>De beschikking hebben over het technische handboek voor + de hardware (modem of meerpoortige kaart) die gebruikt wordt + met &os;.</para> + </listitem> + </itemizedlist> </sect1> <sect1 id="serial"> - <title>* Introductie</title> + <title>Inleiding</title> <sect2 id="serial-terminology"> - <title>* Terminologie</title> - - <para></para> + <title>Terminologie</title> + + <variablelist> + <indexterm><primary>bits per seconde</primary></indexterm> + + <varlistentry> + <term>bps</term> + + <listitem> + <para>Bits per seconde: de snelheid waarmee gegevens + verstuurd worden</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>DTE</term> + + <indexterm><primary>DTE</primary></indexterm> + + <listitem> + <para>Data Terminal Equipment (apparatuur voor + gegevensterminal): bijvoorbeeld een computer</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>DCE</term> + + <indexterm><primary>DCE</primary></indexterm> + + <listitem> + <para>Data Communications Equipment (apparatuur voor + gegevenscommunicatie): een modem</para> + </listitem> + </varlistentry> + + <varlistentry> + <term>RS-232</term> + + <indexterm><primary>RS-232C-kabels</primary></indexterm> + + <listitem> + <para>EIA standaard voor hardwarematige seriële + communicatie</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Deze sectie gebruikt niet de term <quote>baud</quote> + als er over snelheden van gegevenscommunicatie gesproken wordt. + Baud verwijst naar het aantal elektrische toestandsovergangen + dat binnen een tijdsperiode gemaakt mag worden, + <quote>bps</quote> (bits per seconde) is de + <emphasis>correcte</emphasis> term om te gebruiken (de oude + mopperkonten schijnen zich er niet erg druk over te + maken).</para> </sect2> <sect2 id="serial-cables-ports"> - <title>* Kabels en poorten</title> + <title>Kabels en poorten</title> + + <para>Om een modem of terminal met een &os;-systeem te verbinden, + dienen een seriële poort op een computer en een kabel om + verbinding te maken met een serieel apparaat aanwezig te zijn. + Indien kennis over hardware en de benodigde kabel reeds + aanwezig is, kan deze sectie veilig worden overgeslagen.</para> <sect3 id="term-cables"> - <title>* Kabels</title> + <title>Kabels</title> + + <para>Er zijn verschillende soorten seriële kabels. De + twee meest voorkomende types in deze context zijn + nulmodem-kabels en standaard (<quote>rechte</quote>) + RS-232-kabels. De documentatie van de hardware beschrijft + het type kabel dat nodig is.</para> <sect4 id="term-cables-null"> - <title>* Null-modem kabels</title> + <title>Nulmodem-kabels</title> + + <indexterm><primary>nulmodem-kabel</primary></indexterm> + + <para>Een nulmodem-kabel geeft sommige signalen, zoals + <quote>Aardesignaal</quote> recht door, maar kruist andere + signalen. Bijvoorbeeld, de + <quote>Verzonden Gegevens</quote>-pin aan de ene kant gaat + naar de <quote>Ontvangen Gegevens</quote>-pin aan de andere + kant.</para> + + <para>Een nulmodem-kabel voor het gebruik met terminals kan + ook zelf worden gemaakt (bijvoorbeeld voor + kwaliteitsdoeleinden). Deze tabel toont de RS-232C <link + linkend="serialcomms-signal-names">signalen</link> en de + pinnummers op een DB-25-aansluiting. De standaard vereist + ook een <emphasis>Aardebescherming</emphasis> rechte lijn + van pin 1 naar pin 1, maar deze wordt vaak weggelaten. + Sommige terminals werken goed met slechts pin 2, 3 en 7, + terwijl andere instellingen eisen die afwijken van die in + de onderstaande voorbeelden.</para> + + <table frame="none" pgwide="1"> + <title>DB-25 naar DB-25 nulmodem-kabel</title> + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Signaal</entry> + + <entry align="left">Pin #</entry> + + <entry></entry> + + <entry align="left">Pin #</entry> + + <entry align="left">Signaal</entry> + </row> + </thead> + + <tbody> + <row> + <entry>SG</entry> + + <entry>7</entry> + + <entry>verbonden met</entry> + + <entry>7</entry> + + <entry>SG</entry> + </row> + + <row> + <entry>TD</entry> + + <entry>2</entry> + + <entry>verbonden met</entry> + + <entry>3</entry> + + <entry>RD</entry> + </row> + + <row> + <entry>RD</entry> + + <entry>3</entry> + + <entry>verbonden met</entry> + + <entry>2</entry> + + <entry>TD</entry> + </row> + + <row> + <entry>RTS</entry> + + <entry>4</entry> + + <entry>verbonden met</entry> + + <entry>5</entry> + + <entry>CTS</entry> + </row> + + <row> + <entry>CTS</entry> + + <entry>5</entry> + + <entry>verbonden met</entry> + + <entry>4</entry> + + <entry>RTS</entry> + </row> + + <row> + <entry>DTR</entry> + + <entry>20</entry> + + <entry>verbonden met</entry> + + <entry>6</entry> + + <entry>DSR</entry> + </row> + + <row> + <entry>DTR</entry> + + <entry>20</entry> + + <entry>verbonden met</entry> + + <entry>8</entry> + + <entry>DCD</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>In de onderstaande tabellen volgen twee schema's die + momenteel meer gebruikelijk zijn:</para> + + <table frame="none" pgwide="1"> + <title>DB-9 naar DB-9 nulmodem-kabel</title> + + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Signaal</entry> + + <entry align="left">Pin #</entry> + + <entry></entry> + + <entry align="left">Pin #</entry> + + <entry align="left">Signaal</entry> + </row> + </thead> + + <tbody> + <row> + <entry>RD</entry> + + <entry>2</entry> + + <entry>verbonden met</entry> + + <entry>3</entry> + + <entry>TD</entry> + </row> + + <row> + <entry>TD</entry> + + <entry>3</entry> + + <entry>verbonden met</entry> + + <entry>2</entry> + + <entry>RD</entry> + </row> + + <row> + <entry>DTR</entry> + + <entry>4</entry> + + <entry>verbonden met</entry> + + <entry>6</entry> + + <entry>DSR</entry> + </row> + + <row> + <entry>DTR</entry> + + <entry>4</entry> + + <entry>verbonden met</entry> + + <entry>1</entry> + + <entry>DCD</entry> + </row> + + <row> + <entry>SG</entry> + + <entry>5</entry> + + <entry>verbonden met</entry> + + <entry>5</entry> + + <entry>SG</entry> + </row> + + <row> + <entry>DSR</entry> + + <entry>6</entry> + + <entry>verbonden met</entry> + + <entry>4</entry> + + <entry>DTR</entry> + </row> - <para></para> + <row> + <entry>DCD</entry> + + <entry>1</entry> + + <entry>verbonden met</entry> + + <entry>4</entry> + + <entry>DTR</entry> + </row> + + <row> + <entry>RTS</entry> + + <entry>7</entry> + + <entry>verbonden met</entry> + + <entry>8</entry> + + <entry>CTS</entry> + </row> + + <row> + <entry>CTS</entry> + + <entry>8</entry> + + <entry>verbonden met</entry> + + <entry>7</entry> + + <entry>RTS</entry> + </row> + </tbody> + </tgroup> + </table> + + <table frame="none" pgwide="1"> + <title>DB-9 naar DB-25 nulmodem-kabel</title> + + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Signaal</entry> + + <entry align="left">Pin #</entry> + + <entry></entry> + + <entry align="left">Pin #</entry> + + <entry align="left">Signaal</entry> + </row> + </thead> + + <tbody> + <row> + <entry>RD</entry> + + <entry>2</entry> + + <entry>verbonden met</entry> + + <entry>2</entry> + + <entry>TD</entry> + </row> + + <row> + <entry>TD</entry> + + <entry>3</entry> + + <entry>verbonden met</entry> + + <entry>3</entry> + + <entry>RD</entry> + </row> + + <row> + <entry>DTR</entry> + + <entry>4</entry> + + <entry>verbonden met</entry> + + <entry>6</entry> + + <entry>DSR</entry> + </row> + + <row> + <entry>DTR</entry> + + <entry>4</entry> + + <entry>verbonden met</entry> + + <entry>8</entry> + + <entry>DCD</entry> + </row> + + <row> + <entry>SG</entry> + + <entry>5</entry> + + <entry>verbonden met</entry> + + <entry>7</entry> + + <entry>SG</entry> + </row> + + <row> + <entry>DSR</entry> + + <entry>6</entry> + + <entry>verbonden met</entry> + + <entry>20</entry> + + <entry>DTR</entry> + </row> + + <row> + <entry>DCD</entry> + + <entry>1</entry> + + <entry>verbonden met</entry> + + <entry>20</entry> + + <entry>DTR</entry> + </row> + + <row> + <entry>RTS</entry> + + <entry>7</entry> + + <entry>verbonden met</entry> + + <entry>5</entry> + + <entry>CTS</entry> + </row> + + <row> + <entry>CTS</entry> + + <entry>8</entry> + + <entry>verbonden met</entry> + + <entry>4</entry> + + <entry>RTS</entry> + </row> + </tbody> + </tgroup> + </table> + + <note> + <para>Als een pin aan het ene eind verbonden is met een + pinnenpaar aan het andere eind, is dit meestal + geïmplementeerd met een korte draad tussen het + pinnenpaar in de stekker en een lange draad naar de + andere, enkele pin.</para> + </note> + + <para>Bovenstaande ontwerpen lijken het populairst. In een + andere variatie (uitgelegd in het boek <emphasis>RS-232 + Made Easy</emphasis>) worden de volgende verbindingen + gemaakt: SG met SG, TD met RD, RTS en CTS met DCD, DTR met + DSR en vice-versa.</para> </sect4> <sect4 id="term-cables-std"> - <title>* Standaard RS-232C kabels</title> + <title>Standaard RS-232C-kabels</title> + + <indexterm><primary>RS-232C-kabels</primary></indexterm> - <para></para> + <para>Een standaard seriële kabel laat alle + RS-232C-signalen recht door. Dit betekent dat de + <quote>Verzonden Gegevens</quote>-pin aan de ene kant naar + de <quote>Verzonden Gegevens</quote>-pin aan de andere kant + gaat. Dit type kabel wordt gebruikt om een modem met een + &os;-systeem te verbinden en is ook geschikt voor sommige + terminals.</para> </sect4> </sect3> <sect3 id="term-ports"> - <title>* Poorten</title> + <title>Poorten</title> - <sect4 id="term-portkinds"> - <title>* Soorten poorten</title> + <para>Seriële poorten zijn apparaten die gebruikt worden + om gegevens te versturen tussen een &os; gastcomputer en een + terminal. Deze sectie beschrijft de bestaande soorten + poorten en hoe deze aangesproken worden in &os;.</para> - <para></para> + <sect4 id="term-portkinds"> + <title>Soorten poorten</title> + + <para>Er bestaan verschillende soorten seriële poorten. + Controleer of een kabel past op de poorten van een terminal + en een &os;-systeem alvorens deze te kopen of te + maken.</para> + + <para>De meeste terminals hebben DB-25-poorten. PC's, + inclusief PC's die &os; draaien, hebben DB-25- of + DB-9-poorten. Indien een meerpoortige seriële kaart + voor een PC beschikbaar is, kan het zijn dat er RJ-12- of + RJ-45-poorten aanwezig zijn.</para> + + <para>In documentatie die bij hardware zit, staan + specificaties over het soort poort dat gebruikt wordt. + Vaak volstaat ook een visuele inspectie van een + poort.</para> </sect4> <sect4 id="term-portnames"> - <title>* Poortnamen</title> - - <para></para> + <title>Poortnamen</title> + + <para>In &os; wordt elke seriële poort benaderd door een + ingang in de map <filename>/dev</filename>. Er zijn twee + verschillende soorten ingangen:</para> + + <itemizedlist> + <listitem> + <para>Inbelpoorten heten + <filename>/dev/ttyd<replaceable>N</replaceable></filename> + waarbij <replaceable>N</replaceable> het poortnummer + is, beginnend met nul. In het algemeen kunnen + inbelpoorten voor terminals gebruikt worden. + Inbelpoorten stellen de eis dat een seriële kabel + ervoor zorgt dat het data carrier detect (DCD) signaal + correct werkt.</para> + </listitem> + + <listitem> + <para>Uitbelpoorten heten + <filename>/dev/cuad<replaceable>N</replaceable></filename>. + In het algemeen worden uitbelpoorten niet voor + terminals maar voor modems gebruikt. Gebruik een + uitbelpoort als een seriële kabel of terminal het + carrier detect-signaal niet ondersteunt.</para> + + <note> + <para>Uitbelpoorten heten + <filename>/dev/cuaa<replaceable>N</replaceable></filename> + in &os; 5.X en ouder.</para> + </note> + </listitem> + </itemizedlist> + + <para>Als er een terminal met de eerste seriële poort + (<devicename>COM1</devicename> in &ms-dos;) verbonden is, + wordt <filename>/dev/ttyd0</filename> gebruikt om naar de + terminal te verwijzen. Als een terminal op de tweede + seriële poort is aangesloten (ook bekend als + <devicename>COM2</devicename>), dient + <filename>/dev/ttyd1</filename> gebruikt te worden, + enzovoort.</para> </sect4> </sect3> </sect2> <sect2> - <title>* Kernel configuratie</title> - - <para></para> + <title>Kernelinstellingen</title> + + <para>&os; ondersteunt standaard vier seriële poorten. In + de wereld van &ms-dos; staan ze bekend als + <devicename>COM1</devicename>, <devicename>COM2</devicename>, + <devicename>COM3</devicename> en <devicename>COM4</devicename>. + &os; ondersteunt momenteel <quote>domme</quote> meerpoortige + seriële interfacekaarten, zoals de BocaBoard 1008 en 2016, + alsook intelligentere meerpoortige kaarten van fabrikanten als + Digiboard en Stallion Technologies. De kernel kijkt echter + alleen naar de standaard COM-poorten.</para> + + <para>Bekijk de boodschappen tijdens het opstarten van de kernel + om te zien of de kernel seriële poorten herkent of gebruik + het commando <command>/sbin/dmesg</command> om de + opstartboodschappen van de kernel te herhalen. Kijk in het + bijzonder naar boodschappen die met de tekens + <literal>sio</literal> beginnen.</para> + + <tip> + <para>Gebruik het volgende commando om alleen de boodschappen + die het woord <literal>sio</literal> bevatten te zien:</para> + + <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen> + </tip> + + <para>Voor bijvoorbeeld een systeem met vier seriële + poorten, zijn dit de opstartboodschappen van de kernel die + specifiek zijn voor de seriële poorten:</para> + + <screen>sio0 at 0x3f8-0x3ff irq 4 on isa +sio0: type 16550A +sio1 at 0x2f8-0x2ff irq 3 on isa +sio1: type 16550A +sio2 at 0x3e8-0x3ef irq 5 on isa +sio2: type 16550A +sio3 at 0x2e8-0x2ef irq 9 on isa +sio3: type 16550A</screen> + + <para>Als een kernel niet alle seriële poorten herkent, dan + dient waarschijnlijk de kernel aangepast te worden in het + bestand <filename>/boot/device.hints</filename>. Het is ook + mogelijk regels uit te schakelen of volledig te verwijderen + voor apparaten die niet aanwezig zijn.</para> + + <para>Pas voor &os; 4.X het kernelinstellingenbestand aan. + Voor gedetailleerde informatie over het aanpassen van een + kernel, zie <xref linkend="kernelconfig">. De relevante + apparaatregels zijn de volgende:</para> + + <programlisting>device sio0 at isa? port IO_COM1 irq 4 +device sio1 at isa? port IO_COM2 irq 3 +device sio2 at isa? port IO_COM3 irq 5 +device sio3 at isa? port IO_COM4 irq 9</programlisting> + + <para>Zie de hulppagina &man.sio.4; voor meer informatie over het + instellen van seriële poorten en meerpoortige kaarten. + Bij gebruik van een instellingenbestand dat eerder voor een + andere versie van &os; werd gebruikt is voorzichtigheid geboden + omdat de apparaatvlaggen en de syntaxis tussen de versies + veranderd zijn.</para> + + <note> + <para><literal>port IO_COM1</literal> is een substitutie voor + <literal>port 0x3f8</literal>, <literal>IO_COM2</literal> is + <literal>0x2f8</literal>, <literal>IO_COM3</literal> is + <literal>0x3e8</literal> en <literal>IO_COM4</literal> is + <literal>0x2e8</literal>, welke redelijk algemene + poortadressen zijn voor hun overeenkomstige seriële + poorten. Interrupts 4, 3, 5 en 9 zijn redelijk algemene + interruptlijnen. Reguliere seriële poorten kunnen + <emphasis>geen</emphasis> interrupts delen op ISA-bus-PC's + (meerpoortige kaarten hebben elektronica die alle 16550A's op + een kaart in staat stellen om één of twee + interruptlijnen te delen).</para> + </note> </sect2> <sect2> - <title>* Speciale device bestanden</title> + <title>Speciale apparaatbestanden</title> + + <para>De meeste apparaten in de kernel worden benaderd met + <quote>speciale apparaatbestanden</quote> die in de map + <filename>/dev</filename> staan. De apparaten + <devicename>sio</devicename> worden benaderd met de apparaten + <filename>/dev/ttyd<replaceable>N</replaceable></filename> + (inbellen) en + <filename>/dev/cuad<replaceable>N</replaceable></filename> + (uitbellen). &os; biedt ook initialisatie-apparaten + (<filename>/dev/ttyd<replaceable>N</replaceable>.init</filename> + en + <filename>/dev/cuad<replaceable>N</replaceable>.init</filename> + in &os; 6.X, + <filename>/dev/ttyid<replaceable>N</replaceable></filename> en + <filename>/dev/cuaid<replaceable>N</replaceable></filename> in + &os; 5.X en ouder) en + slotapparaten + (<filename>/dev/ttyd<replaceable>N</replaceable>.lock</filename> + en + <filename>/dev/cuad<replaceable>N</replaceable>.lock</filename> + in &os; 6.X, + <filename>/dev/ttyld<replaceable>N</replaceable></filename> en + <filename>/dev/cuald<replaceable>N</replaceable></filename> in + &os; 5.X en ouder). + De initialisatie-apparaten worden gebruikt om telkens als een + poort wordt geopend de parameters van de communicatiepoorten te + initialiseren, zoals <literal>crtscts</literal> voor modems die + gebruik maken van <literal>RTS/CTS</literal>-signalering voor + gegevensstroombeheer. De slotapparaten worden gebruikt om + vlaggen op poorten op slot te zetten om te voorkomen dat + gebruikers of programma's bepaalde parameters veranderen. In + de hulppagina's &man.termios.4;, &man.sio.4; en &man.stty.1; + staat informatie over respectievelijk terminalinstellingen, + apparaten op slot zetten en initialiseren en terminalopties + instellen.</para> <sect3> - <title>* Maken van speciale device bestanden</title> - - <para></para> + <title>Speciale apparaatbestanden aanmaken</title> + + <note> + <para>&os; 5.0 bevat het bestandssysteem &man.devfs.5;, + dat automatisch apparaatnodes aanmaakt als ze nodig zijn. + Als <literal>devfs</literal> in &os; aan staat, kan deze + sectie veilig worden overgeslagen.</para> + </note> + + <para>Het shellscript <command>MAKEDEV</command> in de map + <filename>/dev</filename> beheert de speciale + apparaatbestanden. Ga naar de map <filename>/dev</filename> + en geef het commando <command>MAKEDEV ttyd0</command> om + <command>MAKEDEV</command> te gebruiken om speciale + inbelapparaatbestanden te maken voor + <devicename>COM1</devicename> (poort 0). Gebruik voor het + aanmaken van speciale inbelapparaatbestanden voor + <devicename>COM2</devicename> (poort 1) het commando + <command>MAKEDEV ttyd1</command>.</para> + + <para><command>MAKEDEV</command> maakt niet alleen de speciale + apparaatbestanden voor + <filename>/dev/ttyd<replaceable>N</replaceable></filename> + aan, maar ook de nodes voor + <filename>/dev/cuaa<replaceable>N</replaceable></filename>, + <filename>/dev/cuaia<replaceable>N</replaceable></filename>, + <filename>/dev/cuala<replaceable>N</replaceable></filename>, + <filename>/dev/ttyld<replaceable>N</replaceable></filename> + en + <filename>/dev/ttyid<replaceable>N</replaceable></filename>.</para> + + <para>Controleer de rechten op de bestanden (in het bijzonder + de bestanden <filename>/dev/cua*</filename>) nadat de nieuwe + speciale apparaatbestanden zijn gemaakt om er zeker van te + zijn dat alleen de gebruikers die toegang tot die speciale + apparaatbestanden moeten hebben ze kunnen lezen en schrijven. + Het is waarschijnlijk ongewenst dat de gemiddelde gebruiker + modems kan gebruiken om naar buiten te bellen. De standaard + rechten op de bestanden <filename>/dev/cua*</filename> zouden + moeten volstaan:</para> + + <screen>crw-rw---- 1 uucp dialer 28, 129 Feb 15 14:38 /dev/cuaa1 +crw-rw---- 1 uucp dialer 28, 161 Feb 15 14:38 /dev/cuaia1 +crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen> + + <para>Deze rechten stellen de gebruiker + <username>uucp</username> en de gebruikers in de groep + <username>dialer</username> in staat om de uitbelapparaten te + gebruiken.</para> </sect3> </sect2> - <sect2 id="serial-hw-config"> - <title>Seriële configuratie</title> + <title>De seriële poort instellen</title> + + <indexterm><primary><devicename>ttyd</devicename></primary></indexterm> + + <indexterm><primary><devicename>cuad</devicename></primary></indexterm> + + <para>Het apparaat + <devicename>ttyd<replaceable>N</replaceable></devicename> (of + <devicename>cuad<replaceable>N</replaceable></devicename>) is + het gebruikelijke apparaat dat geopend dient te worden voor de + applicaties. Wanneer een proces het apparaat opent, heeft het + een standaardverzameling aan terminal I/O-instellingen. Bekijk + deze instellingen met het volgende commando:</para> + + <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen> + + <para>Als de instellingen van dit apparaat veranderd worden, + blijven de instellingen geldig totdat het apparaat gesloten + wordt. Als het heropend wordt, gaat het terug naar de + standaardverzameling. Om de standaardverzameling te + veranderen, dient het apparaat voor de <quote>initiële + toestand</quote> geopend te worden en die instellingen + veranderd te worden. Om bijvoorbeeld de + <option>CLOCAL</option>-modus, 8-bits-communicatie en + <option>XON/XOFF</option>-gegevensstroombeheer voor apparaat + <devicename>ttyd5</devicename> standaard aan te zetten:</para> + + <screen>&prompt.root; <userinput>stty -f /dev/ttyd5.init clocal cs8 ixon ixoff</userinput></screen> + + <indexterm> + <primary>rc-bestanden</primary> + + <secondary><filename>rc.serial</filename></secondary> + </indexterm> + + <para>De systeembrede initialisatie van de seriële apparaten + wordt beheerd in <filename>/etc/rc.d/serial</filename>. Dit + bestand heeft invloed op de standaardinstellingen van + seriële apparaten.</para> + + <note> + <para>In &os; 4.X wordt de systeembrede initialisatie van + seriële apparaten beheerd in + <filename>/etc/rc.serial</filename>.</para> + </note> - <para></para> + <para>Om te voorkomen dat bepaalde instellingen door een + applicatie worden veranderd, dienen wijzigingen aan het + <quote>slottoestand</quote>-apparaat te worden aangebracht. Om + bijvoorbeeld de snelheid van <devicename>ttyd5</devicename> + vast te zetten op 57600 bps:</para> + + <screen>&prompt.root; <userinput>stty -f /dev/ttyd5.lock 57600</userinput></screen> + + <para>Nu blijft een applicatie die <devicename>ttyd5</devicename> + en de snelheid van de poort probeert te veranderen zitten op + 57600 bps.</para> + + <indexterm><primary><command>MAKEDEV</command></primary></indexterm> + + <para>Uiteraard dienen de apparaten voor de initiële + toestand en de slottoestand alleen voor het account + <username>root</username> schrijfbaar te zijn.</para> </sect2> </sect1> @@ -90,72 +900,443 @@ <surname>Kelly</surname> <contrib>Bijgedragen door </contrib> </author> - <!-- 28 July 1996 --> + <!-- 28 juli 1996 --> </authorgroup> </sect1info> - <title>* Terminals</title> + + <title>Terminals</title> + + <indexterm><primary>terminals</primary></indexterm> + + <para>Terminals bieden een handige en goedkope manier om een &os; + systeem te benaderen als de console van of een netwerk naar een + computer niet beschikbaar is. Deze sectie beschrijft hoe + terminals met &os; te gebruiken.</para> <sect2 id="term-uses"> - <title>* Gebruik en type terminals</title> + <title>Types terminals en ze gebruiken</title> + + <para>De originele &unix;-systemen hadden geen consoles. In + plaats daarvan werd er aangemeld en werden programma's via + terminals gedraaid die verbonden waren met de seriële + poorten van een computer. Het is goed vergelijkbaar met het + gebruik van een modem en terminalsoftware om op een systeem op + afstand in te bellen en werk te doen wat alleen uit tekst + bestaat.</para> + + <para>De consoles van hedendaagse PC's kunnen grafische uitvoer + van hoge kwaliteit produceren, maar de mogelijkheid om een + aanmeldsessie op een seriële poort tot stand te brengen + bestaat nog steeds op bijna elk hedendaags &unix;-achtig + systeem. &os; is geen uitzondering. Door gebruik te maken van + een terminal die aangesloten is op een ongebruikte seriële + poort, kan er aangemeld worden en kan bijna elk tekstprogramma + gedraaid worden dat normaalgesproken op de console of in een + <command>xterm</command>-venster in het X Window-systeem + gedraaid wordt.</para> + + <para>Een zakelijke gebruiker kan vele terminals aan een + &os;-systeem koppelen en deze op de bureaus van medewerkers + neerzetten. Een thuisgebruiker kan een reservecomputer, zoals + een oudere IBM PC of een &macintosh;, met de terminal verbinden + met een krachtigere computer die &os; draait. Op deze manier + kan wat anders een computer voor een enkele gebruiker zou zijn, + worden veranderd in een krachtig systeem voor meerdere + gebruikers.</para> + + <para>Er zijn drie soorten terminals voor &os;:</para> + + <itemizedlist> + <listitem> + <para><link linkend="term-dumb">Domme + terminals</link>;</para> + </listitem> + + <listitem> + <para><link linkend="term-pcs">PC's die als terminals + dienen</link>;</para> + </listitem> + + <listitem> + <para><link linkend="term-x">X-terminals</link>.</para> + </listitem> + </itemizedlist> + + <para>De overige subsecties beschrijven elk van deze + soorten.</para> <sect3 id="term-dumb"> - <title>* Domme terminals</title> - - <para></para> + <title>Domme terminals</title> + + <para>Domme terminals zijn gespecialiseerde stukken hardware + die computers door seriële kabels kunnen verbinden. Ze + worden <quote>dom</quote> genoemd omdat ze alleen maar tekst + kunnen weergeven, verzenden en ontvangen. Het is niet + mogelijk om programma's op deze terminals te draaien. De + computer waar ze op zijn aangesloten heeft de benodigde + kracht om tekstverwerkers, compilers, e-mail, spellen, + enzovoort te draaien.</para> + + <para>Er zijn honderden soorten domme terminals gemaakt door + vele fabrikanten, inclusief de VT-100 van Digital Equipment + Corporation en de WY-75 van Wyse. Bijna elke soort werkt met + &os;. Sommige terminals uit de hoogste klasse kunnen zelfs + grafisch weergeven, maar slechts bepaalde softwarepakketten + kunnen gebruik maken van deze geavanceerde mogelijkheden.</para> + + <para>Domme terminals zijn ook populair in werkomgevingen + waarin gebruikers geen toegang tot grafische applicaties + nodig hebben, zoals die door het X Window systeem worden + geleverd.</para> </sect3> <sect3 id="term-pcs"> - <title>* PC's die een terminal emuleren</title> - - <para></para> + <title>PC's die als terminal dienen</title> + + <para>Indien een <link + linkend="term-dumb">domme terminal</link> net genoeg + mogelijkheden heeft om tekst weer te geven, te verzenden en + te ontvangen, dan kan zeker elke reserve-PC een domme + terminal zijn. De enige benodigdheden zijn de juiste kabel + en wat <emphasis>terminal-emulatie</emphasis> software om op + de computer te draaien.</para> + + <para>Zo'n opstelling is populair in thuissituaties. Indien + bijvoorbeeld persoon A werkt op de console van een + &os;-systeem, kan persoon B wat alleen-tekst-werk verrichten + op een minder krachtige PC die als terminal met het + &os;-systeem verbonden is.</para> </sect3> <sect3 id="term-x"> - <title>* X Terminals</title> - - <para></para> + <title>X-terminals</title> + + <para>X-terminals behoren tot de meest geavanceerde + terminalsoort die beschikbaar is. In plaats van dat ze + verbinding maken met een seriële poort, maken ze meestal + verbinding met een netwerk zoals Ethernet. In plaats van + dat ze alleen tekstapplicaties weergeven, kunnen ze elke + X-applicatie weergeven.</para> + + <para>X-terminals worden slechts voor de compleetheid + geïntroduceerd. Dit hoofdstuk behandelt echter + <emphasis>niet</emphasis> de installatie, het instellen of + het gebruik van X-terminals.</para> </sect3> </sect2> <sect2 id="term-config"> - <title>* Configuratie</title> + <title>Instellen</title> + + <para>Deze sectie beschrijft wat in te stellen op een os;-systeem + om een aanmeldsessie op een terminal mogelijk te maken. De + sectie gaat ervan uit dat er al een kernel is ingesteld met + ondersteuning voor een seriële poort waar de terminal op + is aangesloten en dat deze verbonden is.</para> + + <para>In <xref linkend="boot"> staat beschreven dat het proces + <command>init</command> verantwoordelijk is voor het beheer van + alle processen en voor de initialisatie tijdens het opstarten + van een systeem. Eén van de taken die door + <command>init</command> wordt uitgevoerd is het lezen van het + bestand <filename>/etc/ttys</filename> en het starten van een + proces <command>getty</command> op de beschikbare terminals. + Het proces <command>getty</command> is verantwoordelijk voor + het lezen van een aanmeldnaam en het starten van het programma + <command>login</command>.</para> + + <para>Voer volgende stappen als <username>root</username> uit om + terminals voor een &os;-systeem in te stellen:</para> + + <procedure> + <step> + <para>Voeg een regel aan <filename>/etc/ttys</filename> toe + voor de ingang in de map <filename>/dev</filename> voor een + seriële poort als deze er nog niet is;</para> + </step> + + <step> + <para>Specificeer dat <command>/usr/libexec/getty</command> + uitgevoerd moet worden op de poort en het juiste type + <replaceable>getty</replaceable> van het bestand + <filename>/etc/gettytab</filename>;</para> + </step> + + <step> + <para>Specificeer het standaard terminaltype;</para> + </step> + + <step> + <para>Stel de poort in op <quote>on</quote>;</para> + </step> + + <step> + <para>Specificeer of de poort <quote>secure</quote> dient te + zijn;</para> + </step> + + <step> + <para><command>init</command> dient + <filename>/etc/ttys</filename> opnieuw te lezen.</para> + </step> + </procedure> + + <para>Als optionele stap kan het wenselijk zijn om een eigen type + <replaceable>getty</replaceable> aan te maken voor stap 2 door + een ingang in <filename>/etc/gettytab</filename> te maken. Dit + wordt hier niet beschreven. Meer informatie staat in de + hulppagina's &man.gettytab.5; en &man.getty.8;.</para> <sect3 id="term-etcttys"> - <title>* Een regel toevoegen aan - <filename>/etc/ttys</filename></title> - - <para></para> + <title>Een regel aan <filename>/etc/ttys</filename> + toevoegen</title> + + <para>Het bestand <filename>/etc/ttys</filename> bevat alle + poorten op een &os;-systeem waar aanmelden is toegestaan. De + eerste virtuele console <filename>ttyv0</filename> staat + bijvoorbeeld in dit bestand vermeld. Met deze vermelding kan + er op de console worden aangemeld. Dit bestand bevat ook + vermeldingen voor de andere virtuele consoles, seriële + poorten en pseudo-tty's. Vermeld voor een vast aangesloten + terminal de <filename>/dev</filename>-regel van de + seriële poort zonder het + <filename>/dev</filename>-gedeelte + (<filename>/dev/ttyv0</filename> wordt bijvoorbeeld + <devicename>ttyv0</devicename>).</para> + + <para>Een standaard &os; installatie bevat een bestand + <filename>/etc/ttys</filename> met ondersteuning voor de + eerste vier seriële poorten: <filename>ttyd0</filename> + tot en met <filename>ttyd3</filename>. Indien er aan een van + deze poorten een terminal wordt gekoppeld is het niet nodig + om een regel toe te voegen.</para> + + <example id="ex-etc-ttys"> + <title>Terminalregels aan <filename>/etc/ttys</filename> + toevoegen</title> + + <para>Stel dat er twee terminals verbonden moeten worden met + een systeem: een Wyse-50 en een oude 286 IBM-PC waarop + <application>Procomm</application> terminalsoftware draait + dat een VT-100 terminal emuleert. De Wyse wordt met de + tweede seriële poort verbonden en de 286 met de zesde + seriële poort (een poort op een meerpoortige + seriële kaart). De overeenkomstige regels in + <filename>/etc/ttys</filename> zien er als volgt + uit:</para> + + <programlisting>ttyd1<co + id="co-ttys-line1col1"> "/usr/libexec getty std.38400"<co + id="co-ttys-line1col2"> wy50<co + id="co-ttys-line1col3"> on<co + id="co-ttys-line1col4"> insecure<co + id="co-ttys-line1col5"> +ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure + </programlisting> + + <calloutlist> + <callout arearefs="co-ttys-line1col1"> + <para>Het eerste veld specificeert normaalgesproken de + naam van het speciale terminalbestand zoals dat in + <filename>/dev</filename> staat.</para> + </callout> + + <callout arearefs="co-ttys-line1col2"> + <para>Het tweede veld bevat het commando dat voor deze + regel uitgevoerd moet worden, meestal is dit + &man.getty.8;. <command>getty</command> initialiseert + en opent een lijn, stelt een snelheid in, vraagt om een + gebruikersnaam en draait daarna het programma + &man.login.1;.</para> + + <para>Het programma <command>getty</command> accepteert + één (optionele) parameter op de + opdrachtregel, het type + <replaceable>getty</replaceable>. Een type + <replaceable>getty</replaceable> stelt karakteristieken + op een terminallijn in, zoals de bps-snelheid en de + pariteit. Het programma <command>getty</command> leest + deze karakteristieken uit het bestand + <filename>/etc/gettytab</filename>.</para> + + <para>Het bestand <filename>/etc/gettytab</filename> + bevat een hoop regels voor zowel oude als nieuwe + terminallijnen. In bijna alle gevallen werken de + regels die met de tekst <literal>std</literal> beginnen + voor vast aangesloten terminals. Deze regels negeren + pariteit. Er is een <literal>std</literal>-regel voor + elke bps-snelheid van 110 tot en met 115200. Uiteraard + kunnen eigen regels aan dit bestand worden toegevoegd. + De hulppagina &man.gettytab.5; biedt meer + informatie.</para> + + <para>Zorg er tijdens het instellen van het type + <replaceable>getty</replaceable> in het bestand + <filename>/etc/ttys</filename> voor dat de + communicatie-instellingen op de terminal ermee + over komen.</para> + + <para>In bovenstaand voorbeeld gebruikt de Wyse-50 geen + pariteit en maakt deze verbinding met 38400 bps. + De 286 PC gebruikt geen pariteit en maakt + verbinding met 19200 bps.</para> + </callout> + + <callout arearefs="co-ttys-line1col3"> + <para>Het derde veld bevat het het type terminal dat + normaalgesproken is verbonden met de tty-lijn. Voor + inbelpoorten wordt voor dit veld normaalgesproken + <literal>unknown</literal> of <literal>dialup</literal> + gebruikt omdat gebruikers bijna elk type terminal of + software gebruiken om in te bellen. Voor terminals met + een vaste aansluiting verandert het type terminal niet, + dus kan in dit veld een echt terminaltype uit het + databasebestand &man.termcap.5; worden gebruikt.</para> + + <para>In bovenstaand voorbeeld gebruikt de Wyse-50 het + echte terminaltype, terwijl de 286 PC die + <application>Procomm</application> draait zo ingesteld + wordt dat deze een VT-100 emuleert.</para> + </callout> + + <callout arearefs="co-ttys-line1col4"> + <para>Het vierde veld geeft aan of de poort aan moet + staan. Indien hier <literal>on</literal> staat, start + <command>init</command> het programma in het tweede + veld, <command>getty</command>, op. Indien hier + <literal>off</literal> staat wordt + <command>getty</command> niet uitgevoerd en kan er + daarom niet op de poort worden aangemeld.</para> + </callout> + + <callout arearefs="co-ttys-line1col5"> + <para>Het laatste veld geeft aan of de poort veilig is. + Indien deze poort als veilig is aangemerkt betekent dit + dat er genoeg vertrouwen is om de gebruiker + <username>root</username> (of iedere andere account met + een gebruikers-id 0) aan te laten melden via deze poort. + Onveilige poorten staan aanmelden door + <username>root</username> niet toe. Meld op onveilige + poorten eerst aan een account zonder rechten en gebruik + daarna &man.su.1; of een soortgelijk mechanisme om + rootrechten te verkrijgen.</para> + + <para>Het wordt sterk aangeraden om + <quote>insecure</quote> zelfs voor terminals achter + gesloten deuren te gebruiken. Het is vrij gemakkelijk + om aan te melden en <command>su</command> te gebruiken + indien rootrechten nodig zijn.</para> + </callout> + </calloutlist> + </example> </sect3> <sect3 id="term-hup"> - <title>* <command>init</command> forceren om - <filename>/etc/ttys</filename> opnieuw in te lezen</title> - - <para></para> + <title><command>init</command> forceren om + <filename>/etc/ttys</filename> opnieuw te lezen</title> + + <para>Stuur na het maken van de benodigde veranderingen aan het + bestand <filename>/etc/ttys</filename> een SIGHUP-signaal + (ophangen) naar het proces <command>init</command> om het te + dwingen het instellingenbestand opnieuw te lezen:</para> + + <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + + <note> + <para><command>init</command> is altijd het eerste proces dat + op een systeem gedraaid wordt, daarom heeft het altijd PID + 1.</para> + </note> + + <para>Indien alles juist is ingesteld, alle kabels juist zijn + aangesloten en alle terminals aanstaan, draait er op elke + terminal een proces <command>getty</command> en is er een + aanmeldprompt zichtbaar op de terminals.</para> </sect3> </sect2> <sect2 id="term-debug"> - <title>* Problemen oplossen met je verbinding</title> + <title>Problemen met een verbinding oplossen</title> - <sect3> - <title>* Er verschijnt geen login prompt</title> + <para>Zelfs met de grootste aandacht voor details kan er nog + steeds iets mis gaan met het instellen van een terminal. Hier + is een lijst van symptomen en mogelijke oplossingen.</para> - <para></para> + <sect3> + <title>Er verschijnt geen aanmeldprompt</title> + + <para>Controleer of de terminal is aangesloten en aan staat. + Indien het een PC is die als terminal fungeert, controleer of + de terminalemulatiesoftware op de juiste seriële poort + draait.</para> + + <para>Controleer of de kabel stevig verbonden is met zowel de + terminal als de &os; computer en dat de kabel van het juiste + soort is.</para> + + <para>Controleer of de terminal en &os; dezelfde bps-snelheid + en pariteit gebruiken. Indien de terminal een beeldscherm + is, controleer dan of de video- en helderheidsniveaus zijn + ingesteld. Indien de terminal een printer is, controleer of + er voldoende papier en inkt aanwezig zijn.</para> + + <para>Controleer of er een proces <command>getty</command> + draait dat de terminal bedient. Om bijvoorbeeld een lijst + van draaiende <command>getty</command>-processen te + krijgen:</para> + + <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen> + + <para>Er zou een regel voor de terminal zichtbaar moeten zijn. + Het volgende scherm geeft bijvoorbeeld weer dat + <command>getty</command> op de tweede seriële poort + <literal>ttyd1</literal> draait en de regel + <literal>std.38400</literal> in + <filename>/etc/gettytab</filename> gebruikt:</para> + + <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1</screen> + + <para>Indien er geen proces <command>getty</command> draait, + controleer dan of de poort in <filename>/etc/ttys</filename> + aan staat. Draai <command>kill -HUP 1</command> nadat het + bestand <filename>ttys</filename> is gewijzigd.</para> + + <para>Indien het proces <command>getty</command> draait maar de + terminal nog steeds geen aanmeldprompt weergeeft of als het + een prompt weergeeft maar er niet getypt kan worden, kan het + zijn dat de terminal of de kabel hardwarematige handshaking + niet ondersteunt. Probeer om de regel in + <filename>/etc/ttys</filename> van + <literal>std.38400</literal> in + <literal>3wire.38400</literal> te veranderen (draai na het + wijzigen van <filename>/etc/ttys</filename> <command>kill + -HUP 1</command>). De regel <literal>3wire</literal> is + vergelijkbaar met de regel <literal>std</literal>, maar + negeert hardwarematige handshaking. Het kan nodig zijn om de + baudsnelheid te verlagen of om softwarematig doorvoerbeheer + aan te zetten als <literal>3wire</literal> gebruikt wordt, om + overspoelde buffers te voorkomen.</para> </sect3> <sect3> - <title>* Als er rotzooi verschijnt in plaats van een login - prompt</title> - - <para></para> + <title>Als er rommel in plaats van een aanmeldprompt + verschijnt</title> + + <para>Controleer of de terminal en &os; dezelfde bps-snelheid + en pariteit gebruiken. Controleer de + <command>getty</command>-processen op het gebruik van het + juiste type <command>getty</command>. Indien dit niet het + geval is, wijzig dan <filename>/etc/ttys</filename> en draai + <command>kill -HUP 1</command>.</para> </sect3> <sect3> - <title>* Karakters verschijnen dubbel, het password wordt - getoond wanneer het ingetyped wordt</title> + <title>Tekens verschijnen dubbel en/of het wachtwoord + verschijnt tijdens de invoer</title> - <para></para> + <para>Wijzig de terminal (of de terminalemulatiesoftware) van + <quote>half duplex</quote> of <quote>local echo</quote> naar + <quote>full duplex</quote>.</para> </sect3> </sect2> </sect1> @@ -173,199 +1354,1075 @@ <author> <firstname>Sean</firstname> <surname>Kelly</surname> - <contrib>Extra's door </contrib> + <contrib>Toevoegingen door </contrib> </author> </authorgroup> </sect1info> - <title>* Inbel service</title> - <sect2> - <title>* Externe vs. interne modems</title> + <title>Inbeldienst</title> + + <para>Het instellen van het &os;-systeem voor inbeldiensten is + vrijwel gelijk aan het verbinden van terminals, behalve dat er + met modems in plaats van terminals wordt gewerkt.</para> + + <sect2> + <title>Externe en interne modems</title> + + <para>Externe modems lijken gemakkelijker voor het inbellen, + omdat externe modems vaak semi-permanent ingesteld kunnen + worden via parameters die in een niet-vluchtig RAM worden + opgeslagen en ze hebben gewoonlijk LED's die de toestand van + belangrijke RS-232-signalen weergeven. Knipperende LED's maken + indruk op bezoekers, maar LED's zijn ook zeer nuttig om te zien + of een modem goed functioneert.</para> + + <para>Interne modems hebben vaak geen niet-vluchtig RAM en het + kan dus voorkomen dat de instelmogelijkheden beperkt zijn tot + het instellen van DIP-schakelaars. Als een intern modem al + indicatie-LED's voor signalen heeft, zijn ze moeilijk te zien + in de behuizing van een systeem.</para> + + <sect3> + <title>Modems en kabels</title> + + <indexterm><primary>modem</primary></indexterm> - <sect3> - <title>* Modems en kabels</title> + <para>Bij gebruik van een extern modem is uiteraard een juiste + kabel nodig. Een standaard RS-232C seriële kabel + moet voldoen zolang alle normale signalen zijn + aangesloten.</para> - <para></para> - </sect3> - </sect2> + <table frame="none" pgwide="1" id="serialcomms-signal-names"> + <title>Signaalnamen</title> - <sect2> - <title>Seriële interface overwegingen</title> + <tgroup cols="5"> + <thead> + <row> + <entry align="left">Acroniemen</entry> - <para></para> - </sect2> + <entry align="left">Namen</entry> + </row> + </thead> + + <tbody> + <row> + <entry><acronym>RD</acronym></entry> + + <entry>Received Data (ontvangen gegevens)</entry> + </row> + + <row> + <entry><acronym>TD</acronym></entry> + + <entry>Transmitted Data (verzonden gegevens)</entry> + </row> + + <row> + <entry><acronym>DTR</acronym></entry> + + <entry>Data Terminal Ready (gegevensterminal + gereed)</entry> + </row> + + <row> + <entry><acronym>DSR</acronym></entry> + + <entry>Data Set Ready (gegevensverzameling + gereed)</entry> + </row> + + <row> + <entry><acronym>DCD</acronym></entry> + + <entry>Data Carrier Detect (RS-232's detector voor + signaal lijn-ontvangen)</entry> + </row> + + <row> + <entry><acronym>SG</acronym></entry> + + <entry>Signal Ground (signaalaarde)</entry> + </row> + + <row> + <entry><acronym>RTS</acronym></entry> + + <entry>Request to Send (verzoek om te zenden)</entry> + </row> + + <row> + <entry><acronym>CTS</acronym></entry> + + <entry>Clear to Send (gereed om te zenden)</entry> + </row> + </tbody> + </tgroup> + </table> + + <para>&os; heeft de signalen <acronym>RTS</acronym> en + <acronym>CTS</acronym> nodig voor doorstroombeheer bij + snelheden van meer dan 2400 bps, het signaal + <acronym>CD</acronym> om te bepalen wanneer een oproep + beantwoord of geannuleerd is, en het signaal + <acronym>DTR</acronym> om een modem opnieuw in te stellen + nadat een sessie voltooid is. Op sommige kabels ontbreken + sommige benodigde signalen. Dus als zich problemen voordoen, + zoals een aanmeldsessie die niet weggaat nadat de verbinding + verbroken is, kan dit aan de kabel liggen.</para> + + <para>Net als andere &unix;-achtige besturingssystemen gebruikt + &os; hardwaresignalen om te bepalen of een oproep beantwoord + of weggedrukt is en om met het modem op te hangen en dit + opnieuw in te stellen na een oproep. &os; vermijdt het + versturen van commando's naar een modem en het bekijken van + de toestand van een modem. Dit kan vreemd lijken als bekend + is hoe modems met PC-gebaseerde prikbordsystemen (BBS) + verbinden.</para> + </sect3> + </sect2> <sect2> - <title>* Snel overzicht</title> + <title>Overwegingen voor de seriële interface</title> + + <para>&os; ondersteunt EIA RS-232C (CCITT V.24) + communicatie-interfaces gebaseerd op NS8250, NS1645, NS16550 en + NS16550A. De 8250- en 16450-apparaten hebben buffers van een + enkel karakter. Het 16550-apparaat biedt een buffer van 16 + karakters, wat betere systeemprestaties toestaat. Door fouten + in platte 16550's is het niet mogelijk de buffer van 16 + karakters te gebruiken, dus gebruik indien mogelijk 16550A's. + Omdat apparaten met een buffer van een enkel karakter meer werk + door het besturingssysteem vereisen dan apparaten met een + buffer van 16 karakters, ligt de voorkeur bij seriële + interfacekaarten gebaseerd op de 16550A. Indien een systeem + veel actieve seriële poorten heeft of zwaar belast wordt, + zijn kaarten gebaseerd op de 16550A beter voor communicatie met + een lage foutenratio.</para> + </sect2> - <para></para> + <sect2> + <title>Snel overzicht</title> + + <indexterm><primary>getty</primary></indexterm> + + <para>Net als met terminals zet <command>init</command> een + <command>getty</command>-proces op voor elke seriële poort + die voor inbelverbindingen is ingesteld. Indien bijvoorbeeld + een modem aan <filename>/dev/ttyd0</filename> is gekoppeld, kan + het commando <command>ps ax</command> het volgende + weergeven:</para> + + <screen> 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0</screen> + + <para>Wanneer een gebruiker naar de modemlijn belt en de modems + verbinding maken, wordt de <acronym>CD</acronym>-lijn (Carrier + Detect) door het modem gerapporteerd. De kernel merkt op dat + een draaggolf is gesignaleerd en laat <command>getty</command> + het openen van de poort voltooien. <command>getty</command> + stuurt een prompt <prompt>login:</prompt> met de initieel + gespecificeerde lijnsnelheid. <command>getty</command> bekijkt + of er geldige karakters zijn ontvangen en probeert, in een + typische opstelling, indien het rommel aantreft (waarschijnlijk + omdat de snelheid waarmee het modem verbindt afwijkt van de + snelheid van <command>getty</command>) de lijnsnelheden aan te + passen totdat het redelijke karakters ontvangt.</para> + + <indexterm><primary><command>/usr/bin/login</command></primary></indexterm> + + <para>Nadat een gebruikersnaam is opgegeven voert + <command>getty</command> <filename>/usr/bin/login</filename> + uit, die het aanmelden voltooit door te vragen naar het + wachtwoord van een gebruiker en daarna de shell van een + gebruiker op te starten.</para> </sect2> <sect2> - <title>* Configuratie bestanden</title> + <title>Instellingenbestanden</title> + + <para>Er zijn drie systeeminstellingenbestanden in de map + <filename>/etc</filename> die waarschijnlijk gewijzigd moeten + worden om inbellen op een &os;-systeem toe te staan. Het + eerste bestand, <filename>/etc/gettytab</filename>, bevat + informatie om de daemon <filename>/usr/libexec/getty</filename> + in te stellen. Het tweede bestand, + <filename>/etc/ttys</filename> bevat informatie voor + <filename>/sbin/init</filename> dat vertelt op welke + <filename>tty</filename> apparaten een proces + <command>getty</command> moet draaien. Als laatste kunnen in + het script <filename>/etc/rc.d/serial</filename> commando's + geplaatst worden om poorten te initialiseren.</para> + + <para>Er bestaan twee stromingen met betrekking tot inbelmodems + op &unix;. De ene houdt ervan om modems en systemen in te + stellen zodat de lokale computer-naar-modem RS-232-interface + met een vaste snelheid werkt, ongeacht de snelheid waarmee een + gebruiker-op-afstand inbelt. Het voordeel van deze instelling + is dat een gebruiker-op-afstand altijd meteen een aanmeldprompt + van een systeem ziet. Het nadeel is dat een systeem niet weet + wat de werkelijke gegevenssnelheid van een gebruiker is en dus + passen programma's die met een volledig scherm werken, zoals + Emacs, hun methode om het scherm te tekenen niet aan om hun + reactie beter te maken voor langzame verbindingen.</para> + + <para>De andere stroming stelt de RS-232-interface van een modem + zo in dat de snelheid ervan varieert met de verbindingssnelheid + van een gebruiker-op-afstand. Zo zorgen V.32bis-verbindingen + (14,4 kbps) met een modem ervoor dat een modem de + RS-232-interface op 19,2 kbps laat draaien, terwijl + verbindingen op 2400 bps ervoor zorgen dat de + RS-232-interface van een modem op 2400 bps draait. Omdat + <command>getty</command> meldingen over de verbindingssnelheid + van een gegeven modem niet begrijpt, geeft + <command>getty</command> een bericht <prompt>login:</prompt> op + een initiële snelheid en kijkt het naar de karakters die + als antwoord terugkomen. Als een gebruiker rommel ziet, wordt + ervan uitgegaan dat deze weet dat de <keycode>Enter</keycode> + toets ingedrukt moet worden totdat een herkenbaar prompt + zichtbaar is. Indien de gegevenssnelheden niet overeenkomen, + ziet <command>getty</command> alles wat een gebruiker intypt + als <quote>rommel</quote>, probeert het op de volgende snelheid + over te gaan en het geeft opnieuw het prompt + <prompt>login:</prompt>. Deze procedure kan ad nauseam + doorgaan, maar normaal gesproken zijn er slechts een stuk of + twee toetsaanslagen nodig voordat een gebruiker een juist + prompt ziet. Het is duidelijk dat deze aanmeldprocedure er + niet zo mooi uitziet als de methode + <quote>vaste-snelheid</quote>, maar een gebruiker met een + langzame verbinding zou betere interactiviteit moeten beleven + met programma's die met een volledig scherm werken.</para> + + <para>Deze sectie poogt om neutrale informatie over instellingen + te geven, maar is geneigd om de gegevenssnelheid van het modem + af te laten hangen van de verbindingssnelheid.</para> <sect3> - <title>* <filename>/etc/gettytab</filename></title> + <title><filename>/etc/gettytab</filename></title> + + <indexterm><primary><filename>/etc/gettytab</filename></primary></indexterm> + + <para><filename>/etc/gettytab</filename> is een bestand met + informatie over instellingen voor &man.getty.8; in de stijl + van &man.termcap.5;. In de hulppagina van &man.gettytab.5; + staat de volledige informatie over het formaat van het + bestand en de lijst met mogelijkheden.</para> <sect4> - <title>* Vaste snelheid configuratie</title> - - <para></para> + <title>Vaste snelheid instellen</title> + + <para>Indien de snelheid van een modem om gegevens te + communiceren op een bepaalde waarde wordt vastgezet, is het + waarschijnlijk niet nodig om wijzigingen aan te brengen in + <filename>/etc/gettytab</filename>.</para> </sect4> <sect4> - <title>* Overeengekomen snelheid configuratie</title> - - <para></para> + <title>Overeenkomstige snelheid instellen</title> + + <para>In <filename>/etc/gettytab</filename> dient een regel + ingesteld te worden om <command>getty</command> informatie + te geven over de snelheden die voor het modem gewenst zijn. + Indien een 2400 bps modem aanwezig is, kan + waarschijnlijk de bestaande regel <literal>D2400</literal> + gebruikt worden.</para> + + <programlisting># +# Voor snelle inbelterminals, 2400/1200/300 roterend (er kan met beide kanten begonnen worden) +# +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>Indien er een modem voor hogere snelheden aanwezig is, + dient er waarschijnlijk een regel aan + <filename>/etc/gettytab</filename> toegevoegd te worden. + Hieronder staat een regel die gebruikt kan worden voor een + 14,4 kbps modem met een maximale interface-snelheid + van 19,2 kbps:</para> + + <programlisting># +# Toevoegingen voor een 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>Dit resulteert in 8-bits verbindingen zonder + pariteit.</para> + + <para>Het bovenstaande voorbeeld begint met een + communicatiesnelheid van 19,2 kbps (voor een + V.32bis-verbinding), daarna doorloopt het 9600 bps + (voor V.32), 2400 bps, 1200 bps, 300 bps en + daarna weer 19,2 kbps. Het doorlopen van de + communicatiesnelheid is met de mogelijkheid + <literal>nx=</literal> (<quote>volgende tabel</quote>) + geïmplementeerd. Elk van deze regels gebruikt een + regel <literal>tc=</literal> (<quote>tabel + continuëren</quote>) om de rest van de + <quote>standaard</quote>-instellingen voor een bepaalde + gegevenssnelheid op te pikken.</para> + + <para>Indien er een 28,8 kbps modem aanwezig is en/of + het gewenst is om voordeel uit de compressie met een + 14,4 kbps te halen, is het nodig om hogere + communicatiesnelheden dan 19,2 kbps te gebruiken. + Hieronder staat een voorbeeld van een regel voor + <filename>gettytab</filename> die begint met + 57,6 kbps.</para> + + <programlisting># +# Toevoegingen voor een V.32bis of V.34 modem +# beginnend bij 57,6 kbps +# +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>Indien een CPU langzaam of een systeem zwaar belast is + en er geen seriële poorten gebaseerd op 16550A + aanwezig zijn, kunnen er <errorname>sio</errorname> + <quote>silo</quote>-fouten optreden bij + 57,6 kbps.</para> </sect4> </sect3> <sect3 id="dialup-ttys"> - <title>* <filename>/etc/ttys</filename></title> + <title><filename>/etc/ttys</filename> + + <indexterm><primary><filename>/etc/ttys</filename></primary></indexterm> + + <para>Het instellen van het bestand + <filename>/etc/ttys</filename> staat beschreven in <xref + linkend="ex-etc-ttys">. Het instellen van modems is + vergelijkbaar maar er moet een ander argument aan + <command>getty</command> doorgegeven worden en er moet een + ander type terminal doorgegeven te worden. Het algemene + formaat voor zowel vaste snelheid als overeenkomstige + snelheid is:</para> + + <programlisting>ttyd0 "/usr/libexec/getty <replaceable>xxx</replaceable>" dialup on</programlisting> + + <para>Het eerste item op bovenstaande regel is het speciale + apparaatbestand. <literal>ttyd0</literal> betekent dat + <filename>/dev/ttyd0</filename> het bestand is dat door + <command>getty</command> in de gaten wordt gehouden. Het + tweede item, + <literal>"/usr/libexec/getty<replaceable>xxx</replaceable>"</literal> + (<replaceable>xxx</replaceable> wordt vervangen door de + initiële mogelijkheden van + <filename>gettytab</filename>) is het proces dat door + <command>init</command> op het apparaat gedraaid wordt. Het + derde item, <literal>dialup</literal>, is het standaard + terminaltype. De vierde parameter, <literal>on</literal>, + geeft aan <command>init</command> aan dat de lijn + operationeel is. Er kan een vijfde parameter zijn, + <literal>secure</literal>, maar gebruik deze alleen voor + terminals die fysiek veilig zijn (zoals de + systeemconsole).</para> + + <para>Het standaard terminaltype (<literal>dialup</literal> in + bovenstaand voorbeeld) mag afhangen van lokale voorkeuren. + Het traditionele standaard terminaltype voor inbellijnen is + <literal>dialup</literal>, zodat gebruikers hun + aanmeldscripts kunnen aanpassen om op te merken wanneer het + terminal <literal>dialup</literal> is en automatisch hun + terminaltype kunnen aanpassen. Wellicht is het makkelijker + om <literal>vt102</literal> als het standaard terminaltype te + specificeren, aangezien gebruikers gewoon VT102-emulatie op + hun systemen-op-afstand gebruiken.</para> + + <para>Nadat <filename>/etc/ttys</filename> gewijzigd is, kan + aan het proces <command>init</command> een signaal + <acronym>HUP</acronym> gestuurd worden om het bestand opnieuw + te laten lezen. Gebruik volgende opdracht om het signaal te + versturen:</para> + + <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + + <para>Indien een systeem voor de eerste keer wordt + geïnstalleerd, is het verstandig te wachten totdat een + modem juist ingesteld en verbonden is voordat het signaal + aan <command>init</command> verstuurd wordt.</para> <sect4> - <title>* Vaste snelheid configuratie</title> - - <para></para> + <title>Vaste snelheid instellen</title> + + <para>Voor het instellen van een vaste snelheid dient de + regel in <filename>ttys</filename> een vaste snelheid door + te geven aan <command>getty</command>. Voor een modem met + een vaste poortsnelheid van 19,2 kbps kan de regel in + <filename>ttys</filename> er als volgt uitzien:</para> + + <programlisting>ttyd0 "/usr/libexec/getty std.19200" dialup on</programlisting> + + <para>Indien een modem op een andere gegevenssnelheid is + ingesteld, dient de juiste waarde voor + <literal>std.<replaceable>snelheid</replaceable></literal> + in plaats van <literal>std.19200</literal> ingesteld te + worden. Gebruik een geldig type dat in + <filename>/etc/gettytab</filename> vermeld staat.</para> </sect4> <sect4> - <title>* Overeengekomen snelheid configuratie</title> - - <para></para> + <title>Overeenkomstige snelheid instellen</title> + + <para>Voor het instellen van een overeenkomstige snelheid + dient de regel in <filename>ttys</filename> te verwijzen + naar regel met de juiste begin-<quote>auto-baud</quote> + (sic). Indien bijvoorbeeld de boven voorgestelde regel + voor een modem met een overeenkomstige snelheid die begint + met 19,2 kbps wordt toegevoegd (de regel in + <filename>gettytab</filename> die het beginpunt + <literal>V19200</literal>), kan de regel in + <filename>ttys</filename> er als volgt uitzien:</para> + + <programlisting>ttyd0 "/usr/libexec/getty V19200" dialup on</programlisting> </sect4> </sect3> <sect3> - <title>* <filename>/etc/rc.serial</filename></title> - - <para></para> + <title><filename>/etc/rc.d/serial</filename></title> + + <indexterm> + <primary>rc-bestanden</primary> + + <secondary><filename>rc.serial</filename></secondary> + </indexterm> + + <para>Hogesnelheidsmodems, zoals V.32, V.32bis, en V.34 modems, + moeten gebruik maken van hardwarematig + (<literal>RTS/CTS</literal>) gegevensstroombeheer. Er kunnen + <command>stty</command>-opdrachten aan + <filename>/etc/rc.d/serial</filename> toegevoegd worden om de + vlag voor hardwarematig gegevensstroombeheer in de kernel van + &os; voor modempoorten in te stellen.</para> + + <para>Om bijvoorbeeld de <literal>termios</literal>-vlag + <varname>crtscts</varname> op de apparaten die de in- en + uitbelapparaten initialiseren op de eerste seriële poort + (<devicename>COM2</devicename>) in te stellen, kunnen de + volgende regels aan <filename>/etc/rc.d/serial</filename> + worden toegevoegd:</para> + + <programlisting># Seriële poort initieel instellen +stty -f /dev/ttyd1.init crtscts +stty -f /dev/cuad1.init crtscts</programlisting> </sect3> </sect2> <sect2> - <title>* Modem instellingen</title> + <title>Modeminstellingen</title> + + <para>Bij gebruik van een modem waarvan de parameters permanent + in niet-vluchtig RAM ingesteld kunnen worden, is er een + terminalprogramma (zoals Telix onder &ms-dos; of + <command>tip</command> onder &os;) nodig om parameters in te + stellen. Maak een verbinding met een modem met dezelfde + communicatiesnelheid als de initiële snelheid die door + <command>getty</command> gebruikt wordt en stel het + niet-vluchtige RAM van een modem in zodat aan deze voorwaarden + voldaan wordt:</para> + + <itemizedlist> + <listitem> + <para><acronym>CD</acronym> geldt tijdens + verbindingen;</para> + </listitem> + + <listitem> + <para><acronym>DTR</acronym> geldt tijdens gebruik; het + loslaten van DTR hangt de verbinding op en stelt het modem + opnieuw in;</para> + </listitem> + + <listitem> + <para>gegevensstroombeheer door <acronym>CTS</acronym> + verzonden;</para> + </listitem> + + <listitem> + <para>gegevensstroombeheer met <acronym>XON/XOFF</acronym> + uitgezet;</para> + </listitem> + + <listitem> + <para>gegevensstroombeheer door <acronym>RTS</acronym> + ontvangen;</para> + </listitem> + + <listitem> + <para>Stille modus (geen resultaatcodes);</para> + </listitem> + + <listitem> + <para>Geen opdrachtecho.</para> + </listitem> + </itemizedlist> + + <para>Kijk in de documentatie van een modem voor de benodigde + opdrachten en/of instellingen van DIP-schakelaars.</para> + + <para>Om de bovenstaande parameters bijvoorbeeld op een + &usrobotics; &sportster; 14.400 extern modem in te stellen, + kunnen de volgende opdrachten aan het modem gegeven + worden:</para> + + <programlisting>ATZ +AT&C1;&D2&H1&I0&R2&W</programlisting> + + <para>In deze fase kunnen ook andere modeminstellingen aangepast + worden, zoals of het V.42bis en/of MNP5 compressie wordt + gebruiken.</para> + + <para>Een &usrobotics;&sportster; 14.400 externe modem heeft ook + enkele DIP-schakelaars die ingesteld moeten worden. Voor + andere modems kunnen deze instellingen wellicht als voorbeeld + dienen:</para> + + <itemizedlist> + <listitem> + <para>Schakelaar 1: UP: DTR Normal</para> + </listitem> + + <listitem> + <para>Schakelaar 2: N/A (Verbal Result Codes/Numeric Result + Codes)</para> + </listitem> + + <listitem> + <para>Schakelaar 3: UP: Suppress Result Codes</para> + </listitem> + + <listitem> + <para>Schakelaar 4: DOWN: Geen echo, offline + opdrachten</para> + </listitem> + + <listitem> + <para>Schakelaar 5: UP: Auto Answer</para> + </listitem> + + <listitem> + <para>Schakelaar 6: UP: Carrier Detect Normal</para> + </listitem> + + <listitem> + <para>Schakelaar 7: UP: Load NVRAM Defaults</para> + </listitem> + + <listitem> + <para>Schakelaar 8: N/A (Smart Mode/Dumb Mode)</para> + </listitem> + </itemizedlist> + + <para>Schakel resultaatcodes voor alle inbelmodems uit of + onderdruk ze om problemen te voorkomen die kunnen optreden als + <command>getty</command> abusievelijk een prompt + <prompt>login:</prompt> geeft aan een modem dat in + opdrachtmodus staat en het modem de opdracht echoot of een + resultaatcode teruggeeft. Deze sequentie kan tot een + uitgebreide, onnozele discussie tussen <command>getty</command> + en het modem leiden.</para> <sect3> - <title>* Vaste snelheid configuratie</title> - - <para></para> + <title>Vaste snelheid instellen</title> + + <para>Stel voor een vaste snelheid een modem zodanig in dat die + een constante gegevenssnelheid naar de computer, + onafhankelijk van de communicatiesnelheid, behoudt. Op een + &usrobotics; &sportster; 14.400 extern modem zetten de + volgende opdrachten de gegevenssnelheid naar de computer vast + op de snelheid die gebruikt werd om de opdrachten te + geven:</para> + + <programlisting>ATZ +AT&B1&W</programlisting> </sect3> <sect3> - <title>* Overeengekomen snelheid configuratie</title> - - <para></para> + <title>Overeenkomstige snelheid instellen</title> + + <para>Stel voor een variabele snelheid een modem zodanig in dat + het de gegevenssnelheid van zijn seriële poort aanpast + aan de snelheid van een binnenkomende oproep. Op een + &usrobotics; &sportster; 14.400 extern modem zetten de + volgende opdrachten de gegevenssnelheid van het modem, die op + fouten gecorrigeerd wordt, vast op de snelheid die gebruikt + werd om de opdrachten te geven, maar staan ze toe dat de + snelheid van de seriële poort varieert voor verbindingen + die niet op fouten gecorrigeerd worden:</para> + + <programlisting>ATZ +AT&B2&W</programlisting> </sect3> <sect3> - <title>* De configuratie van de modem bekijken</title> - - <para></para> + <title>De modeminstellingen controleren</title> + + <para>De meeste modems die op hoge snelheid werken, bieden + opdrachten om de huidige werkparameters van een modem in een + min of meer voor mensen leesbare vorm te bekijken. Op het + &usrobotics; &sportster; 14.400 extern modem beeldt de + opdracht <command>ATI5</command> de instellingen af die in + het niet-vluchtige RAM zijn opgeslagen. Gebruik om de + werkelijke werkparameters van een modem te zien (zoals + beïnvloed door de stand van de DIP-schakelaars van een + modem) de opdrachten <command>ATZ</command> gevolgd door + <command>ATI4</command>.</para> + + <para>Kijk in de handleiding van een modem als er met een + ander merk modem gewerkt wordt voor het controleren van de + parameters voor het instellen van dat modem.</para> </sect3> </sect2> <sect2> - <title>* Problemen oplossen</title> + <title>Problemen oplossen</title> - <sect3> - <title>* Het &os; systeem controleren</title> + <para>Hier volgen wat stappen die gevolgd kunnen worden om een + inbelmodem op een systeem te controleren.</para> - <para></para> + <sect3> + <title>Een &os;-systeem controleren</title> + + <para>Verbind een modem met een &os;-systeem, start het systeem + op en kijk, indien het modem lampjes bevat die de toestand + aangeven, of de <acronym>DTR</acronym>-indicator oplicht + als het prompt <prompt>login:</prompt> op de systeemconsole + verschijnt. Als het oplicht zou dit betekenen dat &os; + een <command>getty</command>-proces heeft gestart op de + juiste communicatiepoort en wacht op het modem om een gesprek + aan te nemen.</para> + + <para>Geef als de <acronym>DTR</acronym>-indicator niet + oplicht, na aanmelden op de console, de opdracht <command>ps + ax</command> om te zien of &os; probeert een + <command>getty</command>-proces op de juiste poort te + draaien. Er dienen tussen de weergegeven processen regels + zoals de onderstaande te verschijnen:</para> + + <screen> 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 + 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1</screen> + + <para>Er kan ook iets als het volgende verschijnen:</para> + + <screen> 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0</screen> + + <para>Als het modem nog geen gesprek heeft aangenomen, betekent + dit dat <command>getty</command> het openen van de + communicatiepoort voltooid heeft. Dit kan duiden op een + probleem met de bekabeling of op een verkeerd ingesteld modem + omdat <command>getty</command> niet in staat zou moeten zijn + om de communicatiepoort te openen totdat + <acronym>CD</acronym> (kiestoon) door het modem is + bevestigd.</para> + + <para>Indien er geen enkel <command>getty</command>-proces + verschijnt dat wacht op het openen van de gewenste poort + <filename>ttyd<replaceable>N</replaceable></filename>, + controleer dan de regels in <filename>/etc/ttys</filename> op + vergissingen. Controleer ook het logboekbestand + <filename>/var/log/messages</filename> om te zien of er + logboekberichten van <command>init</command> of + <command>getty</command> met betrekking tot problemen zijn. + Indien er problemen zijn, controleer dan nogmaals de + instellingenbestanden <filename>/etc/ttys</filename> en + <filename>/etc/gettytab</filename>, alsook de betreffende + speciale apparaatbestanden <filename>/dev/ttydN</filename>, + op vergissingen, ontbrekende regels of ontbrekende speciale + apparaatbestanden.</para> </sect3> <sect3> - <title>* Proberen in te bellen</title> - - <para></para> + <title>Proberen om in te bellen</title> + + <para>Probeer in te bellen op een systeem. Controleer of op + het systeem-op-afstand 8 bits, geen pariteit en 1 stopbit + gebruikt wordt. Probeer, indien er niet meteen een prompt + verschijnt of als er rommel verschijnt, ongeveer + eens per seconde op <keycode>Enter</keycode> te drukken. + Probeer, indien er na een tijd nog geen prompt + <prompt>login:</prompt> verschijnt, een + <command>BREAK</command> te versturen. Probeer, indien er + een modem wordt gebruikt dat op hoge snelheid werkt om te + bellen, opnieuw in te bellen nadat de interfacesnelheid van + het bellende modem is vastgezet (bijvoorbeeld via + <command>AT&B1</command> op een &usrobotics; &sportster; + modem).</para> + + <para>Controleer, indien er nog steeds geen prompt + <prompt>login:</prompt> verschijnt, nogmaals + <filename>/etc/gettytab</filename> en controleer of:</para> + <itemizedlist> + <listitem> + <para>De initiële specificatie die in + <filename>/etc/ttys</filename> voor de lijn staat + overeenkomt met een naam van een specificatie in + <filename>/etc/gettytab</filename>;</para> + </listitem> + + <listitem> + <para>Elke regel <literal>nx=</literal> overeenkomt met een + naam van een andere specificatie in + <filename>gettytab</filename>;</para> + </listitem> + + <listitem> + <para>Elke regel <literal>tc=</literal> overeenkomt met een + naam van een andere specificatie in + <filename>gettytab</filename>.</para> + </listitem> + </itemizedlist> + + <para>Controleer, indien er gebeld wordt maar het modem op het + &os;-systeem niet reageert, of het modem ingesteld is om de + telefoon te beantwoorden als <acronym>DTR</acronym> bevestigd + is. Controleer, indien het modem juist ingesteld lijkt te + zijn, of de <acronym>DTR</acronym>-lijn bevestigd is door de + indicatielampjes van het modem te controleren (indien die + aanwezig zijn).</para> + + <para>Neem een pauze en probeer het later nog eens indien alles + meerdere malen is geprobeerd en het nog steeds niet werkt. + Indien het nog steeds niet werkt, stuur dan een e-mail naar + de &a.questions; met een beschrijving van het modem en het + probleem en de mensen op de lijst zullen proberen te + helpen.</para> </sect3> </sect2> </sect1> <sect1 id="dialout"> - <title>* Uitbel service</title> + <title>Uitbeldienst</title> - <sect2> - <title>* Mijn standaard Hayes modem wordt niet ondersteund, - wat kan ik doen?</title> + <indexterm><primary>uitbeldienst</primary></indexterm> - <para></para> - </sect2> + <para>De volgende tips dienen voor het maken van een verbinding met + een andere computer per modem. Dit is geschikt voor het opzetten + van een terminalsessie met een gast op afstand.</para> - <sect2 id="direct-at"> - <title>* Hoe moet ik deze AT commando's invoeren?</title> + <para>Dit is nuttig bij het aanmelden op een BBS.</para> - <para></para> - </sect2> + <para>Dit soort verbinding kan extreem behulpzaam zijn om een + bestand op het Internet te krijgen indien er problemen zijn met + PPP. Indien FTP ergens voor nodig is en PPP kapot is, kan de + terminalsessie voor FTP gebruikt worden. Vervolgens kan zmodem + gebruikt worden om het naar de machine te verzenden.</para> <sect2> - <title>* Het <literal>@</literal> teken voor de pn mogelijkheid - werkt niet</title> + <title>Een gewone Hayes-modem wordt niet ondersteund, wat + nu?</title> + + <para>In feite is de hulppagina voor <command>tip</command> + verouderd. Er is al een generiek belprogramma voor Hayes + ingebouwd. Gebruik <literal>at=hayes</literal> in het bestand + <filename>/etc/remote</filename>.</para> + + <para>Het stuurprogramma voor Hayes is niet slim genoeg om enkele + geavanceerde eigenschappen van nieuwere modems te herkennen. + Berichten als <literal>BUSY</literal> (in gesprek), + <literal>NO DIALTONE</literal> (geen kiestoon) of + <literal>CONNECT 115200</literal> (verbinden 115200) verwarren + het stuurprogramma. Schakel deze berichten uit bij gebruik van + <command>tip</command> (door middel van + <command>ATX0&W</command>).</para> + + <para>Verder is de beltimeout voor <command>tip</command> 60 + seconden. Het modem dient een lagere waarde te gebruiken om te + voorkomen dat <command>tip</command> denkt dat er een probleem + met de communicatie is. Probeer + <command>ATS7=45&W</command>.</para> + + <note> + <para>De geleverde versie van <command>tip</command> + ondersteunt Hayesmodems nog niet volledig. De oplossing is + om het bestand <filename>tipconf.h</filename> in de map + <filename>/usr/src/usr.bin/tip/tip</filename> te bewerken. + Het mag duidelijk zijn dat hiervoor de distributie van de + broncode nodig is.</para> + + <para>Wijzig de regel <literal>#define HAYES 0</literal> in + <literal>#define HAYES 1</literal>. Voer hierna + <command>make</command> en <command>make install</command> + uit. Hierna werkt alles naar wens.</para> + </note> + </sect2> - <para></para> + <sect2 id="direct-at"> + <title>Hoe AT-commando's ingeven?</title> + + <indexterm><primary><filename>/etc/remote</filename></primary></indexterm> + + <para>Maak een zogenaamde <quote>directe</quote> regel in het + bestand <filename>/etc/remote</filename> aan. Als het modem + bijvoorbeeld aan de eerste seriële poort, + <filename>/dev/cuad0</filename>, is gekoppeld, voeg dan de + volgende regel toe:</para> + + <programlisting>cuad0:dv=/dev/cuad0:br#19200:pa=none</programlisting> + + <para>Gebruik voor de mogelijkheid <literal>br</literal> de + hoogst ondersteunde snelheid van het modem in bps. Typ hierna + <command>tip cuad0</command> om een verbinding met het modem te + maken.</para> + + <para>Als alternatief kan <command>cu</command> als + <username>root</username> met het volgende commando gebruikt + worden:</para> + + <screen>&prompt.root; <userinput>cu + -l<replaceable>lijn</replaceable> + -s<replaceable>snelheid</replaceable></userinput></screen> + + <para>De waarde <replaceable>lijn</replaceable> is de + seriële poort (bijvoorbeeld + <filename>/dev/cuad0</filename>) en + <replaceable>snelheid</replaceable> is de snelheid + (bijvoorbeeld <literal>57600</literal>). Als alle + AT-commando's zijn ingevoerd, voer dan <keycap>~.</keycap> in + om het programma te verlaten.</para> </sect2> <sect2> - <title>* Hoe kan ik een telefoonnummer kiezen op de command - line?</title> - - <para></para> + <title>Het teken <literal>@</literal> voor de optie pn werkt + niet!</title> + + <para>Het teken <literal>@</literal> in de + telefoonnummermogelijkheid vertelt <command>tip</command> om in + <filename>/etc/phones</filename> naar een telefoonnummer te + kijken. Maar het teken <literal>@</literal> is ook een speciaal + teken in specificatiebestanden als + <filename>/etc/remote</filename>. Gebruik een backslash om + hieraan te ontsnappen:</para> + + <programlisting>pn=\@</programlisting> </sect2> <sect2> - <title>* Moet ik elke keer de bps snelheid aangeven als ik dat - doe?</title> + <title>Hoe een telefoonnummer op de opdrachtregel + draaien?</title> - <para></para> - </sect2> + <para>Voeg een zogenaamde <quote>generieke</quote> regel aan + het bestand <filename>/etc/remote</filename> toe. + Bijvoorbeeld:</para> - <sect2> - <title>* Ik benader een aantal machines door een terminal - server</title> + <programlisting>tip115200|Bel elk telefoonnummer met 115200 bps:\ + :dv=/dev/cuad0:br#115200:at=hayes:pa=none:du: +tip57600|Bel elk telefoonnummer met 57600 bps:\ + :dv=/dev/cuad0:br#57600:at=hayes:pa=none:du:</programlisting> + + <para>Hierna zijn onder andere de volgende mogelijkheden + beschikbaar:</para> + + <screen>&prompt.root; <userinput>tip -115200 5551234</userinput></screen> + + <para>Indien <command>cu</command> boven <command>tip</command> + geprefereerd wordt, dient een generieke regel voor + <literal>cu</literal> gebruikt te worden:</para> + + <programlisting>cu115200|Gebruik cu om elk nummer met 115200bps te bellen:\ + :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:</programlisting> - <para></para> + <para>Voer in:</para> + + <screen>&prompt.root; <userinput>cu 5551234 -s 115200</userinput></screen> </sect2> <sect2> - <title>* Kan tip meerdere lijnen gebruiken voor een host?</title> + <title>Dient de bps-snelheid telkens ingevoerd te worden?</title> + + <para>Voeg een regel toe voor <literal>tip1200</literal> of + <literal>cu1200</literal>, maar gebruik een bps-snelheid die + geschikt is voor de br-mogelijkheid. <command>tip</command> + meent dat 1200 bps een goede standaardwaarde is, hierdoor + zoekt het naar een regel <literal>tip1200</literal>. Uiteraard + hoeft 1200 bps niet gebruikt te worden.</para> + </sect2> - <para></para> + <sect2> + <title>Een aantal hosts met een terminalserver benaderen</title> + + <para>Om niet iedere keer te hoeven wachten totdat er verbinding + is en <command>CONNECT <host></command> in te typen, kan + de mogelijkheid <literal>cm</literal> van + <command>tip</command> gebruikt worden. Als voorbeeld bieden + de onderstaande regels in <filename>/etc/remote</filename> de + mogelijkheid om <command>tip pain</command> of <command>tip + muffin</command> in te typen om met de hosts pain of muffin + te verbinden, en <command>tip deep13</command> om naar de + terminalserver te gaan:</para> + + <programlisting>pain|pain.deep13.com|Forresters machine:\ + :cm=CONNECT pain\n:tc=deep13: +muffin|muffin.deep13.com|Franks machine:\ + :cm=CONNECT muffin\n:tc=deep13: +deep13:Gizmonics Institute terminalserver:\ + :dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting> </sect2> <sect2> - <title>* Waarom moet ik - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>P</keycap> - </keycombo> - twee keer typen om één keer - <keycombo action="simul"> - <keycap>Ctrl</keycap> - <keycap>P</keycap> - </keycombo> - te krijgen?</title> - - <para></para> + <title>Kan tip meer dan één lijn voor elke site + proberen?</title> + + <para>Dit is een vaak een probleem als een universiteit een + handvol modemlijnen en enkele duizenden studenten heeft die ze + proberen te gebruiken.</para> + + <para>Voeg een regel voor de universiteit toe in + <filename>/etc/remote</filename> en gebruik + <literal>@</literal> voor de mogelijkheid + <literal>pn</literal>:</para> + + <programlisting>grote-universiteit:\ + :pn=\@:tc=dialout +dialout:\ + :dv=/dev/cuad3:br#9600:at=courier:du:pa=none:</programlisting> + + <para>Voeg hierna de telefoonnummers voor de universiteit toe aan + <filename>/etc/phones</filename>:</para> + + <programlisting>grote-universiteit 5551111 +grote-universiteit 5551112 +grote-universiteit 5551113 +grote-universiteit 5551114 +</programlisting> + + <para>Het commando <command>tip</command> probeert elk nummer in + de volgorde van de lijst alvorens op te geven. Om de pogingen + te herhalen, kan <command>tip</command> in een while-lus + gedraaid worden.</para> </sect2> <sect2> - <title>* Ineens is alles in hoofdletters?</title> + <title>Waarom moet <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> + tweemaal worden ingedrukt om <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> + éénmaal te versturen?</title> + + <para><keycombo + action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> + is het standaard <quote>forceer</quote>-karakter, dat gebruikt + wordt om <command>tip</command> te vertellen dat het volgende + karakter letterlijk genomen dient te worden. Het + forceerkarakter kan met de ontsnapping <command>~s</command>, + wat <quote>stel een variabele in</quote> betekent, op elk ander + karakter ingesteld worden.</para> + + <para>Typ + <command>~sforce=<replaceable>enkel-karakter</replaceable></command> + in gevolgd door een nieuwe regel. + <replaceable>enkel-karakter</replaceable> is elk enkel + karakter. Indien <replaceable>enkel-karakter</replaceable> + weggelaten wordt, is het forceerkarakter het nulkarakter, wat + door middel van <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>2</keycap></keycombo> + of <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>spatie</keycap></keycombo> + verkregen kan worden. Een redelijke standaardwaarde + voor <replaceable>enkel-karakter</replaceable> is <keycombo + action="simul"><keycap>Shift</keycap><keycap>Ctrl</keycap><keycap>6</keycap></keycombo>, + die slechts op enkele terminalservers gebruikt + wordt.</para> + + <para>Het forceerkarakter kan op elk gewenst karakter ingesteld + worden door het volgende op te nemen in het bestand + <filename>$HOME/.tiprc</filename>:</para> + + <programlisting>force=<enkel-karakter></programlisting> + </sect2> - <para></para> + <sect2> + <title>Alle ingevoerde tekst staat opeens in + hoofdletters?</title> + + <para>Waarschijnlijk is <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>A</keycap></keycombo> + ingedrukt, het <quote>raisechar</quote> van + <command>tip</command>, dat speciaal voor mensen met een + kapotte caps-lock toets is ontworpen. Gebruik + <command>~s</command> zoals boven is aangegeven en stel de + variabele <literal>raisechar</literal> op iets redelijks in. + Het kan zelfs op hetzelfde als het forceerkarakter worden + ingesteld, indien het onwaarschijnlijk is dat een van deze + mogelijkheden ooit gebruikt wordt.</para> + + <para>Hier volgt een voorbeeld voor het bestand + <filename>.tiprc</filename> dat perfect is voor gebruikers van + <application>Emacs</application> die <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>2</keycap></keycombo> + en <keycombo + action="simul"><keycap>Ctrl</keycap><keycap>A</keycap></keycombo> + vaak moeten gebruiken:</para> + + <programlisting>force=^^ +raisechar=^^</programlisting> + + <para>De ^^ is <keycombo + action="simul"><keycap>Shift</keycap><keycap>Ctrl</keycap><keycap>6</keycap></keycombo>.</para> </sect2> <sect2> - <title>* Hoe kan ik bestanden versturen met - <command>tip</command>?</title> + <title>Hoe met <command>tip</command> bestanden + versturen?</title> - <para></para> + <para>In de communicatie met een ander &unix;-systeem kunnen + bestanden verzonden en ontvangen worden met de commando's + <command>~p</command> (put) en <command>~t</command> (take). + Deze commando's draaien <command>cat</command> en + <command>echo</command> op een systeem op afstand om bestanden + aan te nemen en te verzenden. De syntaxis is:</para> + + <cmdsynopsis> + <command>~p</command> + + <arg choice="plain">lokaal-bestand</arg> + + <arg choice="opt">bestand-op-afstand</arg> + </cmdsynopsis> + + <cmdsynopsis> + <command>~t</command> + + <arg choice="plain">bestand-op-afstand</arg> + + <arg choice="opt">lokaal-bestand</arg> + </cmdsynopsis> + + <para>Er wordt niet op fouten gecontroleerd, het is dus + verstandig om een ander protocol te gebruiken, zoals + zmodem.</para> </sect2> <sect2> - <title>* Hoe kan ik zmodem draaien met - <command>tip</command>?</title> + <title>Hoe kan zmodem samen met <command>tip</command> + draaien?</title> + + <para>Start om bestanden te ontvangen het verstuurprogramma aan + de andere kant. Typ daarna <command>~C rz</command> om ze + lokaal te ontvangen.</para> - <para></para> + <para>Start om bestanden te versturen het ontvangprogramma aan de + andere kant. Typ daarna <command>~C sz + <replaceable>bestanden</replaceable></command> om ze naar het + systeem aan de andere kant te versturen.</para> </sect2> </sect1> @@ -386,95 +2443,883 @@ </author> </authorgroup> </sect1info> - <title>* De seriële console opzetten</title> + + <title>Seriële console opzetten</title> + + <indexterm><primary>seriële console</primary></indexterm> <sect2 id="serialconsole-intro"> - <title>* Introductie</title> + <title>Inleiding</title> + + <para>&os; biedt de mogelijkheid om op een systeem op te starten + met slechts een domme terminal en een seriële poort als + console. Dit soort opstellingen is handig voor twee soorten + mensen: voor systeembeheerders die &os; willen installeren op + machines die geen toetsenbord of beeldscherm hebben en voor + ontwikkelaars die de kernel of apparaatstuurprogramma's willen + debuggen.</para> + + <para>Zoals beschreven in <xref linkend="boot">, gebruikt &os; + drie fasen voor het opstarten. De eerste twee fasen bevinden + zich in de code van het opstartblok dat zich aan het begin van + de opstartslice van &os; op de opstartschijf bevindt. Het + opstartblok laadt vervolgens de opstartlader + (<filename>/boot/loader</filename>) en draait als de code van + de derde fase.</para> + + <para>Om de seriële console gereed te maken moeten de code + in het opstartblok, de code van de opstartlader en de kernel + worden ingesteld.</para> + </sect2> - <para></para> + <sect2 id="serialconsole-howto-fast"> + <title>De seriële console instellen, korte versie</title> + + <para>Deze sectie neemt aan dat de standaard opstelling wordt + gebruikt en dat een kort overzicht voor het opzetten van de + seriële console gewenst is.</para> + + <procedure> + <step> + <para>Verbind de seriële kabel met COM1 en de leidende + terminal;</para> + </step> + + <step> + <para>Om alle opstartmeldingen op de seriële console te + zien, dient het volgende commando als supergebruiker + uitgevoerd te worden:</para> + + <screen>&prompt.root; echo 'console="comconsole"' >> /boot/loader.conf</screen> + </step> + + <step> + <para>Bewerk <filename>/etc/ttys</filename> en wijzig + <literal>off</literal> in <literal>on</literal> en + <literal>dialup</literal> in <literal>vt100</literal> voor + de regel <literal>ttyd0</literal>. Indien dit niet gebeurt + is er geen wachtwoord nodig om met de seriële console + te verbinden, wat tot een mogelijk beveiligingslek + leidt;</para> + </step> + + <step> + <para>Start het systeem opnieuw op om te zien of de + veranderingen effect hebben.</para> + </step> + </procedure> + + <para>Indien een andere instelling nodig is, is er een + diepgaandere uitleg over instellingen beschikbaar in + <xref linkend="serialconsole-howto">.</para> </sect2> <sect2 id="serialconsole-howto"> - <title>* Seriële console configuratie</title> - - <para></para> + <title>De seriële console instellen</title> + + <procedure> + <step> + <para>Bereid een seriële kabel voor.</para> + + <indexterm><primary>nulmodem-kabel</primary></indexterm> + + <para>Benodigd zijn een nulmodem-kabel òf een + standaard seriële kabel samen met een + nulmodem-adapter. Zie <xref + linkend="serial-cables-ports"> voor een beschrijving + van seriële kabels.</para> + </step> + + <step> + <para>Ontkoppel het toetsenbord.</para> + + <para>De meeste PC-systemen zoeken naar het toetsenbord + tijdens de Power-On Self-Test (POST) en geven een + foutmelding als het toetsenbord niet is gevonden. Sommige + systemen klagen luid over het ontbreken van een toetsenbord + en gaan niet verder met opstarten totdat het is + aangesloten.</para> + + <para>Indien de computer klaagt over de fout, maar desondanks + opstart, is het niet nodig iets speciaals te doen. Sommige + machines waarop Phoenix BIOS is geïnstalleerd melden + enkel <errorname>Toetsenbord faalde</errorname> en gaan + normaal door met opstarten.</para> + + <para>Indien de machine weigert zonder toetsenbord op te + starten dient het BIOS ingesteld te worden zodat het deze + fout negeert (als het dit kan). Raadpleeg het handboek van + het moederbord voor verdere aanwijzingen.</para> + + <tip> + <para>Stel het toetsenbord in op <quote>Niet + geïnstalleerd</quote> in de BIOS-instellingen. + Het is dan nog steeds mogelijk om het toetsenbord te + gebruiken. Dit zorgt er alleen voor dat het BIOS niet + naar een toetsenbord zoekt tijdens het aanzetten. Het + BIOS dient niet te klagen als het toetsenbord ontbreekt. + Het is mogelijk om het toetsenbord aangesloten te laten, + zelfs als deze vlag is ingesteld op <quote>Niet + geïnstalleerd</quote> en het toetsenbord werkt nog + steeds.</para> + </tip> + + <note> + <para>Als een systeem een &ps2;-muis heeft, is het goed + mogelijk dat naast het toetsenbord ook de muis + losgekoppeld moet worden. Dit komt doordat &ps2;-muizen + wat hardware met het toetsenbord delen. Als de muis + aangesloten blijft, kan het zoeken naar het toetsenbord + als resultaat hebben dat het toetsenbord er nog steeds + is. Een Gateway 2000 Pentium 90 MHz systeem met een + AMI BIOS schijnt zich op deze manier te gedragen. Over + het algemeen is dit geen probleem aangezien een muis + zonder toetsenbord sowieso weinig nut heeft.</para> + </note> + </step> + + <step> + <para>Sluit een domme terminal aan op + <devicename>COM1</devicename> + (<devicename>sio0</devicename>).</para> + + <para>Indien er geen domme terminal aanwezig is, kan een oude + PC met een modemprogramma of de seriële poort van een + andere &unix; machine gebruikt worden. Indien er geen + <devicename>COM1</devicename> + (<devicename>sio0</devicename>) aanwezig is dient deze + geregeld te worden. Op dit moment is er geen manier om een + andere poort dan <devicename>COM1</devicename> voor de + opstartblokken te selecteren, afgezien van deze opnieuw te + compileren. Indien <devicename>COM1</devicename> al voor + een ander apparaat gebruikt wordt, verwijder dat apparaat + dan tijdelijk en installeer een nieuw opstartblok en een + nieuwe kernel zodra &os; werkt. Er wordt aangenomen dat + <devicename>COM1</devicename> sowieso beschikbaar is op een + bestands-/reken-/terminalserver. Als + <devicename>COM1</devicename> ècht voor iets anders + nodig is (en het niet mogelijk is om dat op + <devicename>COM2</devicename> + (<devicename>sio1</devicename>) over te zetten), is het + sowieso al onverstandig om hiermee bezig te zijn.)</para> + </step> + + <step> + <para>Controleer of het instellingenbestand van de kernel de + juiste vlaggen ingesteld heeft voor + <devicename>COM1</devicename> + (<devicename>sio0</devicename>).</para> + + <para>Relevante vlaggen zijn:</para> + + <variablelist> + <varlistentry> + <term><literal>0x10</literal></term> + + <listitem> + <para>Zet console-ondersteuning voor deze eenheid aan. + De andere consolevlaggen worden genegeerd tenzij deze + is aangezet. Momenteel kan ten hoogste + één eenheid console-ondersteuning + hebben. De eerste (in de volgorde van het + instellingenbestand) waarvan deze vlag is aangezet + heeft de voorkeur. Deze optie zelf maakt de + seriële poort geen console. Stel de volgende + vlag in of gebruik de onderstaande optie + <option>-h</option> samen met deze vlag.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>0x20</literal></term> + + <listitem> + <para>Dwingt deze eenheid om de console te zijn (tenzij + er een andere console met hogere prioriteit is), + ongeacht de onderstaande optie <option>-h</option>. + De vlag <literal>0x20</literal> dient samen met de + vlag <option>0x10</option> gebruikt te worden.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>0x40</literal></term> + + <listitem> + <para>Reserveert deze eenheid (in samenwerking met + <literal>0x10</literal>) en maakt de eenheid + ontoegankelijk voor normale toegang. Deze vlag dient + niet aangezet te worden op de seriële poort van + de eenheid die als seriële console gebruikt gaat + worden. De enige functie van deze vlag is de eenheid + voor het debuggen van de kernel op afstand aan te + merken. Zie het <ulink + url="&url.books.developers-handbook;/index.html">Ontwikkelaarshandboek</ulink> + voor meer informatie over debuggen op afstand.</para> + + <note> + <para>In &os; 4.0 en nieuwer is de semantiek van de + vlag <literal>0x40</literal> enigszins anders en is + er een andere vlag om een seriële poort voor + debuggen op afstand te specificeren.</para> + </note> + </listitem> + </varlistentry> + </variablelist> + + <para>Voorbeeld:</para> + + <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting> + + <para>Zie de hulppagina &man.sio.4; voor meer details.</para> + + <para>Indien de vlaggen niet waren ingesteld, dient + UserConfig gedraaid te worden (op een andere console) of de + kernel opnieuw gecompileerd te worden.</para> + </step> + + <step> + <para>Maak <filename>boot.config</filename> aan in de + hoofdmap van de partitie <literal>a</literal> van de + opstartschijf.</para> + + <para>Dit bestand instrueert de code op het opstartblok hoe + het systeem opgestart dient te worden. Om de seriële + console te activeren, zijn één of meer van de + volgende opties nodig. Indien meerdere opties gewenst + zijn, dienen ze allemaal op dezelfde regel te staan:</para> + + <variablelist> + <varlistentry> + <term><option>-h</option></term> + + <listitem> + <para>Wisselt tussen de interne en de seriële + console. Indien bijvoorbeeld vanaf de interne + (video)console opgestart wordt, kan + <option>-h</option> gebruikt worden om het + console-apparaat van de opstartlader en de kernel om + te leiden naar de seriële console. Indien vanaf + de seriële poort opgestart wordt, kan + <option>-h</option> gebruikt worden om de + opstartlader en de kernel het videoscherm als console + te laten gebruiken.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-D</option></term> + + <listitem> + <para>Wisselt tussen opstellingen met een enkele en een + dubbele console. In opstellingen met een enkele + console is de console òfwel de interne console + (videoscherm) òfwel de seriële poort, + afhankelijk van bovenstaande optie + <option>-h</option>. In opstellingen met een dubbele + console worden zowel het videoscherm als de + seriële poort tegelijkertijd console, ongeacht + de toestand van de optie <option>-h</option>. De + opstelling met een dubbele console heeft alleen + effect als het opstartblok draait. Zodra de + opstartlader het overneemt, wordt de console die met + de optie <option>-h</option> gespecificeerd is de + enige console.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-P</option></term> + + <listitem> + <para>Zorgt ervoor dat het opstartblok naar het + toetsenbord zoekt. Als er geen toetsenbord wordt + gevonden, worden de opties <option>-D</option> en + <option>-h</option> automatisch ingesteld.</para> + + <note> + <para>Vanwege ruimtebeperkingen in de huidige versie + van het opstartblok, is de optie + <option>-P</option> alleen in staat om uitgebreide + toetsenborden te detecteren. Toetsenborden met + minder dan 101 toetsen (en zonder de toetsen F11 en + F12) worden mogelijk niet gedetecteerd. + Toetsenborden op sommige laptops worden vanwege + deze beperking mogelijk niet correct gevonden. + Indien dit het geval is met een systeem, vermijd + dan de optie <option>-P</option>. Helaas is er + geen mogelijkheid om dit probleem te + omzeilen.</para> + </note> + </listitem> + </varlistentry> + </variablelist> + + <para>Gebruik om de console automatisch te selecteren + òfwel de optie <option>-P</option> òfwel de + optie <option>-h</option> om de seriële console te + activeren.</para> + + <para>De andere opties beschreven in &man.boot.8; kunnen ook + gebruikt worden.</para> + + <para>De opties, behalve <option>-P</option>, worden aan de + opstartlader (<filename>/boot/loader</filename> + doorgegeven. De opstartlader bepaalt of de interne + videopoort of de seriële poort de console wordt door + enkel naar de toestand van de optie <option>-h</option> te + kijken. Dit betekent dat als de optie <option>-D</option>, + maar niet de optie <option>-h</option> in + <filename>/boot.config</filename> gespecificeerd wordt, de + seriële poort alleen tijdens het opstartblok als + console gebruikt kan worden, de opstartlader gebruikt het + interne videoscherm als console.</para> + </step> + + <step> + <para>Start de machine op.</para> + + <para>Als &os; gestart wordt, tonen de opstartblokken de + inhoud van <filename>/boot.config</filename> op de + console. Bijvoorbeeld:</para> + + <screen>/boot.config: -P +Keyboard: no</screen> + + <para>De tweede regel verschijnt alleen als + <option>-P</option> in <filename>/boot.config</filename> + staat en aangegeven wordt of het toetsenbord aanwezig of + afwezig is. Deze berichten gaan of naar de seriële of + interne console of naar beide, afhankelijk van de optie in + <filename>/boot.config</filename>.</para> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="2"> + <thead> + <row> + <entry>Opties</entry> + + <entry>Bericht gaat naar</entry> + </row> + </thead> + + <tbody> + <row> + <entry>geen</entry> + + <entry>interne console</entry> + </row> + + <row> + <entry><option>-h</option></entry> + + <entry>seriële console</entry> + </row> + + <row> + <entry><option>-D</option></entry> + + <entry>seriële en interne consoles</entry> + </row> + + <row> + <entry><option>-Dh</option></entry> + + <entry>seriële en interne consoles</entry> + </row> + + <row> + <entry><option>-P</option>, toetsenbord aanwezig</entry> + + <entry>interne console</entry> + </row> + + <row> + <entry><option>-P</option>, toetsenbord afwezig</entry> + + <entry>seriële console</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>Na de bovenstaande berichten is er een korte pauze + voordat de opstartblokken doorgaan met het laden van de + opstartlader en voordat er verdere berichten op de console + worden afgebeeld. Normaalgesproken hoeven de + opstartblokken niet onderbroken te worden, maar het kan + gedaan worden om er zeker van te zijn dat alles goed is + ingesteld.</para> + + <para>Om het opstartproces te onderbreken, kan op elke andere + toets dan <keycode>Enter</keycode> gedrukt worden. De + opstartblokken vragen dan om verdere actie. Er verschijnt + iets als het volgende:</para> + + <screen>>> FreeBSD/i386 BOOT +Default: 0:ad(0,a)/boot/loader +boot:</screen> + + <para>Controleer of de bovenstaande boodschap naar de + seriële of interne console of beide gaat, naar gelang + de opties in <filename>/boot.config</filename>. Indien de + boodschap op de juiste console verschijnt kan op + <keycode>Enter</keycode> gedrukt worden om het + opstartproces voort te zetten.</para> + + <para>Als de seriële console gewenst is maar de prompt + niet op de seriële terminal verschijnt, is er iets mis + met de instellingen. Voer in de tussentijd + <option>-h</option> in en druk op Enter/Return (indien + mogelijk) om aan het opstartblok (en vervolgens de + opstartlader en de kernel) te vertellen dat de seriële + poort console moet worden. Controleer als het systeem + draait wat er verkeerd ging.</para> + </step> + </procedure> + + <para>Nadat de opstartlader is geladen en het derde stadium van + het opstartproces bereikt is, kan er nog steeds gewisseld + worden tussen de interne console en de seriële console + door de juiste omgevingsvariabelen in de opstartlader in te + stellen. Zie <xref linkend="serialconsole-loader">.</para> </sect2> - <sect2 id="serialconsole-summary"> - <title>* Samenvatting</title> + <sect2 id="serialconsole-summary"> + <title>Samenvatting</title> + + <para>Hieronder volgt een samenvatting van de verschillende + instellingen die in deze sectie en de uiteindelijk gekozen + console beschreven zijn.</para> <sect3> - <title>* Mogelijkheid 1: Je hebt de vlag 0x10 gezet voor - <devicename>sio0</devicename></title> + <title>Geval 1: vlaggen ingesteld op 0x10 voor + <devicename>sio</devicename></title> + + <programlisting>device sio0 at isa? port IO_COM1 flags 0x10 irq 4</programlisting> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry align="left">Opties in /boot.config</entry> + + <entry align="left">Console tijdens de opstartblokken</entry> + + <entry align="left">Console tijdens de opstartlader</entry> + + <entry align="left">Console in kernel</entry> + </row> + </thead> + + <tbody> + <row> + <entry>niets</entry> + + <entry>intern</entry> + + <entry>intern</entry> + + <entry>intern</entry> + </row> + + <row> + <entry><option>-h</option></entry> + + <entry>serieel</entry> + + <entry>serieel</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-D</option></entry> + + <entry>serieel en intern</entry> + + <entry>intern</entry> + + <entry>intern</entry> + </row> + + <row> + <entry><option>-Dh</option></entry> - <para></para> + <entry>serieel en intern</entry> + + <entry>serieel</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-P</option>, toetsenbord aanwezig</entry> + + <entry>intern</entry> + + <entry>intern</entry> + + <entry>intern</entry> + </row> + + <row> + <entry><option>-P</option>, toetsenbord afwezig</entry> + + <entry>serieel en intern</entry> + + <entry>serieel</entry> + + <entry>serieel</entry> + </row> + </tbody> + </tgroup> + </informaltable> </sect3> <sect3> - <title>* Mogelijkheid 2: Je hebt de vlag 0x30 gezet voor - <devicename>sio0</devicename></title> + <title>Geval 2: vlaggen ingesteld op 0x30 voor + <devicename>sio</devicename></title> + + <programlisting>device sio0 at isa? port IO_COM1 flags 0x30 irq 4</programlisting> + + <informaltable frame="none" pgwide="1"> + <tgroup cols="4"> + <thead> + <row> + <entry>Opties in /boot.config</entry> + + <entry>Console tijdens de opstartblokken</entry> + + <entry>Console tijdens de opstartlader</entry> + + <entry>Console in kernel</entry> + </row> + </thead> + + <tbody> + <row> + <entry>niets</entry> + + <entry>intern</entry> + + <entry>intern</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-h</option></entry> + + <entry>serieel</entry> - <para></para> + <entry>serieel</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-D</option></entry> + + <entry>serieel en intern</entry> + + <entry>intern</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-Dh</option></entry> + + <entry>serieel en intern</entry> + + <entry>serieel</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-P</option>, toetsenbord aanwezig</entry> + + <entry>intern</entry> + + <entry>intern</entry> + + <entry>serieel</entry> + </row> + + <row> + <entry><option>-P</option>, toetsenbord afwezig</entry> + + <entry>serieel en intern</entry> + + <entry>serieel</entry> + + <entry>serieel</entry> + </row> + </tbody> + </tgroup> + </informaltable> </sect3> </sect2> <sect2 id="serialconsole-tips"> - <title>* Tips voor de seriële console</title> + <title>Tips voor de seriële console</title> <sect3> - <title>* Een snellere seriële poort instellen</title> + <title>Een hogere snelheid voor de seriële poort + instellen</title> - <para></para> - </sect3> + <para>!!!Standaard zijn de instellingen van de seriële poort: + 9600 baud, 8 bits, geen pariteit, en 1 stopbit. Indien het + wenselijk is om de snelheid te veranderen, dienen in ieder + geval de opstartblokken opnieuw gecompileerd te worden. Voeg + de volgende regel toe aan <filename>/etc/make.conf</filename> + en compileer nieuwe opstartblokken:</para> - <sect3 id="serialconsole-com2"> - <title>Een andere seriële poort gebruiken dan - <devicename>sio0</devicename> voor de console</title> + <programlisting>BOOT_COMCONSOLE_SPEED=19200</programlisting> + + <para>Zie <xref linkend="serialconsole-com2"> voor uitgebreide + instructies over het bouwen en installeren van nieuwe + opstartblokken.</para> + + <para>Indien de seriële console op een andere manier dan + door opstarten met <option>-h</option> is ingesteld of indien + de kernel anders is dan die door de opstartblokken is + gebruikt, voeg dan de volgende optie aan het + kernelinstellingenbestand toe en compileer een nieuwe + kernel:</para> - <para></para> + <programlisting>options CONSPEED=19200</programlisting> + + <sect3 id="serialconsole-com2"> + <title>Een andere seriële poort dan + <devicename>sio0</devicename> voor de console + gebruiken</title> + + <para>Het gebruik van een andere poort dan + <devicename>sio</devicename> vergt wat hercompileren. Indien + het gewenst is om een andere seriële poort te gebruiken, + hercompileer dan de opstartblokken, de opstartlader en de + kernel als volgt:</para> + + <procedure> + <step> + <para>De broncode van de kernel moet beschikbaar zijn. + Zie <xref linkend="cutting-edge">;</para> + </step> + + <step> + <para>Bewerk <filename>/etc/make.conf</filename> en stel + <literal>BOOT_COMCONSOLE_PORT</literal> in op het adres + van de te gebruiken poort (0x3F8, 0x2F8, 0x3E8 of 0x2E8). + Alleen <devicename>sio0</devicename> tot en met + <devicename>sio3</devicename> + (<devicename>COM1</devicename> tot en met + <devicename>COM4</devicename>) zijn te gebruiken. + Seriële kaarten met meerdere poorten werken niet. + Interrupts instellen is niet nodig;</para> + </step> + + <step> + <para>Maak een aangepast kernelinstellingenbestand aan en + voeg de juiste vlaggen toe voor de te gebruiken + seriële poort. Als bijvoorbeeld + <devicename>sio1</devicename> + (<devicename>COM2</devicename>) de console moet + worden:</para> + + <programlisting>device sio1 at isa? port IO_COM2 flags 0x10 irq 3</programlisting> + + <para>Alternatief:</para> + + <programlisting>device sio1 at isa? port IO_COM2 flags 0x30 irq 3</programlisting> + + <para>Stel de consolevlaggen voor de andere seriële + poorten niet in;</para> + </step> + + <step> + <para>Hercompileer en installeer de opstartblokken en de + opstartlader:</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>Herbouw en installeer de kernel;</para> + </step> + + <step> + <para>Schrijf de opstartblokken met &man.disklabel.8; naar + de opstartschijf en start met de nieuwe kernel op.</para> + </step> + </procedure> </sect3> <sect3 id="serialconsole-ddb"> - <title>* De DDB debugger benaderen via een seriële - lijn</title> + <title>De debugger DDB gebruiken via de seriële + verbinding</title> + + <para>Als het wenselijk is om vanuit de seriële console in + de kerneldebugger te vallen - nuttig voor diagnose op + afstand, maar ook gevaarlijk indien een onbedoelde BREAK op + de seriële poort wordt gegenereerd! - compileer de + kernel dan met de volgende opties:</para> - <para></para> + <programlisting>options BREAK_TO_DEBUGGER +options DDB</programlisting> </sect3> <sect3> - <title>* Een login prompt krijgen op de seriële - console</title> - - <para></para> + <title>Een aanmeldprompt op de seriële console + krijgen</title> + + <para>Hoewel dit niet nodig is, kan het gewenst zijn om een + <emphasis>aanmeld</emphasis>prompt over de seriële lijn + te krijgen, nu het mogelijk is om opstartboodschappen te zien + en de kerneldebugsessie door de seriële console betreden + kan worden. Hier volgt hoe het te doen.</para> + + <para>Open het bestand <filename>/etc/ttys</filename> met een + tekstverwerker en zoek de volgende regels:</para> + + <programlisting>ttyd0 "/usr/libexec/getty std.9600" unknown off secure +ttyd1 "/usr/libexec/getty std.9600" unknown off secure +ttyd2 "/usr/libexec/getty std.9600" unknown off secure +ttyd3 "/usr/libexec/getty std.9600" unknown off secure</programlisting> + + <para><literal>ttyd0</literal> tot en met + <literal>ttyd3</literal> komen overeen met + <devicename>COM1</devicename> tot en met + <devicename>COM4</devicename>. Wijzig <literal>off</literal> + in <literal>on</literal> voor de gewenste poort. Als de + snelheid van de seriële poort is gewijzigd, wijzig dan + <literal>std.9600</literal> zodat het met de huidige + instelling overeenkomt, bijvoorbeeld + <literal>std.19200</literal>.</para> + + <para>Het kan ook wenselijk zijn om het terminaltype te + wijzigen van <literal>unknown</literal> naar het eigenlijke + type van de seriële terminal.</para> + + <para>Voer <literal>kill -HUP 1</literal> uit na het wijzigen + van het bestand om de wijzigingen actief te maken.</para> </sect3> </sect2> <sect2 id="serialconsole-loader"> - <title>* De console wijzigen in de boot loader</title> + <title>De console vanuit de opstartlader veranderen</title> + + <para>De vorige secties beschreven hoe de seriële console + ingesteld kan worden door het instellen van het opstartblok. + Deze sectie toont dat het mogelijk is om de console te + specificeren door het invoeren van enkele opdrachten en + omgevingsvariabelen in de opstartlader. Aangezien de + opstartlader tijdens het derde stadium van het opstartproces + wordt geactiveerd, na het opstartblok, overheersen de + instellingen in de opstartlader de instellingen in het + opstartblok.</para> <sect3> - <title>* De seriële console instellen</title> + <title>De seriële console instellen</title> + + <para>Het is mogelijk om de opstartlader en de kernel gebruik te + laten maken van de seriële console door slechts + één regel naar + <filename>/boot/loader.rc</filename> te schrijven:</para> + + <programlisting>set console="comconsole"</programlisting> + + <para>Dit heeft effect ongeacht de instellingen in het + opstartblok die in de vorige sectie zijn besproken.</para> + + <para>Het is verstandig om bovenstaande regel de eerste regel + van <filename>/boot/loader.rc</filename> te maken om de + opstartboodschappen zo vroeg mogelijk op de seriële + console te kunnen zien.</para> + + <para>Evenzo kan de interne videoconsole worden gespecificeerd + met:</para> + + <programlisting>set console="vidconsole"</programlisting> + + <para>Indien de omgevingsvariabele <envar>console</envar> van + de opstartlader niet ingesteld wordt, gebruikt de + opstartlader, en vervolgens de kernel, de console die door de + optie <option>-h</option> in het opstartblok wordt + aangegeven.</para> - <para></para> + <para>In versie 3.2 en hoger kan de console in + <filename>/boot/loader.conf.local</filename> of in + <filename>/boot/loader.conf</filename>, in plaats van in + <filename>/boot/loader.rc</filename> gespecificeerd worden. + Bij deze methode zou <filename>/boot/loader.rc</filename> er + uit moeten zien als:</para> + + <programlisting>include /boot/loader.4th +start</programlisting> + + <para>Maak daarna <filename>/boot/loader.conf.local</filename> + aan met de volgende inhoud:</para> + + <programlisting>console=comconsole</programlisting> + + <para>Of:</para> + + <programlisting>console=vidconsole</programlisting> + + <para>Zie &man.loader.conf.5; voor meer informatie.</para> + + <note> + <para>Momenteel heeft de opstartlader een optie die gelijk is + aan de optie <option>-P</option> van het opstartblok en is + er geen voorziening om automatisch de interne console en de + seriële console te selecteren afhankelijk van de + aanwezigheid van een toetsenbord.</para> + </note> </sect3> <sect3> - <title>* Een andere seriële poort gebruiken dan - <devicename>sio0</devicename> voor de console</title> - - <para></para> + <title>Een andere seriële poort dan + <devicename>sio</devicename> voor de console + gebruiken</title> + + <para>Compileer de opstartlader opnieuw om een andere + seriële poort dan <devicename>sio</devicename> voor de + seriële console te gebruiken. Volg de procedure zoals + beschreven in <xref linkend="serialconsole-com2">.</para> </sect3> </sect2> <sect2 id="serialconsole-caveats"> - <title>* Waarschuwingen</title> - - <para></para> + <title>Valkuilen</title> + + <para>De doelstelling van dit stuk is beheerders in staat te + stellen om toegewijde servers te installeren die geen grafische + hardware of aangesloten toetsenborden nodig hebben. Hoewel de + meeste systemen zonder toetsenbord opstarten, zijn er helaas + aardig wat die niet zonder een grafische adapter opstarten. + Machines met een AMI BIOS kunnen ingesteld worden om zonder + grafische adapter op te starten door de instelling + <quote>graphics adapter</quote> in de CMOS-instellingen te + wijzigen in <quote>Not installed</quote>.</para> + + <para>De meeste systemen ondersteunen deze optie echter niet en + weigeren om zonder weergavehardware op te starten. Voor deze + machines is het nodig om een of andere grafische kaart in een + systeem te laten (zelfs al is het een aftandse monochrome + kaart) hoewel het niet nodig is om een beeldscherm aan te + sluiten. Ook kan geprobeerd worden om een AMI BIOS te + installeren.</para> </sect2> </sect1> </chapter> -<!-- +<!-- Local Variables: mode: sgml sgml-declaration: "../chapter.decl" |