
                           Linux Serial HOWTO Ķ
                                       
@: Greg Hankins [1]greg.hankins@cc.gatech.edu
Ķ: [2]Asd L. Chen & [3]C.W.Huang

   v1.11, 15 November 1997 ½Ķ: 18 November 1997
     _________________________________________________________________
   
   oԭzpb Linux W]wCqT]ơD
     _________________________________________________________________
   
1. ²

     * 1.1 vn
     * 1.2 o󪺳̷s
     * 1.3 ^X
     * 1.4 Kdn
       
2. wg䴩Cw

     * 2.1 з PC C
     * 2.2 YYΫ(PnP)ƾھ
     * 2.3 @hCd( 8250/16450/16550A UART )
     * 2.4 zhCd
     * 2.5 䴩Cw
       
3. C𪺦W٬O?

     * 3.1 b /dev ̪C]ƤΥDnMnX
     * 3.2 @hO`Nƶ
     * 3.3 zhO`Nƶ
       
4. AD{

     * 4.1 O getty?
     * 4.2 O setserial?
       
5. ګμƾھXh?

     * 5.1 wݨD
     * 5.2 PAƾھ
     * 5.3 XΪƾھtm
     * 5.4 wyq
       
6. ڭn˥μƾھH getty_ps JμX?

     * 6.1 JμXƾھtm
     * 6.2 w getty_ps
     * 6.3 ]w uugetty
     * 6.4 ۭq uugetty
       
7. ګ]w׺ݾsuڪ PC W?

     * 7.1 wݨD
     * 7.2 ]w getty
     * 7.3 N PC ]w׺ݾ`Nƶ
       
8. گϥζWLӪC˸m?

     * 8.1 ܦC]ƪ_}
     * 8.2 ]wC]ƪ}
       
9. ګ˱NڪC]t? ڪƾھSӨϥΤ˪t?

10. qT{Τu

11. CϥίZ

     * 11.1 kermit H zmodem
     * 11.2 ۰ʳ]w׺ݾ
     * 11.3 bCsuUm ls
     * 11.4 q׺ݾҳsLiCL
     * 11.5 Linux ण۰ʦatmC]?
     * 11.6 ϥΦCx
     * 11.7 󰪪Cyq
       
12. i@B...

     * 12.1 Owɮ(lock files)?
     * 12.2 ``baud''  ``bps''
     * 12.3 O UARTs? ̦pvTį?
       
13. Gٱư

     * 13.1 ڤ_a ``line NNN of inittab invalid''
     * 13.2 ڸյۼɡA ``/dev/cuaN: Device or resource busy''
     * 13.3 ګ򱵨 ``Id SN respawning too fast: disabled for 5
       minutes''
     * 13.4 C]ƫܺCάOC]ƥuVǰe
     * 13.5 ڪƾھbYH_uȩάO uugetty èSs
     * 13.6 ڱNڪ׺ݾsڪ PC WAObڿJñJW٤AN
       
     * 13.7 btUAڪƾھ|
     * 13.8 btαҰʮɡALinux S̷ӧڪtm^C]ơD
     * 13.9 ڨϥΧڪƾھs Linux  rz H/άO sz 
     * 13.10 ڪùLXݰ_ӫܦnr
     * 13.11 getty  uugetty MLkB@
       
14. 䥦Tӷ

15. 
     _________________________________________________________________
   
1. ²

   oO Linux Serial HOWTOD]tpb Linux U]wƾھHβ׺ݾ
   ҦӸ`A٦@ǨϥΦCZ¬AHάGٱươD oۭb
   Intel x86 wW檺 LinuxAMb䥦xW]\]B@D
   
1.1 vn

   媩vOݩ Greg Hankins(copyright (C) 1993 - 1997)DiHb
   LDP v\iUG: [4]http://sunsite.unc.edu/LDP/COPYRIGHT.html. 
   bg@̳\iUoHק諸ΦGD
   
   
   
   Copyright (c) 1993 - 1997 by Greg Hankins. This document may be
   distributed under the terms set forth in the LDP license at
   [5]http://sunsite.unc.edu/LDP/COPYRIGHT.html. This document may not be
   distibuted in modified form without consent of the author.
   
1.2 o󪺳̷s

   s Serial HOWTO |
   [6]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/Serial-HOWTO HάMg`I
   D@Ǩ䥦O Postscript H DVI 榡b other-formats ؿ
   ̡D o@ Serial HOWTO ]ib
   [7]http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html oD]|C
   wK [8]comp.os.linux.answersD
   
1.3 ^X

   бN󪺰DAסAĳθɥReHeڡDڥûťAo
   HOWTO QkD ڤ]`Opߦa`Ni! TaiDڧAaA
   Ϊ̬OaiHgoMD AiHgѳoӹqll}
   [9]greg.hankins@cc.gatech.edu PڳsôD Ҧlڳ|^СALi
   n@ӬPΧɶAݧڦhөwD ڦ@jӦ root ο~]
   wxD ХHuꨭHHڡAåBTwAqlltάO`B@ϱo
   گ^HAD pGӬPA٨Sڪ^AйզAH@D
   
   ]iHǥѤUa}HwǲΫHp:
   Greg Hankins
   College of Computing
   801 Atlantic Drive
   Atlanta, GA 30332-0280
   HθgѥyTڪ
   [10]http://www.cc.gatech.edu/staff/h/Greg.Hankins/.
   
   gɽбN Serial HOWTO 󪺪stJAoO 1.11 D
   
1.4 Kdn

   Apiܤ@ˡDo̪^iLkbҦtΤΦUس]wզXU
   B@D
   
2. wg䴩Cw

   H Linux iHPUCCwtXB@D
   
