Date: Tue, 13 May 2014 15:39:11 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44819 - head/en_US.ISO8859-1/books/faq Message-ID: <201405131539.s4DFdB84045775@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Tue May 13 15:39:11 2014 New Revision: 44819 URL: http://svnweb.freebsd.org/changeset/doc/44819 Log: White space fix only. Translators can ignore. Sponsored by: iXsystems Modified: head/en_US.ISO8859-1/books/faq/book.xml Modified: head/en_US.ISO8859-1/books/faq/book.xml ============================================================================== --- head/en_US.ISO8859-1/books/faq/book.xml Tue May 13 03:34:52 2014 (r44818) +++ head/en_US.ISO8859-1/books/faq/book.xml Tue May 13 15:39:11 2014 (r44819) @@ -6141,8 +6141,8 @@ Key F15 A A Menu Wo <para>This command may be typed at the &man.ppp.8; command prompt or it may be entered in the <filename>/etc/ppp/ppp.conf</filename> configuration file - (the start of the <literal>default</literal> section is the - best place to put it). Make sure that + (the start of the <literal>default</literal> section is + the best place to put it). Make sure that <filename>/etc/syslog.conf</filename> (see &man.syslog.conf.5;) contains the lines below and the file <filename>/var/log/ppp.log</filename> exists:</para> @@ -6500,11 +6500,11 @@ deny pred1 deflate deflate24 protocomp a <programlisting>set openmode active 3</programlisting> - <para>This tells &man.ppp.8; to be passive for 3 seconds, and - then to start sending LCP requests. If the peer starts - sending requests during this period, &man.ppp.8; will - immediately respond rather than waiting for the full 3 - second period.</para> + <para>This tells &man.ppp.8; to be passive for 3 seconds, + and then to start sending LCP requests. If the peer + starts sending requests during this period, &man.ppp.8; + will immediately respond rather than waiting for the full + 3 second period.</para> </answer> </qandaentry> @@ -6516,38 +6516,44 @@ deny pred1 deflate deflate24 protocomp a <answer> <para>There is currently an implementation mis-feature in - &man.ppp.8; where it does not associate LCP, CCP & IPCP - responses with their original requests. As a result, if one - PPP implementation is more than 6 seconds slower than the - other side, the other side will send two additional LCP - configuration requests. This is fatal.</para> - - <para>Consider two implementations, <systemitem>A</systemitem> and - <systemitem>B</systemitem>. <systemitem>A</systemitem> starts sending LCP - requests immediately after connecting and <systemitem>B</systemitem> - takes 7 seconds to start. When <systemitem>B</systemitem> starts, - <systemitem>A</systemitem> has sent 3 LCP REQs. We are assuming the - line has ECHO switched off, otherwise we would see magic - number problems as described in the previous section. - <systemitem>B</systemitem> sends a REQ, then an ACK to the first of - <systemitem>A</systemitem>'s REQs. This results in - <systemitem>A</systemitem> entering the <acronym>OPENED</acronym> - state and sending and ACK (the first) back to - <systemitem>B</systemitem>. In the meantime, <systemitem>B</systemitem> - sends back two more ACKs in response to the two additional - REQs sent by <systemitem>A</systemitem> before <systemitem>B</systemitem> - started up. <systemitem>B</systemitem> then receives the first ACK + &man.ppp.8; where it does not associate LCP, CCP & + IPCP responses with their original requests. As a result, + if one PPP implementation is more than 6 seconds slower + than the other side, the other side will send two + additional LCP configuration requests. This is + fatal.</para> + + <para>Consider two implementations, + <systemitem>A</systemitem> and <systemitem>B</systemitem>. + <systemitem>A</systemitem> starts sending LCP requests + immediately after connecting and + <systemitem>B</systemitem> takes 7 seconds to start. When + <systemitem>B</systemitem> starts, + <systemitem>A</systemitem> has sent 3 LCP REQs. We are + assuming the line has ECHO switched off, otherwise we + would see magic number problems as described in the + previous section. <systemitem>B</systemitem> sends a REQ, + then an ACK to the first of <systemitem>A</systemitem>'s + REQs. This results in <systemitem>A</systemitem> entering + the <acronym>OPENED</acronym> state and sending and ACK + (the first) back to <systemitem>B</systemitem>. In the + meantime, <systemitem>B</systemitem> sends back two more + ACKs in response to the two additional REQs sent by + <systemitem>A</systemitem> before + <systemitem>B</systemitem> started up. + <systemitem>B</systemitem> then receives the first ACK from <systemitem>A</systemitem> and enters the - <acronym>OPENED</acronym> state. <systemitem>A</systemitem> - receives the second ACK from <systemitem>B</systemitem> and goes - back to the <acronym>REQ-SENT</acronym> state, sending - another (forth) REQ as per the RFC. It then receives the - third ACK and enters the <acronym>OPENED</acronym> state. - In the meantime, <systemitem>B</systemitem> receives the forth REQ - from <systemitem>A</systemitem>, resulting in it reverting to the - <acronym>ACK-SENT</acronym> state and sending another - (second) REQ and (forth) ACK as per the RFC. - <systemitem>A</systemitem> gets the REQ, goes into + <acronym>OPENED</acronym> state. + <systemitem>A</systemitem> receives the second ACK from + <systemitem>B</systemitem> and goes back to the + <acronym>REQ-SENT</acronym> state, sending another (forth) + REQ as per the RFC. It then receives the third ACK and + enters the <acronym>OPENED</acronym> state. In the + meantime, <systemitem>B</systemitem> receives the forth + REQ from <systemitem>A</systemitem>, resulting in it + reverting to the <acronym>ACK-SENT</acronym> state and + sending another (second) REQ and (forth) ACK as per the + RFC. <systemitem>A</systemitem> gets the REQ, goes into <acronym>REQ-SENT</acronym> and sends another REQ. It immediately receives the following ACK and enters <acronym>OPENED</acronym>.</para> @@ -6556,15 +6562,16 @@ deny pred1 deflate deflate24 protocomp a getting nowhere and gives up.</para> <para>The best way to avoid this is to configure one side to - be <literal>passive</literal> — that is, make one side - wait for the other to start negotiating. This can be done - with the following command:</para> + be <literal>passive</literal> — that is, make one + side wait for the other to start negotiating. This can be + done with the following command:</para> <programlisting>set openmode passive</programlisting> - <para>Care should be taken with this option. You should also - use this command to limit the amount of time that - &man.ppp.8; waits for the peer to begin negotiations:</para> + <para>Care should be taken with this option. You should + also use this command to limit the amount of time that + &man.ppp.8; waits for the peer to begin + negotiations:</para> <programlisting>set stopped <replaceable>N</replaceable></programlisting> @@ -6596,8 +6603,8 @@ deny pred1 deflate deflate24 protocomp a waiting for the command to complete.</para> <para>To execute commands like this, use - <command>!bg</command> instead. This will execute - the given command in the background, and &man.ppp.8; can + <command>!bg</command> instead. This will execute the + given command in the background, and &man.ppp.8; can continue to service the link.</para> </answer> </qandaentry> @@ -6639,14 +6646,15 @@ deny pred1 deflate deflate24 protocomp a <para>This will log all traffic through the connection. The next time the line comes up unexpectedly, you will see the - reason logged with a convenient timestamp next to it.</para> + reason logged with a convenient timestamp next to + it.</para> <para>You can now disable dialing under these circumstances. - Usually, this sort of problem arises due to DNS lookups. To - prevent DNS lookups from establishing a connection (this - will <emphasis>not</emphasis> prevent &man.ppp.8; from - passing the packets through an established connection), use - the following:</para> + Usually, this sort of problem arises due to DNS lookups. + To prevent DNS lookups from establishing a connection + (this will <emphasis>not</emphasis> prevent &man.ppp.8; + from passing the packets through an established + connection), use the following:</para> <programlisting>set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 @@ -6658,21 +6666,23 @@ set dfilter 3 permit 0/0 0/0</programlis related things.</para> <para>In the DNS case, you should try to determine what is - actually trying to resolve a host name. A lot of the time, - &man.sendmail.8; is the culprit. You should make sure that - you tell <application>sendmail</application> not to do any - DNS lookups in its configuration file. See the section on - <link xlink:href="&url.books.handbook;/smtp-dialup.html">using email with a dialup connection</link> - in the &os; Handbook for details on how to create your own - configuration file and what should go into it. You may also - want to add the following line to + actually trying to resolve a host name. A lot of the + time, &man.sendmail.8; is the culprit. You should make + sure that you tell <application>sendmail</application> not + to do any DNS lookups in its configuration file. See the + section on <link + xlink:href="&url.books.handbook;/smtp-dialup.html">using + email with a dialup connection</link> in the &os; + Handbook for details on how to create your own + configuration file and what should go into it. You may + also want to add the following line to <filename>.mc</filename>:</para> <programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting> - <para>This will make <application>sendmail</application> queue - everything until the queue is run (usually, sendmail is - run with <option>-bd -q30m</option>, telling it to run + <para>This will make <application>sendmail</application> + queue everything until the queue is run (usually, sendmail + is run with <option>-bd -q30m</option>, telling it to run the queue every 30 minutes) or until a <command>sendmail -q</command> is done (perhaps from your <filename>ppp.linkup</filename>).</para> @@ -6703,7 +6713,8 @@ CCP: Received Terminate Ack (1) state = <qandaentry> <question xml:id="ppp-connectionspeed"> - <para>Why does &man.ppp.8; not log my connection speed?</para> + <para>Why does &man.ppp.8; not log my connection + speed?</para> </question> <answer> @@ -6716,13 +6727,13 @@ CCP: Received Terminate Ack (1) state = <para>This will make &man.ppp.8; log everything up until the last requested <quote>expect</quote> string.</para> - <para>If you wish to see your connect speed and are using PAP - or CHAP (and therefore do not have anything to + <para>If you wish to see your connect speed and are using + PAP or CHAP (and therefore do not have anything to <quote>chat</quote> after the CONNECT in the dial script — no <literal>set login</literal> script), you must make sure that you instruct &man.ppp.8; to - <quote>expect</quote> the whole CONNECT line, something like - this:</para> + <quote>expect</quote> the whole CONNECT line, something + like this:</para> <programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \ \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting> @@ -6742,18 +6753,18 @@ CCP: Received Terminate Ack (1) state = <answer> <para>The <application>ppp</application> utility parses each line in your config files so that it can interpret strings - such as <literal>set phone "123 456 789"</literal> correctly - and realize that the number is actually only + such as <literal>set phone "123 456 789"</literal> + correctly and realize that the number is actually only <emphasis>one</emphasis> argument. To specify a <literal>"</literal> character, you must escape it using a backslash (<literal>\</literal>).</para> <para>When the chat interpreter parses each argument, it - re-interprets the argument to find any special - escape sequences such as <literal>\P</literal> or - <literal>\T</literal> (see the manual page). As a result of - this double-parsing, you must remember to use the correct - number of escapes.</para> + re-interprets the argument to find any special escape + sequences such as <literal>\P</literal> or + <literal>\T</literal> (see the manual page). As a result + of this double-parsing, you must remember to use the + correct number of escapes.</para> <para>If you wish to actually send a <literal>\</literal> character to (say) your modem, you would need something @@ -6789,17 +6800,18 @@ ATDT1234567</programlisting> </question> <answer> - <para>The <application>ppp</application> utility (or any other - program for that matter) should never dump core. Because - &man.ppp.8; runs setuid (with an effective user ID of - <literal>0</literal>), the operating system will not write - core image of &man.ppp.8; to disk before terminating it. - If, however &man.ppp.8; is actually terminating due to a - segmentation violation or some other signal that normally - causes core to be dumped, <emphasis>and</emphasis> you are - sure you are using the latest version (see the start of this - section), then you should install the system sources and do - the following:</para> + <para>The <application>ppp</application> utility (or any + other program for that matter) should never dump core. + Because &man.ppp.8; runs setuid (with an effective + user ID of <literal>0</literal>), the operating + system will not write core image of &man.ppp.8; to disk + before terminating it. If, however &man.ppp.8; is + actually terminating due to a segmentation violation or + some other signal that normally causes core to be dumped, + <emphasis>and</emphasis> you are sure you are using the + latest version (see the start of this section), then you + should install the system sources and do the + following:</para> <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/ppp</userinput> &prompt.root; <userinput>echo STRIP= >> /etc/make.conf</userinput> @@ -6807,10 +6819,11 @@ ATDT1234567</programlisting> &prompt.root; <userinput>make install clean</userinput></screen> <para>You will now have a debuggable version of &man.ppp.8; - installed. You will have to be <systemitem class="username">root</systemitem> to - run &man.ppp.8; as all of its privileges have been revoked. - When you start &man.ppp.8;, take a careful note of what your - current directory was at the time.</para> + installed. You will have to be <systemitem + class="username">root</systemitem> to run &man.ppp.8; as + all of its privileges have been revoked. When you start + &man.ppp.8;, take a careful note of what your current + directory was at the time.</para> <para>Now, if and when &man.ppp.8; receives the segmentation violation, it will dump a core file called @@ -6829,12 +6842,13 @@ ATDT1234567</programlisting> .....</screen> <para>All of this information should be given alongside your - question, making it possible to diagnose the problem.</para> + question, making it possible to diagnose the + problem.</para> <para>If you are familiar with &man.gdb.1;, you may wish to find out some other bits and pieces such as what actually - caused the dump or the addresses and values of the relevant - variables.</para> + caused the dump or the addresses and values of the + relevant variables.</para> </answer> </qandaentry> @@ -6847,61 +6861,64 @@ ATDT1234567</programlisting> <answer> <para>This was a known problem with &man.ppp.8; set up to negotiate a dynamic local IP number with the peer in - <option>-auto</option> mode. It has been fixed a long time - ago — search the manual page for + <option>-auto</option> mode. It has been fixed a long + time ago — search the manual page for <literal>iface</literal>.</para> <para>The problem was that when that initial program calls - &man.connect.2;, the IP number of the &man.tun.4; interface - is assigned to the socket endpoint. The kernel creates the - first outgoing packet and writes it to the &man.tun.4; - device. &man.ppp.8; then reads the packet and establishes a - connection. If, as a result of &man.ppp.8;'s dynamic IP - assignment, the interface address is changed, the original - socket endpoint will be invalid. Any subsequent packets - sent to the peer will usually be dropped. Even if they are - not, any responses will not route back to the originating - machine as the IP number is no longer owned by that - machine.</para> + &man.connect.2;, the IP number of the &man.tun.4; + interface is assigned to the socket endpoint. The kernel + creates the first outgoing packet and writes it to the + &man.tun.4; device. &man.ppp.8; then reads the packet and + establishes a connection. If, as a result of + &man.ppp.8;'s dynamic IP assignment, the interface address + is changed, the original socket endpoint will be invalid. + Any subsequent packets sent to the peer will usually be + dropped. Even if they are not, any responses will not + route back to the originating machine as the IP number is + no longer owned by that machine.</para> <para>There are several theoretical ways to approach this - problem. It would be nicest if the peer would re-assign the - same IP number if possible. The current version of + problem. It would be nicest if the peer would re-assign + the same IP number if possible. The current version of &man.ppp.8; does this, but most other implementations do not.</para> <para>The easiest method from our side would be to never change the &man.tun.4; interface IP number, but instead to - change all outgoing packets so that the source IP number is - changed from the interface IP to the negotiated IP on the - fly. This is essentially what the - <literal>iface-alias</literal> option in the latest version - of &man.ppp.8; is doing (with the help of &man.libalias.3; - and &man.ppp.8;'s <option>-nat</option> switch) — it - is maintaining all previous interface addresses and NATing - them to the last negotiated address.</para> + change all outgoing packets so that the source IP number + is changed from the interface IP to the negotiated IP on + the fly. This is essentially what the + <literal>iface-alias</literal> option in the latest + version of &man.ppp.8; is doing (with the help of + &man.libalias.3; and &man.ppp.8;'s <option>-nat</option> + switch) — it is maintaining all previous interface + addresses and NATing them to the last negotiated + address.</para> <para>Another alternative (and probably the most reliable) would be to implement a system call that changes all bound - sockets from one IP to another. &man.ppp.8; would use this - call to modify the sockets of all existing programs when a - new IP number is negotiated. The same system call could be - used by <acronym>DHCP</acronym> clients when they are forced - to call the <function>bind()</function> function for their - sockets.</para> + sockets from one IP to another. &man.ppp.8; would use + this call to modify the sockets of all existing programs + when a new IP number is negotiated. The same system call + could be used by <acronym>DHCP</acronym> clients when they + are forced to call the <function>bind()</function> + function for their sockets.</para> <para>Yet another possibility is to allow an interface to be - brought up without an IP number. Outgoing packets would be - given an IP number of <systemitem class="ipaddress">255.255.255.255</systemitem> up until the first - <literal>SIOCAIFADDR</literal> &man.ioctl.2; is done. This - would result in fully binding the socket. It would be up to - &man.ppp.8; to change the source IP number, but only if it - is set to <systemitem class="ipaddress">255.255.255.255</systemitem>, - and only the IP number and IP checksum would need to change. - This, however is a bit of a hack as the kernel would be - sending bad packets to an improperly configured interface, - on the assumption that some other mechanism is capable of - fixing things retrospectively.</para> + brought up without an IP number. Outgoing packets would + be given an IP number of <systemitem + class="ipaddress">255.255.255.255</systemitem> up until + the first <literal>SIOCAIFADDR</literal> &man.ioctl.2; is + done. This would result in fully binding the socket. It + would be up to &man.ppp.8; to change the source IP number, + but only if it is set to <systemitem + class="ipaddress">255.255.255.255</systemitem>, and only + the IP number and IP checksum would need to change. This, + however is a bit of a hack as the kernel would be sending + bad packets to an improperly configured interface, on the + assumption that some other mechanism is capable of fixing + things retrospectively.</para> </answer> </qandaentry> @@ -6913,26 +6930,27 @@ ATDT1234567</programlisting> <answer> <para>The reason games and the like do not work when - &man.libalias.3; is in use is that the machine on the outside - will try to open a connection or send (unsolicited) UDP - packets to the machine on the inside. The NAT software does - not know that it should send these packets to the interior - machine.</para> + &man.libalias.3; is in use is that the machine on the + outside will try to open a connection or send + (unsolicited) UDP packets to the machine on the inside. + The NAT software does not know that it should send these + packets to the interior machine.</para> <para>To make things work, make sure that the only thing running is the software that you are having problems with, - then either run &man.tcpdump.1; on the &man.tun.4; interface - of the gateway or enable &man.ppp.8; TCP/IP logging - (<literal>set log +tcp/ip</literal>) on the gateway.</para> + then either run &man.tcpdump.1; on the &man.tun.4; + interface of the gateway or enable &man.ppp.8; TCP/IP + logging (<literal>set log +tcp/ip</literal>) on the + gateway.</para> <para>When you start the offending software, you should see - packets passing through the gateway machine. When something - comes back from the outside, it will be dropped (that is the - problem). Note the port number of these packets then shut - down the offending software. Do this a few times to see if - the port numbers are consistent. If they are, then the - following line in the relevant section of - <filename>/etc/ppp/ppp.conf</filename> will make the + packets passing through the gateway machine. When + something comes back from the outside, it will be dropped + (that is the problem). Note the port number of these + packets then shut down the offending software. Do this a + few times to see if the port numbers are consistent. If + they are, then the following line in the relevant section + of <filename>/etc/ppp/ppp.conf</filename> will make the software functional:</para> <programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting> @@ -6945,26 +6963,27 @@ ATDT1234567</programlisting> number of the packets.</para> <para>You will not be able to use the software on other - machines without changing the above command, and running the - software on two internal machines at the same time is out of - the question — after all, the outside world is seeing - your entire internal network as being just a single - machine.</para> + machines without changing the above command, and running + the software on two internal machines at the same time is + out of the question — after all, the outside world + is seeing your entire internal network as being just a + single machine.</para> - <para>If the port numbers are not consistent, there are three - more options:</para> + <para>If the port numbers are not consistent, there are + three more options:</para> <orderedlist> <listitem> <para>Submit support in &man.libalias.3;. Examples of <quote>special cases</quote> can be found in <filename>/usr/src/sys/netinet/libalias/alias_*.c</filename> - (<filename>alias_ftp.c</filename> is a good prototype). - This usually involves reading certain recognized - outgoing packets, identifying the instruction that tells - the outside machine to initiate a connection back to the - internal machine on a specific (random) port and setting - up a <quote>route</quote> in the alias table so that the + (<filename>alias_ftp.c</filename> is a good + prototype). This usually involves reading certain + recognized outgoing packets, identifying the + instruction that tells the outside machine to initiate + a connection back to the internal machine on a + specific (random) port and setting up a + <quote>route</quote> in the alias table so that the subsequent packets know where to go.</para> <para>This is the most difficult solution, but it is the @@ -6974,8 +6993,7 @@ ATDT1234567</programlisting> <listitem> <para>Use a proxy. The application may support - <literal>socks5</literal> for example, or - may have a + <literal>socks5</literal> for example, or may have a <quote>passive</quote> option that avoids ever requesting that the peer open connections back to the local machine.</para> @@ -6983,8 +7001,8 @@ ATDT1234567</programlisting> <listitem> <para>Redirect everything to the internal machine using - <literal>nat addr</literal>. This is the sledge-hammer - approach.</para> + <literal>nat addr</literal>. This is the + sledge-hammer approach.</para> </listitem> </orderedlist> </answer> @@ -6996,12 +7014,12 @@ ATDT1234567</programlisting> </question> <answer> - <para>FCS stands for Frame Check Sequence. Each - PPP packet has a checksum attached to ensure that the data - being received is the data being sent. If the FCS of an - incoming packet is incorrect, the packet is dropped and the - HDLC FCS count is increased. The HDLC error values can be - displayed using the <literal>show hdlc</literal> + <para>FCS stands for Frame Check Sequence. Each PPP packet + has a checksum attached to ensure that the data being + received is the data being sent. If the FCS of an + incoming packet is incorrect, the packet is dropped and + the HDLC FCS count is increased. The HDLC error values + can be displayed using the <literal>show hdlc</literal> command.</para> <para>If your link is bad (or if your serial driver is @@ -7013,27 +7031,27 @@ ATDT1234567</programlisting> problem.</para> <para>If your link freezes as soon as you have connected and - you see a large number of FCS errors, this may be because your - link is not 8-bit clean. Make sure your modem is not using - software flow control (XON/XOFF). If your datalink - <emphasis>must</emphasis> use software flow control, use the - command <literal>set accmap 0x000a0000</literal> to tell - &man.ppp.8; to escape the <literal>^Q</literal> and + you see a large number of FCS errors, this may be because + your link is not 8-bit clean. Make sure your modem is not + using software flow control (XON/XOFF). If your datalink + <emphasis>must</emphasis> use software flow control, use + the command <literal>set accmap 0x000a0000</literal> to + tell &man.ppp.8; to escape the <literal>^Q</literal> and <literal>^S</literal> characters.</para> <para>Another reason for seeing too many FCS errors may be that the remote end has stopped talking <acronym>PPP</acronym>. You may want to enable - <literal>async</literal> logging at this point to determine - if the incoming data is actually a login or shell prompt. - If you have a shell prompt at the remote end, it is possible - to terminate &man.ppp.8; without dropping the line by using - <command>close lcp</command> (a following - <command>term</command>) will reconnect you to the - shell on the remote machine.</para> + <literal>async</literal> logging at this point to + determine if the incoming data is actually a login or + shell prompt. If you have a shell prompt at the remote + end, it is possible to terminate &man.ppp.8; without + dropping the line by using <command>close lcp</command> (a + following <command>term</command>) will reconnect you to + the shell on the remote machine.</para> - <para>If nothing in your log file indicates why the link might - have been terminated, you should ask the remote + <para>If nothing in your log file indicates why the link + might have been terminated, you should ask the remote administrator (your ISP?) why the session was terminated.</para> </answer> @@ -7046,13 +7064,12 @@ ATDT1234567</programlisting> </question> <answer> - <para>If all else fails, send as much information as you can, - including your config files, how you are starting + <para>If all else fails, send as much information as you + can, including your config files, how you are starting &man.ppp.8;, the relevant parts of your log file and the - output of <command>netstat -rn</command> (before - and after connecting) to the &a.questions; - and someone should point you in the right - direction.</para> + output of <command>netstat -rn</command> (before and after + connecting) to the &a.questions; and someone should point + you in the right direction.</para> </answer> </qandaentry> </qandaset> @@ -7062,7 +7079,8 @@ ATDT1234567</programlisting> <title>Serial Communications</title> <para>This section answers common questions about serial - communications with &os;. PPP is covered in the <link linkend="networking">Networking</link> section.</para> + communications with &os;. PPP is covered in the <link + linkend="networking">Networking</link> section.</para> <qandaset> <qandaentry> @@ -7072,8 +7090,9 @@ ATDT1234567</programlisting> </question> <answer> - <para>There is a list of these in the <link xlink:href="&url.books.handbook;/serial.html">Serial Communications</link> - chapter of the handbook.</para> + <para>There is a list of these in the <link + xlink:href="&url.books.handbook;/serial.html">Serial + Communications</link> chapter of the handbook.</para> <para>Most multi-port PCI cards that are based on 16550 or clones are supported with no extra effort.</para> @@ -7093,7 +7112,9 @@ ATDT1234567</programlisting> </question> <answer> - <para>See <link xlink:href="&url.books.handbook;/serialconsole-setup.html">this section of the handbook</link>.</para> + <para>See <link + xlink:href="&url.books.handbook;/serialconsole-setup.html">this + section of the handbook</link>.</para> </answer> </qandaentry> @@ -7106,8 +7127,8 @@ ATDT1234567</programlisting> <answer> <para>As the &os; kernel boots, it will probe for the serial ports in your system for which the kernel was configured. - You can either watch your system closely for the messages it - prints or run this command after your system is up and + You can either watch your system closely for the messages + it prints or run this command after your system is up and running:</para> <screen>&prompt.user; <userinput>dmesg | grep -E "^sio[0-9]"</userinput></screen> @@ -7121,20 +7142,23 @@ sio1: <16550A-compatible COM port> sio1: type 16550A</programlisting> <para>This shows two serial ports. The first is on - IRQ 4, is using port address <literal>0x3f8</literal>, - and has a 16550A-type UART chip. The second uses the same - kind of chip but is on IRQ 3 and is at port address - <literal>0x2f8</literal>. Internal modem cards are treated - just like serial ports — except that they always have - a modem <quote>attached</quote> to the port.</para> - - <para>The <filename>GENERIC</filename> kernel includes support - for two serial ports using the same IRQ and port address - settings in the above example. If these settings are not - right for your system, or if you have added modem cards or - have more serial ports than your kernel is configured for, - just reconfigure your kernel. See section <link linkend="make-kernel">about building a kernel</link> for - more details.</para> + IRQ 4, is using port address + <literal>0x3f8</literal>, and has a 16550A-type UART chip. + The second uses the same kind of chip but is on + IRQ 3 and is at port address + <literal>0x2f8</literal>. Internal modem cards are + treated just like serial ports — except that they + always have a modem <quote>attached</quote> to the + port.</para> + + <para>The <filename>GENERIC</filename> kernel includes + support for two serial ports using the same IRQ and port + address settings in the above example. If these settings + are not right for your system, or if you have added modem + cards or have more serial ports than your kernel is + configured for, just reconfigure your kernel. See section + <link linkend="make-kernel">about building a kernel</link> + for more details.</para> </answer> </qandaentry> @@ -7144,34 +7168,30 @@ sio1: type 16550A</programlisting> </question> <answer> - <para>The third serial port, <filename>sio2</filename> - (see &man.sio.4;, known as <filename>COM3</filename> in - DOS), is on <filename>/dev/cuad2</filename> for dial-out + <para>The third serial port, <filename>sio2</filename> (see + &man.sio.4;, known as <filename>COM3</filename> in DOS), + is on <filename>/dev/cuad2</filename> for dial-out devices, and on <filename>/dev/ttyd2</filename> for dial-in devices. What is the difference between these two classes of devices?</para> - <para>You use - <filename>ttydX</filename> - for dial-ins. When opening - <filename>/dev/ttydX</filename> - in blocking mode, a process will wait for the corresponding + <para>You use <filename>ttydX</filename> for dial-ins. When + opening <filename>/dev/ttydX</filename> in blocking mode, + a process will wait for the corresponding <filename>cuadX</filename> device to become inactive, and then wait for the carrier detect line to go active. When you open the - <filename>cuadX</filename> - device, it makes sure the serial port is not already in use - by the - <filename>ttydX</filename> - device. If the port is available, it <quote>steals</quote> - it from the + <filename>cuadX</filename> device, it makes sure the + serial port is not already in use by the <filename>ttydX</filename> - device. Also, the - <filename>cuadX</filename> - device does not care about carrier detect. With this scheme - and an auto-answer modem, you can have remote users log in - and you can still dial out with the same modem and the - system will take care of all the conflicts.</para> + device. If the port is available, it + <quote>steals</quote> it from the + <filename>ttydX</filename> device. Also, the + <filename>cuadX</filename> device does not care about + carrier detect. With this scheme and an auto-answer + modem, you can have remote users log in and you can still + dial out with the same modem and the system will take care + of all the conflicts.</para> </answer> </qandaentry> @@ -7183,13 +7203,14 @@ sio1: type 16550A</programlisting> <answer> <para>Again, the section on kernel configuration provides - information about configuring your kernel. For a multiport - serial card, place an &man.sio.4; line for each serial port - on the card in the &man.device.hints.5; file. But place the - IRQ specifiers on only one of the entries. All of the ports - on the card should share one IRQ. For consistency, use the - last serial port to specify the IRQ. Also, specify the - following option in the kernel configuration file:</para> + information about configuring your kernel. For a + multiport serial card, place an &man.sio.4; line for each + serial port on the card in the &man.device.hints.5; file. + But place the IRQ specifiers on only one of the entries. + All of the ports on the card should share one IRQ. For + consistency, use the last serial port to specify the IRQ. + Also, specify the following option in the kernel + configuration file:</para> <programlisting>options COM_MULTIPORT</programlisting> @@ -7211,9 +7232,10 @@ hint.sio.7.port="0x2b8" hint.sio.7.flags="0x701" hint.sio.7.irq="12"</programlisting> - <para>The flags indicate that the master port has minor number - <literal>7</literal> (<literal>0x700</literal>), and all the - ports share an IRQ (<literal>0x001</literal>).</para> + <para>The flags indicate that the master port has minor + number <literal>7</literal> (<literal>0x700</literal>), + and all the ports share an IRQ + (<literal>0x001</literal>).</para> </answer> </qandaentry> @@ -7224,8 +7246,10 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>See the <link xlink:href="&url.books.handbook;/serial.html#serial-hw-config">Serial Communications</link> - section in the &os; Handbook.</para> + <para>See the <link + xlink:href="&url.books.handbook;/serial.html#serial-hw-config">Serial + Communications</link> section in the &os; + Handbook.</para> </answer> </qandaentry> @@ -7235,18 +7259,21 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Please read the section about <link xlink:href="&url.books.handbook;/dialup.html">Dial-in Services</link> - in the &os; Handbook.</para> + <para>Please read the section about <link + xlink:href="&url.books.handbook;/dialup.html">Dial-in + Services</link> in the &os; Handbook.</para> </answer> </qandaentry> <qandaentry> <question xml:id="dumb-terminal"> - <para>How can I connect a dumb terminal to my &os; box?</para> + <para>How can I connect a dumb terminal to my &os; + box?</para> </question> <answer> - <para>You can find this information in the <link xlink:href="&url.books.handbook;/term.html">Terminals</link> + <para>You can find this information in the <link + xlink:href="&url.books.handbook;/term.html">Terminals</link> section of the &os; Handbook.</para> </answer> </qandaentry> @@ -7258,13 +7285,16 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>On your system, the programs &man.tip.1; and &man.cu.1; - can only access the <filename>/var/spool/lock</filename> - directory via user <systemitem class="username">uucp</systemitem> and group - <systemitem class="groupname">dialer</systemitem>. You can use the group - <systemitem class="groupname">dialer</systemitem> to control who has access to - your modem or remote systems. Just add yourself to group - <systemitem class="groupname">dialer</systemitem>.</para> + <para>On your system, the programs &man.tip.1; and + &man.cu.1; can only access the + <filename>/var/spool/lock</filename> directory via user + <systemitem class="username">uucp</systemitem> and group + <systemitem class="groupname">dialer</systemitem>. You + can use the group <systemitem + class="groupname">dialer</systemitem> to control who has + access to your modem or remote systems. Just add yourself + to group <systemitem + class="groupname">dialer</systemitem>.</para> <para>Alternatively, you can let everyone on your system run &man.tip.1; and &man.cu.1; by typing:</para> @@ -7282,22 +7312,22 @@ hint.sio.7.irq="12"</programlisting> <qandaset> <qandaentry> <question xml:id="more-swap"> - <para>&os; uses a lot of swap space even when the computer has - free memory left. Why?</para> + <para>&os; uses a lot of swap space even when the computer + has free memory left. Why?</para> </question> <answer> - <para>&os; will proactively - move entirely idle, unused pages of main memory into swap in - order to make more main memory available for active use. - This heavy use of swap is balanced by using the extra free - memory for cacheing.</para> + <para>&os; will proactively move entirely idle, unused pages + of main memory into swap in order to make more main memory + available for active use. This heavy use of swap is + balanced by using the extra free memory for + cacheing.</para> <para>Note that while &os; is proactive in this regard, it - does not arbitrarily decide to swap pages when the system is - truly idle. Thus you will not find your system all paged - out when you get up in the morning after leaving it idle - overnight.</para> + does not arbitrarily decide to swap pages when the system + is truly idle. Thus you will not find your system all + paged out when you get up in the morning after leaving it + idle overnight.</para> </answer> </qandaentry> @@ -7308,17 +7338,18 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>The simple answer is that free memory is wasted memory. - Any memory that your programs do not actively allocate is - used within the &os; kernel as disk cache. The values shown - by &man.top.1; labeled as <literal>Inact</literal>, - <literal>Cache</literal>, and <literal>Buf</literal> are all - cached data at different aging levels. This cached data - means the system does not have to access a slow disk again - for data it has accessed recently, thus increasing overall - performance. In general, a low value shown for - <literal>Free</literal> memory in &man.top.1; is good, - provided it is not <emphasis>very</emphasis> low.</para> + <para>The simple answer is that free memory is wasted + memory. Any memory that your programs do not actively + allocate is used within the &os; kernel as disk cache. + The values shown by &man.top.1; labeled as + <literal>Inact</literal>, <literal>Cache</literal>, and + <literal>Buf</literal> are all cached data at different + aging levels. This cached data means the system does not + have to access a slow disk again for data it has accessed + recently, thus increasing overall performance. In + general, a low value shown for <literal>Free</literal> + memory in &man.top.1; is good, provided it is not + <emphasis>very</emphasis> low.</para> </answer> </qandaentry> @@ -7331,41 +7362,41 @@ hint.sio.7.irq="12"</programlisting> <answer> <para>Symlinks do not have permissions, and by default, &man.chmod.1; will follow symlinks to change the - permissions on the source file, if possible. So if you have a file, - <filename>foo</filename>, and a symlink to that file, - <filename>bar</filename>, then this command will always - succeed.</para> + permissions on the source file, if possible. So if you + have a file, <filename>foo</filename>, and a symlink to + that file, <filename>bar</filename>, then this command + will always succeed.</para> <screen>&prompt.user; <userinput>chmod g-w bar</userinput></screen> <para>However, the permissions on <filename>bar</filename> will not have changed.</para> - <para>When changing modes of the file hierarchies rooted in the - files instead of the files themselves, - you have to use either <option>-H</option> or - <option>-L</option> together with <option>-R</option> - to make this work. See &man.chmod.1; and - &man.symlink.7; for more information.</para> + <para>When changing modes of the file hierarchies rooted in + the files instead of the files themselves, you have to use + either <option>-H</option> or <option>-L</option> together + with <option>-R</option> to make this work. See + &man.chmod.1; and &man.symlink.7; for more + information.</para> <warning> <para><option>-R</option> does a - <emphasis>recursive</emphasis> &man.chmod.1;. Be careful - about specifying directories or symlinks to directories to - &man.chmod.1;. If you want to change the permissions of a - directory referenced by a symlink, use &man.chmod.1; - without any options and follow the symlink with a trailing - slash (<filename>/</filename>). For example, if - <filename>foo</filename> is a symlink to directory - <filename>bar</filename>, and you want to change the - permissions of <filename>foo</filename> (actually - <filename>bar</filename>), you would do something - like:</para> + <emphasis>recursive</emphasis> &man.chmod.1;. Be + careful about specifying directories or symlinks to + directories to &man.chmod.1;. If you want to change the + permissions of a directory referenced by a symlink, use + &man.chmod.1; without any options and follow the symlink + with a trailing slash (<filename>/</filename>). For + example, if <filename>foo</filename> is a symlink to + directory <filename>bar</filename>, and you want to + change the permissions of <filename>foo</filename> + (actually <filename>bar</filename>), you would do + something like:</para> <screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen> - <para>With the trailing slash, &man.chmod.1; will follow the - symlink, <filename>foo</filename>, to change the + <para>With the trailing slash, &man.chmod.1; will follow + the symlink, <filename>foo</filename>, to change the permissions of the directory, <filename>bar</filename>.</para> </warning> @@ -7378,19 +7409,20 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Yes, you can use <package>emulators/doscmd</package>, a DOS - emulation program, available in the &os; Ports + <para>Yes, you can use <package>emulators/doscmd</package>, + a DOS emulation program, available in the &os; Ports Collection.</para> <para>If <application>doscmd</application> will not suffice, - the add-on utility <package>emulators/pcemu</package> emulates an 8088 - and enough BIOS services to run many DOS text mode - applications. It requires the X Window System.</para> - - <para>You may also try <package>emulators/dosbox</package> from the &os; - Ports Collection. The main focus of this application is - emulating old DOS games using the local file system for - files.</para> + the add-on utility <package>emulators/pcemu</package> + emulates an 8088 and enough BIOS services to run many DOS + text mode applications. It requires the X Window + System.</para> + + <para>You may also try <package>emulators/dosbox</package> + from the &os; Ports Collection. The main focus of this + application is emulating old DOS games using the local + file system for files.</para> </answer> </qandaentry> @@ -7401,29 +7433,34 @@ hint.sio.7.irq="12"</programlisting> </question> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405131539.s4DFdB84045775>