BBSˮľÇ廪վ¡Ã¾«»ªÇø

 
 
                           Linux Serial HOWTO ÖÐÒë°æ 
 
                 ×÷Õß: Greg Hankins greg.hankins@cc.gatech.edu 
 
                              ÒëÕß: Asd L. Chen & 
                                      C.W.Huang 
 
              v1.11, 15 November 1997 ·­ÒëÈÕÆÚ: 18 November 1997 
 
 
 
                                   Abstract 
 
     Õâ·ÝÎļþÐðÊöÈçºÎÔÚ Linux »úÆ÷ÉÏÉ趨´®ÁÐͨѶÉ豸£® 
 
 
                                   CONTENTS 
 
 
 
1.  ¼ò½é .................................................................... 1 
    1.1   °æÈ¨ÉùÃ÷ .......................................................... 1 
    1.2   Õâ·ÝÎļþµÄ×îа汾 ................................................ 1 
    1.3   »ØÀ¡ .............................................................. 1 
    1.4   ÃâÔðÉùÃ÷ .......................................................... 2 
 
2.  ÒѾ­Ö§Ô®µÄ´®ÁÐÓ²Ìå ...................................................... 2 
    2.1   ±ê×¼ PC ´®Áвº .................................................... 2 
    2.2   ¼´²å¼´ÓÃÐÍ(PnP)Êý¾Ý»ú ............................................. 2 
    2.3   Ò»°ã¶à²º´®Áп¨(¸½ 8250/16450/16550A UART ¾§Æ¬) .................... 3 
    2.4   ÖÇ»ÛÐͶ಺´®Áп¨ .................................................. 3 
    2.5   ²»Ö§Ô®µÄ´®ÁÐÓ²Ìå .................................................. 6 
 
3.  ´®ÁвºµÄÃû³ÆÊÇʲ÷á? ..................................................... 6 
    3.1   ÔÚ /dev ÀïµÄ´®ÁÐÉ豸¼°Ö÷ÒªºÍ´ÎÒªºÅÂë .............................. 7 
    3.2   Ò»°ã¶à²º°åµÄ×¢ÒâÊÂÏî .............................................. 8 
    3.3   ÖÇ»ÛÐͶ಺°åµÄ×¢ÒâÊÂÏî ............................................ 8 
 
4.  ÄãÓ¦ÖªµÀµÄÓÐȤ³Ìʽ ...................................................... 8 
    4.1   Ê²÷áÊÇ getty? ..................................................... 8 
    4.2   Ê²÷áÊÇ setserial? ................................................. 9 
 
5.  ÎÒÔõ÷áÓÃÊý¾Ý»ú²¦ºÅ³öÈ¥? ................................................. 9 
    5.1   Ó²ÌåÐèÇó .......................................................... 9 
    5.2   ÓëÄãµÄÊý¾Ý»ú½»Ì¸ .................................................. 9 
    5.3   ²¦³öÓõÄÊý¾Ý»úÅäÖà............................................... 11 
    5.4   Ó²ÌåÁ÷Á¿¿ØÖÆ ..................................................... 11 
 
6.  ÎÒÒªÔõ÷áÑùÓÃÊý¾Ý»úÒÔ getty_ps ²¦Èë¼°²¦³ö? .............................. 12 
    6.1   ²¦Èë¼°²¦³öµÄÊý¾Ý»úÅäÖà........................................... 12 
    6.2   °²×° getty_ps .................................................... 12 
    6.3   É趨 uugetty ..................................................... 13 
    6.4   ×Ô¶© uugetty ..................................................... 14 
 
7.  ÎÒÔõ÷áÉ趨ÖÕ¶Ë»úÁ¬Ïßµ½ÎҵĠPC ÉÏ? ...................................... 15 
    7.1   Ó²ÌåÐèÇó ......................................................... 15 
    7.2   É趨 getty ....................................................... 16 
    7.3   ½« PC É趨³ÉÖÕ¶Ë»úµÄ×¢ÒâÊÂÏî ..................................... 17 
 
8.  ÎÒÄÜʹÓó¬¹ýÁ½¸öµÄ´®ÁÐ×°ÖÃÂð? .......................................... 17 
    8.1   Ñ¡Ôñ´®ÁÐÉ豸µÄÖжÏλַ ........................................... 18 
    8.2   É趨´®ÁÐÉ豸µÄλַ ............................................... 18 
 
9.  ÎÒÔõÑù½«ÎҵĴ®ÁвºÉèµ½½Ï¸ßµÄËÙ¶È? ÎÒµÄÊý¾Ý»úÓÖÓ¦¸ÃʹÓÃʲ÷áÑùµÄËÙ¶È? .... 19 
 
10. Í¨Ñ¶³Ìʽ¼°¹¤¾ß ......................................................... 20 
 
11. ´®ÁÐʹÓÃÃØ¾÷ ........................................................... 20 
    11.1  kermit ÒÔ¼° zmodem ............................................... 20 
    11.2  ×Ô¶¯É趨ÖÕ¶Ë»úÐÍʽ ............................................... 21 
 
 
                                       i 
 
 
 
 
    11.3  ÔÚ´®ÁÐÁ¬ÏßϵIJÊÉ« ls ............................................ 21 
    11.4  ´ÓÖÕ¶Ë»úËùÁ¬½ÓµÄÓ¡±í»ú½øÐÐÁÐÓ¡ ................................... 21 
    11.5  Linux Äܲ»Äܹ»×Ô¶¯µØÅäÖô®ÁÐÉ豸? ................................ 21 
    11.6  Ê¹Óô®ÁпØÖÆÌ¨ ................................................... 21 
    11.7  ¸ü¸ßµÄ´®ÁÐÁ÷Á¿ ................................................... 22 
 
12. ¸ü½øÒ»²½... ............................................................ 22 
    12.1  Ê²÷áÊÇËø¶¨µµ°¸(lock files)? ...................................... 22 
    12.2  ``baud'' ¶Ô ``bps'' .............................................. 22 
    12.3  Ê²÷áÊÇ UARTs? ËüÃÇÈçºÎÓ°ÏìЧÄÜ? .................................. 23 
 
13. ¹ÊÕÏÅųý ............................................................... 24 
    13.1  ÎÒ²»¶ÏµØÊÕµ½ ``line NNN of inittab invalid'' ..................... 24 
    13.2  µ±ÎÒÊÔÖø²¦ºÅʱ£¬Ëü˵ ``/dev/cuaN: Device or resource busy'' ...... 24 
    13.3  ÎÒ³ÖÐø½Óµ½ ``Id SN respawning too fast: disabled for 5 minutes'' . 24 
    13.4  ´®ÁÐÉ豸ºÜÂý»òÊÇ´®ÁÐÉ豸ֻÄܵ¥Ïò´«ËÍ ............................. 25 
    13.5  ÎÒµÄÊý¾Ý»úÔÚijÈ˶ÏÏßáá̱»¾»òÊÇ uugetty ²¢Ã»ÓÐÖØÐÂÖ´ÐР............ 25 
    13.6  ÎÒ½«ÎÒµÄÖÕ¶Ë»úÁ¬µ½ÎҵĠPC 
          ÉÏ£¬µ«ÊÇÔÚÎÒÊäÈëÇ©ÈëÃû³ÆÖ®áᣬËü¾ÍËø×¡²»¶¯ ....................... 25 
    13.7  ÔÚ¸ßËÙÏ£¬ÎÒµÄÊý¾Ý»ú©ʧ×ÊÁÏ ..................................... 25 
    13.8  ÔÚϵͳÆô¶¯Ê±£¬Linux Ã»ÓÐÒÀÕÕÎÒµÄÅäÖûر¨´®ÁÐÉ豸£® ............... 25 
    13.9  µ±ÎÒʹÓÃÎÒµÄÊý¾Ý»ú½ÐÓàLinux »úÆ÷ʱ rz ÒÔ¼°/»òÊÇ sz ²»¶¯ ......... 26 
    13.10 ÎÒµÄөĻӡ³ö¿´ÆðÀ´ºÜºÃÍæµÄ×ÖÔª ................................... 26 
    13.11 getty »ò uugetty ÈÔÈ»ÎÞ·¨ÔË×÷ .................................... 26 
 
14. ÆäËüµÄ×ÊѶÀ´Ô´ ......................................................... 26 
 
15. Ãúл ................................................................... 28 
 
                                       ii 
 
 
 
1.  ¼ò½é 
 
ÕâÊÇ Linux Serial HOWTO£®°üº¬¹Øì¶ÈçºÎÔÚ Linux 
ÏÂÉ趨Êý¾Ý»úÒÔ¼°ÖÕ¶Ë»úµÄËùÓÐϸ½Ú£¬»¹ÓÐһЩʹÓô®Áеľ÷ÇÏ£¬ÒÔ¼°¹ÊÕÏÅųýµÄ×ÊÁÏ£® 
Õâ·ÝÎļþÖøÖØÔÚ Intel x86 Ó²ÌåÉÏÖ´ÐеĠLinux£¬ËäÈ»ÔÚÆäËüƽ̨ÉÏÒ²ÐíÒ²ÄÜÔË×÷£® 
 
1.1  °æÈ¨ÉùÃ÷ 
 
±¾ÎİæÈ¨ÊÇÊôì¶ Greg Hankins(copyright (C) 1993 - 1997)£®±¾Îļþ¿ÉÒÔÔÚ LDP 
µÄ°æÈ¨Ðí¿ÉÏÂÉ¢²¼: http://sunsite.unc.edu/LDP/COPYRIGHT.html. 
±¾ÎÄÔÚδ¾­×÷ÕßÐí¿Éϲ»µÃÒÔÐ޸ĵÄÐÎʽɢ²¼£® 
 
Ô­ÎÄ 
 
Copyright (c) 1993 - 1997 by Greg Hankins.  This document may be distributed 
under the terms set forth in the LDP license at http://sun­ 
site.unc.edu/LDP/COPYRIGHT.html.  This document may not be distibuted in modi­ 
fied form without consent of the author. 
 
1.2  Õâ·ÝÎļþµÄ×îа汾 
 
аæµÄ Serial HOWTO »á·Åµ½ 
 
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/Serial-HOWTO 
ÒÔ¼°Ó³Éä½Úµã£®ÓÐһЩÆäËüÏñÊÇ  Postscript  ÒÔ¼° DVI ¸ñʽµÄ°æ±¾·ÅÔÚ other-formats 
Ŀ¼À ÕâÒ»·Ý Serial HOWTO Ò²¿ÉÔÚ http://sunsite.unc.edu/LDP/HOWTO/Serial- 
HOWTO.html È¡µÃ£®ËüÒ²»áÿÔ¶¨ÆÚµÄÌùµ½ comp.os.linux.answers£® 
 
1.3  »ØÀ¡ 
 
Ç뽫ÈκεÄÎÊÌ⣬ÆÀÂÛ£¬½¨Òé»ò²¹³äÄÚÈݼÄË͸øÎÒ£®ÎÒÓÀÔ¶¿ÊÍûÌýµ½Äã¶ÔÕâ·Ý HOWTO 
µÄÏë·¨£® ÎÒÒ²×ÜÊÇСÐĵØ×¢Òâ¸Ä½ø! 
ȷʵµØ¸æËßÎÒÄãÓÐʲ÷á²»¶®µÄµØ·½£¬»òÕßÊÇÓÐʲ÷áµØ·½¿ÉÒÔдµÃ¸üÇå³þ£® 
Äã¿ÉÒÔ¾­ÓÉÕâ¸öµç×ÓÓʼþλַ greg.hankins@cc.gatech.edu ÓëÎÒÁ¬Ïµ£® 
ËùÓеÄÓʼþÎÒ¶¼»á»Ø¸²£¬²»¹ý¿ÉÄÜÒª»¨Ò»¸öÐÇÆÚ»ò¸ü³¤µÄʱ¼ä£¬¿´ÎÒ¶àæ¶ø¶¨£® 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     1 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     2 
 
 
 
ÎÒÊÕµ½Ò»´ó¶ÑÀ´×Ô root ¼°´íÎóÉ趨µÄվ̨£® 
ÇëÒÔÕæÊµÉí·Ý¼ÄПøÎÒ£¬²¢ÇÒÈ·¶¨ÄãµÄµç×ÓÓʼþϵͳÊÇÕý³£ÔË×÷ʹµÃÎÒÄܹ»»ØÐŸøÄ㣮 
Èç¹ûÁ½¸öÐÇÆÚÖ®ÄÚÄ㻹ûÊÕµ½ÎҵĻØÒô£¬Çë³¢ÊÔÔÙ¼ÄÒ»´Î£® 
 
Ò²¿ÉÒÔ½åÓÉÏÂÃæµÄµØÖ·ÒÔ³Ù»ºµÄ´«Í³ÐżþÁªÂçÎÒ: 
 
Greg Hankins 
 
College of Computing 
 
801 Atlantic Drive 
 
Atlanta, GA 30332-0280 
 
ÒÔ¼°¾­ÓÉÈ«Çò×ÊÑ¶Íøµ½ÎÒµÄÍøÒ³ 
 
http://www.cc.gatech.edu/staff/h/Greg.Hankins/. 
 
׫дʱÇ뽫 Serial HOWTO ÎļþµÄ°æ±¾±àºÅº¬È룬Õâ·ÝÊÇ 1.11 °æ£® 
 
1.4  ÃâÔðÉùÃ÷ 
 
ÄãµÄ×´¿ö¿ÉÄܺܲ»Ò»Ñù£®ÕâÀïµÄ»Ø´ð¿ÉÄÜÎÞ·¨ÔÚËùÓеÄϵͳ¼°¸÷ÖÖÉ趨µÄ×éºÏÏÂÔË×÷£® 
 
 
2.  ÒѾ­Ö§Ô®µÄ´®ÁÐÓ²Ìå 
 
ÒÔÖª Linux ¿ÉÒÔÓëÏÂÁеĴ®ÁÐÓ²ÌåÅäºÏÔË×÷£® 
 
2.1  ±ê×¼ PC ´®Áвº 
 
   · ±ê×¼ PC ´®Áвº (COM1 - 
     COM4)£¬Äܹ»ÈÃÍâ½ÓµÄ´®ÁÐ×°ÖÃ(Êý¾Ý»ú£¬´®Áл¬ÊóµÈ)Á¬½ÓµÄ 
 
   · ±ê×¼ PC ÄÚ½ÓʽÊý¾Ý»ú (COM1 - COM4) 
 
   · Quickpath Systems Port-Folio 550e (¿ÉÓõĠIRQ Îª 3, 4, 5, 9, 10, 11, 12, 
     ¼° 15) 
 
×¢Òâ: ÓÉì¶Î»Ö·³åÍ»£¬Äã²»ÄÜͬʱʹÓàCOM4 ¼° IBM8514 ÊÓѶ¿¨£®ÕâÊÇ IBM8514 
ÊÓѶ¿¨µÄÒ»¸ö bug£® 
 
2.2  ¼´²å¼´ÓÃÐÍ(PnP)Êý¾Ý»ú 
 
¼´²å¼´ÓÃÐÍÊý¾Ý»úÄܹ»ÔÚ Linux ÉÏÔË×÷£®È»¶ø£¬ÎÒ²»½¨ÒéʹÓÃËüÃÇ£¬ÒòΪÓÐÀ§ÄÑ£® 
ÄãÓкöàÊÂÇéÒªÊÔ: 
 
   · ÊÔÖø¹ØµôÄãµçÄÔ BIOS ¼°Êý¾Ý»úÉϵĠPnP ¹¦ÄÜ£® 
 
   · Æô¶¯ Windows 95£¬É趨Êý¾Ý»ú£¬È»áá¿´¿´ÔÚÄãÆô¶¯ Linux 
     ááÕâЩÉ趨ÄÜ·ñ±£ÁôÏÂÀ´£® Èç¹û²»Ðеϰ£¬ÔÙÀ´: 
 
   · Æô¶¯ Windows 95£¬É趨Êý¾Ý»ú£¬È»ááʹÓÃů¿ª»úÆô¶¯ Linux 
     ÒÔ±ãÈÃÉ趨Äܱ£ÁôÏÂÀ´£® Äã¿ÉÒÔʹÓàloadlin ÔØÈëÆ÷À´Æô¶¯£® 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     3 
 
 
 
   · ´Ó http://www.redhat.com/linux-info/pnp È¡»Ø PnP ¹¤¾ß£® 
 
   · È»ááÄã¾ÍÓиö¿ÉÓõÄÊý¾Ý»ú£® 
 
2.3  Ò»°ã¶à²º´®Áп¨(¸½ 8250/16450/16550A UART ¾§Æ¬) 
 
   · AST FourPort and clones (4 ports) 
 
   · Accent Async-4 (4 ports) 
 
   · Arnet Multiport-8 (8 ports) 
 
   · Bell Technologies HUB6 (6 ports) 
 
   · Boca BB-1004 (4 ports), BB-1008 (8 ports), BB-2016 (16 ports) 
 
   · Boca IOAT66 (6 ports) 
 
   · Boca 2by4 (4 serial ports, 2 parallel ports) 
 
   · Computone ValuePort V4-ISA (AST FourPort compatible) 
 
   · Digi PC/8 (8 ports) 
 
   · GTEK BBS-550 (8 ports) 
 
   · Longshine LCS-8880, Longshine LCS-8880+ (AST FourPort compatible) 
 
   · Moxa C104, Moxa C104+ (AST FourPort compatible) 
 
   · PC-COMM (4 ports) 
 
   · Sealevel Systems COMM-2 (2 ports), COMM-4 (4 ports) and COMM-8 (8 ports) 
 
   · SIIG I/O Expander 2S IO1812 (4 ports) 
 
   · STB-4COM (4 ports) 
 
   · Twincom ACI/550 
 
   · Usenet Serial Board II (4 ports) 
 
Ò»°ãÀ´Ëµ£¬ Linux Äܹ»Ö§Ô®ËùÓÐʹÓà8250, 16450, 16550, 16550A£¨»òÓëÆäÏàÈÝ£©UART 
¾§Æ¬µÄ´®Áп¨£¬ »òÕßÊÇÄܹ»ÃþÄâÉÏÁРUARTs Ö®Ò»µÄÄÚ½ÓʽÊý¾Ý»ú£® 
 
×¢Òâ: BB-1004 ÒÔ¼° BB-1008£¬ËüÃDz¢²»Ö§Ô® DCD ¼° RI 
Ïß·£¬Òò¶øÎÞ·¨ÈýÓÊܲ¦½ÓµÄÊý¾Ý»úʹÓã® ËüÃÇÔÚÆäËüÓÃ;ÉÏÔò±íÏÖÕý³££® 
 