2.1 з PC C

     * з PC C (COM1 - COM4)A~C˸m(ƾھACƹ
       )s
     * з PC ƾھ (COM1 - COM4)
     * Quickpath Systems Port-Folio 550e (iΪ IRQ  3, 4, 5, 9, 10,
       11, 12,  15)
       
   `N: ѩ}ĬAAPɨϥ COM4  IBM8514 TdDoO
   IBM8514 Td@ bugD
   
2.2 YYΫ(PnP)ƾھ

   YYΫƾھb Linux WB@DMӡAڤĳϥΥ̡A]x
   D AnhƱn:
     * յAq BIOS μƾھW PnP \D
     * Ұ Windows 95A]wƾھAMݬݦbAҰ Linux oǳ]w_
       OdUӡD pG檺ܡAA:
     * Ұ Windows 95A]wƾھAMϥηx}Ұ Linux HK]w
       OdUӡD AiHϥ loadlin JӱҰʡD
     * q [11]http://www.redhat.com/linux-info/pnp ^ PnP uD
     * MANӥiΪƾھD
       
2.3 @hCd( 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)
     * [12]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)
       
   @ӻA Linux 䴩Ҧϥ 8250, 16450, 16550, 16550A]λP
   e^UART CdA Ϊ̬ONWC UARTs @ƾھD
   
   `N: BB-1004 H BB-1008Ąä䴩 DCD  RI uA]ӵLk
   ƾھϥΡD ̦b䥦γ~Wh{`D
   
2.4 zhCd

     * Comtrol RocketPort (36MHz ASIC; 4, 8, 16 or 32 ports)
       contact: [13]info@comtrol.com or [14]http://www.comtrol.com
       driver status: supported by Comtrol
       driver location:
       [15]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, [16]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: [17]sales@cyclades.com or [18]http://www.cyclades.com
       driver status: supported by Cyclades
       driver location: [19]ftp://ftp.cyclades.com/pub/cyclades and
       included in Linux kernel since version 1.1.75
     * Decision PCCOM8 (8 ports)
       contact: [20]pccom8@signum.se
       driver location: [21]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: [22]mailto:sales@dgii.com or [23]http://www.dgii.com
       driver status: supported by Digi
       driver location: [24]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, [25]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, [26]fray@krypton.mankato.msus.edu has
       graciously volunteered to make the driver available if you need
       it. Mark is not maintaining or supporting the driver.
     * Equinox SuperSerial Technology (30MHz ASIC; 2 - 128 ports)
       contact: [27]sales@equinox.com or [28]http://www.equinox.com
       driver status: supported by Equinox
       driver location: [29]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: [30]spot@gtek.com or [31]http://www.gtek.com
       driver status: supported by GTEK
       driver location: [32]ftp://ftp.gtek.com/pub
     * Hayes ESP (COM-bic; 1 - 8 ports)
       contact: Andrew J. Robinson, [33]arobinso@nyx.net or
       [34]http://www.nyx.net/~arobinso
       driver status: supported by author
       driver location: [35]http://www.nyx.net/~arobinso and included in
       Linux kernel since version 2.1.15
     * Maxpeed SS (Toshiba; 4, 8 and 16 ports)
       contact: [36]info@maxpeed.com or [37]http://www.maxpeed.com
       driver status: supported by Maxpeed
       driver location: [38]ftp://maxpeed.com/pub/ss
     * Moxa C218 (12MHz 80286; 8 ports),
       Moxa C320 (40MHz TMS320; 8 - 32 ports)
       contact: [39]info@moxa.com.tw or [40]http://www.moxa.com.tw
       driver status: supported by Moxa
       driver location: [41]ftp://ftp.moxa.com.tw/drivers/c218-320/linux
     * SDL RISCom/8 (Cirrus Logic CD180; 8 ports)
       contact: [42]sales@sdlcomm.com or [43]http://www.sdlcomm.com
       driver status: supported by SDL
       driver location: [44]ftp://ftp.sdlcomm.com/pub/drivers
     * Specialix SIO (20MHz Zilog Z280; 4 - 32 ports),
       XIO (25MHz Zilog Z280; 4 - 32 ports)
       contact: Simon Allen, [45]simonallen@cix.compulink.co.uk
       driver status: BETA
       driver location:
       [46]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: [47]sales@stallion.com or [48]http://www.stallion.com
       driver status: supported by Stallion
       driver location: [49]ftp://ftp.stallion.com/drivers/ata5/Linux and
       included in linux kernel since 1.3.27
       
   䤤 Comtrol, Cyclades, Digi,  Stallion ~b 1995 ~
   Linux Journal Wg^U峹D og峹ib
   [50]http://www.ssc.com/lj/issue14 D
   
2.5 䴩Cw

   ź``Winmodems''ƾھAҦp USR Sportster Winmodem  IBM Aptiva
   MWAVEA Lkb Linux WϥΡDoǼƾھ㦳M]pݭnSO
   Windows Xʵ{D קKϥγo˪ƾھD~AۦPzѤ]Oϥ
   ݭn Rockwell RPI Xʵ{ƾھD
   
   S Linux һXʵ{zC]ϥΡD
   
3. C𪺦W٬O?

   @ӿX/J(I/O)OΨӱNưeJqαqqXqD \h
   X/JAҦpCAAϺбAAӺdD ڭ̭nBz
   OCA]ƾھβ׺ݾOC˸mD C@ӦC𥲶@ӿX/
   J}AHΤ@Ӵ_X(IRQ)D |ӦC]ƹ COM1 - COM4:
   
ttyS0 (COM1) address 0x3f8 IRQ 4
ttyS1 (COM2) address 0x2f8 IRQ 3
ttyS2 (COM3) address 0x3e8 IRQ 4
ttyS3 (COM4) address 0x2e8 IRQ 3

   pG Linux ҰʮɨSC˸mAнTwbsĶ֤߮ɦ[JC
   D bo󤤡AڬOH ttyS0 ѷ COM1AttyS1 ѷ COM2AH ttyS2 
    COM3 AӥH ttyS3 ѷ COM4D `NoǸ˸mw] IRQ O|DAL
   kѳoǹw]ȨϥΩҦCAAswP IRQD Ѩ [51]
   ϥζWLӪC˸m? @`p]w IRQD
   
   YǦwˤ覡|إߨB~]ơAAƾھϥΪ /dev/modem HεA
   ƹϥΪ /dev/mouseD ̳O쵲AbwˮɩҫwA /dev ̪]
   ƪŸ쵲]DAΪO׬yƷƹ(bus mouse) A /dev/mouse N|
   ׬yƷƹoӳ]ơ^D
   
   wgϥ /dev/mouse H /dev/modem uIQסD ڱjPaϹ
   ϥγo쵲ApGAΧAƾھܡAnOAϥΤF
   /dev/modem AN|]wɮ(lock files)LkTB@ӾDJxD
   pGAw̪ܴNΧaAOnTw̫VT]ơD MӡApGA
   ܩΰhoӳsAYε{(Ҧp minicom)ins]wD
   
3.1 b /dev ̪C]ƤΥDnMnX

/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

   n`NҦoMӤwgTaإߤFoǳ]ơD AiHΤUk
   d:
   
linux% ls -l /dev/cua*
linux% ls -l /dev/ttyS*

  b /dev إ߳]
  
   pGAS䤤@ӳ]ơAAۤv mknod OإߥD ҦpAwA
   ݭnإ ttyS0 ]ơG
   
linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64

   A]iHϥ MAKEDEV oӫOZAb /dev Uӷ|D o²ƤF]ƪ
   ߡDҦpApGAݭnإ ttyS0 ]ƫhӿJG
   
linux# cd /dev
linux# ./MAKEDEV ttyS0

   oN|BzsuiӥHγsuXh]ƤإߡAó]wTvD
   
3.2 @hO`Nƶ

   AhOҨϥΪ]ƵAϥΨ@ئhOөwD oǲӸ`ԲӦCbH
   setserial { rc.serial ̭D pGAըϥΦhOܧڱjPĳA
   o̷s setserialD Ai|ݭnإ߳oǳ]ơDL׬O mknod 
   OάO MAKEDEV OZiHD hOҥγ]ƬOH[W ``64 + '' ӫ
   ߪDҥHApGAQ ttyS17 إ߳]ơAAӿJG
   
linux# mknod -m 666 /dev/cua17 c 5 81
linux# mknod -m 666 /dev/ttyS17 c 4 81

   n`N ''64 + 17 = 81''Dϥ MAKEDEV OZܡAAӿJG
   
linux# cd /dev
linux# ./MAKEDEV ttyS17

   `N: SIIG  IO1812 UWCX COM5-COM8 ODӬO
   COM5=0x250, COM6=0x258, COM7=0x260, H COM8=0x268D
   
   `N: Digi PC/8 Interrupt Status Register O 0x140D
   
   `N:  AST FourportAAb rc.serial w skip_testD
   
