FAQ 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636
  1. This is a list of Frequently Asked Questions about using ppp-2.x and
  2. their answers.
  3. ------------------------------------------------------------------------
  4. Q: Can you give me an example of how I might set up my machine to dial
  5. out to an ISP?
  6. A: Here's an example for dialling out to an ISP via a modem on
  7. /dev/tty02. The modem uses hardware (CTS/RTS) flow control, and the
  8. serial port is run at 38400 baud. The ISP assigns our IP address.
  9. To configure pppd for this connection, create a file under
  10. /etc/ppp/peers called (say) my-isp containing the following:
  11. tty02 crtscts 38400
  12. connect 'chat -v -f /etc/ppp/chat/my-isp'
  13. defaultroute
  14. The ppp connection is then initiated using the following command:
  15. pppd call my-isp
  16. Of course, if the directory containing pppd is not in your path, you
  17. will need to give the full pathname for pppd, for example,
  18. /usr/sbin/pppd.
  19. When you run this, pppd will use the chat program to dial the ISP and
  20. invoke its ppp service. Chat will read the file specified with -f,
  21. namely /etc/ppp/chat/my-isp, to find a list of strings to expect to
  22. receive, and strings to send. This file would contain something like
  23. this:
  24. ABORT "NO CARRIER"
  25. ABORT "NO DIALTONE"
  26. ABORT "ERROR"
  27. ABORT "NO ANSWER"
  28. ABORT "BUSY"
  29. ABORT "Username/Password Incorrect"
  30. "" "at"
  31. OK "at&d2&c1"
  32. OK "atdt2479381"
  33. "name:" "^Uusername"
  34. "word:" "\qpassword"
  35. "annex" "\q^Uppp"
  36. "Switching to PPP-ppp-Switching to PPP"
  37. You will need to change the details here. The first string on each
  38. line is a string to expect to receive; the second is the string to
  39. send. You can add or delete lines according to the dialog required to
  40. access your ISP's system. This example is for a modem with a standard
  41. AT command set, dialling out to an Annex terminal server. The \q
  42. toggles "quiet" mode; when quiet mode is on, the strings to be sent
  43. are replaced by ?????? in the log. You may need to go through the
  44. dialog manually using kermit or tip first to determine what should go
  45. in the script.
  46. To terminate the link, run the following script, called (say)
  47. kill-ppp:
  48. #!/bin/sh
  49. unit=ppp${1-0}
  50. piddir=/var/run
  51. if [ -f $piddir/$unit.pid ]; then
  52. kill -1 `cat $piddir/$unit.pid`
  53. fi
  54. On some systems (SunOS, Solaris, Ultrix), you will need to change
  55. /var/run to /etc/ppp.
  56. ------------------------------------------------------------------------
  57. Q: Can you give me an example of how I could set up my office machine
  58. so I can dial in to it from home?
  59. A: Let's assume that the office machine is called "office" and is on a
  60. local ethernet subnet. Call the home machine "home" and give it an IP
  61. address on the same subnet as "office". We'll require both machines
  62. to authenticate themselves to each other.
  63. Set up the files on "office" as follows:
  64. /etc/ppp/options contains:
  65. auth # require the peer to authenticate itself
  66. lock
  67. # other options can go here if desired
  68. /etc/ppp/chap-secrets contains:
  69. home office "beware the frub-jub" home
  70. office home "bird, my son!%&*" -
  71. Set up a modem on a serial port so that users can dial in to the
  72. modem and get a login prompt.
  73. On "home", set up the files as follows:
  74. /etc/ppp/options contains the same as on "office".
  75. /etc/ppp/chap-secrets contains:
  76. home office "beware the frub-jub" -
  77. office home "bird, my son!%&*" office
  78. Create a file called /etc/ppp/peers/office containing the following:
  79. tty02 crtscts 38400
  80. connect 'chat -v -f /etc/ppp/chat/office'
  81. defaultroute
  82. (You may need to change some of the details here.)
  83. Create the /etc/ppp/chat/office file containing the following:
  84. ABORT "NO CARRIER"
  85. ABORT "NO DIALTONE"
  86. ABORT "ERROR"
  87. ABORT "NO ANSWER"
  88. ABORT "BUSY"
  89. ABORT "ogin incorrect"
  90. "" "at"
  91. OK "at&d2&c1"
  92. OK "atdt2479381"
  93. "name:" "^Uusername"
  94. "word:" "\qpassword"
  95. "$" "\q^U/usr/sbin/pppd proxyarp"
  96. "~"
  97. You will need to change the details. Note that the "$" in the
  98. second-last line is expecting the shell prompt after a successful
  99. login - you may need to change it to "%" or something else.
  100. You then initiate the connection (from home) with the command:
  101. pppd call office
  102. ------------------------------------------------------------------------
  103. Q: When I try to establish a connection, the modem successfully dials
  104. the remote system, but then hangs up a few seconds later. How do I
  105. find out what's going wrong?
  106. A: There are a number of possible problems here. The first thing to
  107. do is to ensure that pppd's messages are visible. Pppd uses the
  108. syslog facility to log messages which help to identify specific
  109. problems. Messages from pppd have facility "daemon" and levels
  110. ranging from "debug" to "error".
  111. Usually it is useful to see messages of level "notice" or higher on
  112. the console. To see these, find the line in /etc/syslog.conf which
  113. has /dev/console on the right-hand side, and add "daemon.notice" in
  114. the list on the left. The line will end up looking something like
  115. this:
  116. *.err;kern.debug;auth.notice;mail.crit;daemon.notice /dev/console
  117. Note that the whitespace is tabs, *not* spaces.
  118. If you are having problems, it may be useful to see messages of level
  119. "info" as well, in which case you would change "daemon.notice" to
  120. "daemon.info".
  121. In addition, it is useful to collect pppd's debugging output in a
  122. file - the debug option to pppd causes it to log the contents of all
  123. control packets sent and received in human-readable form. To do this,
  124. add a line like this to /etc/syslog.conf:
  125. daemon,local2.debug /etc/ppp/log
  126. and create an empty /etc/ppp/log file.
  127. When you change syslog.conf, you will need to send a HUP signal to
  128. syslogd to causes it to re-read syslog.conf. You can do this with a
  129. command like this (as root):
  130. kill -HUP `cat /etc/syslogd.pid`
  131. (On some systems, you need to use /var/run/syslog.pid instead of
  132. /etc/syslogd.pid.)
  133. After setting up syslog like this, you can use the -v flag to chat and
  134. the `debug' option to pppd to get more information. Try initiating
  135. the connection again; when it fails, inspect /etc/ppp/log to see what
  136. happened and where the connection failed.
  137. ------------------------------------------------------------------------
  138. Q: When I try to establish a connection, I get an error message saying
  139. "Serial link is not 8-bit clean". Why?
  140. A: The most common cause is that your connection script hasn't
  141. successfully dialled out to the remote system and invoked ppp service
  142. there. Instead, pppd is talking to something (a shell or login
  143. process on the remote machine, or maybe just the modem) which is only
  144. outputting 7-bit characters.
  145. This can also arise with a modem which uses an AT command set if the
  146. dial command is issued before pppd is invoked, rather than within a
  147. connect script started by pppd. If the serial port is set to 7
  148. bits/character plus parity when the last AT command is issued, the
  149. modem serial port will be set to the same setting.
  150. Note that pppd *always* sets the local serial port to 8 bits per
  151. character, with no parity and 1 stop bit. So you shouldn't need to
  152. issue an stty command before invoking pppd.
  153. ------------------------------------------------------------------------
  154. Q: When I try to establish a connection, I get an error message saying
  155. "Serial line is looped back". Why?
  156. A: Probably your connection script hasn't successfully dialled out to
  157. the remote system and invoked ppp service there. Instead, pppd is
  158. talking to something which is just echoing back the characters it
  159. receives. The -v option to chat can help you find out what's going
  160. on. It can be useful to include "~" as the last expect string to
  161. chat, so chat won't return until it's seen the start of the first PPP
  162. frame from the remote system.
  163. Another possibility is that your phone connection has dropped for some
  164. obscure reason and the modem is echoing the characters it receives
  165. from your system.
  166. ------------------------------------------------------------------------
  167. Q: I installed pppd successfully, but when I try to run it, I get a
  168. message saying something like "peer authentication required but no
  169. authentication files accessible".
  170. A: When pppd is used on a machine which already has a connection to
  171. the Internet (or to be more precise, one which has a default route in
  172. its routing table), it will require all peers to authenticate
  173. themselves. The reason for this is that if you don't require
  174. authentication, you have a security hole, because the peer can
  175. basically choose any IP address it wants, even the IP address of some
  176. trusted host (for example, a host mentioned in some .rhosts file).
  177. On machines which don't have a default route, pppd does not require
  178. the peer to authenticate itself. The reason is that such machines
  179. would mostly be using pppd to dial out to an ISP which will refuse to
  180. authenticate itself. In that case the peer can use any IP address as
  181. long as the system does not already have a route to that address.
  182. For example, if you have a local ethernet network, the peer can't use
  183. an address on that network. (In fact it could if it authenticated
  184. itself and it was permitted to use that address by the pap-secrets or
  185. chap-secrets file.)
  186. There are 3 ways around the problem:
  187. 1. If possible, arrange for the peer to authenticate itself, and
  188. create the necessary secrets files (/etc/ppp/pap-secrets and/or
  189. /etc/ppp/chap-secrets).
  190. 2. If the peer refuses to authenticate itself, and will always be
  191. using the same IP address, or one of a small set of IP addresses, you
  192. can create an entry in the /etc/ppp/pap-secrets file like this:
  193. "" * "" his-ip.his-domain his-other-ip.other-domain
  194. (that is, using the empty string for the client name and password
  195. fields). Of couse, you replace the 4th and following fields in the
  196. example above with the IP address(es) that the peer may use. You can
  197. use either hostnames or numeric IP addresses.
  198. 3. You can add the `noauth' option to the /etc/ppp/options file.
  199. Pppd will then not ask the peer to authenticate itself. If you do
  200. this, I *strongly* recommend that you remove the set-uid bit from the
  201. permissions on the pppd executable, with a command like this:
  202. chmod u-s /usr/sbin/pppd
  203. Then, an intruder could only use pppd maliciously if they had already
  204. become root, in which case they couldn't do any more damage using pppd
  205. than they could anyway.
  206. ------------------------------------------------------------------------
  207. Q: What do I need to put in the secrets files?
  208. A: Three things:
  209. - secrets (i.e. passwords) to use for authenticating this host to
  210. other hosts (i.e., for proving our identity to others);
  211. - secrets which other hosts can use for authenticating themselves
  212. to us (i.e., so that they can prove their identity to us); and
  213. - information about which IP addresses other hosts may use, once
  214. they have authenticated themselves.
  215. There are two authentication files: /etc/ppp/pap-secrets, which
  216. contains secrets for use with PAP (the Password Authentication
  217. Protocol), and /etc/ppp/chap-secrets, which contains secrets for use
  218. with CHAP (the Challenge Handshake Authentication Protocol). Both
  219. files have the same simple format, which is as follows:
  220. - The file contains a series of entries, each of which contains a
  221. secret for authenticating one machine to another.
  222. - Each entry is contained on a single logical line. A logical line
  223. may be continued across several lines by placing a backslash (\) at
  224. the end of each line except the last.
  225. - Each entry has 3 or more fields, separated by whitespace (spaces
  226. and/or tabs). These fields are, in order:
  227. * The name of the machine that is authenticating itself
  228. (the "client").
  229. * The name of the machine that is authenticating the client
  230. (the "server").
  231. * The secret to be used for authenticating that client to that
  232. server. If this field begins with the at-sign `@', the rest
  233. of the field is taken as the name of a file containing the
  234. actual secret.
  235. * The 4th and any following fields list the IP address(es)
  236. that the client may use.
  237. - The file may contain comments, which begin with a `#' and continue
  238. to the end of the line.
  239. - Double quotes `"' should be used around a field if it contains
  240. characters with special significance, such as space, tab, `#', etc.
  241. - The backslash `\' may be used before characters with special
  242. significance (space, tab, `#', `\', etc.) to remove that significance.
  243. Some important points to note:
  244. * A machine can be *both* a "client" and a "server" for the purposes
  245. of authentication - this happens when both peers require the other to
  246. authenticate itself. So A would authenticate itself to B, and B would
  247. also authenticate itself to A (possibly using a different
  248. authentication protocol).
  249. * If both the "client" and the "server" are running ppp-2.x, they need
  250. to have a similar entry in the appropriate secrets file; the first two
  251. fields are *not* swapped on the client, compared to the server. So
  252. the client might have an entry like this:
  253. ay bee "our little secret" -
  254. and the corresponding entry on the server could look like this:
  255. ay bee "our little secret" 123.45.67.89
  256. ------------------------------------------------------------------------
  257. Q: Explain about PAP and CHAP?
  258. PAP stands for the Password Authentication Protocol. With this
  259. protocol, the "client" (the machine that needs to authenticate itself)
  260. sends its name and a password, in clear text, to the "server". The
  261. server returns a message indicating whether the name and password are
  262. valid.
  263. CHAP stands for the Challenge Handshake Authentication Protocol. It
  264. is designed to address some of the deficiencies and vulnerabilities of
  265. PAP. Like PAP, it is based on the client and server having a shared
  266. secret, but the secret is never passed in clear text over the link.
  267. Instead, the server sends a "challenge" - an arbitrary string of
  268. bytes, and the client must prove it knows the shared secret by
  269. generating a hash value from the challenge combined with the shared
  270. secret, and sending the hash value back to the server. The server
  271. also generates the hash value and compares it with the value received
  272. from the client.
  273. At a practical level, CHAP can be slightly easier to configure than
  274. PAP because the server sends its name with the challenge. Thus, when
  275. finding the appropriate secret in the secrets file, the client knows
  276. the server's name. In contrast, with PAP, the client has to find its
  277. password (i.e. the shared secret) before it has received anything from
  278. the server. Thus, it may be necessary to use the `remotename' option
  279. to pppd when using PAP authentication so that it can select the
  280. appropriate secret from /etc/ppp/pap-secrets.
  281. Microsoft also has a variant of CHAP which uses a different hashing
  282. arrangement from normal CHAP. There is a client-side (authenticatee)
  283. implementation of Microsoft's CHAP in ppp-2.3; see README.MSCHAP80.
  284. In ppp-2.4.2, server-side (authenticator) support was added as well as
  285. support for Microsoft CHAP v2; see README.MSCHAP81.
  286. ------------------------------------------------------------------------
  287. Q: When the modem hangs up, without the remote system having
  288. terminated the connection properly, pppd does not notice the hangup,
  289. but just keeps running. How do I get pppd to notice the hangup and
  290. exit?
  291. A: Pppd detects modem hangup by looking for an end-of-file indication
  292. from the serial driver, which should be generated when the CD (carrier
  293. detect) signal on the serial port is deasserted. For this to work:
  294. - The modem has to be set to assert CD when the connection is made and
  295. deassert it when the phone line hangs up. Usually the AT&C1 modem
  296. command sets this mode.
  297. - The cable from the modem to the serial port must connect the CD
  298. signal (on pin 8).
  299. - Some serial drivers have a "software carrier detect" mode, which
  300. must be *disabled*. The method of doing this varies between systems.
  301. Under SunOS, use the ttysoftcar command. Under NetBSD, edit /etc/ttys
  302. to remove the "softcar" flag from the line for the serial port, and
  303. run ttyflags.
  304. ------------------------------------------------------------------------
  305. Q: Why should I use PPP compression (BSD-Compress or Deflate) when my
  306. modem already does V.42 compression? Won't it slow the CPU down a
  307. lot?
  308. A: Using PPP compression is preferable, especially when using modems
  309. over phone lines, for the following reasons:
  310. - The V.42 compression in the modem isn't very strong - it's an LZW
  311. technique (same as BSD-Compress) with a 10, 11 or 12 bit code size.
  312. With BSD-Compress you can use a code size of up to 15 bits and get
  313. much better compression, or you can use Deflate and get even better
  314. compression ratios.
  315. - I have found that enabling V.42 compression in my 14.4k modem
  316. increases the round-trip time for a character to be sent, echoed and
  317. returned by around 40ms, from 160ms to 200ms (with error correction
  318. enabled). This is enough to make it feel less responsive on rlogin or
  319. telnet sessions. Using PPP compression adds less than 5ms (small
  320. enough that I couldn't measure it reliably). I admit my modem is a
  321. cheapie and other modems may well perform better.
  322. - While compression and decompression do require some CPU time, they
  323. reduce the amount of time spent in the serial driver to transmit a
  324. given amount of data. Many machines require an interrupt for each
  325. character sent or received, and the interrupt handler can take a
  326. significant amount of CPU time. So the increase in CPU load isn't as
  327. great as you might think. My measurements indicate that a system with
  328. a 33MHz 486 CPU should be able to do Deflate compression for serial
  329. link speeds of up to 100kb/s or more. It depends somewhat on the type
  330. of data, of course; for example, when compressing a string of nulls
  331. with Deflate, it's hard to get a high output data rate from the
  332. compressor, simply because it compresses strings of nulls so well that
  333. it has to eat a very large amount of input data to get each byte of
  334. output.
  335. ------------------------------------------------------------------------
  336. Q: I get messages saying "Unsupported protocol (...) received". What do
  337. these mean?
  338. A: If you only get one or two when pppd starts negotiating with the
  339. peer, they mean that the peer wanted to negotiate some PPP protocol
  340. that pppd doesn't understand. This doesn't represent a problem, it
  341. simply means that there is some functionality that the peer supports
  342. that pppd doesn't, so that functionality can't be used.
  343. If you get them sporadically while the link is operating, or if the
  344. protocol numbers (in parentheses) don't correspond to any valid PPP
  345. protocol that the peer might be using, then the problem is probably
  346. that characters are getting corrupted on the receive side, or that
  347. extra characters are being inserted into the receive stream somehow.
  348. If this is happening, most packets that get corrupted should get
  349. discarded by the FCS (Frame Check Sequence, a 16-bit CRC) check, but a
  350. small number may get through.
  351. One possibility may be that you are receiving broadcast messages on
  352. the remote system which are being sent over your serial link. Another
  353. possibility is that your modem is set for XON/XOFF (software) flow
  354. control and is inserting ^Q and ^S characters into the receive data
  355. stream.
  356. ------------------------------------------------------------------------
  357. Q: I get messages saying "Protocol-Reject for unsupported protocol ...".
  358. What do these mean?
  359. A: This is the other side of the previous question. If characters are
  360. getting corrupted on the way to the peer, or if your system is
  361. inserting extra bogus characters into the transmit data stream, the
  362. peer may send protocol-reject messages to you, resulting in the above
  363. message (since your pppd doesn't recognize the protocol number
  364. either.)
  365. ------------------------------------------------------------------------
  366. Q: I get a message saying something like "ioctl(TIOCSETD): Operation
  367. not permitted". How do I fix this?
  368. A: This is because pppd is not running as root. If you have not
  369. installed pppd setuid-root, you will have to be root to run it. If
  370. you have installed pppd setuid-root and you still get this message, it
  371. is probably because your shell is using some other copy of pppd than
  372. the installed one - for example, if you are in the pppd directory
  373. where you've just built pppd and your $PATH has . before /usr/sbin (or
  374. wherever pppd gets installed).
  375. ------------------------------------------------------------------------
  376. Q: Has your package been ported to HP/UX or IRIX or AIX?
  377. A: No. I don't have access to systems running HP/UX or AIX. No-one
  378. has volunteered to port it to HP/UX. I had someone who did a port for
  379. AIX 4.x, but who is no longer able to maintain it. And apparently AIX
  380. 3.x is quite different, so it would need a separate port.
  381. IRIX includes a good PPP implementation in the standard distribution,
  382. as far as I know.
  383. ------------------------------------------------------------------------
  384. Q: Under SunOS 4, when I try to modload the ppp modules, I get the
  385. message "can't open /dev/vd: No such device".
  386. A: First check in /dev that there is an entry like this:
  387. crw-r--r-- 1 root 57, 0 Oct 2 1991 vd
  388. If not, make one (mknod /dev/vd c 57 0). If the problem still exists,
  389. probably your kernel has been configured without the vd driver
  390. included. The vd driver is needed for loadable module support.
  391. First, identify the config file that was used. When you boot your
  392. machine, or if you run /etc/dmesg, you'll see a line that looks
  393. something like this:
  394. SunOS Release 4.1.3_U1 (CAP_XBOX) #7: Thu Mar 21 15:31:56 EST 1996
  395. ^^^^^^^^
  396. this is the config file name
  397. The config file will be in the /sys/`arch -k`/conf directory (arch -k
  398. should return sun4m for a SparcStation 10, sun3x for a Sun 3/80,
  399. etc.). Look in there for a line saying "options VDDRV". If that line
  400. isn't present (or is commented out), add it (or uncomment it).
  401. You then need to rebuild the kernel as described in the SunOS
  402. manuals. Basically you need to run config and make like this:
  403. /usr/etc/config CAP_XBOX
  404. cd ../CAP_XBOX
  405. make
  406. (replacing the string CAP_XBOX by the name of the config file for your
  407. kernel, of course).
  408. Then copy the new kernel to /:
  409. mv /vmunix /vmunix.working
  410. cp vmunix /
  411. and reboot. Modload should then work.
  412. ------------------------------------------------------------------------
  413. Q: I'm running Linux (or NetBSD or FreeBSD), and my system comes with
  414. PPP already. Should I consider installing this package? Why?
  415. A: The PPP that is already installed in your system is (or is derived
  416. from) some version of this PPP package. You can find out what version
  417. of this package is already installed with the command "pppd --help".
  418. If this is older than the latest version, you may wish to install the
  419. latest version so that you can take advantage of the new features or
  420. bug fixes.
  421. ------------------------------------------------------------------------
  422. Q: I'm running pppd in demand mode, and I find that pppd often dials
  423. out unnecessarily when I try to make a connection within my local
  424. machine or with a machine on my local LAN. What can I do about this?
  425. A: Very often the cause of this is that a program is trying to contact
  426. a nameserver to resolve a hostname, and the nameserver (specified in
  427. /etc/resolv.conf, usually) is on the far side of the ppp link. You
  428. can try executing a command such as `ping myhost' (where myhost is the
  429. name of the local machine, or some other machine on a local LAN), to
  430. see whether that starts the ppp link. If it does, check the setup of
  431. your /etc/hosts file to make sure you have the local machine and any
  432. hosts on your local LAN listed, and /etc/resolv.conf and/or
  433. /etc/nsswitch.conf files to make sure you resolve hostnames from
  434. /etc/hosts if possible before trying to contact a nameserver.
  435. ------------------------------------------------------------------------
  436. Q: Since I installed ppp-2.3.6, dialin users to my server have been
  437. getting this message when they run pppd:
  438. peer authentication required but no suitable secret(s) found for
  439. authenticating any peer to us (ispserver)
  440. A: In 2.3.6, the default is to let an unauthenticated peer only use IP
  441. addresses to which the machine doesn't already have a route. So on a
  442. machine with a default route, everyone has to authenticate. If you
  443. really don't want that, you can put `noauth' in the /etc/ppp/options
  444. file. Note that there is then no check on who is using which IP
  445. address. IMHO, this is undesirably insecure, but I guess it may be
  446. tolerable as long as you don't use any .rhosts files or anything like
  447. that. I recommend that you require dialin users to authenticate, even
  448. if just with PAP using their login password (using the `login' option
  449. to pppd). If you do use `noauth', you should at least have a pppusers
  450. group and set the permissions on pppd to allow only user and group to
  451. execute it.
  452. ------------------------------------------------------------------------
  453. Q: When running pppd as a dial-in server, I often get the message
  454. "LCP: timeout sending Config-Requests" from pppd. It seems to be
  455. random, but dial-out always works fine. What is wrong?
  456. A: Most modern modems auto-detects the speed of the serial line
  457. between the modem and the computer. This auto-detection occurs when
  458. the computer sends characters to the modem, when the modem is in
  459. command mode. It does not occur when the modem is in data mode.
  460. Thus, if you send commands to the modem at 2400 bps, and then change
  461. the serial port speed to 115200 bps, the modem will not detect this
  462. change until something is transmitted from the computer to the modem.
  463. When running pppd in dial-in mode (i.e. without a connect script),
  464. pppd sets the speed of the serial port, but does not transmit
  465. anything. If the modem was already running at the specified speed,
  466. everything is fine, but if not, you will just receive garbage from the
  467. modem. To cure this, use an init script such as the following:
  468. pppd ttyS0 115200 modem crtscts init "chat '' AT OK"
  469. To reset the modem and enable auto-answer, use:
  470. pppd ttyS0 115200 modem crtscts init "chat '' ATZ OK ATS0=1 OK"