2.4  ÖÇ»ÛÐͶ಺´®Áп¨ 
 
   · Comtrol RocketPort (36MHz ASIC; 4, 8, 16 or 32 ports) 
 
     contact: info@comtrol.com or http://www.comtrol.com 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     4 
 
 
 
     driver status: supported by Comtrol 
 
     driver location: ftp://tsx-11.mit.edu/pub/linux/packages/comtrol 
 
   · Computone IntelliPort II (16MHz 80186; 4, 8, or 16 ports), 
 
     IntelliPort II EXpandable (20MHz 80186; 16 - 64 ports) 
 
     contact: Michael H. Warfield, mhw@wittsend.atl.ga.us 
 
     driver status: pre-ALPHA 
 
   · Cyclades Cyclom-Y (Cirrus Logic CD1400 UARTs; 8 - 32 ports), 
 
     Cyclom-Z (25MHz MIPS R3000; 8 - 128 ports) 
 
     contact: sales@cyclades.com or http://www.cyclades.com 
 
     driver status: supported by Cyclades 
 
     driver location: ftp://ftp.cyclades.com/pub/cyclades and included in Linux 
     kernel since version 1.1.75 
 
   · Decision PCCOM8 (8 ports) 
 
     contact: pccom8@signum.se 
 
     driver location: ftp://ftp.signum.se/pub/pccom8 
 
   · Digi PC/Xi (12.5MHz 80186; 4, 8, or 16 ports), 
 
     PC/Xe (12.5/16MHz 80186; 2, 4, or 8 ports), 
 
     PC/Xr (16MHz IDT3041; 4 or 8 ports), 
 
     PC/Xem (20MHz IDT3051; 8 - 64 ports) 
 
     contact: sales@dgii.com or http://www.dgii.com 
 
     driver status: supported by Digi 
 
     driver location: ftp://ftp.dgii.com/drivers/linux and included in Linux 
     kernel since version 2.0 
 
   · Digi COM/Xi (10MHz 80188; 4 or 8 ports) 
 
     contact: Simon Park, si@wimpol.demon.co.uk 
 
     driver status: ALPHA 
 
     note: Simon is often away from email for months at a time due to his job. 
     Mark Hatle, fray@krypton.mankato.msus.edu has graciously volunteered to 
     make the driver available if you need it.  Mark is not maintaining or sup­ 
     porting the driver. 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     5 
 
 
 
   · Equinox SuperSerial Technology (30MHz ASIC; 2 - 128 ports) 
 
     contact: sales@equinox.com or http://www.equinox.com 
 
     driver status: supported by Equinox 
 
     driver location: ftp://ftp.equinox.com/library/sst 
 
   · GTEK Cyclone (16C654 UARTs; 6, 16 and 32 ports), 
 
     SmartCard (24MHz Dallas DS80C320; 8 ports), 
 
     BlackBoard-8A (16C654 UARTs; 8 ports), 
 
     PCSS (15/24MHz 8032; 8 ports) 
 
     contact: spot@gtek.com or http://www.gtek.com 
 
     driver status: supported by GTEK 
 
     driver location: ftp://ftp.gtek.com/pub 
 
   · Hayes ESP (COM-bic; 1 - 8 ports) 
 
     contact: Andrew J. Robinson, arobinso@nyx.net or 
     http://www.nyx.net/~arobinso 
 
     driver status: supported by author 
 
     driver location: http://www.nyx.net/~arobinso and included in Linux kernel 
     since version 2.1.15 
 
   · Maxpeed SS (Toshiba; 4, 8 and 16 ports) 
 
     contact: info@maxpeed.com or http://www.maxpeed.com 
 
     driver status: supported by Maxpeed 
 
     driver location: ftp://maxpeed.com/pub/ss 
 
   · Moxa C218 (12MHz 80286; 8 ports), 
 
     Moxa C320 (40MHz TMS320; 8 - 32 ports) 
 
     contact: info@moxa.com.tw or http://www.moxa.com.tw 
 
     driver status: supported by Moxa 
 
     driver location: ftp://ftp.moxa.com.tw/drivers/c218-320/linux 
 
   · SDL RISCom/8 (Cirrus Logic CD180; 8 ports) 
 
     contact: sales@sdlcomm.com or http://www.sdlcomm.com 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     6 
 
 
 
     driver status: supported by SDL 
 
     driver location: ftp://ftp.sdlcomm.com/pub/drivers 
 
   · Specialix SIO (20MHz Zilog Z280; 4 - 32 ports), 
 
     XIO (25MHz Zilog Z280; 4 - 32 ports) 
 
     contact: Simon Allen, simonallen@cix.compulink.co.uk 
 
     driver status: BETA 
 
     driver location: ftp://sunsite.unc.edu/pub/Linux/kernel/patches/serial 
 
   · Stallion EasyIO-4 (4 ports), EasyIO-8 (8 ports), and 
 
     EasyConnection (8 - 32 ports) - each with Cirrus Logic CD1400 UARTs, 
 
     Stallion (8MHz 80186 CPU; 8 or 16 ports), 
 
     Brumby (10/12 MHz 80186 CPU; 4, 8 or 16 ports), 
 
     ONboard (16MHz 80186 CPU; 4, 8, 12, 16 or 32 ports), 
 
     EasyConnection 8/64 (25MHz 80186 CPU; 8 - 64 ports) 
 
     contact: sales@stallion.com or http://www.stallion.com 
 
     driver status: supported by Stallion 
 
     driver location: ftp://ftp.stallion.com/drivers/ata5/Linux and included in 
     linux kernel since 1.3.27 
 
 
ÆäÖРComtrol, Cyclades, Digi, ¼° Stallion µÄ²úÆ·ÔÚ 1995 ÄêÁùÔ·ݵĠLinux Jour­ 
nal ÉÏÓÐÆª»Ø¹ËÎÄÕ£® ÕâÆªÎÄÕ¿ÉÔÚ http://www.ssc.com/lj/issue14 ÕÒµ½£® 
 
2.5  ²»Ö§Ô®µÄ´®ÁÐÓ²Ìå 
 
Ðû³Æ``Winmodems''µÄÊý¾Ý»ú£¬ÀýÈç USR Sportster Winmodem ¼° IBM Aptiva MWAVE£¬ 
ÎÞ·¨ÔÚ Linux ÉÏʹÓã®ÕâЩÊý¾Ý»ú¾ßÓÐרÃŵÄÉè¼ÆÐèÒªÌØ±ðµÄ Windows Çý¶¯³Ìʽ£® 
±ÜÃâʹÓÃÕâÑùµÄÊý¾Ý»ú£®³ý´ËÖ®Í⣬»ùì¶ÏàͬÀíÓÉÒ²±ðʹÓÃÐèÒª Rockwell RPI 
Çý¶¯³ÌʽµÄÊý¾Ý»ú£® 
 
ûÓРLinux ËùÐèÇý¶¯³ÌʽµÄÖÇ»ÛÐÍ´®ÁвºÒ²²»ÄÜʹÓã® 
 
 
3.  ´®ÁвºµÄÃû³ÆÊÇʲ÷á? 
 
Ò»¸öÊä³ö/Èë(I/O)²ºÊÇÓÃÀ´½«×ÊÁÏËÍÈëµçÄÔ¼°´ÓµçÄÔÈ¡³öµÄͨ·£® 
ÓÐÐí¶àÖÖÀàµÄÊä³ö/È벺£¬ÀýÈç´®Áвº£¬Æ½Ðвº£¬´Åµú¿ØÖÆÆ÷£¬ÒÒÌ«ÍøÂ·¿¨µÈµÈ£® 
ÎÒÃÇÒª´¦ÀíµÄÊÇ´®Áвº£¬ÒòΪÊý¾Ý»ú¼°ÖÕ¶Ë»úÊÇ´®ÁÐ×°Öã® 
ÿһ¸ö´®Áвº±ØÐëÓÐÒ»¸öÊä³ö/Èëλַ£¬ÒÔ¼°Ò»¸ö²å¶ÏºÅÂë(IRQ)£® ÓÐËĸö´®ÁÐÉ豸¶ÔÓ¦µ½ 
COM1 - COM4: 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     7 
 
 
 
     ttyS0 (COM1) address 0x3f8 IRQ 4 
     ttyS1 (COM2) address 0x2f8 IRQ 3 
     ttyS2 (COM3) address 0x3e8 IRQ 4 
     ttyS3 (COM4) address 0x2e8 IRQ 3 
 
 
Èç¹û Linux Æô¶¯Ê±Ã»ÓÐÕì²âµ½Èκδ®ÁÐ×°Öã¬ÇëÈ·¶¨ÔÚ±àÒëºËÐÄʱÓмÓÈë´®ÁÐÖ§Ô®£® 
ÔÚÕâ·ÝÎļþÖУ¬ÎÒÊÇÒÔ ttyS0 ²ÎÕÕ COM1£¬ttyS1 ²ÎÕÕ COM2£¬ÒÔ ttyS2 ²ÎÕÕ COM3 
£¬¶øÒÔ ttyS3 ²ÎÕÕ COM4£® ×¢ÒâÕâЩװÖÃÔ¤ÉèµÄ IRQ 
ÊÇÖØµþµÄ£®ÄãÎÞ·¨ÓÉÕâЩԤÉèֵʹÓÃËùÓеĴ®Áвº£¬Äã±ØÐëÖØÐÂÖ¸¶¨²»Í¬µÄ IRQ£® ²Î¼û 
ÎÒÄÜʹÓó¬¹ýÁ½¸öµÄ´®ÁÐ×°ÖÃÂð? (section 8., page 17) Ò»½Ú˵Ã÷ÈçºÎÉ趨 IRQ£® 
 
ijЩ°²×°·½Ê½»á½¨Á¢Á½¸ö¶îÍâµÄÉ豸£¬¸øÄãÊý¾Ý»úʹÓõĠ/dev/modem 
ÒÔ¼°¸øÄ㻬ÊóʹÓõĠ/dev/mouse£® ËüÃǶ¼ÊÇÁ´½áµ½ÄãÔÚ°²×°Ê±ËùÖ¸¶¨Êʵ± /dev 
ÀïµÄÉ豸µÄ·ûºÅÁ´½á£¨³ý·ÇÄãÓõÄÊÇ»ãÁ÷ÅÅ»¬Êó(bus mouse) £¬ÄÇ÷á /dev/mouse 
½«»áÖ¸µ½»ãÁ÷ÅÅ»¬ÊóÕâ¸öÉ豸£©£® 
 
ÒѾ­ÓÐЩ¹Øì¶Ê¹Óà/dev/mouse ÒÔ¼° /dev/modem ÓÅȱµãµÄÌÖÂÛ£® 
ÎÒÇ¿Áҵط´¶ÔʹÓÃÕâЩÁ´½á£¬Èç¹ûÄã´òËãÓÃÄãµÄÊý¾Ý»ú½ÓÊܲ¦½ÓµÄ»°£¬ÒªÊÇÄãʹÓÃÁË 
/dev/modem ÄÇ÷áÄ㽫»áÒòÎªËø¶¨µµ°¸(lock files)ÎÞ·¨ÕýÈ·ÔË×÷¶øÔâÓöµ½À§ÄÑ£® 
Èç¹ûÄãϲ»¶ËüÃǵϰ¾ÍÓðɣ¬µ«ÊÇҪȷ¶¨ËüÃÇÖ¸ÏòÕýÈ·µÄÉ豸£® 
È»¶ø£¬Èç¹ûÄã¸Ä±ä»ò³ýÈ¥Õâ¸öÁ¬½á£¬Ä³Ð©Ó¦ÓóÌʽ(ÀýÈç minicom)¿ÉÄÜÒªÖØÐÂÉ趨£® 
 
3.1  ÔÚ /dev ÀïµÄ´®ÁÐÉ豸¼°Ö÷ÒªºÍ´ÎÒªºÅÂë 
 
     /dev/ttyS0 major 4, minor 64  /dev/cua0 major 5, minor 64 
     /dev/ttyS1 major 4, minor 65  /dev/cua1 major 5, minor 65 
     /dev/ttyS2 major 4, minor 66  /dev/cua2 major 5, minor 66 
     /dev/ttyS3 major 4, minor 67  /dev/cua3 major 5, minor 67 
 
 
ҪעÒâµ½ËùÓеķ¢ÐÐÌ×¼þ¶¼Ó¦¸ÃÒѾ­ÕýÈ·µØ½¨Á¢ÁËÕâЩÉ豸£® Äã¿ÉÒÔÓÃÏ·¨¼ì²é: 
 
     linux% ls -l /dev/cua* 
     linux% ls -l /dev/ttyS* 
 
3.1.1  ÔÚ /dev Öн¨Á¢É豸 
 
Èç¹ûÄãûÓÐÆäÖеÄÒ»¸öÉ豸£¬Äã±ØÐë×Ô¼ºÓàmknod Ö¸ÁÁ¢Ëü£® ÀýÈ磬¼Ù¶¨ÄãÐèÒª½¨Á¢ 
ttyS0 É豸£º 
 
     linux# mknod -m 666 /dev/cua0 c 5 64 
     linux# mknod -m 666 /dev/ttyS0 c 4 64 
 
 
ÄãÒ²¿ÉÒÔʹÓàMAKEDEV Õâ¸öÖ¸Áî¸å£¬ÔÚ /dev ÏÂÓ¦¸Ã»áÓУ® 
Õâ¼ò»¯ÁËÉ豸µÄ½¨Á¢£®ÀýÈ磬Èç¹ûÄãÐèÒª½¨Á¢ ttyS0 É豸ÔòÓ¦¸ÃÊäÈ룺 
 
     linux# cd /dev 
     linux# ./MAKEDEV ttyS0 
 
 
Õ⽫»á´¦Àí¹Øì¶Á¬Ïß½øÀ´ÒÔ¼°Á¬Ïß³öÈ¥µÄÉ豸֮½¨Á¢£¬²¢É趨ÕýÈ·µÄȨÏÞ£® 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     8 
 
 
 
3.2  Ò»°ã¶à²º°åµÄ×¢ÒâÊÂÏî 
 
ÄãµÄ¶à²º°åËùʹÓõÄÉ豸ÊÓÄãʹÓÃÄÇÒ»Öֶ಺°å¶ø¶¨£® ÕâЩϸ½ÚÏêϸÁÐÔÚËæ¸½ì¶ setse­ 
rial ³ÌʽµÄ rc.serial ÀïÃæ£® Èç¹ûÄã³¢ÊÔʹÓö಺°åµÄ»°ÎÒÇ¿ÁÒ½¨ÒéÄãÈ¡µÃ×îа汾µÄ 
setserial£® Äã¿ÉÄÜ»áÐèÒª½¨Á¢ÕâЩÉ豸£®ÎÞÂÛÊÇÓàmknod Ö¸Áî»òÊÇ MAKEDEV 
Ö¸Áî¸å¶¼¿ÉÒÔ£® ¶à²º°åËùÓÃÉ豸ÊÇÒÔ¼ÓÉÏ ``64 + ²ººÅ'' À´½¨Á¢µÄ£®ËùÒÔ£¬Èç¹ûÄãÏëΪ 
ttyS17 ½¨Á¢É豸£¬ÄãÓ¦¸ÃÊäÈ룺 
 
     linux# mknod -m 666 /dev/cua17 c 5 81 
     linux# mknod -m 666 /dev/ttyS17 c 4 81 
 
 
ҪעÒâµ½ ''64 + 17 = 81''£®Ê¹ÓàMAKEDEV Ö¸Áî¸åµÄ»°£¬ÄãÓ¦¸ÃÊäÈ룺 
 
     linux# cd /dev 
     linux# ./MAKEDEV ttyS17 
 
×¢Òâ: SIIG µÄ IO1812 ÊÖ²áÉÏÁгöµÄ COM5-COM8 ÊÇ´íµÄ£®ËüÃÇÓ¦¸ÃÊÇ COM5=0x250, 
COM6=0x258, COM7=0x260, ÒÔ¼°   COM8=0x268£® 
 
×¢Òâ: Digi PC/8 Interrupt Status Register ÊÇ 0x140£® 
 
×¢Òâ: ¶Ôì¶ AST Fourport£¬Äã±ØÐëÔÚ rc.serial ÖÐÖ¸¶¨ skip_test£® 
 
3.3  ÖÇ»ÛÐͶ಺°åµÄ×¢ÒâÊÂÏî 
 
ÔĶÁËæ¸½Çý¶¯³Ìʽ¶øÀ´µÄ×ÊѶ£® 
ÕâЩ°åʹÓÃÁËÌØÊâµÄ×°Ö㬶ø·Ç±ê×¼µÄ£®ÕâЩ×ÊѶÊÓÄãµÄÓ²Ìå¶ø¶¨£® 
 
 
4.  ÄãÓ¦ÖªµÀµÄÓÐȤ³Ìʽ 
 
4.1  Ê²÷áÊÇ getty? 
 
getty ÊÇÔÚÄãÇ©Èë Unix »úÆ÷µÄʱºò´¦ÀíÇ©Èë³ÌÐòµÄÒ»Ö§³Ìʽ£® Èç¹ûÄãÏ£ÍûÄãµÄ Linux 
»úÆ÷Äܹ»Ê¹ÓÃÊý¾Ý»ú²¦ÈëµÄ»°Äã»áÐèÒª getty£® 
Èç¹ûÄãÖ»ÐèÒªÓÃÊý¾Ý»ú²¦³öµÄ»°Äã²»ÐèÒªÓàgetty£® ÓÐÈýÖÖ¾­³£ÅäºÏ Linux Ê¹Óõİ汾: 
getty_ps, mgetty ÒÔ¼° agetty£® ÕâЩ³ÌʽµÄÓï·¨ÊDz»Í¬µÄ£¬ËùÒÔ²»ÂÛÄãÓÃʲ÷á getty 
ÇëÈ·¶¨ÄãʹÓÃÁËÕýÈ·µÄÓï·¨£® 
 
4.1.1  ¹Øì¶ getty_ps 
 
      ´ó²¿·Ö Linux  °²×°Ì×¼þ¶¼°²×°ÁË getty_ps Ì×¼þ£®Ëü°üº¬ÁËÁ½¸ö³Ìʽ: getty 