3.3 zhO`Nƶ

   \ŪHXʵ{ӨӪTD oǪOϥΤFS˸mAӫDзǪDoǸ
   TAwөwD
   
4. AD{

4.1 O getty?

   getty ObAñJ Unix ɭԳBzñJ{Ǫ@{D pGAƱA
   Linux ϥμƾھJܧA|ݭn gettyD pGAuݭnμƾھ
   XܧAݭn gettyD Tظg`tX Linux ϥΪ: getty_ps,
   mgetty H agettyD oǵ{ykOPAҥHקAΤ getty 
   TwAϥΤFTykD
   
   getty_ps
  
   j Linux wˮM󳣦wˤF getty_ps MD]tFӵ{: getty O
   ѥDxAHβ׺ݾ]ƩҨϥΡA uugetty hOѼƾھҨϥΪD ]
   ڥOϥγoӪ gettyAҥHbo󤤧ڱN|ۭ󦹮MD
   
   mgetty
  
   mgetty O@ӦbƾھWϥΪ getty D F\ñJ~A
   mgetty ]Ѷǯu(FAX)䴩Φ۰ PPP D oM mgetty go۷
   anA]ӤݭnAɥRDаѦҥw˻D A]iHb
   [52]http://www.leo.org/~doering/mgetty/  mgetty ̷sTD
   
   agetty
  
   agetty OĤT getty ܫD O getty @²檺A㪺\@AA
   XΦbDxβ׺ݾӫDƾھWD
   
4.2 O setserial?

   setserial O@iHAdݨíקC]ƦUݩʪ{A]A̩Ҩ
   Ϊ}A_AHΨ䥦CﶵD AiHǥѰ椣[Ѽƪ
   setserial TD
   
   bA Linux tαҰʮɡAu ttyS{0-3} |Hw] IRQ 4 H 3 Ӷi
   tmD ҥHApGAѨ䥦ɭdѪCάO ttyS{0-3} ϥΫD
   зǪw餤_(IRQ)ܡA Aγo{ӰtmoǦCDnDҦ
   ﶵаѦҽuWUD
   
5. ګμƾھXh?

5.1 wݨD

   AnTwA֦TsuDAƾھݭn@ (straight
   through) suASu (no pins crossed)D @aqө
   DnTwYΦO諸DpGAϥΪO DB25 CAӬO
   DB25 YD Aƾھ䤤@ӦCWDpGAݭnoӰʧ@
   UаѦҧAƾھUD
   
  ƾھ`Nƶ
  
   󤺱ƾھӨAAݭnsuDƾھݭnCAۤv
   ؤ@ӡD Auntm@ӨSQϥΪw餤_AåBtmӰ𪺿X
   J}DpGAdbYӰDWаѦҧAƾھUD PˡApGAݭn
   ܤ_HΦ}WUAѾ\ [53]گϥζWLӪC˸m? @`
   D
   
   bYǥDOWAQƾھNCHקKĬD oigѸu
   BIOS ]wӿAADOөwDd\ADOUD
   
   ѩ IBM8514 Td@ӿ~ApGAQnNAƾھ]b ttyS3
   ܥi|DJ@ǰDD pG Linux SA]b ttyS3 W
   ھAAiHϥ setserial {ӳ]wMƾھN|`B@D ]b
   ttyS{0-2} WƾھbWӤ|DD ѩ󦹵Td
   ~ Linux b ttyS3 S۰ʰʧ@D
   
5.2 PAƾھ

   bAϥνqT{p SLIP  PPP eH kermit Ψ䥦²檺qT{
   Ӵճoǳ]wD AiHq [54]http://www.columbia.edu/kermit/ HάM
   g`IW̷s kermit D ҦpAnOAƾھ]b ttyS3 WA
   BiH 115200 bps ܡAAiHo˰:
   
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                           ; oOAJëU Enter 
OK                                 ; ƾھӦ^o

   pGAƾھ AT Os^AAiHwAƾھb Linux o@
   ݯॿTB@D {bյۼt@xƾھ:
   
ATDT7654321

   䤤 7654321 O@ӹqܸXDpGAO߽Ľu(pulse line)ܥ ATDP
   ӤO ATDTD pGiHoXhAAƾھNi`B@D
   
   ^ kermit ܲŸUA Ctrl AU \ (backslash) AM}
   Ctrl AAU C :
   
Ctrl-\-C
(Back at linux)
C-Kermit>quit
linux#

   oӤLO""覡աD`kO kermit Υتƾ
   Ʈw۰ʬAAҦpAϥ US Robotics (USR) modem:
   
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       ; ܳqT˸m
C-Kermit>set speed 115200          ; ]wqTt
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:

   pGAݭn@ǫޡAd\ [55]qTn @`D
   
   AΧAƾھXhɡANAƾھ]쥦ү䴩̰tסD
   Linux  libc 5.x HWwg䴩 115200 bpsD libc q`b /libA]
   쨺̬ݤ@UAΤ򪩥D pG Linux Lk{o 57600  115200 bpsA
   A setserial {ӱNAC]󰪪tסD n]
   wѾ\ [56]pNڪC]w󰪳t? Ӹ`D MbqT{
   Nt׳] 38400 bpsD
   
5.3 XΪƾھtm

   unXhܡAAiHNHAQn覡tmAƾھD pGApe
   AƾھӱAANAƾھtmPAQn檺 getty
   bۦPt׳]wUD ҥHApGAQnb 38400 bps tפU getty 
   AbtmAƾھɭԱNt׳] 38400 bpsD o˰OFקKAqP
   ƾھt׵LktXD @ӻA}ҿ~եεwyqXt]
   wȬO̾AXXΪƾھAoǳ]wȥid\AƾھUD
   
5.4 wyq

   pGAƾھ䴩wyq(RTS/CTS)ܡA ڱjPaĳAhϥΥD
   o䴩YƾھN~nDAAbC𥻨WҰ
   RTS/CTS yq\D o̦nObҰʨtΪɭ԰AOb
   /etc/rc.d/rc.local άO /etc/rc.d/rc.serial ̭D nTwoɮ׷|QD
   n rc.sysinit ɮװIAݭnC@ӧAQnҰʵwyqC
   UCާ@G
   
stty crtscts < /dev/ttyS3

   A]bAƾھWҰ RTC/CTS yqDn򰵽аѦҧAƾھ
   UA]obPƾھsyӤOPD pGAƾھ䴩]wxs
   ܫhnTwNtmsJAƾھD
   
6. ڭn˥μƾھH getty_ps JμX?

   AƾھTaXhDpGA٨SŪL [57]ګμƾھ
   Xh @`ܲ{bhŪI ]tD`n]wTDpGAuQμƾھ
   ӼXܧAݭnŪ`D
   
6.1 JμXƾھtm

   nΨӱHμXhܡAATa]wAƾھ]A@
   Aƾھϥ AT Os^G
   
E1       a^O
Q0       ^G^
V1       }ҤҦ
S0=0     nť (uugetty H WAITFOR ﶵӳBz)

   pGASTa]wAbAtmɸ̪_l(INIT)ri|ѡA]Ӱ
   ӵ{ǡD OAUhtmɪﶵ...
   
&C1     DCD ubsuH~}
&S0     DSR û}
        DTR }/ mƾھ]OƾھsyӦөw - RTFM)

   oǷ|vTAƾھ}lHεʧ@D
   
   pGAƾھ䴩xs]wAAiHzLbAtmɸ̪_lrӳ]wo
   ǪFD Ѿ\UҭzD@ǼƾھOH DIP }ӼvTȦs]wA]
   nTwoǳ]wOTD
   
   ڤwg}lۤ⦬Pƾھ]wD ثeA٥u̪@p
   ApGAQnHeڧAثeҥΰtmAD`w! AiHqoǨo]
   ]w: [58]ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configsD
   
   `N: Fڪ USR Courier V.34 ƾھb DTR TUh᥿`amA
   ڥ]w &D2  S13=1(oO]wȦs S13  bit 0)DoTwb USR
   Sportster V.34 WB@`D
   
   `N: Y Supra ƾھBz DCD T覡䥦ƾھD pGAb
   Supra ƾھAյ۳]w &C0 ӤO &C1D A]]w &D2 Ϥ`aB
   z DTR TD
   
6.2 w getty_ps

   q [59]ftp://sunsite.unc.edu/pub/Linux/system/serial ̷sD SO
   aApGAQϥΰtqT(57600  115200 bps)AAo 2.0.7j ΥH
   D A] libc 5.x Τ᪺D
   
   ̷ӹw]ȡAgetty_ps N| Linux ɮרtμз(FSSTND, File System
   Standard)ӰtmAoӷNOGiXN|b /sbin UAӰtmɱN|H
   /etc/conf.{uu}getty.ttySN өRWD oIäqԭzI]|
   w lock files Non /var/lock ؿ̡DnTwA /var/lock oӥ
   D
   
   pGAQ̷ FSSTND ܡAGiXN| /etc ̭AӰtmɱN|
    /etc/default/{uu}getty.ttySN ̭A lock files hN|
   /usr/spool/uucp ̭D pGAϥ UUCP ܨګĳo˰A]pG
   A lock files h UUCP Lk쪺ah򥦱N|XDD
   
   getty_ps ]iϥ syslogd ӰOTDpGAثeS楦ܡAѾ\
   syslogd(1) H syslog.conf(5) uWUӳ]w syslogdD T|uH
   LOG_AUTH OA~ϥ LOG_ERR OAӰϥ LOG_DEBUGD pGAQ
   ϥ syslogd ܨAiHsb getty_ps lɮ׸̪ tune.h Τ@ӰO
   ɨӨNAw]ɦW /var/adm/getty.logD
   
   MwnO_n̷ FSSTND HΨϥ syslogDA]iHܨ̪զXD s
   MakefileAtune.h H config.h ӤAҧ@MwD MAھڮM̪
   sĶΦwˡD
   
   q{b_AҦͨ getty a賣O getty_ps ӨD ͨ uugetty hO
    getty_ps M̪ uugetty ӨD oǫOb mgetty  agetty WN
   B@D
   
6.3 ]w uugetty

   FnqAƾھJμXAڭ̷Qn uugettyDuugetty ܭn
    lock file ˬdD pGSܧs /etc/gettydefs HKƾھW[
   (`No̪ؤ۰ѦҡĄëDTwt - CӶؤťզO
   n):
   
# 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

   pGA 9600 bps Χ֥BY\઺ƾھAAiHwAC
   tצƾھhBzǿ骺䥦tסD MAWb /etc/gettydefs 
   @sCAuݬƾھ[W@AҦp:
   
# 115200 fixed speed
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200

   pGANAƾھ] RTS/CTS wyqܡAAiHN
   CRTSCTS [oǶظ̡G
   
# 115200 fixed speed with hardware flow control
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B log
in: #F115200

   pGAnܡAAiH uugetty bñJɪDWLXǦ쪺FD b
   Ҥl̡AڦLXtΦW١ACuAHΥثeC줸ǿvD AiH[
   J䥦FG
   
       @B    ثeC줸ǿv(bps, bݨ @B ɦp)D
       @D    {b, 榡 MM/DD/YYD
       @L    getty ҳsCuD
       @S    tΦW١D
       @T    {bɶA榡 HH:MM:SS (24 pɨ)D
       @U    ثeñJϥΪ̡DoOb /etc/utmp ɤD ut_name 춵تp
ȡD
       @V    ȡAbw]ɤwD
       pGn '@' ŸܡA '\@'  '@@'D

   UӡATwAƾھұC𦳿XοJ]ơD pGAƾھ]b
   ttyS3 ܧAN|ݭn /dev/cua3AH /dev/ttyS3 oӳ]ơD pGAS
   T]ơAѾ\ [60]b /dev إ߳] Ӹ`pإ߳]ơAåBإ
   oǳ]ơD pGAƱbA uugetty bʵoӦCO_HñJ
   μƾھXܡA /dev/cuaN ]ƦӤn /dev/ttySND
   
   Abs /etc/gettydefs ɡAAiHo˨ˬdykO_T:
   
linux# getty -c /etc/gettydefs

6.4 ۭq uugetty

   A\hѼƥiHΨӧܧAҾ֦C@ӰDoǬOHOC@Ӱϥ
   Ptmɪ覡ӹ@D o /etc/conf.uugetty ɮ׷|QҦ
   uugetty {ҨϥΡA /etc/conf.uugetty.ttySN uѨӰϥΡD w]
   tmɽdҥiHb getty_ps lɮ׸̧Aobj Linux oM
   ̭|D ]gTҶqAS⥦̦Cbo̡D n`NOpGA
   Oª getty ( 2.0.7e )AΪ̬OAS̷ FSSTND 
   Aw]ɮױN|O /etc/default/uugetty.ttySND ڪ
   /etc/conf.uugetty.ttyS3 ݰ_ӹo:
   
# 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

   NU@[A /etc/inittab ̥hA uugetty N|bACW
   (ΧAҪTTӨN - tmɪmACWAtסAιw]
   ݾΦ):
   
S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100

   sҰ init:
   
linux# init q

   bA /etc/inittab ̭tװѼơAA|ƱϥΧAƾھү䴩
   C줸ǿvD
   
   {b Linux N|HɺʵACO_suDqOa輷ñJA
   Linux D
   
   uugetty ٦hﶵAѾ\ getty (lm) uWUo󧹾㪺ԭzD O
   ٦Ƶ{(scheduling)\AHΦ^OD
   
7. ګ]w׺ݾsuڪ PC W?

   `ܯ׺ݾΨ䥦qsWA Linux CD
   
7.1 wݨD

   nTwA@TsuDbqөR null modem suNiHӥ
   D O@wonO@ null modem uI\hqNosuO
   CLuD TwAOϥΧACA DB25 άO DB9 YAӤO
   AæC( DB25  centronics)D
   
    DB-25 YӨAܤ֧Aon:

        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

   pGAQn֦yqHεwsu(handshaking)ܡAAn@
   㪺 null modem uG
        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
                                          |
        DTR   Data Terminal Ready  20 --> 8     DCD   Carrier Detect

   pGACW@ DB9 YAոլݤUo:
        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

   Ϊ̡A@㪺 DB9  DB25 null modem suG
        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)

   (S! ĤGβĤT}b DB9 sYWTM DB25 YNqۤ!)
   
   pGϥΪäO㪺 null modem suܡAAionUoӴF
   ޥ: bAqo䪺YWA RTS  CTS b@_AӥB] DSR,
   DCD H DTR b@_D γoӤkAqnD@ӥTwsuӫH
   ɡANiHo(qۤvoX)D
   
   {bAwgTsuAA׺ݾsAqWD pGAiH
   AiDA׺ݾƾھHD ոլݥ 9600 bps, 8 data bits, 1
   stop bit, no parity bits ӳ]w׺ݾD
   