ÊÇÓÉÖ÷¿ØÌ¨£¬ÒÔ¼°ÖÕ¶Ë»úÉ豸ËùʹÓ㬶ø uugetty ÔòÊÇÓÉÊý¾Ý»úËùʹÓõģ® 
ÒòΪÎÒ±¾ÉíÊÇʹÓÃÕâ¸ö°æ±¾µÄ getty£¬ËùÒÔÔÚÕâ·ÝÎļþÖÐÎÒ½«»áÖøÖØì¶´ËÌ×¼þ£® 
 
4.1.2  ¹Øì¶ mgetty 
 
mgetty ÊÇÒ»¸öÔÚÊý¾Ý»úÉÏʹÓõĠgetty °æ±¾£® ³ýÁËÄܹ»ÔÊÐíÇ©ÈëÖ®Í⣬ mgetty 
Ò²Ìṩ´«Õæ(FAX)Ö§Ô®¼°×Ô¶¯ PPP Õì²â£® ÕâÌ× mgetty 
µÄÎļþдµÃÏ൱µØºÃ£¬Òò¶ø²»ÐèÒªÔÙ²¹³äʲ÷ᣮÇë²Î¿¼ËüµÄ°²×°ËµÃ÷£® ÄãÒ²¿ÉÒÔÔÚ 
http://www.leo.org/~doering/mgetty/ ÕÒµ½ mgetty µÄ×îÐÂ×ÊѶ£® 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                     9 
 
 
 
4.1.3  ¹Øì¶ agetty 
 
agetty ÊǵÚÈýÖÖ getty ±äÐÍ£® ËüÊÇ getty 
Ò»¸ö¼òµ¥µÄ£¬ÍêÕûµÄ¹¦ÄÜʵ×÷£¬ÊʺÏÓÃÔÚÐéÄâÖ÷¿ØÌ¨»òÖÕ¶Ë»ú¶ø·ÇÊý¾Ý»úÉÏ£® 
 
4.2  Ê²÷áÊÇ setserial? 
 
setserial 
ÊÇÒ»Ö§¿ÉÒÔÈÃÄã²é¿´²¢Ð޸Ĵ®ÁÐÉ豸¸÷ÖÖÊôÐԵijÌʽ£¬°üÀ¨ËüÃÇËùʹÓõIJºÎ»Ö·£¬Öжϣ¬ÒÔ¼°ÆäËü´®ÁвºÑ¡Ï 
Äã¿ÉÒÔ½åÓÉÖ´Ðв»¼Ó²ÎÊýµÄ setserial À´»ñÈ¡°æ±¾Ñ¶Ï¢£® 
 
ÔÚÄãµÄ  Linux ÏµÍ³Æô¶¯Ê±£¬Ö»ÓРttyS{0-3} »áÒÔÔ¤ÉèµÄ IRQ 4 ÒÔ¼° 3 À´½øÐÐÅäÖã® 
ËùÒÔ£¬Èç¹ûÄãÓÐÈκÎÓÉÆäËü½çÃæ¿¨ÌṩµÄ´®Áвº»òÊÇ ttyS{0-3} 
ʹÓ÷DZê×¼µÄÓ²ÌåÖжÏ(IRQ)µÄ»°£¬ 
Äã±ØÐëÓÃÕâÖ§³ÌʽÀ´ÅäÖÃÕâЩ´®Áвº£®ÒªÖªµÀËùÓеÄÑ¡ÏîÇë²Î¿¼ÏßÉÏÊֲᣮ 
 
 
5.  ÎÒÔõ÷áÓÃÊý¾Ý»ú²¦ºÅ³öÈ¥? 
 
5.1  Ó²ÌåÐèÇó 
 
Ê×ÏÈ£¬ÒªÈ·¶¨ÄãÓµÓÐÕýÈ·µÄÁ¬½ÓÏߣ®ÄãµÄÊý¾Ý»úÐèÒªÒ»ÌõÖ±½ÓµÄ (straight through) 
Á¬½ÓÏߣ¬Ã»ÓÐÈκÎÌøÏß (no pins crossed)£® 
ÈκÎÒ»¼ÒµçÄÔÉ̵궼ÓУ®ÒªÈ·¶¨½ÓÍ·µÄÐÎʽÊǶԵģ®Èç¹ûÄãʹÓõÄÊÇ DB25 
´®Áвº£¬ËüÓ¦¸ÃÊǹ«µÄ DB25 ½ÓÍ·£® 
°ÑÄãµÄÊý¾Ý»ú½Óµ½ÆäÖÐÒ»¸ö´®ÁвºÉÏ£®Èç¹ûÄãÐèÒª¹Øì¶Õâ¸ö¶¯×÷µÄ¸¨Öú˵Ã÷Çë²Î¿¼ÄãµÄÊý¾Ý»úÊֲᣮ 
 
5.1.1  ÄÚ½ÓʽÊý¾Ý»ú×¢ÒâÊÂÏî 
 
¶Ôì¶ÄÚ½ÓʽÊý¾Ý»ú¶øÑÔ£¬Äã²»ÐèÒªÁ¬½ÓÏߣ®ÄÚ½ÓʽÊý¾Ý»ú²»ÐèÒª´®Áвº£¬Ëü×Ô¼ºÓÐÄÚ½¨Ò»¸ö£® 
ÄãÖ»ÒªÅäÖÃÒ»¸öûÓб»Ê¹ÓõÄÓ²ÌåÖжϸøËü£¬²¢ÇÒÅäÖøòºµÄÊä³öÈëλַ£®Èç¹ûÄ㿨ÔÚij¸öÎÊÌâÉÏÇë²Î¿¼ÄãµÄÊý¾Ý»úÊֲᣮ 
ͬÑù£¬Èç¹ûÄãÐèÒª¹Øì¶Ñ¡ÔñÖжÏÒÔ¼°Î»Ö·ÉϵİïÖú£¬²ÎÔÄ 
ÎÒÄÜʹÓó¬¹ýÁ½¸öµÄ´®ÁÐ×°ÖÃÂð? (section 8., page 17) Ò»½ÚµÄ˵Ã÷£® 
 
ÔÚijЩÖ÷»ú°åÉÏÄã±ØÐë¹Øµô±»Êý¾Ý»úÈ¡´úµÄ´®ÁвºÒÔ±ÜÃâ³åÍ»£® Õâ¿É¾­ÓÉÌøÏß»ò BIOS 
µÄÉ趨À´°ìµ½£¬ÊÓÄãµÄÖ÷»ú°å¶ø¶¨£®²éÔÄÄãµÄÖ÷»ú°åÊֲᣮ 
 
ÓÉì¶ IBM8514 ÊÓѶ¿¨µÄÒ»¸ö´íÎó£¬Èç¹ûÄãÏëÒª½«ÄãµÄÄÚ½ÓʽÊý¾Ý»úÉèÔÚ ttyS3 
µÄ»°¿ÉÄÜ»áÔâÓöһЩÎÊÌ⣮ Èç¹û Linux Ã»ÓÐÕì²âµ½ÄãÉèÔÚ ttyS3 
ÉϵÄÄÚ½ÓʽÊý¾Ý»ú£¬Äã¿ÉÒÔʹÓàsetserial ³ÌʽÀ´É趨ȻááÊý¾Ý»ú½«»áÕý³£ÔË×÷£® ÉèÔÚ 
ttyS{0-2} ÉϵÄÄÚ½ÓʽÊý¾Ý»úÔÚÕì²âÉÏÓ¦¸Ã²»»áÓÐÈκÎÎÊÌ⣮ ÓÉì¶´ËÊÓѶ¿¨µÄ´íÎó Linux 
ÔÚ ttyS3 Ã»ÓÐÈκÎ×Ô¶¯Õì²âµÄ¶¯×÷£® 
 
5.2  ÓëÄãµÄÊý¾Ý»ú½»Ì¸ 
 
ÔÚÄãʹÓø´ÔÓµÄͨѶ³ÌʽÈç SLIP »ò PPP Ö®Ç°ÏÈÒÔ kermit 
»òÆäËü¼òµ¥µÄͨѶ³ÌʽÀ´²âÊÔÕâЩÉ趨£® Äã¿ÉÒÔ´Ó http://www.columbia.edu/kermit/ 
ÒÔ¼°Ó³Éä½ÚµãÉÏÕÒµ½×îеĠkermit °æ±¾£® ÀýÈ磬ҪÊÇÄãµÄÊý¾Ý»úÉèÔÚ ttyS3 
ÉÏ£¬¶øÇÒ¿ÉÒÔ½ÓÊÜ 115200 bps µÄ»°£¬Äã¿ÉÒÔÕâÑù×ö: 
 
 
 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    10 
 
 
 
     linux# kermit 
     C-Kermit 6.0.192, 6 Sep 96, for Linux 
      Copyright (C) 1985, 1996, 
       Trustees of Columbia University in the City of New York. 
     Default file-transfer mode is BINARY 
     Type ? or HELP for help. 
     C-Kermit>set line /dev/ttyS3 
     C-Kermit>set carrier-watch off 
     C-Kermit>set speed 115200 
     /dev/ttyS3, 115200 bps 
     C-Kermit>c 
     Connecting to /dev/ttyS3, speed 115200. 
     The escape character is Ctrl-\ (ASCII 28, FS) 
     Type the escape character followed by C to get back, 
     or followed by ? to see other options. 
     ATE1Q0V1                           ; ÕâÊÇÄã¼üÈëµÄ²¢°´Ï Enter ¼ü 
     OK                                 ; Êý¾Ý»úÓ¦¸Ã»ØÓ¦Õâ¸ö 
 
Èç¹ûÄãµÄÊý¾Ý»ú¶Ô AT Ö¸ÁîȺÓлØÓ¦£¬ÄÇ÷áÄã¿ÉÒÔ¼Ù¶¨ÄãµÄÊý¾Ý»úÔÚ Linux 
ÕâÒ»¶ËÄÜÕýÈ·ÔË×÷£® ÏÖÔÚÊÔÖø²¦¸øÁíһ̨Êý¾Ý»ú: 
 
     ATDT7654321 
 
 
ÆäÖР7654321 ÊÇÒ»¸öµç»°ºÅÂ룮Èç¹ûÄãµÄÊÇÂö³åÏß·(pulse line)µÄ»°ÓàATDP ¶ø²»ÊÇ 
ATDT£® Èç¹û¿ÉÒÔ²¦µÃ³öÈ¥£¬ÄãµÄÊý¾Ý»ú¾Í¿ÉÕý³£ÔË×÷£® 
 
»Øµ½ kermit µÄÌáʾ·ûºÅÏ£¬°´×¡ Ctrl ¼ü£¬°´Ï \ (backslash) Â¼£¬È»áá·Å¿ª Ctrl 
¼£¬ÔÙ°´Ï C ¼ü: 
 
     Ctrl-\-C 
     (Back at linux) 
     C-Kermit>quit 
     linux# 
 
Õâ¸ö²»¹ýÊÇÓÃ"ÊÖ¶¯"·½Ê½µÄ²¦ºÅ²âÊÔ£®Õý³£µÄ·½·¨ÊÇÈàkermit 
ÓÃËüÄÚ½¨µÄÊý¾Ý»ú×ÊÁÏ¿â×Ô¶¯ÎªÄ㲦ºÅ£¬ÀýÈ磬ʹÓàUS Robotics (USR) modem: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    11 
 
 
 
     linux# kermit 
     C-Kermit 6.0.192, 6 Sep 1997, for Linux 
      Copyright (C) 1985, 1996, 
       Trustees of Columbia University in the City of New York. 
     Default file-transfer mode is BINARY 
     Type ? or HELP for help 
     C-Kermit>set modem type usr        ; Ñ¡ÔñÊý¾Ý»úÐÍʽ 
     C-Kermit>set line /dev/ttyS3       ; Ñ¡ÔñͨѶװÖà
     C-Kermit>set speed 115200          ; É趨ͨѶËÙ¶È 
     C-Kermit>dial 7654321              ; ²¦ºÅ 
      Number: 7654321 
      Device=/dev/ttyS3, modem=usr, speed=115200 
      Call completed.<BEEP> 
     Connecting to /dev/ttyS3, speed 115200 
     The escape character is Ctrl-\ (ASCII 28, FS). 
     Type the escape character followed by C to get back, 
     or followed by ? to see other options. 
 
     Welcome to ... 
 
     login: 
 
Èç¹ûÄãÐèҪһЩָÒý£¬²éÔÄÓйؠͨѶÈíÌå (section 10., page 20) Ò»½Ú˵Ã÷£® 
 
µ±ÄãÓÃÄãµÄÊý¾Ý»ú²¦ºÅ³öȥʱ£¬½«ÄãµÄÊý¾Ý»úÉèµ½ËüËùÄÜÖ§Ô®µÄ×î¸ßËÙ¶È£® Linux µÄ 
libc 5.x °æÒÔÉÏÒѾ­Ö§Ô®µ½ 115200 bps£® libc Í¨³£·ÅÔÚ 
/lib£¬Òò´Ëµ½ÄÇÀï¿´Ò»ÏÂÄãÓÃʲ÷á°æ±¾£® Èç¹û Linux ÎÞ·¨Èϵà57600 »ò 115200 
bps£¬ÄÇ÷áÄã±ØÐëÓàsetserial ³ÌʽÀ´½«ÄãµÄ´®ÁвºÉèµ½¸ü¸ßµÄËÙ¶È£® 
¹Øì¶ÒªÔõ÷áÉ趨²ÎÔÄ ÈçºÎ½«ÎҵĴ®ÁвºÉ趨Ϊ¸ü¸ßËÙ¶È? (section 9., page 19) 
¸Ã½Ú˵Ã÷£® È»ááÔÚͨѶ³ÌʽÀォËÙ¶ÈÉèµ½ 38400 bps£® 
 
5.3  ²¦³öÓõÄÊý¾Ý»úÅäÖà
 
Ö»Òª²¦ºÅ³öÈ¥µÄ»°£¬Äã¿ÉÒÔÈÎÒâÒÔÄãÏëÒªµÄ·½Ê½ÅäÖÃÄãµÄÊý¾Ý»ú£® 
Èç¹ûÄã¼Æ»­ÓÃÄãµÄÊý¾Ý»úÀ´½ÓÊܲ¦½Ó£¬ÄÇ÷áÄã±ØÐ뽫ÄãµÄÊý¾Ý»úÅäÖóÉÓëÄãÏëÒªÖ´ÐеĠ
getty ÔÚÏàͬËÙ¶ÈÉ趨Ï£® ËùÒÔ£¬Èç¹ûÄãÏëÒªÔÚ 38400 bps µÄËÙ¶ÈÏÂÖ´ÐРgetty 
µÄ»°£¬ÔÚÅäÖÃÄãÊý¾Ý»úµÄʱºò½«ËÙ¶ÈÉè³É 38400 bps£® 
ÕâÑù×öÊÇΪÁ˱ÜÃâÄãµÄµçÄÔÓëÊý¾Ý»úÖ®¼äµÄËÙ¶ÈÎÞ·¨ÅäºÏ£® 
Ò»°ãÀ´Ëµ£¬¿ªÆô´íÎóУÕý¼°Ó²ÌåÁ÷Á¿¿ØÖƵijö³§É趨ֵÊÇ×îÊʺϲ¦³öÓõÄÊý¾Ý»ú£¬ÕâЩÉ趨ֵ¿É²éÔÄÄãµÄÊý¾Ý»úÊֲᣮ 
 
5.4  Ó²ÌåÁ÷Á¿¿ØÖÆ 
 
Èç¹ûÄãµÄÊý¾Ý»úÖ§Ô®Ó²ÌåÁ÷Á¿¿ØÖÆ(RTS/CTS)µÄ»°£¬ ÎÒÇ¿Áҵؽ¨ÒéÄãȥʹÓÃËü£® 
Õâ¶Ôì¶Ö§Ô®×ÊÁÏѹËõµÄÊý¾Ý»ú½«¸ñÍâÖØÒª£®Ê×ÏÈ£¬Äã±ØÐëÔÚ´®Áвº±¾ÉíÉÏÃæÆô¶¯ RTS/CTS 
Á÷Á¿¿ØÖƹ¦ÄÜ£® Õâ×îºÃÊÇÔÚÆô¶¯ÏµÍ³µÄʱºò×ö£¬ÏñÊÇ·ÅÔÚ /etc/rc.d/rc.local »òÊÇ 
/etc/rc.d/rc.serial ÀïÃæ£® ÒªÈ·¶¨ÕâЩµµ°¸»á±»Ö÷ÒªµÄ rc.sysinit 
µµ°¸Ö´ÐУ¡ÄãÐèÒª¶Ôÿһ¸öÄãÏëÒªÆô¶¯Ó²ÌåÁ÷Á¿¿ØÖƵĴ®ÁвºÖ´ÐÐÏÂÁвÙ×÷£º 
 
     stty crtscts < /dev/ttyS3 
 
 
ÄãÒ²±ØÐëÔÚÄãµÄÊý¾Ý»úÉÏÆô¶¯ RTC/CTS 
Á÷Á¿¿ØÖÆ£®ÒªÔõ÷á×öÇë²Î¿¼ÄãµÄÊý¾Ý»úÊֲᣬÒòΪÕâÔÚ²»Í¬µÄÊý¾Ý»úÖÆÔìÉÌÖ®¼äÊDz»Í¬µÄ£® 
Èç¹ûÄãµÄÊý¾Ý»úÖ§Ô®É趨´¢´æµÄ»°ÔòҪȷ¶¨½«ÅäÖôæÈëÄãµÄÊý¾Ý»ú£® 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    12 
 
 
 
6.  ÎÒÒªÔõ÷áÑùÓÃÊý¾Ý»úÒÔ getty_ps ²¦Èë¼°²¦³ö? 
 
ÈÃÄãµÄÊý¾Ý»úÄܹ»ÕýÈ·µØ²¦ºÅ³öÈ¥£®Èç¹ûÄ㻹ûÓжÁ¹ý ÎÒÔõ÷áÓÃÊý¾Ý»ú²¦ºÅ³öÈ¥ (sec­ 
tion 5., page 9) Ò»½ÚµÄ»°ÏÖÔÚÈ¥¶Á£¡ 
Ëü°üº¬Óзdz£ÖØÒªµÄÉ趨×ÊѶ£®Èç¹ûÄãÖ»ÏëÓÃÊý¾Ý»úÀ´²¦³öµÄ»°Äã²»ÐèÒª¶Á´Ë½Ú£® 
 
6.1  ²¦Èë¼°²¦³öµÄÊý¾Ý»úÅäÖà
 
ÒªÓÃÀ´½ÓÊܲ¦½ÓÒÔ¼°²¦ºÅ³öÈ¥µÄ»°£¬ÄÇ÷áÄã±ØÐëȷʵµØÉ趨ÄãµÄÊý¾Ý»ú£¨ÔÙÒ»´Î¶ÔÄãµÄÊý¾Ý»úʹÓà
AT Ö¸ÁîȺ£©£º 
 
     E1       ±¾µØ»ØÓ¦Ö¸Áî 
     Q0       »Ø±¨½á¹û»ØÓ¦ 
     V1       ¿ªÆôÈß³¤Ä£Ê½ 
     S0=0     ²»Òª½ÓÌý (uugetty ÒÔ WAITFOR Ñ¡ÏîÀ´´¦Àí) 
 
 
Èç¹ûÄãûÓÐÕýÈ·µØÉ趨£¬·ÅÔÚÄãÅäÖõµÀïµÄÆðʼ(INIT)×Ö´®¿ÉÄÜ»áʧ°Ü£¬Òò¶øÍ£×¡Õû¸ö³ÌÐò£® 
µ«ÊÇ£¬ÏÂÃæÓиü¶àÅäÖõµµÄÑ¡Ïî... 
 
     &C1     DCD Ö»ÓÐÔÚÁ¬ÏßÒÔáá²Å¿ªÆô 
     &S0     DSR ÓÀԶΪ¿ªÆô 
             DTR ¿ªÆô/¹Ø±Õ ÖØÖÃÊý¾Ý»ú£¨ÊÇÊý¾Ý»úÖÆÔìÉ̶ø¶¨ - RTFM) 
 
 
ÕâЩ»áÓ°ÏìÄãÊý¾Ý»úÓйؿªÊ¼ÒÔ¼°½áÊø²¦ºÅµÄ¶¯×÷£® 
 
Èç¹ûÄãµÄÊý¾Ý»ú²»Ö§Ô®´¢´æÉ趨£¬Äã¿ÉÒÔ͸¹ýÔÚÄãÅäÖõµÀïµÄÆðʼ×Ö´®À´É趨ÕâЩ¶«Î÷£® 
²ÎÔÄÏÂÃæËùÊö£®ÓÐһЩÊý¾Ý»úÊÇÒÔ DIP 
¿ª¹ØÀ´Ó°ÏìÔÝ´æÆ÷µÄÉ趨£¬Ò²ÒªÈ·¶¨ÕâЩÉ趨ÊÇÕýÈ·µÄ£® 
 
ÎÒÒѾ­¿ªÊ¼ÖøÊÖÊÕ¼¯²»Í¬ÖÖÀàÊý¾Ý»úµÄÉ趨£® 
µ½Ä¿Ç°ÎªÖ¹£¬ÎÒ»¹Ö»ÓÐËüÃǵÄһС²¿·Ö£¬Èç¹ûÄãÏëÒª¼ÄË͸øÎÒÄãĿǰËùÓÃÅäÖ㬷dz£»¶Ó­! 
Äã¿ÉÒÔ´ÓÕâЩȡµÃÉèЩÉ趨: ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-con­ 
figs£® 
 
×¢Òâ: ÎªÁËÈÃÎҵĠUSR Courier V.34 Êý¾Ý»úÔÚ DTR 
ѶºÅµôÏÂÈ¥ááÕý³£µØÖØÖã¬ÎÒ±ØÐëÉ趨 &D2 ¼° S13=1(ÕâÊÇÉ趨ÔÝ´æÆ÷ S13 µÄ bit 
0)£®ÕâÈ·¶¨ÄÜÔÚ USR Sportster V.34 ÉÏÔË×÷Õý³££® 
 
×¢Òâ: Ä³Ð© Supra Êý¾Ý»ú´¦Àí DCD Ñ¶ºÅµÄ·½Ê½Òìì¶ÆäËüµÄÊý¾Ý»ú£® Èç¹ûÄãÔÚÓàSupra 
Êý¾Ý»ú£¬ÊÔÖøÉ趨Ϊ &C0 ¶ø²»ÊÇ &C1£® ÄãÒ²±ØÐëÉ趨 &D2 Ê¹Ö®Õý³£µØ´¦Àí DTR Ñ¶ºÅ£® 
 
6.2  °²×° getty_ps 
 
´Ó ftp://sunsite.unc.edu/pub/Linux/system/serial ×îеİ汾£® 
ÌØ±ðµØ£¬Èç¹ûÄãÏëʹÓøßËÙͨѶ(57600 »ò 115200 bps)£¬Äã±ØÐëÈ¡µÃ 2.0.7j 
»òÒÔááµÄ°æ±¾£® ÄãÒ²±ØÐëÓРlibc 5.x »òÖ®ááµÄ°æ±¾£® 
 
ÒÀÕÕÔ¤ÉèÖµ£¬getty_ps ½«»áÕÕ Linux µÄµµ°¸ÏµÍ³±ê×¼(FSSTND, File System Stan­ 
dard)À´ÅäÖã¬Õâ¸öÒâ˼ÊǶþ½øÎ»Â뽫»á·ÅÔÚ /sbin Ï£¬¶øÅäÖõµ½«»áÒÔ 
/etc/conf.{uu}getty.ttySN À´ÃüÃû£® Õâµã²¢²»ÄÜ´ÓÎļþÐðÊöÖÐÕÒµ½£¡ËüÒ²»á¼Ù¶¨ lock 
files ½«µÃÒª·Åµ½ /var/lock Ä¿Â¼ÀҪȷ¶¨ÄãÓР/var/lock Õâ¸öĿ¼£® 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    13 
 
 
 
Èç¹ûÄã²»ÏëÒÀÕÕ FSSTND µÄ»°£¬¶þ½øÎ»Â뽫»á·Åµ½ /etc ÀïÃæ£¬¶øÅäÖõµ½«»á·Åµ½ 
/etc/default/{uu}getty.ttySN ÀïÃæ£¬¶ø lock files Ôò½«»á·Åµ½ /usr/spool/uucp 
ÀïÃæ£® Èç¹ûÄãÓÐʹÓàUUCP µÄ»°ÄÇ÷áÎÒ½¨ÒéÕâÑù×ö£¬ÒòΪÈç¹ûÄã°Ñ lock files °áµ½ 
UUCP ÎÞ·¨ÕÒµ½µÄµØ·½È¥ÄÇ÷áËü½«»á³öÎÊÌâµÄ£® 
 
getty_ps Ò²¿ÉʹÓàsyslogd À´¼Ç¼ѶϢ£®Èç¹ûÄãĿǰûÓÐÖ´ÐÐËüµÄ»°£¬²ÎÔÄ syslogd(1) 
ÒÔ¼° syslog.conf(5) µÄÏßÉÏÊÖ²áÀ´É趨 syslogd£® Ñ¶Ï¢»áÓÅÏÈÒÔ LOG_AUTH 
¼Ç¼£¬´íÎóʹÓàLOG_ERR ¼Ç¼£¬¶ø³ý´íʹÓàLOG_DEBUG£® Èç¹ûÄã²»ÏëʹÓàsyslogd 
µÄ»°ÄÇ÷áÄã¿ÉÒԱ༭ÔÚ getty_ps Ô­Ê¼µµ°¸ÀïµÄ tune.h 
ÓÃÒ»¸ö¼Ç¼µµÀ´È¡´ú£¬Ô¤ÉèµµÃûΪ /var/adm/getty.log£® 
 
      ¾ö¶¨ºÃÊÇ·ñÒªÒÀÕÕ FSSTND ÒÔ¼°Ê¹Óàsyslog£®ÄãÒ²¿ÉÒÔÑ¡ÔñÁ½ÕßµÄ×éºÏ£® ±à¼­ 
Makefile£¬tune.h ÒÔ¼° config.h À´·´Ó¦ÄãËù×÷µÄ¾ö¶¨£® 
È»áᣬ¸ù¾ÝÌ×¼þÀïµÄ˵Ã÷±àÒë¼°°²×°£® 
 
 
 
´ÓÏÖÔÚÆð£¬ËùÓÐ̸µ½ getty µÄµØ·½¶¼ÊÇÖ¸ getty_ps ¶øÑÔ£® Ì¸µ½ uugetty ÔòÊÇÖ¸ 
getty_ps Ì×¼þÀïµÄ uugetty ¶øÑÔ£® ÕâЩָÁîÔÚ mgetty »ò agetty ÉϽ«²»ÄÜÔË×÷£® 
 
6.3  É趨 uugetty 
 
ΪÁËÒªÄÜ´ÓÄãµÄÊý¾Ý»ú²¦Èë¼°²¦³ö£¬ÎÒÃÇÏëÒªÓàuugetty£®uugetty Ö´ÐкÜÖØÒªµÄ lock 
file ¼ì²é£® Èç¹ûûÓеϰ¸üР/etc/gettydefs 
ÒÔ±ãΪÊý¾Ý»úÔö¼ÓÏîÄ¿(×¢Òâµ½ÕâÀïµÄÏîÄ¿»¥Ïà²Î¿¼£¬ËüÃDz¢·Ç¹Ì¶¨ËÙ¶È - 
ÿ¸öÏîĿ֮¼äµÄ¿Õ°×ÐÐÊDZØÒªµÄ): 
 
     # Modem entries 
     115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600 
 
     57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400 
 
     38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200 
 
     19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600 
 
     9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400 
 
     2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200 
 
Èç¹ûÄãÓР9600 bps 
»ò¸ü¿ìÇÒ¾ß×ÊÁÏѹËõ¹¦ÄܵÄÊý¾Ý»ú£¬Äã¿ÉÒÔËø¶¨ÄãµÄ´®ÁвºËٶȶøÈÃÊý¾Ý»úÈ¥´¦Àí´«ÊäµÄÆäËüËÙ¶È£® 
È»áᣬ²»ÏñÉÏÃæÔÚ /etc/gettydefs ÀïµÄÒ»Á¬´®ÁÐ±í£¬Ö»ÐèΪÊý¾Ý»ú¼ÓÉÏÒ»ÐУ¬ÀýÈç: 
 
     # 115200 fixed speed 
     F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200 
 
      Èç¹ûÄ㽫ÄãµÄÊý¾Ý»úÉè³É RTS/CTS Ö´ÐÐÓ²ÌåÁ÷Á¿¿ØÖƵϰ£¬ÄÇ÷áÄã¿ÉÒÔ½« CRTSCTS 
¼Óµ½ÕâЩÏîÄ¿À 
 
     # 115200 fixed speed with hardware flow control 
     F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200 
 
Èç¹ûÄãÒªµÄ»°£¬Äã¿ÉÒÔÈàuugetty ÔÚÇ©ÈëʱµÄ±êÌâÉÏÓ¡³öЩÓÐȤµÄ¶«Î÷£® 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    14 
 
 
 
ÔÚÎÒµÄÀý×ÓÀÎÒÓ¡³öϵͳÃû³Æ£¬´®ÁÐÏß·£¬ÒÔ¼°Ä¿Ç°µÄÿÃëλԪ´«ÊäÂÊ£® 
Äã¿ÉÒÔ¼ÓÈëÆäËüµÄ¶«Î÷£º 
 
            @B    Ä¿Ç°µÄÿÃëλԪ´«ÊäÂÊ(bps, ÔÚ¿´µ½ @B Ê±¹À¼ÆµÄ)£® 
            @D    ÏÖÔÚÈÕÆÚ, ¸ñʽ MM/DD/YY£® 
            @L    getty ËùÁ¬½ÓµÄ´®ÁÐÏß·£® 
            @S    ÏµÍ³Ãû³Æ£® 
            @T    ÏÖÔÚʱ¼ä£¬¸ñʽ HH:MM:SS (24 Ð¡Ê±ÖÆ)£® 
            @U    Ä¿Ç°Ç©ÈëµÄʹÓÃÕߣ®ÕâÊÇÔÚ /etc/utmp µµÖзǿՠut_name À¸Î»ÏîÄ¿µÄ¼ÆÊýÖµ£® 
            @V    °æ±¾Öµ£¬ÔÚÔ¤ÉèµµÖиø¶¨µÄ£® 
            Èç¹ûÒªÏÔʾ '@' ·ûºÅµÄ»°£¬Óà'\@' »ò '@@'£® 
 
½ÓÏÂÀ´£¬È·¶¨ÄãÊý¾Ý»úËù½ÓµÄ´®ÁвºÓÐÊä³ö¼°ÊäÈëµÄÉ豸£® Èç¹ûÄãµÄÊý¾Ý»úÉèÔÚ ttyS3 
µÄ»°Ä㽫»áÐèÒª /dev/cua3£¬ÒÔ¼° /dev/ttyS3 ÕâÁ½¸öÉ豸£® 
Èç¹ûÄãûÓÐÕýÈ·µÄÉ豸£¬²ÎÔÄ ÔÚ /dev Öн¨Á¢É豸 (section 3.1.1, page 7) 
¸Ã½Ú˵Ã÷ÈçºÎ½¨Á¢É豸£¬²¢ÇÒ½¨Á¢ÕâЩÉ豸£® Èç¹ûÄãÏ£ÍûÔÚÄãµÄ uugetty 
ÕýÔÚ¼àÊÓÕâ¸ö´®ÁвºÊÇ·ñÓÐÈËÇ©Èëʱ»¹Äܹ»ÓÃÊý¾Ý»ú²¦³öµÄ»°£¬Óà/dev/cuaN 
É豸¶ø²»ÒªÓà/dev/ttySN£® 
 
µ±ÄãÕýÔڱ༭ /etc/gettydefs Ê±£¬Äã¿ÉÒÔÕâÑùÀ´¼ì²éËüµÄÓï·¨ÊÇ·ñÕýÈ·: 
 
     linux# getty -c /etc/gettydefs 
 
6.4  ×Ô¶© uugetty 
 
ÄãÓÐÐí¶à²ÎÊý¿ÉÒÔÓÃÀ´¸Ä±äÄãËùÓµÓеÄÿһ¸ö²º£®ÕâЩÊÇÒÔ·Ö±ð¶Ôÿһ¸ö²ºÊ¹Óò»Í¬ÅäÖõµµÄ·½Ê½À´Êµ×÷µÄ£® 
Õâ¸ö /etc/conf.uugetty µµ°¸»á±»ËùÓеĠuugetty ÐгÌËùʹÓ㬶ø 
/etc/conf.uugetty.ttySN Ö»ÓÉÄǸö²ºÊ¹Óã® Ô¤ÉèµÄÅäÖõµ¡õÀý¿ÉÒÔÔÚ getty_ps 
µÄԭʼµµ°¸ÀïÕÒµ½£¬ÕâÔÚ¾ø´ó²¿·ÖµÄ Linux ·¢ÐÐÌ×¼þÀïÃæ¶¼»áÓУ® 
ÒòΪƪ·ùµÄ¿¼Á¿£¬Ã»ÓаÑËüÃÇÁÐÔÚÕâÀ Òª×¢ÒâµÄÊÇÈç¹ûÄãÓõÄÊDZȽϾɵĠgetty 
°æ±¾(±È 2.0.7e °æ»¹¾É)£¬»òÕßÊÇÄãûÓÐÒÀÕÕ FSSTND µÄ»°£¬ÄÇ÷áÔ¤ÉèµÄµµ°¸½«»áÊÇ 
/etc/default/uugetty.ttySN£® ÎҵĠ/etc/conf.uugetty.ttyS3 ¿´ÆðÀ´ÏñÕâÑù: 
 
     # sample uugetty configuration file for a Hayes compatible modem to allow 
     # incoming modem connections 
     # 
     # alternate lock file to check... if this lock file exists, then uugetty is 
     # restarted so that the modem is re-initialized 
     ALTLOCK=cua3 
     ALTLINE=cua3 
     # line to initialize 
     INITLINE=cua3 
     # timeout to disconnect if idle... 
     TIMEOUT=60 
     # modem initialization string... 
     # format: <expect> <send> ... (chat sequence) 
     INIT="" AT\r OK\r\n 
     WAITFOR=RING 
     CONNECT="" ATA\r CONNECT\s\A 
     # this line sets the time to delay before sending the login banner 
     DELAY=1 
     #DEBUG=010 
 
½«ÏÂÃæÄÇÒ»Ðмӵ½ÄãµÄ /etc/inittab ÀïÈ¥£¬ÄÇ÷á uugetty 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    15 
 
 
 
¾Í»áÔÚÄãµÄ´®ÁвºÉÏÖ´ÐÐ(ÓÃÄã»·¾³µÄÕýÈ·×ÊѶÀ´È¡´ú - 
ÅäÖõµµÄλÖ㬴®ÁвºÃû£¬ËÙ¶È£¬¼°Ô¤ÉèÖÕ¶Ë»úÐÎʽ): 
 
     S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100 
 
 
ÖØÐÂÆô¶¯ init: 
 
     linux# init q 
 
 
¶Ôì¶ÔÚÄã /etc/inittab 
ÀïÃæµÄËٶȲÎÊý£¬Äã»áÏ£ÍûʹÓÃÄãÊý¾Ý»úËùÄÜÖ§Ô®µÄ×î¸ßÿÃëλԪ´«ÊäÂÊ£® 
 
ÏÖÔÚ Linux ½«»áËæÊ±¼àÊÓÄãµÄ´®ÁвºÊÇ·ñÓÐÁ¬Ïߣ®´Ó±ðµÄµØ·½²¦ºÅ²¢Ç©ÈëÄãµÄ Linux 
»úÆ÷£® 
 
uugetty »¹Óиü¶àµÄÑ¡Ï²ÎÔÄ getty (lm) ÏßÉÏÊÖ²á»ñµÃ¸üÍêÕûµÄÐðÊö£® 
±ðµÄ²»ÌáËü»¹ÓÐÅųÌ(scheduling)µÄ¹¦ÄÜ£¬ÒÔ¼°»Ø²¦µÄÄÜÁ¦£® 
 
 
7.  ÎÒÔõ÷áÉ趨ÖÕ¶Ë»úÁ¬Ïßµ½ÎҵĠPC ÉÏ? 
 
±¾½ÚµÄָʾÄÜÈÃÖÕ¶Ë»ú¼°ÆäËüµçÄÔÁ¬ÉÏÄãµÄ Linux »úÆ÷µÄ´®Áвº£® 
 
7.1  Ó²ÌåÐèÇó 
 