7.2 ]w getty

   b /etc/gettydefs ̭W[@ӵ getty ΨӳsA׺ݾءApG٨S
   o:
   
# 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

   pGAnܡAAiH getty bñJDWLX@Ǧ쪺FD bڪ
   Ҥl̡AڦLXtΦW٥HΦCuDAiH[J䥦F:
   
@B    ثeC줸ǿv(bps, bݨ @B ɦp)D
@D    {b, 榡 MM/DD/YYD
@L    getty ҳsCuD
@S    tΦW١D
@T    {bɶA榡 HH:MM:SS (24 pɨ)D
@U    ثeñJϥΪ̡DoOb /etc/utmp ɤD ut_name 춵تpƭȡD
@V    ȡAbw]ɤwD
pGn '@' ŸܡA '\@'  '@@'D

   Abs /etc/gettydefs ɡAAiHo˨ˬdykO_T:
   
linux# getty -c /etc/gettydefs

   TwS getty  uugetty ]w(/etc/default/{uu}getty.ttySN 
   /etc/conf.{uu}getty.ttySN)bA׺ݾsCWA ]o]\|zZ
   b׺ݾW檺 gettyDpGܽвD
   
   sA /etc/inittab  getty bACW(ΧAҪTT
   N - tmɪmACWAtסAιw]׺ݾΦ):
   
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100

   s_l init:
   
linux# init q

   {bAӷ|bA׺ݾWݨñJܡD]\Ao^(return)X
   ׺ݾ`ND
   
7.3 N PC ]w׺ݾ`Nƶ

   \hHN䥦 PC ]w׺ݾs Linux WDҦpAª 8088 άO
   286 PC D`AXoӥγ~D AݭnuO@i]tAXA׺ݾ-ӤHq
   (Terminal-PC) ϥΪ DOS ϤAHA׺ݾ-ӤHq檺qT{
   D kermit boӥγ~W{oD`nD AiHbox
   [61]http://www.columbia.edu/kermit/ WXGiH{s@~t
   ϥΪwsĶ kermit D 䥦y檺 DOS qT{O telix H
   procomm ]N|@˦n{D nTwJTCTA׺ݾ-
   HqqT]w̥hD
   
8. گϥζWLӪC˸m?

   Aݭn\Ūo@`ADAQnϥΤTөΧhC]...(wASh
   d)D
   
   pAt@ӦhlCAOAAiHD AiHϥΪCƥب
   ڭ̥ϥΪw餤_nDHΰXJ}ƥءD oäO Linux 
   AӬO PC ׬yƪDw_}C@ӦC]ơD C]
   iHOCAƾھάOhdD
   
   hdOF֦\hӦCӤɥdWҦCҨϥΪۦP IRQ ӯSO
   ]pD Linux dWC@ӰϥΤPXJ}HKqơD
   
8.1 ܦC]ƪ_}

   A PC @|N ttyS0 H ttyS2 ]b IRQ 4 ӱN ttyS1 H ttyS3 ]b
   IRQ 3D g˵ /proc/interrupts AiHD IRQs QϥΡD nϥ
   ӥHWC]ƪܡAAsw@Ӥ_D @ӦnܬOqAæC
   䭫sw@Ӥ_DA PC @|]w IRQ5 άO IRQ7 AæC
   AOܤ֤H|ϥΨӨæCD AiHsw䤤@Ӥ_C]ơA
   ӤMබQaϥΤ@ӨæCD AN|ݭnΨ setserial {Ӱo
   D~AAվAOlW]w(Jumpers)AdݧADOD
   AQnCӰϥΪ IRQD
   
   ANonǳ]wCӦC]Ƴ@ӡAåBOߤ@@Ӥ_D o̬O
   b /etc/rc.d/rc.local ̩ҥΪ]w - AӦbҰʨtήɪYӦa谵o
   ơD
   
        /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 w:
              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

   bܤ_ɯuS򥿽TDunTwOwgQDOAάO䥦
   dҨϥΡD 2, 3, 4, 5 άO 7 OnܡD``not assigned''NOثe
   SFbзǱpU|Twϥγoǵw餤_nDD ]n`N IRQ 2
    IRQ 9 O@˪DAiH٥ 2  9ACXʵ{D`Fѳo@ID p
   GA@ 16-bit ׬yƳsYCdAA]iHϥ IRQ 10, 11, 12 
   15D
   
   unTwAϥΪëDO IRQ 0, 1, 6, 8, 13 άO 14! ̬OѧADO
   ϥΪD pGAo IRQs ܡA|ϱooܤD AA
   d /proc/interrupts HTwSĬo͡D
   
8.2 ]wC]ƪ}

   UӡAA]}DdݧADOU]wDN_ACӦ}
   u঳@ӦC]ơD Aq`|tmUoˡG
   
        ttyS0 address 0x3f8
        ttyS1 address 0x2f8
        ttyS2 address 0x3e8
        ttyS3 address 0x2e8

   ܧAQnC@ӦC]ƨϥΪ}åB̦ӳ]wD ڱNڪƾھ
   ]b ttyS3 Aڪƹb ttyS0Aӧڪ׺ݾb ttyS2D
   
   AsҰʮɡA Linux ӷ|bAҳ]w}ݨACD Linux 
   ݨ쪺 IRQ iण|A]w۲šD ߳o@ID Linux bҰ
   ɭԨèS IRQ A ] IRQ OMIåBiQFD
   ϥ setserial ӧiD Linux ӰϥΨ IRQD A]iHˬd
   /proc/ioports Ӭݬݦb Linux ҰʫᨺǿXJ}QϥΡD
   
9. ګ˱NڪC]t? ڪƾھSӨϥΤ˪t?

   o@`ӥiHAXAzLqT{AάO getty {ϥΧAƾھ
   ӨϥΤtסD
     * pGAҦO 9600 bps (V.32) ƾھ٭nCFANAt׳]
       Aƾھү䴩̰tסD Ҧp 300 (V.21/Bell 103), 1200
       (V.22/Bell 212A),  2400 bps (V.22bis)D
     * pGA 9600 bps (V.32) ƾھAåB䴩 V.42bis YAϥ
       38400 ӷ@AtסD V.42bis Y㦳 4:1 z׭ȡA]NO``4 *
       9600 = 38400''D
     * pGA 14400 bps (V.32bis) ƾھAåB䴩 V.42bis Y\
       ઺ܡAϥ setserial {A[W spd_hi XбNACtmϥ
       57600 bps (4 * 14400 = 57600) tסD
       pGA 28800  33600 bps (V.FC άO V.34) ƾھhϥ
       spd_vhi X (4 * 28800 = 115200)D
       MAbAqT{AάO /etc/inittab ̨ϥ 38400 @t׳]wD
       oO{bA]̰tסDnTwA 16550A qΫDPBഫ
       (UART)D
       pGA libc ܤ֬O 5.xA|s 57600  115200 tסD
       libc b /libAҥHb̬ݤ@UAΪOD pGAε{
       wgsĶHΦuIAAiHϥΥ( setserial)A \h
       M󳣤wgFA]pGA̪񪩥 Linux MA̦nkNO
       ըϥγoǧ󰪪tסD
       
   bROCU setserial OաAMbATw̥iHB@ANAҧ@
   קi /etc/rc.d/rc.serial  /etc/rc.d/rc.local HKbtαҰʰ
   ̡D bڪ /etc/rc.d/rc.local ̡AڬOo˳]wڪ ttyS3  115200
   bps :
   
/sbin/setserial /dev/ttyS3 spd_vhi

   TwAHXk|ϥ setserialAHΦXk˸mW١D AiHUkˬd@
   ӦC𪺳]w:
   
setserial -a /dev/ttyS3

10. qT{Τu

   o̦@ӳqT{CApGAҨϥΪoMYèSܡAoǳ
   iHb@몺 FTP D
   
     * ecu - @MqT{
     * [62]C-Kermit - i⪺Ai{ǤƪC TCP/IP qT{A]tɤ
       rഫ\
     * minicom -  telix qT{
     * procomm - ]t zmodemA procomm qT{
     * seyon - H X ¦ҪqT{
     * xc - xcomm qTM
     * 䥦Ϊ{O term  SLiRPD̴Ѩϥ shell b TCP/IP \
       D
     * screen Ot@ӦhϬq@~(multi-session){Doӵ{Nʧ@
       NxD
     * callback o{|ϧAƾھ^AD
     * mgetty+fax BzǯuưȡAåBѤ@ӤP gettyD
     * ZyXEL O ZyXEL U-1496 ƾھ{DBzAA^
       OKAǯuAHλyHc\D
     * SLIP  PPP nib
       [63]ftp://sunsite.unc.edu/pub/Linux/system/network/serial D
     * 䥦FiHb [64]ftp://sunsite.unc.edu/pub/Linux/system/serial H
        [65]ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm γ\hMg
       `I@DoǬOOdҦC{ؿD
       
11. CϥίZ

   o̦@ǧAio{ܦΪCZ...
   
11.1 kermit H zmodem

   nb kermit Uϥ zmodem ܡANUCe[A .kermrc ̥h:
   
define rz !rz < /dev/ttyS3 > /dev/ttyS3
define sz !sz \%0 > /dev/ttyS3 < /dev/ttyS3

   nTwTaJAƾکҦbCDMAnϥΪܡAunb kermit 
   ܲŸUJ rz  sz <ɦW> YiD
   
11.2 ۰ʳ]w׺ݾ

   nbAñJɭԦ۰ʳ]wA׺ݾΦܡA׺ݾΦ[
   /etc/inittab ظ̥hD pGڦ@x vt100 ׺ݾb ttyS1 W Aڭn
   getty O[W ``vt100'':
   
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100

   A]iHϥ tsetAiHbAñJɭԫإ߲׺ݾSʡAӥBݭn̿
   󪺹w]ȡD
   
11.3 bCsuUm ls

   pG ls ]mSʦZäFA׺ݾA⥦D ls --color H
   ls --colour ϥαmSʡDǦwˤ覡ϱo ls w]ϥαmD ˬd
   /etc/profile H /etc/csh.cshrc ̪ ls OWD pGAQקtιw]
   ȪܡAA]iH] ls OW ls --no-colorD
   