Ҫȷ¶¨ÄãÓÐÒ»ÌõÕýÈ·µÄÁ¬½ÓÏߣ®ÔÚµçÄÔÉ̵êÂòµÄ null modem Á¬½ÓÏ߾ͿÉÒÔʤÈΣ® 
µ«ÊÇËüÒ»¶¨µÃÒªÊÇÒ»Ìõ null modem 
Ïߣ¡Ðí¶àµÄµçÄÔÕ¾½«ÕâÀàµÄÁ¬½ÓÏß˵³ÉÊÇ´®ÁÐÓ¡±í½ÓÏߣ® È·¶¨ÄãÊÇʹÓÃÄãµÄ´®Áвº£¬¹«µÄ 
DB25 »òÊÇ DB9 ½ÓÍ·£¬¶ø²»ÊÇÄãµÄ²¢Áвº(ĸµÄ DB25 »ò centronics)£® 
 
      ¶Ô DB-25 ½ÓÍ·¶øÑÔ£¬ÖÁÉÙÄãµÃÒªÓÐ: 
 
 
          PC male DB25                  Terminal DB25 
          TxD   Transmit Data         2 --> 3     RxD   Receive Data 
          RxD   Receive Data          3 <-- 2     TxD   Transmit Data 
          SG    Signal Ground         7 --- 7     SG    Signal Ground 
 
Èç¹ûÄãÏëÒªÓµÓÐÁ÷Á¿¿ØÖÆÒÔ¼°Ó²ÌåÁ¬ÏßЭÉÌ(handshaking)µÄ»°£¬Äã±ØÐëÒªÓÐÒ»ÌõÍêÕûµÄ 
null modem ½ÓÏߣº 
 
          PC male DB25                  Terminal DB25 
          TxD   Transmit Data         2 --> 3     RxD   Receive Data 
          RxD   Receive Data          3 <-- 2     TxD   Transmit Data 
          RTS   Request To Send       4 --> 5     CTS   Clear To Send 
          CTS   Clear To Send         5 <-- 4     RTS   Request To Send 
          DSR   Data Set Ready        6 
                                      | 
          DCD   Carrier Detect        8 <-- 20    DTR   Data Terminal Ready 
          SG    Signal Ground         7 --- 7     SG    Signal Ground 
                                            6     DSR   Data Set Ready 
                                            | 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    16 
 
 
 
          DTR   Data Terminal Ready  20 --> 8     DCD   Carrier Detect 
 
Èç¹ûÄãµÄ´®ÁвºÉÏÓÐÒ»¸ö DB9 µÄ½ÓÍ·£¬ÊÔÊÔ¿´ÏÂÃæÕâ¸ö: 
 
          PC DB9                   Terminal DB25 
          RxD   Receive Data          2 <-- 2     TxD   Transmit Data 
          TxD   Transmit Data         3 --> 3     RxD   Receive Data 
          SG    Signal Ground         5 --- 7     SG    Signal Ground 
 
»òÕߣ¬Ò»ÌõÍêÕûµÄ DB9 ¶Ô DB25 null modem Á¬½ÓÏߣº 
 
          PC DB9                        Terminal DB25 
          RxD   Receive Data          2 <-- 2     TxD   Transmit Data 
          TxD   Transmit Data         3 --> 3     RxD   Receive Data 
                                            6     DSR   Data Set Ready 
                                            | 
          DTR   Data Terminal Ready   4 --> 8     DCD   Carrier Detect 
          GND   Signal Ground         5 --- 7     GND   Signal Ground 
          DCD   Carrier Detect        1 
                                      | 
          DSR   Data Set Ready        6 <-- 20    DTR   Data Terminal Ready 
          RTS   Request To Send       7 --> 5     CTS   Clear To Send 
          CTS   Clear To Send         8 <-- 4     RTS   Request To Send 
          (RI   Ring Indicator        9 not needed) 
 
 
(û´í! µÚ¶þÖ§¼°µÚÈýÖ§½ÅÔÚ DB9 Á¬½ÓÍ·ÉÏȷʵºÍ DB25 ½ÓÍ·ÒâÒåÏà·´!) 
 
Èç¹ûʹÓõIJ¢²»ÊÇÍêÕûµÄ null modem  Á¬½ÓÏߵϰ£¬Äã¿ÉÄܵÃÒª×öÏÂÃæÕâ¸öÆÛÆ­µÄ¼¼ÇÉ: 
ÔÚÄãµçÄÔÕâ±ßµÄ½ÓÍ·ÉÏ£¬°Ñ RTS ¸ú CTS ½ÓÔÚÒ»Æð£¬¶øÇÒÒ²°Ñ DSR, DCD ÒÔ¼° DTR 
½ÓÔÚÒ»Æð£® 
ÓÃÕâ¸ö·½·¨£¬µ±µçÄÔÒªÇóÒ»¸öÕýÈ·µÄÓ²ÌåÁ¬ÏßЭÉÌÐźÅʱ£¬Ëü¾Í¿ÉÒԵõ½(´ÓËü×Ô¼º·¢³öµÄ)£® 
 
ÏÖÔÚÄãÒѾ­ÓÐÕýÈ·µÄÁ¬½ÓÏߣ¬°ÑÄãµÄÖÕ¶Ë»úÁ¬½Óµ½ÄãµÄµçÄÔÉÏ£® 
Èç¹ûÄã¿ÉÒԵϰ£¬¸æËßÄãµÄÖÕ¶Ë»úºöÂÔÊý¾Ý»ú¿ØÖÆÐźţ® ÊÔÊÔ¿´Óà9600 bps, 8 data 
bits, 1 stop bit, no parity bits À´É趨ÖÕ¶Ë»ú£® 
 
7.2  É趨 getty 
 
ÔÚ /etc/gettydefs ÀïÃæÔö¼ÓÒ»¸ö¸ø getty 
ÓÃÀ´Á¬½ÓÄãÖÕ¶Ë»úÏîÄ¿£¬Èç¹û»¹Ã»ÓÐÕâÏîµÄ»°: 
 
     # 38400 bps Dumb Terminal entry 
     DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400 
 
     # 19200 bps Dumb Terminal entry 
     DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200 
 
     # 9600 bps Dumb Terminal entry 
     DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600 
 
Èç¹ûÄãÒªµÄ»°£¬Äã¿ÉÒÔÈàgetty ÔÚÇ©ÈëµÄ±êÌâÉÏÓ¡³öһЩÓÐȤµÄ¶«Î÷£® 
ÔÚÎÒµÄÀý×ÓÀÎÒÓ¡³öϵͳÃû³ÆÒÔ¼°´®ÁÐÏß·£®Äã¿ÉÒÔ¼ÓÈëÆäËüµÄ¶«Î÷: 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    17 
 
 
 
     @B    Ä¿Ç°µÄÿÃëλԪ´«ÊäÂÊ(bps, ÔÚ¿´µ½ @B Ê±¹À¼ÆµÄ)£® 
     @D    ÏÖÔÚÈÕÆÚ, ¸ñʽ MM/DD/YY£® 
     @L    getty ËùÁ¬½ÓµÄ´®ÁÐÏß·£® 
     @S    ÏµÍ³Ãû³Æ£® 
     @T    ÏÖÔÚʱ¼ä£¬¸ñʽ HH:MM:SS (24 Ð¡Ê±ÖÆ)£® 
     @U    Ä¿Ç°Ç©ÈëµÄʹÓÃÕߣ®ÕâÊÇÔÚ /etc/utmp µµÖзǿՠut_name À¸Î»ÏîÄ¿µÄ¼ÆÊýÖµ£® 
     @V    °æ±¾Öµ£¬ÔÚÔ¤ÉèµµÖиø¶¨µÄ£® 
     Èç¹ûÒªÏÔʾ '@' ·ûºÅµÄ»°£¬Óà'\@' »ò '@@'£® 
 
µ±ÄãÕýÔڱ༭ /etc/gettydefs Ê±£¬Äã¿ÉÒÔÕâÑùÀ´¼ì²éËüµÄÓï·¨ÊÇ·ñÕýÈ·: 
 
     linux# getty -c /etc/gettydefs 
 
È·¶¨Ã»ÓРgetty »ò uugetty µÄÉ趨µµ(/etc/default/{uu}getty.ttySN »ò 
/etc/conf.{uu}getty.ttySN)ÔÚÄãµÄÖÕ¶Ë»úÁ¬½ÓµÄ´®ÁвºÉÏ£¬ 
ÒòΪÕâÒ²Ðí»á¸ÉÈŵ½ÔÚÖÕ¶Ë»úÉÏÖ´ÐеĠgetty£®Èç¹ûÓеϰÇëÒÆ³ýËü£® 
 
±à¼­ÄãµÄ /etc/inittab Èàgetty ÔÚÄãµÄ´®ÁвºÉÏÖ´ÐÐ(ÓÃÄã»·¾³µÄÕýÈ·×ÊѶÀ´È¡´ú - 
ÅäÖõµµÄλÖ㬴®ÁвºÃû£¬ËÙ¶È£¬¼°Ô¤ÉèÖÕ¶Ë»úÐÎʽ): 
 
     S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100 
 
 
ÖØÐÂÆðʼ init: 
 
     linux# init q 
 
ÏÖÔÚÄãÓ¦¸Ã»áÔÚÄãµÄÖÕ¶Ë»úÉÏ¿´µ½Ç©ÈëÌáʾ£®Ò²ÐíÄãµÃ°´·µ»Ø¼ü(return)¼¸´ÎÈÃÖÕ¶Ë»ú×¢Òâµ½£® 
 
7.3  ½« PC É趨³ÉÖÕ¶Ë»úµÄ×¢ÒâÊÂÏî 
 
Ðí¶àÈ˽«ÆäËü PC É趨³ÉÖÕ¶Ë»úÁ¬½Óµ½ Linux »úÆ÷ÉÏ£®ÀýÈ磬¾ÉµÄ 8088 »òÊÇ 286 PC 
·Ç³£ÊʺÏÕâ¸öÓÃ;£® ÄãÐèÒªµÄÖ»ÊÇÒ»ÕŰüº¬ÊʺÏÈÃÄãµÄÖÕ¶Ë»ú-¸öÈ˵çÄÔ (Terminal-PC) 
ʹÓõĠDOS ´ÅƬ£¬ÒÔ¼°ÈÃÄãµÄÖÕ¶Ë»ú-¸öÈ˵çÄÔÖ´ÐеÄͨѶ³Ìʽ£® kermit 
ÔÚÕâ¸öÓÃ;ÉϱíÏֵ÷dz£ºÃ£® Äã¿ÉÒÔÔÚÕą̂»úÆ÷ http://www.columbia.edu/kermit/ 
ÉÏÕÒµ½¼¸ºõ¿ÉÒÔÈÃÈκÎÏÖ´æµÄ×÷ҵϵͳʹÓõÄÒѱàÒëµÄ kermit °æ±¾£® ÆäËüÁ÷ÐеĠDOS 
ͨѶ³ÌʽÏñÊÇ telix ÒÔ¼° procomm Ò²½«»áÓÐÒ»ÑùºÃµÄ±íÏÖ£® 
Ҫȷ¶¨ÊäÈëÕýÈ·µÄ´®Áвº×ÊѶµ½ÄãÖÕ¶Ë»ú-¸öÈ˵çÄÔµÄͨѶÉ趨ÀïÈ¥£® 
 
 
8.  ÎÒÄÜʹÓó¬¹ýÁ½¸öµÄ´®ÁÐ×°ÖÃÂð? 
 
Äã²»ÐèÒªÔĶÁÕâÒ»½Ú£¬³ý·ÇÄãÏëҪʹÓÃÈý¸ö»ò¸ü¶àµÄ´®ÁÐÉ豸...(¼Ù¶¨ÄãûÓж಺¿¨µÄ»°)£® 
 
¼ÙÈçÄãÓÐÁíÒ»¸ö¶àâŵĴ®Áвº£¬Êǵģ¬Äã¿ÉÒÔ£® 
Äã¿ÉÒÔʹÓõĴ®ÁвºÊýÄ¿ÊÜÏÞì¶ÎÒÃDZØÐëʹÓõÄÓ²ÌåÖжÏÒªÇóÒÔ¼°²ºÊä³öÈëλַµÄÊýÄ¿£® 
Õâ²¢²»ÊÇ Linux µÄÏÞÖÆ£¬¶øÊÇ PC 
»ãÁ÷ÅŵÄÏÞÖÆ£®±ØÐëÖ¸¶¨Öжϸúλַ¸øÃ¿Ò»¸ö´®ÁÐÉ豸£® 
´®ÁÐÉ豸¿ÉÒÔÊÇ´®Áвº£¬ÄÚ½ÓʽÊý¾Ý»ú»òÊǶ಺¿¨£® 
 
¶à²º¿¨ÊÇΪÁËÓµÓÐÐí¶à¸ö´®ÁвºÀ´·ÖÏí¿¨ÉÏËùÓд®ÁвºËùʹÓõÄÏàͬ IRQ ¶øÌرðÉè¼ÆµÄ£® 
Linux ¶Ô¿¨ÉϵÄÿһ¸ö²ºÊ¹Óò»Í¬µÄÊä³öÈëλַÒÔ±ã´ÓËüÃÇ»ñÈ¡×ÊÁÏ£® 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    18 
 
 
 
8.1  Ñ¡Ôñ´®ÁÐÉ豸µÄÖжÏλַ 
 
ÄãµÄ PC Ò»°ã»á½« ttyS0 ÒÔ¼° ttyS2 ÉèÔÚ IRQ 4 ¶ø½« ttyS1 ÒÔ¼° ttyS3 ÉèÔÚ IRQ 3£® 
¾­ÓɼìÊÓ /proc/interrupts Äã¿ÉÒÔÖªµÀÄÇЩ IRQs Õý±»Ê¹Óã® 
ҪʹÓÃÁ½¸öÒÔÉϵĴ®ÁÐÉ豸µÄ»°£¬Äã±ØÐëÖØÐÂÖ¸¶¨Ò»¸öÖжϣ® 
Ò»¸öºÃÑ¡ÔñÊÇ´ÓÄãµÄ²¢ÁвºÄDZßÖØÐÂÖ¸¶¨Ò»¸öÖжϣ®ÄãµÄ PC Ò»°ã»áÉ趨 IRQ5 »òÊÇ IRQ7 
µ±ÄãµÄ²¢Áвº£¬µ«ÊǺÜÉÙÈË»áʹÓÃÁ½¸ö²¢Áвº£® 
Äã¿ÉÒÔÖØÐÂÖ¸¶¨ÆäÖÐÒ»¸öÖжϸø´®ÁÐÉ豸£¬²¢¶øÈÔÈ»ÄÜ˳ÀûµØÊ¹ÓÃÒ»¸ö²¢Áвº£® 
Ä㽫»áÐèÒªÓõ½ setserial 
³ÌʽÀ´×öÕâ¼þÊ£®´ËÍ⣬Äã±ØÐëµ÷ÕûÄã°å×ÓÉϵÄÌø½ÓÉ趨(Jumpers)£¬²é¿´ÄãÖ÷»ú°åµÄ˵Ã÷Îļþ£® 
Ìø½ÓÄãÏëÒª¸øÃ¿¸ö²ºÊ¹ÓõĠIRQ£® 
 
Ä㽫µÃÒª×öЩÉ趨ÈÃÿ¸ö´®ÁÐÉ豸¶¼ÓÐÒ»¸ö£¬²¢ÇÒÊÇΨһµÄÒ»¸öÖжϣ® ÕâÀïÊÇÎÒÔÚ 
/etc/rc.d/rc.local ÀïËùÓõÄÉ趨 - ÄãÓ¦¸ÃÔÚÆô¶¯ÏµÍ³Ê±µÄij¸öµØ·½×öÕâ¼þÊ£® 
 
          /sbin/setserial /dev/ttyS0 irq 3   # my serial mouse 
          /sbin/setserial /dev/ttyS1 irq 4   # my Wyse dumb terminal 
          /sbin/setserial /dev/ttyS2 irq 5   # my Zoom modem 
          /sbin/setserial /dev/ttyS3 irq 9   # my USR modem 
 
±ê×¼µÄ IRQ Ö¸¶¨: 
 
                   IRQ  0    Timer channel 0 
                   IRQ  1    Keyboard 
                   IRQ  2    Cascade for controller 2 
                   IRQ  3    Serial port 2 
                   IRQ  4    Serial port 1 
                   IRQ  5    Parallel port 2 
                   IRQ  6    Floppy diskette 
                   IRQ  7    Parallel port 1 
                   IRQ  8    Real-time clock 
                   IRQ  9    Redirected to IRQ2 
                   IRQ 10    not assigned 
                   IRQ 11    not assigned 
                   IRQ 12    not assigned 
                   IRQ 13    Math coprocessor 
                   IRQ 14    Hard disk controller 1 
                   IRQ 15    Hard disk controller 2 
 
ÔÚÑ¡ÔñÖжÏÊ±ÕæµÄûÓÐʲ÷áÕýÈ·µÄ£®Ö»ÒªÈ·¶¨Ëü²»ÊÇÒѾ­±»Ö÷»ú°å£¬»òÊÇÆäËü½çÃæ¿¨ËùʹÓã® 
2, 3, 4, 5 »òÊÇ 7 ÊǺÃÑ¡Ôñ£®``not 
assigned''µÄÒâ˼ÊÇĿǰ²¢Ã»ÓÐʲ÷á¶«Î÷ÔÚ±ê×¼Çé¿öÏ»á¹Ì¶¨Ê¹ÓÃÕâЩӲÌåÖжÏÒªÇó£® 
ҲҪעÒâµ½ IRQ 2 ¸ú IRQ 9 ÊÇÒ»ÑùµÄ£®Äã¿ÉÒÔ³ÆËüΪ 2 »ò 
9£¬´®ÁÐÇý¶¯³Ìʽ·Ç³£Á˽âÕâÒ»µã£® Èç¹ûÄãÓÐÒ»¿é 16-bit 
»ãÁ÷ÅÅÁ¬½ÓÍ·µÄ´®Áп¨£¬ÄãÒ²¿ÉÒÔʹÓàIRQ 10, 11, 12 »ò 15£® 
 
ֻҪȷ¶¨ÄãʹÓõIJ¢·ÇÊÇ IRQ 0, 1, 6, 8, 13 »òÊÇ 14! ËüÃÇÊÇÓÉÄãµÄÖ÷»ú°åËùʹÓõģ® 
Èç¹ûÄãÄÃ×ßËýµÄ IRQs µÄ»°£¬»áʹµÃËýºÜ²»¸ßÐË£® Íê³ÉÖ®áᣬÔٴμì²é /proc/inter­ 
rupts ÒÔÈ·¶¨Ã»ÓгåÍ»·¢Éú£® 
 
8.2  É趨´®ÁÐÉ豸µÄλַ 
 