11.4 q׺ݾҳsLiCL

   @ӥs vtprint {iHoAb
   [66]ftp://ftp.sdsu.edu/pub/vtprint  [67]http://www.sdsu.edu/~garrett
   ioD
   
   t~@s xprt {]వDib
   [68]ftp://sunsite.unc.edu/pub/Linux/system/printing D
   
11.5 Linux ण۰ʦatmC]?

   iHDn Linux bҰʪɭԦ۰ʦaåB]wC]ƪܡAo@:
   
/sbin/setserial /dev/ttyS3 auto_irq skip_test autoconfig

   [A /etc/rc.d/rc.local άO /etc/rc.d/rc.serial ɮ׸̭D C@
   ӧAƱ۰ʰtmC𳣭nDnTwҵO@ӯusbAqW
   ]ƦW١D
   
  hd`Nƶ
  
   d}AH IRQs d\ setserial {H rc.serialD ܦh
   hdӸ`A]AXJ}Hγ]ƦW١D
   
11.6 ϥΦCx

   bĤTQ Linux Journal b
   [69]http://www.ssc.com/lj/issue36/index.html g峹pϥΦC
   x(serial console)D OAHqll󵹧@̳Qh^DڧƱog
   |ܧ֦aWz URL  Linux Journal D
   
11.7 󰪪Cyq

   pGb@ϥ (E)IDE ϺоtΤWAo{yqܺCӥBC`AA
   iHo hdparmD oO@ӥiHק (E)IDE ѼơA]t@Ϻ IRQ ʧ@
   䥦 IRQs iu@D o|ﵽtרUDTwpߦaŪLF
   uWUA]YǺϺ/dզXwåBilɮרtΡD
   
   ]iHݤ@U@ӥs irqtune uAiHܤ@Ӹ˸m IRQ uǡA
   pAƾھҦbCDo]iﵽAtΪCyqD irqtune `
   Dѵ(FAQ)ib [70]http://www.best.com/~cae/irqtune D
   
12. i@B...

   o@`äݭn\ŪAOiaA@ǹ Unix HιqlqT@ɧi@
   BFѡD
   
12.1 Owɮ(lock files)?

   Lock files uOª@ɮץΨӪܬYӯSw]ƥbϥΤD ̫O
   sb /usr/spool/uucp άO /var/lock ̭D Linux  lock files WrO
   LCK..nameA䤤 name O]ƦWٴNO@ UUCP `IW١D ǵ{ǫ
   ߳o locks HK̦ۤviHWӳ]ƪsvD ҦppGAqA
   ھXhAN|X{@ lock iD䥦{ǲ{bwgHbϥμƾھ
   D Lock files ̭DnO]tӳ]ƪ{Ǫ{X(PID)D j
   {|d\ lockAMˬd{(process table)wӳ]ƪ{Ӹյ
   Mwo lock O_MġD pGo{o lock OĪܡAoӵ{(
   )nD pGOAYǵ{|RLɪ lockAMϥθӳ]ơAæb
   {ɫإߥL̦ۤv lockD 䥦{NunçiDAӳ]ƥb
   ΤD
   
12.2 ``baud''  ``bps''

   ``baud''  ``bps'' iOq/qlqToӻ̳̱`QΪNy@D
   ̨ƹWäۦPɭԡAܦhHϥγoǳNyD
   
   jv(baud)
          jvOCƾھ(ܸѽվAmodulator-demodulator)eXh֦
          Tܪ׶qD ҦpAjv 1200 tNOHCj 833 L
          (microsecond)Yܤ@D Mjv 50, 75, 110, 300, 600,
          1200 H 2400DjtƾھҨϥΪjv 2400D ]y
          (voice-grade)qܽuWeAWL 2400 jvFA
          ӥubD`²bqܽu~U~B@D ``baud''@b Emile
          Baudot ~ALODPBqL(asynchronous telegraph
          printer)o̡D
          
   Cǿ줸(bps)
          C줸ǿvOCǿh֦줸׶qDMC줸ǿv
          50, 75, 110, 300, 1200, 2400, 4800, 9600, ... 115200D bϥ
          V.42bis Y(Y̤jv 4:1)ƾھUAzפWC줸ǿviH
          F 115200D oO\hHb ``baud'' oӦrɩҫND
          
   ҥHApGtƾھH 2400 baud B@A̦pǰe 14400 bps? ƾ
   C baud sXӪܬY@ƶq줸Өϱo bps j baudD oˤ@
   AGөΧh줸sX@ baud ɭԡAbps N|WV baudD pGA
   ƾھOH 14400 bps suܡAN|H 2400 baud tרC baud ǰe
   Ӧ줸D
   
   oӲVcO˶}l? A^줵ѪCtƾھ٬OQѪtƾھ
   ӮɥNAC줸ǿvHܲvڤWO۵D C bit sX
   @ baudDH̥ϥ bps H baud O]̪ƦrۦPD Ҧp@x
   300 bps ƾھHܲv]O 300D tƾھΫ@ܤFA
   ӥBC줸ǿvWLFHܲvD
   
12.3 O UARTs? ̦pvTį?

   UARTs (qΫDPBഫAUniversal Asyncronous Receiver
   Transmitter)OA PC CdWD ̪\άOন줸ANo
   줸eWCuAMbt@ݭsإ߸ơD UARTs OH줸լBz
   ơAܤKa]Oзǥ洫X(ASCII)rjpD
   
   wOA@xsA PC ׺ݾDAJ@ӦrɡA׺ݾ⥦浹
   ഫ(]O UART @)D ഫHwtvoӦ줸հeC
   uWAC@Ӧ줸D b PC o@ݡA줸 UART Ҧ줸AM
   ᭫sզ줸ըåBwİϸ̥hD
   
   ؤP UARTs DAi঳ťLM(dumb)UARTs - 8250 ٦
   16450AHΥiX UARTs - 16550AD nFѥ̪PAڭ̨
    UART eXα@Ӧ줸ծɩҵoͪơD
   
   o UART äưBzAuOeXHαD CeXα
   @Ӧ줸ծɡACPU |qC]Ʊ@Ӥ_D M CPU NⱵ쪺
   줸ձq UARTs wİϷhO骺YBAάOѥt@Ӧ줸յ UART 
   eD 8250 H 16450 UARTs u@Ӧ줸ժwİϡDoӷNOACeX
   @Ӧ줸մN|_ CPU @D bCtpUo˨SDDOb
   tǿvUACPU |Bz UART ӨSɶӮƨ䥦u@D bYǱpU
   ACPU SlΤήɳBz_AȡAӦ줸ձN]ƦpֳtaǤJ
   QмgD
   
   oNO 16550A UARTs ΪaDoǴ㦳 16 Ӧ줸ժiXC
   D oӷNOb_ CPU eiHഫF 16 Ӧ줸աD 
   O൥AӥB CPU {b]iHPɶǰe 16 Ӧ줸ժơD M_
   (threshold)ܤ֦] 16 Ao䥦u@Ӧ줸սwİϪ UARTs
   ӨMO@ӭnuID CPU ֪_A]iHۥѦa䥦Ʊ
   DƤ||ACӤHܰD (] 16550 o UARTAO 16450
   @˦]DD)
   
   @ӻA 8250 H 16450 UARTs ӯӥF 38400 bps u@tv
   D b 38400 bps tvUAAi}lƺ|D 䥦 PC @~t
   (o̪wqܼeP)A DOS ëDOhuAҥH̦iiH 8250 
   16450s oInD oNO򦳨ǤHèSݨƺ|AĻ
    Linux ~o͡D
   
   L-UART(Non-UART)HδzhdϥμƦBz(DSP)ӳBzB~w
   ĥHαAp CPU tD ҦpACyclades Cyclom 
   Stallion EasyIO oǥdϥ Cirrus Logic CD-1400 RISC A٦\hd
    80186 CPU ΧSO RISC CPU ӳBzCXJD
   
   ߸̭nOoAoǷM UART ëDOaAuO̤AXtǿD 
   AN׺ݾηƹso UARTs Ӥ|DJxD Oﰪtƾھ
   ӨA16550A iHOD
   
   AiHh@IIʶR 16550A UARTs CdAun߰ݹqӸӥd
   ϥΪO򫬸 UARTs YiD Ϊ̧AQɯŧA{bdAAiHun²
   aʶR 16550A åBmA{b 16450 UARTs D ̪}
   e(pin-to-pin compatible)Dǥd UARTs Ѩӧ@oӥγ~ϥΡD pG
   OܧAiHkD`NApGAAR@isdNi|ٱA\h·СA
   ̦b $50 HUD
   
13. Gٱư

13.1 ڤ_a ``line NNN of inittab invalid''

   nTwAA init ϥΥTkDo̩ҨS@ init |b
   /etc/inittab ɮ׸̨ϥΤPkD nTwAA getty ϥΥT
   kD
   
13.2 ڸյۼɡA ``/dev/cuaN: Device or resource busy''

   oӰDioͦb DCD  DTR S]wTɭԡD DCD ӥubus
   u(OHi)~Q]wAӤOb getty ʬݸӰ𪺮ɭԡD 
   dýTwAƾھTatmubusuɤ~]w DCDD DTR Ӧb
   FϥΩκʬݽuɳ]wAO getty, kermit, Ψ䥦qT{D
   
   t@Ӥް_ ``device busy'' ~M]OA]wACϥΤ@Ӥwg
   QYب䥦FϥΪ_D bC@ӳ]ƪlƪɫA|nD Linux 
   \ϥΥw餤_D Linux lܨӤ_Qw֡AӦpGA_
   wgQΡAA]ƱNAalơD ӳ]ƯuèSkiDA
   oͪoơAFAեhϥΥɭԡA|^ ``device-busy'' ~
   TD ˬdAҦd(CAAӺASCSI ɭ)DMw餤_Ĭ
   aD
   
13.3 ګ򱵨 ``Id SN respawning too fast: disabled for 5 minutes''

   TwAƾھTtmDdݼȦs E M QD oioͦbAƾھ
    getty qɭԡD
   
   TwATaq /etc/inittab Is gettyD ϥο~kγ]ƦWٱN|
   _YDD
   
   HUkˬdA /etc/gettydefs kO_T:
   
linux# getty -c /etc/gettydefs

   o]ioͦb uugetty ϤƥѮɡDѾ\ [71]getty  uugetty MLk
   B@ @`D
   
13.4 C]ƫܺCάOC]ƥuVǰe

   Aw餤_i঳ĬDTwSw餤_OQɪD ˬdAҦd(
   Cd, AӺd, SCSI )TwAC]ưt]wH setserial 
   ƬOTD Pˬd /proc/ioports  /proc/interrups HTwO_Ĭ
   o͡D
   