½ÓÏÂÀ´£¬Äã±ØÐëÉ貺λַ£®²é¿´ÄãÖ÷»ú°åÊÖ²áµÄÌø½ÓÉ趨£®¾ÍÏñÖжϣ¬Ã¿¸öλַֻÄÜÓÐÒ»¸ö´®ÁÐÉ豸£® 
ÄãµÄ²ºÍ¨³£»áÅäÖóÉÏñÏÂÃæÕâÑù£º 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    19 
 
 
 
          ttyS0 address 0x3f8 
          ttyS1 address 0x2f8 
          ttyS2 address 0x3e8 
          ttyS3 address 0x2e8 
 
Ñ¡ÔñÄãÏëÒª¸øÃ¿Ò»¸ö´®ÁÐÉ豸ʹÓõÄλַ²¢ÇÒÒÀ´ËÀ´Éè¶¨Ìø½Ó£® ÎÒ½«ÎÒµÄÊý¾Ý»úÉèÔÚ 
ttyS3 £¬ÎҵϬÊóÔÚ ttyS0£¬¶øÎÒµÄÖÕ¶Ë»úÔÚ ttyS2£® 
 
µ±ÄãÖØÐÂÆô¶¯Ê±£¬ Linux Ó¦¸Ã»áÔÚÄãËùÉ趨µÄλַ¿´µ½ÄãµÄ´®Áвº£® Linux Ëù¿´µ½µÄ 
IRQ ¿ÉÄܲ»»á¸úÄãÌø½ÓÉ趨µÄÏà·û£® ²»±Øµ£ÐÄÕâÒ»µã£® Linux 
ÔÚËüÆô¶¯µÄʱºò²¢Ã»ÓÐ×öÈκεĠIRQ Õì²â£¬ ÒòΪ IRQ 
Õì²âÊÇΣÏÕ²¢ÇÒÓпÉÄܱ»ÆÛÆ­µÄ£®Ê¹Óàsetserial À´¸æËß Linux ÄǸö²ºÊ¹ÓÃÄǸö IRQ£® 
ÄãÒ²¿ÉÒÔ¼ì²é /proc/ioports À´¿´¿´ÔÚ Linux Æô¶¯ááÄÇЩÊä³öÊäÈ벺λַ±»Ê¹Óã® 
 
 
9.  ÎÒÔõÑù½«ÎҵĴ®ÁвºÉèµ½½Ï¸ßµÄËÙ¶È? ÎÒµÄÊý¾Ý»úÓÖÓ¦¸ÃʹÓÃʲ÷áÑùµÄËÙ¶È? 
 
ÕâÒ»½ÚÓ¦¸Ã¿ÉÒÔ°ïÄãÕÒ³öµ±Äã͸¹ýͨѶ³Ìʽ£¬»òÊÇ getty 
³ÌʽʹÓÃÄãµÄÊý¾Ý»úʱӦ¸ÃʹÓÃʲ÷áËÙ¶È£® 
 
   · Èç¹ûÄãËùÓеÄÊDZȠ9600 bps (V.32) 
     Êý¾Ý»ú»¹ÒªÂýµÄ¶«Î÷£¬½«ÄãµÄËÙ¶ÈÉèµ½ÄãµÄÊý¾Ý»úËùÄÜÖ§Ô®µÄ×î¸ßËÙ¶È£® ÀýÈç 300 
     (V.21/Bell 103), 1200 (V.22/Bell 212A), »ò 2400 bps (V.22bis)£® 
 
   · Èç¹ûÄãÓР9600 bps (V.32) µÄÊý¾Ý»ú£¬²¢ÇÒÖ§Ô® V.42bis ×ÊÁÏѹËõ£¬Ê¹Óà38400 
     À´µ±×÷ÄãµÄËÙ¶È£® V.42bis Ñ¹Ëõ¾ßÓР4:1 µÄÀíÂÛÖµ£¬Ò²¾ÍÊÇ``4 * 9600 = 
     38400''£® 
 
   · Èç¹ûÄãÓР14400 bps (V.32bis) µÄÊý¾Ý»ú£¬²¢ÇÒÖ§Ô® V.42bis 
     ×ÊÁÏѹËõ¹¦Äܵϰ£¬Ê¹Óàsetserial ³Ìʽ£¬¼ÓÉÏ spd_hi 
     Æì±ê½«ÄãµÄ´®ÁвºÅäÖóÉʹÓà57600 bps (4 * 14400 = 57600) µÄËÙ¶È£® 
 
     Èç¹ûÄãÓР28800 »ò 33600 bps (V.FC »òÊÇ V.34) µÄÊý¾Ý»úÔòʹÓàspd_vhi Æì±ê 
     (4 * 28800 = 115200)£® 
 
     È»áᣬÔÚÄãµÄͨѶ³Ìʽ£¬»òÊÇ /etc/inittab ÀïʹÓà38400 µ±×÷ËÙ¶ÈÉ趨£® 
     ÕâÊÇÏÖÔÚÄãÄÜÉèµÄ×î¸ßËÙ¶È£®ÒªÈ·¶¨ÄãÓР16550A Í¨Ó÷Çͬ²½½ÓÊÕת»»Æ÷(UART)£® 
 
     Èç¹ûÄãµÄ libc °æ±¾ÖÁÉÙÊÇ 5.x£¬ÄÇ÷á»áÓнÐ×ö 57600 ¼° 115200 µÄËÙ¶È£® libc 
     ·ÅÔÚ /lib£¬ËùÒÔÔÚÄÇÀï¿´Ò»ÏÂÄãÓõİ汾ÊÇʲ÷ᣮ 
     Èç¹ûÄãµÄÓ¦ÓóÌʽÒѾ­±àÒëÒÔÈ¡ÓôËÓŵ㣬Äã¿ÉÒÔÖ±½ÓʹÓÃËüÃÇ(²»±ØÓàsetse­ 
     rial)£¬ Ðí¶àµÄÌ×¼þ¶¼ÒѾ­ÓÐÁË£¬Òò´ËÈç¹ûÄãÓÐ×î½ü°æ±¾µÄ Linux 
     Ì×¼þ£¬×îºÃµÄ·½·¨¾ÍÊdz¢ÊÔʹÓÃÕâЩ¸ü¸ßµÄËÙ¶È£® 
 
ÏÈÔÚÃüÁîÁÐÏÂÓàsetserial 
Ö¸Áî²âÊÔ£¬È»ááÔÚÄãÈ·¶¨ËüÃÇ¿ÉÒÔÔË×÷áᣬ½«ÄãËù×÷µÄÐ޸ķŽø /etc/rc.d/rc.serial »ò 
/etc/rc.d/rc.local ÒÔ±ãÔÚϵͳÆô¶¯Ö´ÐÐËüÃÇ£® ÔÚÎҵĠ/etc/rc.d/rc.local 
ÀÎÒÊÇÕâÑùÉ趨ÎҵĠttyS3 µ½ 115200 bps µÄ: 
 
     /sbin/setserial /dev/ttyS3 spd_vhi 
 
È·¶¨ÄãÒԺϷ¨µÄ·¾¶Ê¹Óàsetserial£¬ÒÔ¼°ºÏ·¨µÄ×°ÖÃÃû³Æ£® 
Äã¿ÉÒÔÏ·¨¼ì²éÒ»¸ö´®ÁвºµÄÉ趨: 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    20 
 
 
 
     setserial -a /dev/ttyS3 
 
 
10.  Í¨Ñ¶³Ìʽ¼°¹¤¾ß 
 
ÕâÀïÓÐÒ»¸öͨѶ³ÌʽµÄÁÐ±í£¬Èç¹ûÄãËùʹÓõķ¢ÐÐÌ×¼þÀïÍ·²¢Ã»Óеϰ£¬ÕâЩ¶¼¿ÉÒÔÔÚÒ»°ãµÄ 
FTP Õ¾ÕÒµ½£® 
 
   · ecu - Ò»Ì×ͨѶ³Ìʽ 
 
   · C-Kermit1  - ¿ÉЯµÄ£¬¿É³ÌÐò»¯µÄ´®Áм° TCP/IP 
     Í¨Ñ¶³Ìʽ£¬°üº¬´«µµ¼°×ÖÍêת»»¹¦ÄÜ 
 
   · minicom - ÀàËÆ telix µÄͨѶ³Ìʽ 
 
   · procomm - °üº¬ zmodem£¬ÀàËÆ procomm µÄͨѶ³Ìʽ 
 
   · seyon - ÒÔ X Îª»ù´¡»·¾³µÄͨѶ³Ìʽ 
 
   · xc - xcomm Í¨Ñ¶Ì×¼þ 
 
   · ÆäËüÓÐÓõijÌʽÊÇ term ¼° SLiRP£®ËüÃÇÌṩʹÓàshell ÕʺŵĠTCP/IP ¹¦ÄÜ£® 
 
   · screen ÊÇÁíÒ»¸ö¶àÇø¶Î×÷Òµ(multi-ses­ 
     sion)µÄ³Ìʽ£®Õâ¸ö³Ìʽ¾ÍÏñµÄ¶¯×÷¾ÍÏñÐéÄâ¿ØÖÆÌ¨£® 
 
   · callback ÕâÖ§³Ìʽ»áʹÄãµÄÊý¾Ý»ú»Ø²¦¸øÄ㣮 
 
   · mgetty+fax ´¦Àí´«ÕæÊÂÎñ£¬²¢ÇÒÌṩһ¸ö²»Í¬µÄ getty£® 
 
   · ZyXEL ÊÇ ZyXEL U-1496 
     Êý¾Ý»úµÄ¿ØÖƳÌʽ£®Ëü´¦Àí½ÓÊܲ¦½Ó£¬²¦ºÅ£¬»Ø²¦±£ÃÜ£¬´«Õ棬ÒÔ¼°ÓïÒôÐÅÏ书ÄÜ£® 
 
   · SLIP ¼° PPP µÄÈíÌå¿ÉÔÚ ftp://sunsite.unc.edu/pub/Linux/system/net­ 
     work/serial ÕÒµ½£® 
 
   · ÆäËü¶«Î÷¿ÉÒÔÔÚ ftp://sunsite.unc.edu/pub/Linux/system/serial ÒÔ¼° 
     ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm 
     »òÐí¶àµÄÓ³Éä½ÚµãÖ®Ò»ÕÒµ½£®ÕâЩÊDZ£ÁôËùÓд®ÁгÌʽµÄĿ¼£® 
 
 
11.  ´®ÁÐʹÓÃÃØ¾÷ 
 
 
ÕâÀïÓÐһЩÄã¿ÉÄÜ·¢ÏÖºÜÓÐÓõĴ®ÁСõ¾÷... 
 
11.1  kermit ÒÔ¼° zmodem 
 
ÒªÔÚ kermit ÏÂʹÓàzmodem µÄ»°£¬½«ÏÂÁÐÄÚÈݼӵ½ÄãµÄ .kermrc ÀïÈ¥: 
 
     define rz !rz < /dev/ttyS3 > /dev/ttyS3 
 
____________________ 
 
1. <URL:http://www.columbia.edu/kermit/> 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    21 
 
 
 
     define sz !sz \%0 > /dev/ttyS3 < /dev/ttyS3 
 
 
Ҫȷ¶¨ÕýÈ·µØ·ÅÈëÄãÊý¾ÝËùÔڵĴ®Áвº£®È»áᣬҪʹÓõϰ£¬Ö»ÒªÔÚ kermit 
µÄÌáʾ·ûºÅϼüÈë rz »ò sz <µµÃû> ¼´¿É£® 
 
11.2  ×Ô¶¯É趨ÖÕ¶Ë»úÐÍʽ 
 
ÒªÔÚµ±ÄãÇ©ÈëµÄʱºò×Ô¶¯É趨ÄãµÄÖÕ¶Ë»úÐÎʽµÄ»°£¬°ÑÖÕ¶Ë»úµÄÐÎʽ¼Óµ½ /etc/inittab 
µÄÏîÄ¿ÀïÈ¥£® Èç¹ûÎÒÓÐһ̨ vt100 ÖÕ¶Ë»úÔÚ ttyS1 ÉÏ £¬ÎÒÒª¶Ô getty Ö¸Áî¼ÓÉÏ 
``vt100'': 
 
     S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100 
 
ÄãÒ²¿ÉÒÔʹÓà
tset£¬¿ÉÒÔÔÚÄãÇ©ÈëµÄʱºò½¨Á¢ÖÕ¶Ë»úµÄÌØÐÔ£¬¶øÇÒ²»ÐèÒªÒÀÀµÈκεÄÔ¤ÉèÖµ£® 
 
11.3  ÔÚ´®ÁÐÁ¬ÏßϵIJÊÉ« ls 
 
      Èç¹û ls ÒòΪ²ÊÉ«ÌØÐÔ¶øÈÅÂÒÁËÄãµÄÖÕ¶Ë»úÄ£Ä⣬°ÑËü¹Øµô£® ls --color ÒÔ¼° ls 
--colour ¶¼Ê¹ÓòÊÉ«ÌØÐÔ£®ÓÐЩ°²×°·½Ê½Ê¹µÃ ls Ô¤ÉèΪʹÓòÊÉ«£® ¼ì²é /etc/profile 
ÒÔ¼° /etc/csh.cshrc ÀïµÄ ls ±ðÃû£® Èç¹ûÄã²»ÏëÐÞ¸ÄϵͳԤÉèÖµµÄ»°£¬ÄãÒ²¿ÉÒÔÉè¸ø 
ls ±ðÃû ls --no-color£® 
 
11.4  ´ÓÖÕ¶Ë»úËùÁ¬½ÓµÄÓ¡±í»ú½øÐÐÁÐÓ¡ 
 
      ÓÐÒ»¸ö½Ð×ö vtprint µÄ³Ìʽ¿ÉÒÔ×öµÃµ½£¬ÔÚ ftp://ftp.sdsu.edu/pub/vtprint ¼° 
http://www.sdsu.edu/~garrett ¿ÉÈ¡µÃ£® 
 
ÁíÍâÒ»Ö§½Ð xprt µÄ³ÌʽҲÄÜ×öµ½£®Ëü¿ÉÔÚ ftp://sunsite.unc.edu/pub/Linux/sys­ 
tem/printing ÕÒµ½£® 
 
11.5  Linux Äܲ»Äܹ»×Ô¶¯µØÅäÖô®ÁÐÉ豸? 
 
¿ÉÒÔ£®ÒªÈàLinux ÔÚÆô¶¯µÄʱºò×Ô¶¯µØÕì²â²¢ÇÒÉ趨´®ÁÐÉ豸µÄ»°£¬°ÑÕâÒ»ÐÐ: 
 
     /sbin/setserial /dev/ttyS3 auto_irq skip_test autoconfig 
 
 
¼Óµ½ÄãµÄ /etc/rc.d/rc.local »òÊÇ /etc/rc.d/rc.serial µµ°¸ÀïÃæ£® 
¶Ôÿһ¸öÄãÏ£Íû×Ô¶¯ÅäÖõĴ®Áвº¶¼Òª×ö£®ÒªÈ·¶¨Ëù¸øµÄÊÇÒ»¸öÕæÕý´æÔÚì¶ÄãµçÄÔÉϵÄÉ豸Ãû³Æ£® 
 
11.5.1  ¶à²º¿¨µÄ×¢ÒâÊÂÏî 
 
¶Ôì¶¿¨µÄλַ£¬ÒÔ¼° IRQs ²éÔÄ setserial ³ÌÊ½Ëæ¸½µÄ rc.serial£® 
ËüÓÐºÜ¶à¹Øì¶¶à²º¿¨µÄϸ½Ú£¬°üÀ¨Êä³öÈëλַÒÔ¼°É豸Ãû³Æ£® 
 
11.6  Ê¹Óô®ÁпØÖÆÌ¨ 
 
ÔÚµÚÈýÊ®ÁùÆÚµÄ Linux Journal ÔÚ http://www.ssc.com/lj/issue36/index.html 
ÓÐÆªÎÄÕ½âÊÍÈçºÎʹÓô®ÁпØÖÆÌ¨(serial console)£® 
²»ÐÒµÄÊÇ£¬¼Äµç×ÓÓʼþ¸ø×÷Õß¶¼±»Í˻أ®ÎÒÏ£ÍûÕâÆªÎÄÕ»áºÜ¿ìµØÉÏÊö URL µÄ Linux 
Journal ÍøÕ¾ÖУ® 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    22 
 
 
 
11.7  ¸ü¸ßµÄ´®ÁÐÁ÷Á¿ 
 
Èç¹ûÔÚÒ»²¿Ê¹Óà(E)IDE ´Åµú»úµÄϵͳÉÏÄã·¢ÏÖÁ÷Á¿ºÜÂý¶øÇÒ´®Áвº³£ÒçÂú£¬Äã¿ÉÒÔÈ¡µÃ 
hdparm£® ÕâÊÇÒ»¸ö¿ÉÒÔÐ޸Ġ(E)IDE ²ÎÊý£¬°üº¬ÈÃÒ»´Åµú IRQ ¶¯×÷ÆÚ¼äÆäËü IRQs 
ÈԿɹ¤×÷£® 
Õâ»á¸ÄÉÆ·´Ó¦ËٶȲ¢°ïÖúÏû³ýÒçÂú£®È·¶¨Ð¡ÐĵضÁ¹ýÁËÏßÉÏÊֲᣬÒòΪijЩ´Åµú/¿ØÖÆ¿¨×éºÏ²»Ï²»¶Ëü²¢ÇÒ¿ÉÄÜËð»Ùµµ°¸ÏµÍ³£® 
 
Ò²¿ÉÒÔ¿´Ò»ÏÂÒ»¸ö½Ð irqtune µÄ¹¤¾ß£¬¿ÉÒԸıäÒ»¸ö×°ÖàIRQ 
µÄÓÅÏÈ˳Ðò£¬ÀýÈçÄãÊý¾Ý»úËùÔڵĴ®Áвº£®ÕâÒ²¿ÉÄܸÄÉÆÄãϵͳµÄ´®ÁÐÁ÷Á¿£® irqtune 
µÄ³£¼ûÎÊÌâ½â´ð(FAQ)¿ÉÔÚ http://www.best.com/~cae/irqtune ÕÒµ½£® 
 
 
12.  ¸ü½øÒ»²½... 
 
ÕâÒ»½Ú²¢²»ÐèÒªÔĶÁ£¬µ«ÊÇ¿ÉÄÜ´ø¸øÄãһЩ¶Ôì¶ Unix 
ÒÔ¼°µç×ÓͨѶÊÀ½ç¸ü½øÒ»²½µÄÁ˽⣮ 
 