13.5 ڪƾھbYH_uȩάO uugetty èSs

   ob DTR TUӧAƾھSmɷ|o͡D oӰDbڨWoͪ
   ɭԧڬݨڪ RD  SD LEDs ƨga{{DAݭnAƾھmD j
    Hayes ۮeƾھϥ &D3 ӰoơAObڪ USR Courier WA
   on] &D2 H S13=1Dd\AƾھUD
   
13.6 ڱNڪ׺ݾsڪ PC WAObڿJñJW٤AN

     * pGAϥ getty: bA /etc/gettydefs ظ̥iS] CLOCAL 
       ׺ݾAӥBiAΪäO㪺 null modem suD Aݭn
       CLOCAL ӧiD Linux ƾھHDݰ_ӹo̳o:
       
# 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

       UӡA kill 屼 getty {o˷s{|Hsز͡D
     * pGAϥ agetty: [W -L XШA /etc/initab  agetty 
       D o|ϱoƾھHDMJ init q Hs initD
       oӶجݰ_ӹo:
       
s1:345:respawn:/sbin/agetty -L 9600 ttyS1 vt100

13.7 btUAڪƾھ|

   pGAզbj 38400 bps tvUϥΧAƾھAӧAèS 16550A
   UARTs ܡAAӭnN̤ɯšD  UARTs Ѿ\ [72]O
   UARTs? @`D
   
13.8 btαҰʮɡALinux S̷ӧڪtm^C]ơD

   oOƹDLinux btαҰʮɨèS IRQ AuC]ư
   D ҥHAnz|ܦw餤_A]uOwϥμзǪw
   餤_D oO]w餤_iaAӥBiQfFӳo˰D
   
   ҥHYϧڪ ttyS2 ]b IRQ5AڤMݨ
   
Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A

   b Linux ҰʮɡAAϥ setserial ӧiD Linux AҨϥΪw餤_D
   Linux ҰʫAAiHd /proc/interrupts ɥHFѯuQtm IRQ O
   D
   
13.9 ڨϥΧڪƾھs Linux  rz H/άO sz 

   pG Linux bAնǰeɮ׮ɷ|M /dev/modem ܡAd /etc/profile
   H /etc/csh.cshrcD YǵoM|boǦawq@ǧOWA̵ۦWO
   SlackwareD oǧOWZäF zmodem {D⥦̮άO󥿥̡D
   
13.10 ڪùLXݰ_ӫܦnr

   obAGiưeùɭԷ|oͦbxWAΪ̦ɭԷ|o
   ͦbCsuWD ״_oӰDkOJ echo ^v^[cD]rG
   AO:
   
linux% echo <ctrl>v<esc>c

13.11 getty  uugetty MLkB@

   getty_ps W DEBUG ﶵDsA /etc/conf.{uu}getty.ttySN tmɨ
   [W DEBUG=NNND 䤤 NNN OUCƦrզX@AھڧAQn~
   өw:
   
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

   ]w DEBUG=010 OӶ}lnaD
   
   pGAb syslogd ܡATN|X{bAOɸ̡D pGAS
    syslogd  getty TN|X{b /tmp/getty:ttySN ̦
   uugetty Th|X{b /tmp/uugetty:ttySN ̡AӥB̤]|Q
   /var/adm/getty.log ̥hD dݰTݬݵoͤFD̥i઺OAAN
   onվ@ǧAtmɸ̪ѼơAåBstmAƾھD
   
   AӤ]hո mgettyDǤHbϥΥɧ󬰩BD
   
14. 䥦Tӷ

     * UCOuWU(man pages): agetty(8), getty(1m), gettydefs(5),
       init(1), login(1), mgetty(8), setserial(8)
     * AƾھU
     * NET-3 HOWTO: ҦFA]AF SLIP, CSLIP, H PPP
     * [73]PPP HOWTO: Uϥ PPP
     * Printing HOWTO: p]wCL
     * Term HOWTO: ҦAQD term {Ʊ
     * UPS HOWTO: ]wsWAC UPS
     * UUCP HOWTO: إ UUCP T
     * Usenet sDs:
       
comp.os.linux.answers
         Linux  FAQs, How-To's, READMEs D
comp.os.linux.hardware
    Linux @~tΪwۮeʡD
comp.os.linux.networking
        Linux γqTD
comp.os.linux.setup
        Linux wˤΨtκ޲zD

     * Linux CqllC(mailing list)Dn[JܡAHqll
       [74]majordomo@vger.rutgers.eduA峹eg ``subscribe
       linux-serial''D pGAbeWg ``help''AA|o@UD
       oӦAٴѳ\h䥦 Linux CDeX ``lists'' OiHo
       ҦqllCCD
     * QצCqTΦhCdե֮ѥi Cyclades 
       [75]http://www.cyclades.com oD
     * Modem FAQs:
       [76]Navas 28800 Modem FAQ
       [77]Curt's High Speed Modem Page
     * C{g@: [78]Advanced Programming in the UNIX Environment, by
       W. Richard Stevens (ISBN 0-201-56317-7; Addison-Wesley)
       [79]POSIX Programmer's Guide, by Donald Lewine (ISBN
       0-937175-73-0; O'Reilly)
       
15. 

   W߼go HOWTO Oi઺ơD Mo HOWTO ejOڼg
   Aڸg`goǷP¨Ӻ\hbg@覡HΤeW^mHD P¨C
   g^mgΫĳHAoǤHCwgoLkCX(WL@ʤH)D SO
   P Ted T'so CXʵ{D^A٦td@ getty_ps 
   Kris GleasonAHέtd@ mgetty  Gert D&ouml;ringD
   
   SERIAL HOWTO 

References

   1. mailto:greg.hankins@cc.gatech.edu
   2. http://ultima.ncnu.edu.tw/~asdchen/
   3. http://www.phys.ntu.edu.tw/~cwhuang/pub/
   4. http://sunsite.unc.edu/LDP/COPYRIGHT.html
   5. http://sunsite.unc.edu/LDP/COPYRIGHT.html
   6. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/Serial-HOWTO
   7. http://sunsite.unc.edu/LDP/HOWTO/Serial-HOWTO.html
   8. news:comp.os.linux.answers
   9. mailto:greg.hankins@cc.gatech.edu
  10. http://www.cc.gatech.edu/staff/h/Greg.Hankins/
  11. http://www.redhat.com/linux-info/pnp
  12. http://www.sealevel.com/
  13. mailto:info@comtrol.com
  14. http://www.comtrol.com/
  15. ftp://tsx-11.mit.edu/pub/linux/packages/comtrol
  16. mailto:mhw@wittsend.atl.ga.us
  17. mailto:sales@cyclades.com
  18. http://www.cyclades.com/
  19. ftp://ftp.cyclades.com/pub/cyclades
  20. mailto:pccom8@signum.se
  21. ftp://ftp.signum.se/pub/pccom8
  22. mailto:sales@dgii.com
  23. http://www.dgii.com/
  24. ftp://ftp.dgii.com/drivers/linux
  25. mailto:si@wimpol.demon.co.uk
  26. mailto:fray@krypton.mankato.msus.edu
  27. mailto:sales@equinox.com
  28. http://www.equinox.com/
  29. ftp://ftp.equinox.com/library/sst
  30. mailto:spot@gtek.com
  31. http://www.gtek.com/
  32. ftp://ftp.gtek.com/pub
  33. mailto:arobinso@nyx.net
  34. http://www.nyx.net/~arobinso
  35. http://www.nyx.net/~arobinso
  36. mailto:info@maxpeed.com
  37. http://www.maxpeed.com/
  38. ftp://maxpeed.com/pub/ss
  39. mailto:info@moxa.com.tw
  40. http://www.moxa.com.tw/
  41. ftp://ftp.moxa.com.tw/drivers/c218-320/linux
  42. mailto:sales@sdlcomm.com
  43. http://www.sdlcomm.com/
  44. ftp://ftp.sdlcomm.com/pub/drivers
  45. mailto:simonallen@cix.compulink.co.uk
  46. ftp://sunsite.unc.edu/pub/Linux/kernel/patches/serial
  47. mailto:sales@stallion.com
  48. http://www.stallion.com/
  49. ftp://ftp.stallion.com/drivers/ata5/Linux
  50. http://www.ssc.com/lj/issue14
  51. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#irqaddr
  52. http://www.leo.org/~doering/mgetty/
  53. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#irqaddr
  54. http://www.columbia.edu/kermit/
  55. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#comms
  56. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#spdhi
  57. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#dialout
  58. ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs
  59. ftp://sunsite.unc.edu/pub/Linux/system/serial
  60. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#dev
  61. http://www.columbia.edu/kermit/
  62. http://www.columbia.edu/kermit/
  63. ftp://sunsite.unc.edu/pub/Linux/system/network/serial
  64. ftp://sunsite.unc.edu/pub/Linux/system/serial
  65. ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm
  66. ftp://ftp.sdsu.edu/pub/vtprint
  67. http://www.sdsu.edu/~garrett
  68. ftp://sunsite.unc.edu/pub/Linux/system/printing
  69. http://www.ssc.com/lj/issue36/index.html
  70. http://www.best.com/~cae/irqtune
  71. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#nowork
  72. file://localhost/tmp/zh-sgmltools.9643/Serial-HOWTO.txt.html#uart
  73. file://localhost/tmp/zh-sgmltools.9643/PPP-HOWTO.html
  74. mailto:majordomo@vger.rutgers.edu
  75. http://www.cyclades.com/
  76. http://web.aimnet.com/~jnavas/modem/faq.html
  77. http://www.teleport.com/~curt/modems.html
  78. http://heg-school.aw.com/cseng/authors/stevens/advanced/advanced.nclk
  79. http://www.ora.com/catalog/posix/