12.1  Ê²÷áÊÇËø¶¨µµ°¸(lock files)? 
 
Lock files Ö»Êǵ¥´¿µÄÒ»¸öµµ°¸ÓÃÀ´±íʾij¸öÌØ¶¨µÄÉ豸ÕýÔÚʹÓÃÖУ® ËüÃDZ£´æÔÚ 
/usr/spool/uucp »òÊÇ /var/lock ÀïÃæ£® Linux µÄ lock files Ãû×Ö¶¼ÊÇ 
LCK..name£¬ÆäÖеĠname ²»ÊÇÉ豸Ãû³Æ¾ÍÊÇÒ»¸ö UUCP ½ÚµãÃû³Æ£® ÓÐЩ³ÌÐò½¨Á¢ÕâЩ 
locks ÒÔ±ãÈÃËüÃÇ×Ô¼º¿ÉÒÔ¶ÀÕ¼¸ÃÉ豸µÄ´æÈ¡È¨£® 
ÀýÈçÈç¹ûÄã´ÓÄãµÄÊý¾Ý»ú²¦ºÅ³öÈ¥£¬½«»á³öÏÖÒ»¸ö lock 
¸æË߯äËü³ÌÐòÏÖÔÚÒѾ­ÓÐÈËÕýÔÚʹÓÃÊý¾Ý»ú£® Lock files 
ÀïÃæÖ÷ÒªÊǰüº¬Ëø×¡¸ÃÉ豸µÄ³ÌÐòµÄÐг̺ÅÂë(PID)£® ´ó²¿·ÝµÄ³Ìʽ»á²éÔÄ 
lock£¬È»áá¼ì²éÐг̱í(process table)ÖÐËø¶¨¸ÃÉ豸µÄÐгÌÀ´ÊÔÖø¾ö¶¨Õâ¸ö lock 
ÊÇ·ñÈÔÈ»ÓÐЧ£® Èç¹û·¢ÏÖÕâ¸ö lock ÊÇÓÐЧµÄ»°£¬Õâ¸ö³Ìʽ(Ó¦¸Ã)Òª½áÊø£® 
Èç¹û²»ÊÇ£¬Ä³Ð©³Ìʽ»áɾ³ý¹ýʱµÄ 
lock£¬È»ááʹÓøÃÉ豸£¬²¢ÔÚÐгÌÖ´ÐÐʱ½¨Á¢ËûÃÇ×Ô¼ºµÄ lock£® 
ÆäËüµÄ³Ìʽ¾ÍÖ»ºÃ½áÊø²¢¸æËßÄã¸ÃÉ豸ÕýÔÚʹÓÃÖУ® 
 
12.2  ``baud'' ¶Ô ``bps'' 
 
``baud'' ¸ú ``bps'' ¿ÉÄÜÊǵçÄÔ/µç×ÓͨѶÕâ¸öÁìÓòÀï×î³£±»´íÓõÄÊõÓïÖ®Ò»£® 
µ±ËüÃÇÊÂʵÉϲ¢²»ÏàͬµÄʱºò£¬ºÜ¶àÈËÈÔ½»ÌæÊ¹ÓÃÕâЩÊõÓ 
 
      ±«ÂÊ(baud) 
            ±«ÂÊÊÇÿÃëÖÓÊý¾Ý»ú(µ÷±ä½âµ÷Æ÷£¬modulator-demodula­ 
            tor)Ëͳö¶àÉÙ´ÎѶºÅ¸Ä±äµÄ¶ÈÁ¿£® ÀýÈ磬±«ÂÊΪ 1200 µÄº¬ÒâÊÇÐźÅÿ¸ô 
            833 Î¢Ãë(microsecond)¼´¸Ä±äÒ»´Î£® ÆÕ±éµÄ±«ÂÊÓР50, 75, 110, 300, 
            600, 1200 ÒÔ¼° 2400£®´ó²¿·ÝµÄ¸ßËÙÊý¾Ý»úËùʹÓõı«ÂÊΪ 2400£® 
            ÒòΪÓïÒô¼¶(voice-grade)µç»°Ïß·µÄƵ¿íÏÞÖÆ£¬³¬¹ý 2400 
            µÄ±«ÂʺÜÄÑ´ïµÄµ½£¬¶øÖ»ÄÜÔڷdz£´¿¾»µÄµç»°Ï߯·ÖÊϲÅÄÜÔË×÷£® 
            ``baud''Ò»´ÊÔÚ Emile Baudot Ö®áá²ÅÓУ¬ËûÊÇ·Çͬ²½µç±¨Ó¡±í»ú(asyn­ 
            chronous telegraph printer)µÄ·¢Ã÷Õߣ® 
 
      Ã¿Ãë´«ÊäλԪ(bps) 
            Ã¿ÃëλԪ´«ÊäÂÊÊÇÿÃëÖÓ´«Êä¶àÉÙλԪµÄ¶ÈÁ¿£®ÆÕ±éÿÃëλԪ´«ÊäÂÊÓР50, 
            75, 110, 300, 1200, 2400, 4800, 9600, ... 115200£® ÔÚʹÓàV.42bis 
            Ñ¹Ëõ(ѹËõ×î´óÂÊ 4:1)µÄÊý¾Ý»úÏ£¬ÀíÂÛÉÏÿÃëλԪ´«ÊäÂÊ¿ÉÒԸߴï 
            115200£® ÕâÊÇÐí¶àÈËÔÚ´íÓà``baud'' Õâ¸ö×ÖʱËùÖ¸µÄÒâ˼£® 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    23 
 
 
 
ËùÒÔ£¬Èç¹û¸ßËÙÊý¾Ý»úÒÔ 2400 baud ÔË×÷£¬ËüÃÇÈçºÎÄܹ»´«ËÍ 14400 bps? 
Êý¾Ý»ú¶Ôÿ¸ö baud ±àÂëÀ´±íʾijһÊýÁ¿µÄλԪ¶øÊ¹µÃ bps ÄÜ´óì¶ baud£® 
ÕâÑùÒ»À´£¬µ±¶þ¸ö»ò¸ü¶àλԪ±àÂë³ÉÒ»¸ö baud µÄʱºò£¬bps ¾Í»á³¬Ô½ baud£® 
Èç¹ûÄãµÄÊý¾Ý»úÊÇÒÔ 14400 bps Á¬Ïߵϰ£¬Ëü½«»áÒÔ 2400 baud µÄËÙ¶Èÿ¸ö baud 
´«ËÍÁù¸öλԪ£® 
 
      Õâ¸ö»ìÏýÊÇÔõ÷áÑù¿ªÊ¼µÄ? 
àÅ£¬»Øµ½½ñÌìµÄµÍËÙÊý¾Ý»ú»¹ÊÇ×òÌìµÄ¸ßËÙÊý¾Ý»úÄǸöʱ´ú£¬Ã¿ÃëλԪ´«ÊäÂʸúÐźŸıäÂÊʵ¼ÊÉÏÊÇÍêÈ«ÏàµÈµÄ£® 
ÿ¸ö bit ±àÂë³ÉÒ»¸ö baud£®ÈËÃǽ»ÌæÊ¹Óàbps ÒÔ¼° baud ÊÇÒòΪËüÃǵÄÊý×ÖÏàͬ£® 
ÀýÈçһ̨ 300 bps µÄÊý¾Ý»úÆäÐźŸıäÂÊÒ²ÊÇ 300£® 
µ±¸ßËÙÊý¾Ý»úÆÕ¼°ááÒ»Çж¼¸Ä±äÁË£¬¶øÇÒÿÃëλԪ´«ÊäÂʳ¬¹ýÁËÐźŸıäÂÊ£® 
 
12.3  Ê²÷áÊÇ UARTs? ËüÃÇÈçºÎÓ°ÏìЧÄÜ? 
 
UARTs (ͨÓ÷Çͬ²½½ÓÊÕת»»Æ÷£¬Universal Asyncronous Receiver Transmitter)ÊÇÄã PC 
´®Áп¨Éϵľ§Æ¬£® 
ËüÃǵŦÓÃÊǰÑ×ÊÁÏת³ÉλԪ£¬½«ÕâЩλԪËÍÉÏ´®ÁÐÏß·£¬È»ááÔÚÁíÒ»¶ËÖØÐ½¨Á¢×ÊÁÏ£® 
UARTs ÊÇÒÔλԪ×éΪµ¥Î»´¦Àí×ÊÁÏ£¬ºÜ·½±ãµØÒ²ÊÇÃÀ¹ú±ê×¼½»»»Âë(ASCII)µÄ×ÖÔª´óС£® 
 
¼Ù¶¨ÊÇÄãÓÐһ̨Á¬½Óµ½Äã PC 
µÄÖÕ¶Ë»ú£®µ±Äã¼üÈëÒ»¸ö×ÖԪʱ£¬ÖÕ¶Ë»ú°ÑËü½»¸øËüµÄת»»Æ÷(Ò²ÊÇ UART µÄÒ»ÖÖ)£® 
¸Ãת»»Æ÷ÒÔÖ¸¶¨µÄËÙÂʰÑÕâ¸öλԪ×éË͵½´®ÁÐÏß·ÉÏ£¬Ã¿´ÎÒ»¸öλԪ£® ÔÚ PC 
ÕâÒ»¶Ë£¬½ÓÊÕλԪµÄ UART ÄÃ×ßËùÓеÄλԪ£¬È»ááÖØÐÂ×é³ÉλԪ×é²¢Çҷŵ½»º³åÇøÀïÈ¥£® 
 
ÓÐÁ½ÖÖ²»Í¬µÄ UARTs ÀàÐÍ£®Äã¿ÉÄÜÓÐÌý¹ýÓÞ´ÀµÄ(dumb)UARTs - 8250 »¹ÓР
16450£¬ÒÔ¼°ÏȽøÏȳöʽ UARTs - 16550A£® ÒªÁ˽âËüÃǵIJ»Í¬£¬Ê×ÏÈÈÃÎÒÃÇÀ´¼ìÑéµ± 
UART Ëͳö»ò½ÓÊÕÒ»¸öλԪ×éʱËù·¢ÉúµÄÊ£® 
 
Õâ UART ±¾Éí²¢²»ÄܶÔ×ÊÁÏ×öʲ÷á´¦Àí£¬ËüÖ»ÊÇËͳöÒÔ¼°½ÓÊÕËü£® 
ÿ´ÎËͳö»ò½ÓÊÕÒ»¸öλԪ×éʱ£¬CPU ¶¼»á´Ó´®ÁÐÉ豸½Óµ½Ò»¸öÖжϣ® È»áá CPU 
¾Í°Ñ½ÓÊÕµ½µÄλԪ×é´Ó UARTs µÄ»º³åÇø°áµ½¼ÇÒäÌåµÄij´¦£¬»òÊÇÌṩÁíÒ»¸öλԪ×鏸 
UART ´«ËÍ£® 8250 ÒÔ¼° 16450 UARTs 
Ö»ÓÐÒ»¸öλԪ×éµÄ»º³åÇø£®Õâ¸öÒâ˼ÊÇ£¬Ã¿Ëͳö»ò½ÓÊÕÒ»¸öλԪ×é¾Í»áÖжϠCPU Ò»´Î£® 
ÔÚµÍËÙµÄÇé¿öÏÂÕâÑùûÓÐÎÊÌ⣮µ«ÊÇÔÚ¸ßËٵĴ«ÊäÂÊÏ£¬CPU »áæ춴¦Àí UART 
¶øÃ»ÓÐʱ¼äÕÕÁÏÆäËü¹¤×÷£® ÔÚijЩÇé¿öÏ£¬CPU 
ûÓÐ×ã¹»µÄâÅÔ£¼°Ê±´¦ÀíÖжϷþÎñ£¬¸ÃλԪ×齫Òò×ÊÁÏÈç´Ë¿ìËٵش«Èë¶ø±»¸²Ð´£® 
 
Õâ¾ÍÊÇ 16550A UARTs ÓÐÓõĵط½£®ÕâЩ¾§Æ¬¾ßÓР16 ¸öλԪ×éµÄÏȽøÏȳöØùÁУ® 
Õâ¸öÒâ˼ÊÇËüÔÚ±ØÐëÖжϠCPU Ö®Ç°¿ÉÒÔ½ÓÊÕ»òת»»´ï 16 ¸öλԪ×飮 
Ëü²»½öÊÇÄܵȣ¬¶øÇÒ CPU ÏÖÔÚÒ²¿ÉÒÔͬʱ´«ËÍÈ«²¿ 16 ¸öλԪ×éµÄ×ÊÁÏ£® 
ËäÈ»ÖжϽçÏÞ(threshold)ºÜÉÙÓÐÉèµ½ 16 µÄ£¬Õâ¶Ôì¶ÆäËüÖ»ÓÐÒ»¸öλԪ×黺³åÇøµÄ UARTs 
¶øÑÔÈÔÈ»ÊÇÒ»¸öÖØÒªµÄÓŵ㣮 CPU 
ÊÕµ½½ÏÉÙµÄÖжϣ¬Òò´Ë¿ÉÒÔ×ÔÓɵØ×öÆäËüÊÂÇ飮×ÊÁϲ»»á©ʧ£¬Ã¿¸öÈ˶¼ºÜ¸ßÐË£® (Ò²ÓР
16550 Õâ¸ö UART£¬µ«ÊÇËü¸ú 16450 Ò»ÑùÒòΪËüÓÐÎÊÌ⣮) 
 
Ò»°ãÀ´Ëµ£¬ 8250 ÒÔ¼° 16450 UARTs Ó¦¸ÃÄܹ»Ê¤Èθߴï 38400 bps µÄ¹¤×÷ËÙÂÊ£® ÔÚ¸ßì¶ 
38400 bps  µÄËÙÂÊÏ£¬Äã¿ÉÄÜ¿ªÊ¼¼ûµ½×ÊÁÏ©ʧ£® ÆäËüµÄ PC 
×÷ҵϵͳ(ÕâÀïµÄ¶¨ÒåºÜ¿íËÉ)£¬Ïñ DOS ²¢·ÇÊǶ๤µÄ£¬ËùÒÔËüÃÇÓпÉÄÜ¿ÉÒÔÓà8250 »ò 
16450s È´Ó¦¸¶µÄ¸üºÃ£® Õâ¾ÍÊÇΪʲ÷áÓÐЩÈ˲¢Ã»Óп´µ½×ÊÁÏ©ʧ£¬Ö±µ½ËûÃǸÄÓàLinux 
²Å·¢Éú£® 
 
ÎÞ-UART(Non- 
UART)ÒÔ¼°ÖÇ»ÛÐͶ಺¿¨Ê¹ÓÃÊýλ´¦Àí»ú(DSP)¾§Æ¬À´´¦Àí¶îÍâµÄ»º³åÒÔ¼°¿ØÖÆ£¬Èç´Ë¸üÄܼõÇá 
CPU µÄ¸ºµ££® ÀýÈ磬Cyclades Cyclom ¼° Stallion EasyIO ÕâЩ¿¨Ê¹ÓàCirrus Logic 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    24 
 
 
 
CD-1400 RISC ¾§Æ¬£¬»¹ÓÐÐí¶à¿¨Ê¹Óà80186 CPU »ò¸üÌØ±ðµÄ RISC CPU 
À´´¦Àí´®ÁÐÊä³öÈ룮 
 
ÐÄÀïÒª¼ÇµÃ£¬ÕâЩÓÞ´ÀÐ͵ĠUART ²¢·ÇÊÇ»µµÄ£¬Ö»ÊÇËüÃDz»ÊʺÏ×ö¸ßËÙ´«Ê䣮 
µ±Ä㽫ÖÕ¶Ë»ú»ò»¬ÊóÁ¬½Óµ½ÕâЩ UARTs Ê±Ó¦¸Ã²»»áÔâÓöÀ§ÄÑ£® 
µ«ÊǶԸßËÙÊý¾Ý»ú¶øÑÔ£¬16550A ¿ÉÒÔ˵ÊDZØÐëµÄ£® 
 
Äã¿ÉÒÔ»¨¶àÒ»µãµãµÄÇ®¹ºÂòÓР16550A UARTs 
µÄ´®Áп¨£¬Ö»ÒªÑ¯ÎʵçÄÔÉ̸ÿ¨ËùʹÓõÄÊÇʲ÷áÐͺŵĠUARTs ¼´¿É£® 
»òÕßÄãÏëÉý¼¶ÄãÏÖÔڵĿ¨£¬Äã¿ÉÒÔÖ»Òª¼òµ¥µØ¹ºÂò 16550A ¾§Æ¬²¢ÇÒÖû»ÄãÏÖÔڵĠ16450 
UARTs ¾§Æ¬£® ËüÃǵĽÅλÏàÈÝ(pin-to-pin compatible)£®ÓÐЩ¿¨ÓРUARTs 
²å²ÛÀ´×÷Õâ¸öÓÃ;ʹÓã® 
Èç¹û²»ÊǵϰÄã¿ÉÒÔº¸½Ó£®×¢Ò⣬Èç¹ûÄãÓÐÇ®£¬ÂòÒ»ÕÅп¨½«¿ÉÄÜ»áÊ¡µôÄãÐí¶àÂé·³£¬ËüÃÇÔÚ 
$50 ÔªÃÀ½ðÒÔÏ£® 
 
 
13.  ¹ÊÕÏÅųý 
 
13.1  ÎÒ²»¶ÏµØÊÕµ½ ``line NNN of inittab invalid'' 
 
Ҫȷ¶¨Äã¶ÔÄãµÄ init °æ±¾Ê¹ÓÃÕýÈ·µÄÎÄ·¨£®ÕâÀïËùûÓеÄһЩ init »áÔÚ /etc/inittab 
µµ°¸ÀïʹÓò»Í¬µÄÎÄ·¨£® ÒªÈ·¶¨Äã¶ÔÄãµÄ getty °æ±¾Ê¹ÓÃÕýÈ·µÄÎÄ·¨£® 
 
13.2  µ±ÎÒÊÔÖø²¦ºÅʱ£¬Ëü˵ ``/dev/cuaN: Device or resource busy'' 
 
Õâ¸öÎÊÌâ¿ÉÄÜ·¢ÉúÔÚ DCD »ò DTR Ã»ÓÐÉ趨ÕýÈ·µÄʱºò£® DCD 
Ó¦¸ÃÖ»ÔÚÕæµÄÓÐÁ¬Ïßʱ(ÏñÊÇÓÐÈ˲¦½Ó½øÀ´)²Å±»É趨£¬¶ø²»ÊÇÔÚ getty 
³ÖÐø¼à¿´¸Ã²ºµÄʱºò£® ¼ì²é²¢È·¶¨ÄãµÄÊý¾Ý»úÕýÈ·µØÅäÖóÉÖ»ÔÚÕæÕýÁ¬Ïßʱ²ÅÉ趨 DCD£® 
DTR Ó¦¸ÃÔÚÈκζ«Î÷ʹÓûò¼à¿´Ïß·ʱÉ趨£¬ÏñÊÇ getty, kermit, »òÆäËüͨѶ³Ìʽ£® 
 
ÁíÒ»¸öÒýÆð ``device busy'' 
´íÎóµÄÆÕ±éÔ­ÒòÊÇÄãÉ趨ÄãµÄ´®ÁвºÊ¹ÓÃÒ»¸öÒѾ­±»Ä³ÖÖÆäËü¶«Î÷ʹÓõÄÖжϣ® 
ÔÚÿһ¸öÉ豸³õʼ»¯µÄʱáᣬËü»áÒªÇó Linux ÔÊÐíËüʹÓÃËüµÄÓ²ÌåÖжϣ® Linux 
³ÖÐø×·×ÙÄǸöÖжϱ»Ö¸¶¨¸øË­£¬¶øÈç¹ûÄãµÄÖжÏÒѾ­±»Õ¼Óã¬ÄãµÄÉ豸½«²»ÄÜÊʵ±µØ³õʼ»¯£® 
¸ÃÉè±¸ÕæµÄ²¢Ã»ÓÐʲ÷á°ì·¨¸æËßÄã·¢ÉúµÄÕâ¼þÊ£¬³ýÁ˵±Äã³¢ÊÔȥʹÓÃËüµÄʱºò£¬Ëü»á»ØÓ¦ 
``device-busy'' ´íÎóѶϢ£® ¼ì²éÄãËùÓеĿ¨(´®ÁУ¬ÒÒÌ«ÍøÂ·£¬SCSI 
½çÃæµÈµÈ)£®ÕÒѰӲÌåÖжϳåÍ»µÄµØ·½£® 
 
13.3  ÎÒ³ÖÐø½Óµ½ ``Id SN respawning too fast: disabled for 5 minutes'' 
 
È·¶¨ÄãµÄÊý¾Ý»úÓÐÕýÈ·µÄÅäÖ㮲鿴ÔÝ´æÆ÷ E ºÍ Q£® Õâ¿ÉÄÜ·¢ÉúÔÚÄãµÄÊý¾Ý»ú¸ú getty 
¹µÍ¨µÄʱºò£® 
 
È·¶¨ÄãÕýÈ·µØ´Ó /etc/inittab ºô½Ð getty£® 
ʹÓôíÎóµÄÎÄ·¨»òÉ豸Ãû³Æ½«»áÒýÆðÑÏÖØµÄÎÊÌ⣮ 
 
ÒÔÏ·¨¼ì²éÄãµÄ /etc/gettydefs ÎÄ·¨ÊÇ·ñÕýÈ·: 
 
     linux# getty -c /etc/gettydefs 
 
ÕâÒ²¿ÉÄÜ·¢ÉúÔÚ uugetty ³õʹ»¯Ê§°Üʱ£®²ÎÔÄ getty »ò uugetty ÈÔÈ»ÎÞ·¨ÔË×÷ (sec­ 
tion 13.11, page 26) Ò»½Ú£® 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    25 
 
 
 
13.4  ´®ÁÐÉ豸ºÜÂý»òÊÇ´®ÁÐÉ豸ֻÄܵ¥Ïò´«ËÍ 
 
      ÄãµÄÓ²ÌåÖжϿÉÄÜÓгåÍ»£®È·¶¨Ã»ÓÐÓ²ÌåÖжÏÊDZ»·ÖÏíµÄ£® 
¼ì²éÄãËùÓеĿ¨(´®Áп¨, ÒÒÌ«ÍøÂ·¿¨, SCSI µÈµÈ)È·¶¨Äã´®ÁÐÉ豸ÅäµÄÌø½ÓÉ趨ÒÔ¼° 
setserial ²ÎÊýÊÇÕýÈ·µÄ£® Í¬Ê±¼ì²é /proc/ioports ¼° /proc/interrups 
ÒÔÈ·¶¨ÊÇ·ñÓгåÍ»·¢Éú£® 
 
13.5  ÎÒµÄÊý¾Ý»úÔÚijÈ˶ÏÏßáá̱»¾»òÊÇ uugetty ²¢Ã»ÓÐÖØÐÂÖ´ÐР
 
      ÕâÔÚ DTR Ñ¶ºÅµô϶øÄãµÄÊý¾Ý»úûÓÐÖØÖÃʱ»á·¢Éú£® 
Õâ¸öÎÊÌâÔÚÎÒÉíÉÏ·¢ÉúµÄʱºòÎÒ¿´µ½ÎҵĠRD ¸ú SD LEDs 
·è¿ñµØÉÁ˸£®ÄãÐèÒªÈÃÄãµÄÊý¾Ý»úÖØÖã® ´ó²¿·ÝµÄ Hayes ÏàÈÝÊý¾Ý»úʹÓà&D3 
À´×öÕâ¼þÊ£¬µ«ÊÇÔÚÎҵĠUSR Courier ÉÏ£¬ÎÒµÃÒªÉè &D2 ÒÔ¼° 
S13=1£®²éÔÄÄãµÄÊý¾Ý»úÊֲᣮ 
 
13.6  ÎÒ½«ÎÒµÄÖÕ¶Ë»úÁ¬µ½ÎҵĠPC  ÉÏ£¬µ«ÊÇÔÚÎÒÊäÈëÇ©ÈëÃû³ÆÖ®áᣬËü¾ÍËø×¡²»¶¯ 
 
   · Èç¹ûÄãʹÓàgetty: ÔÚÄãµÄ /etc/gettydefs ÏîÄ¿Àï¿ÉÄÜûÓÐÉè CLOCAL 
     ¸øÖÕ¶Ë»ú£¬¶øÇÒ¿ÉÄÜÄãÓõIJ¢²»ÊÇÍêÕûµÄ null modem Á¬½ÓÏߣ® ÄãÐèÒª CLOCAL 
     À´¸æËß Linux ºöÂÔÊý¾Ý»ú¿ØÖÆÐźţ®Ëü¿´ÆðÀ´ÏñÕâÀïÕâÑù: 
 
          # 38400 bps Dumb Terminal entry 
          DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400 
 
          # 19200 bps Dumb Terminal entry 
          DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200 
 
          # 9600 bps Dumb Terminal entry 
          DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600 
 
 
     ½ÓÏÂÀ´£¬Óàkill ¿³µô¸Ã getty ÐгÌÕâÑùÐÂÐг̻áÒÔеÄÏîÄ¿²úÉú£® 
 
   · Èç¹ûÄãʹÓàagetty: ¼ÓÉÏ -L Æì±êµ½ÄãµÄ /etc/initab ÖеĠagetty ÄÇÐУ® 
     Õâ»áʹµÃËüºöÂÔÊý¾Ý»ú¿ØÖÆÐźţ®È»áá¼üÈë init q ÒÔÖØÐÂÖ´ÐРinit£® 
     Õâ¸öÏîÄ¿¿´ÆðÀ´ÏñÕâÑù: 
 
          s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100 
 
13.7  ÔÚ¸ßËÙÏ£¬ÎÒµÄÊý¾Ý»ú©ʧ×ÊÁÏ 
 
Èç¹ûÄã³¢ÊÔÔÚ´óì¶ 38400 bps µÄËÙÂÊÏÂʹÓÃÄãµÄÊý¾Ý»ú£¬¶øÄ㲢ûÓР16550A UARTs 
µÄ»°£¬ÄãÓ¦¸ÃÒª½«ËüÃÇÉý¼¶£® ÓйؠUARTs µÄ˵Ã÷²ÎÔĠʲ÷áÊÇ UARTs? (section 12.3, 
page 23) Ò»½Ú£® 
 
13.8  ÔÚϵͳÆô¶¯Ê±£¬Linux Ã»ÓÐÒÀÕÕÎÒµÄÅäÖûر¨´®ÁÐÉ豸£® 
 
ÕâÊÇÊÂʵ£®Linux ÔÚϵͳÆô¶¯Ê±²¢Ã»ÓÐ×öÈκεĠIRQ Õì²â£¬ËüÖ»×ö´®ÁÐÉ豸Õì²â£® 
ËùÒÔ£¬²»ÒªÀí»áËüËùÏÔʾÓйØÓ²ÌåÖжϵIJ¿·Ý£¬ÒòΪËüÖ»ÊǼٶ¨Ê¹Óñê×¼µÄÓ²ÌåÖжϣ® 
ÕâÊÇÒòΪӲÌåÖжÏÕì²â²»¿É¿¿£¬¶øÇÒ¿ÉÄܱ»Â÷Æ­¶øÕâÑù×öµÄ£® 
 
ËùÒÔ¼´Ê¹ÎҵĠttyS2 ÉèÔÚ IRQ5£¬ÎÒÈÔÈ»¿´µ½ 
 
     Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    26 
 
 
 
ÔÚ Linux Æô¶¯Ê±£¬Äã±ØÐëʹÓàsetserial À´¸æËß Linux ÄãËùʹÓõÄÓ²ÌåÖжϣ® Linux 
Æô¶¯áᣬÄã¿ÉÒԲ鿴 /proc/interrupts µµÒÔÁ˽âÕæÕý±»ÅäÖõĠIRQ ÊÇʲ÷ᣮ 
 
13.9  µ±ÎÒʹÓÃÎÒµÄÊý¾Ý»ú½ÐÓàLinux »úÆ÷ʱ rz ÒÔ¼°/»òÊÇ sz ²»¶¯ 
 
Èç¹û Linux ÔÚÄã³¢ÊÔ´«Ë͵µ°¸Ê±»áѰÕÒ /dev/modem µÄ»°£¬²é¿´ /etc/profile ÒÔ¼° 
/etc/csh.cshrc£® Ä³Ð©·¢ÐÐÌ×¼þ»áÔÚÕâЩµØ·½¶¨ÒåһЩ±ðÃû£¬×îÖøÃûµÄÊÇ Slackware£® 
ÕâЩ±ðÃûÈÅÂÒÁË zmodem ³Ìʽ£®°ÑËüÃÇÄõô»òÊǸüÕýËüÃÇ£® 
 
13.10  ÎÒµÄөĻӡ³ö¿´ÆðÀ´ºÜºÃÍæµÄ×ÖÔª 
 
ÕâÔÚµ±Äã°Ñ¶þ½øÎ»×ÊÁÏËÍÍùÓ©Ä»µÄʱºò»á·¢ÉúÔÚÐéÄâ¿ØÖÆÌ¨ÉÏ£¬»òÕßÓÐʱºò»á·¢ÉúÔÚ´®ÁÐÁ¬ÏßÉÏ£® 
ÐÞ¸´Õâ¸öÎÊÌâµÄ·½·¨ÊÇÊäÈë echo ^v^[c£®ÒòΪ¿ØÖÆ×ÖÔªÖ®¹Ê£¬ËüÊÇ: 
 
     linux% echo <ctrl>v<esc>c 
 
13.11  getty »ò uugetty ÈÔÈ»ÎÞ·¨ÔË×÷ 
 
getty_ps ÉÏÓиö DEBUG Ñ¡Ï±à¼­ÄãµÄ /etc/conf.{uu}getty.ttySN ÅäÖõµ²¢¼ÓÉÏ 
DEBUG=NNN£® ÆäÖРNNN ÊÇÏÂÁеÄÊý×Ö×éºÏÖ®Ò»£¬¸ù¾ÝÄãÏëÒªÕì²âʲ÷á´íÎó¶ø¶¨: 
 
     D_OPT   001            option settings 
     D_DEF   002            defaults file processing 
     D_UTMP  004            utmp/wtmp processing 
     D_INIT  010            line initialization (INIT) 
     D_GTAB  020            gettytab file processing 
     D_RUN   040            other runtime diagnostics 
     D_RB    100            ringback debugging 
     D_LOCK  200            uugetty lockfile processing 
     D_SCH   400            schedule processing 
     D_ALL   777            everything 
 
 
É趨 DEBUG=010 ÊǸö¿ªÊ¼µÄºÃµØ·½£® 
 
Èç¹ûÄãÕýÔÚÖ´ÐРsyslogd µÄ»°£¬Õì´í×ÊѶ½«»á³öÏÖÔÚÄãµÄ¼Ç¼µµÀ Èç¹ûÄãûÓÐÖ´ÐР
syslogd ÄÇ÷á getty µÄ×ÊѶ½«»á³öÏÖÔÚ /tmp/getty:ttySN Àï¶ø uugetty 
µÄ×ÊѶÔò»á³öÏÖÔÚ /tmp/uugetty:ttySN À¶øÇÒËüÃÇÒ²»á±»·Åµ½ /var/adm/getty.log 
ÀïÈ¥£® 
²é¿´Õì´í×ÊѶ¿´¿´·¢ÉúÁËʲ÷ᣮ×î¿ÉÄܵÄÊÇ£¬Ä㽫µÃÒªµ÷ÕûһЩÄãÅäÖõµÀïµÄ²ÎÊý£¬²¢ÇÒÖØÐÂÅäÖÃÄãµÄÊý¾Ý»ú£® 
 
ÄãÓ¦¸ÃҲȥÊÔÊÔ mgetty£®ÓÐЩÈËÔÚʹÓÃËüʱ¸üΪÐÒÔË£® 
 
 
14.  ÆäËüµÄ×ÊѶÀ´Ô´ 
 
   · ÏÂÁÐÖ¸ÁîµÄÏßÉÏÊÖ²á(man pages): agetty(8), getty(1m), gettydefs(5), 
     init(1), login(1), mgetty(8), setserial(8) 
 
   · ÄãµÄÊý¾Ý»úÊÖ²á 
 
   · NET-3 HOWTO: ËùÓйØì¶ÍøÂ·µÄ¶«Î÷£¬°üÀ¨ÁË SLIP, CSLIP, ÒÔ¼° PPP 
 
 
 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    27 
 
 
 
   · PPP HOWTO: ÓÐÖúì¶Ê¹ÓàPPP 
 
   · Printing HOWTO: ÈçºÎÉ趨´®ÁÐÓ¡±í»ú 
 
   · Term HOWTO: ËùÓÐÄãÏëÖªµÀ¹Øì¶ term ³ÌʽµÄÊÂÇé 
 
   · UPS HOWTO: É趨Á¬ÉÏÄãµÄ´®ÁвºµÄ UPS 
 
   · UUCP HOWTO: ½¨Á¢ UUCP µÄ×ÊѶ 
 
   · Usenet ÐÂÎÅȺ×é: 
 
          comp.os.linux.answers 
               ¹Øì¶ Linux µÄ FAQs, How-To's, READMEs µÈµÈ£® 
          comp.os.linux.hardware 
              Linux ×÷ҵϵͳµÄÓ²ÌåÏàÈÝÐÔ£® 
          comp.os.linux.networking 
               Linux µÄÍøÂ·¼°Í¨Ñ¶£® 
          comp.os.linux.setup 
               Linux µÄ°²×°¼°ÏµÍ³¹ÜÀí£® 
 
 
 
   · Linux ´®Áеç×ÓÓʼþÁбí(mailing list)£®Òª¼ÓÈëµÄ»°£¬¼Äµç×ÓÓʼþµ½ major­ 
     domo@vger.rutgers.edu£¬ÎÄÕÂÄÚÈÝд ``subscribe linux-serial''£® 
     Èç¹ûÄãÔÚÄÚÈÝÉÏд ``help''£¬Äã»áµÃµ½Ò»·Ý¸¨Öú˵Ã÷£® 
     Õâ¸öËÅ·þÆ÷»¹ÌṩÐí¶àÆäËüµÄ Linux ÁÐ±í£®Ëͳö ``lists'' 
     Ö¸Áî¿ÉÒԵõ½ËùÓеç×ÓÓʼþÁбíµÄÁÐ±í£® 
 
   · ÌÖÂÛ´®ÁÐͨѶ¼°¶à²º´®Áп¨µÄ°×ƤÊé¿É×Ô Cyclades µÄ http://www.cyclades.com 
     È¡µÃ£® 
 
   · Modem FAQs: 
 
     Navas 28800 Modem FAQ2 
 
     Curt's High Speed Modem Page3 
 
   · ´®ÁгÌʽд×÷: Advanced Programming in the UNIX Environment4 , by W. 
     Richard Stevens (ISBN 0-201-56317-7; Addison-Wesley) 
 
     POSIX Programmer's Guide5 , by Donald Lewine (ISBN 0-937175-73-0; 
     O'Reilly) 
 
 
 
____________________ 
 
2. <URL:http://web.aimnet.com/~jnavas/modem/faq.html> 
 
3. <URL:http://www.teleport.com/~curt/modems.html> 
 
4. <URL:http://heg-school.aw.com/cseng/authors/stevens/advanced/advanced.nclk> 
 
5. <URL:http://www.ora.com/catalog/posix/> 
 
 
 
 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    28 
 
 
 
15.  Ãúл 
 
      ¶ÀÁ¢×«Ð´Õâ·Ý HOWTO ÊDz»¿ÉÄܵÄÊ£® ËäÈ»Õâ·Ý HOWTO 
µÄÄÚÈݴ󲿷ݶ¼ÊÇÎÒдµÄ£¬ÎÒ¾­³£ÖØÐ´ÕâЩ¸ÐлÀ´Î¬³ÖÐí¶àÔÚд×÷·½Ê½ÒÔ¼°ÄÚÈÝÉÏÓй±Ï×µÄÈË£® 
¸Ðлÿ¸öÔø¾­¹±Ï×¾­Ñé»ò½¨ÒéµÄÈË£¬ÕâЩÈ˵ÄÁбíÒѾ­³¤µÃÎÞ·¨Áгö(³¬¹ýÒ»°ÙÈË)£® 
ÌØ±ð¸Ðл Ted T'so ¶Ôì¶Óйش®ÁÐÇý¶¯³ÌʽÎÊÌâµÄ»Ø´ð£¬»¹ÓиºÔðά»¤ getty_ps µÄ Kris 
Gleason£¬ÒÔ¼°¸ºÔðά»¤ mgetty µÄ Gert Döring£® 
 
SERIAL HOWTO ½áÊø 
 
 
 
Linux Serial HOWTO ÖÐÒë°æ                                                    29 
 
 
 

BBSˮľÇ廪վ¡Ã¾«»ªÇø