








			   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

     oԭzpb Linux W]wCqT]ơD



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: 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 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  o󪺳̷s

s Serial HOWTO |

ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/Serial-HOWTO
HάMg`ID@Ǩ䥦O  Postscript  H DVI 榡b other-formats
ؿ̡D o@ Serial HOWTO ]ib http://sunsite.unc.edu/LDP/HOWTO/Serial-
HOWTO.html oD]|CwK comp.os.linux.answersD

1.3  ^X

бN󪺰DAסAĳθɥReHeڡDڥûťAo HOWTO
QkD ڤ]`Opߦa`Ni!
TaiDڧAaAΪ̬OaiHgoMD
AiHgѳoӹqll} greg.hankins@cc.gatech.edu PڳsôD
Ҧlڳ|^СALin@ӬPΧɶAݧڦhөwD


Linux Serial HOWTO Ķ						      1





Linux Serial HOWTO Ķ						      2



ڦ@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ڪ

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զXUB@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]xD
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]wOdUӡD AiHϥ loadlin JӱҰʡD








Linux Serial HOWTO Ķ						      3



    q 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)

    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: 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 ~b 1995 ~ Linux Jour
nal Wg^U峹D og峹ib 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
\hX/JAҦpCAAϺбAAӺdD
ڭ̭nBzOCA]ƾھβ׺ݾOC˸mD
C@ӦC𥲶@ӿX/J}AHΤ@Ӵ_X(IRQ)D |ӦC]ƹ
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


pG Linux ҰʮɨSC˸mAнTwbsĶ֤߮ɦ[JC䴩D
bo󤤡AڬOH ttyS0 ѷ COM1AttyS1 ѷ COM2AH ttyS2 ѷ COM3
AӥH ttyS3 ѷ COM4D `NoǸ˸mw] IRQ
O|DALkѳoǹw]ȨϥΩҦCAAswP IRQD Ѩ
گϥζWLӪC˸m? (section 8., page 17) @`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*

3.1.1  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









Linux Serial HOWTO Ķ						      8



3.2  @hO`Nƶ

AhOҨϥΪ]ƵAϥΨ@ئhOөwD oǲӸ`ԲӦCbH setse
rial { rc.serial ̭D pGAըϥΦhOܧڱjPĳAo̷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

4.1.1   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

4.1.2   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
http://www.leo.org/~doering/mgetty/  mgetty ̷sTD










Linux Serial HOWTO Ķ						      9



4.1.3   agetty

agetty OĤT getty ܫD O getty
@²檺A㪺\@AAXΦ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 ӶitmD
ҥ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

5.1.1  ƾھ`Nƶ

󤺱ƾھӨAAݭnsuDƾھݭnCAۤvؤ@ӡD
Auntm@ӨSQϥΪw餤_AåBtmӰ𪺿XJ}DpGAdbYӰDWаѦҧAƾھUD
PˡApGAݭnܤ_HΦ}WUAѾ\
گϥζWLӪC˸m? (section 8., page 17) @`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 http://www.columbia.edu/kermit/
HάMg`IW̷s kermit D ҦpAnOAƾھ]b ttyS3
WAӥBiH 115200 bps ܡAAiHo˰:













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				; 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 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	; ܳ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\ qTn (section 10., page 20) @`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
bpsAA setserial {ӱNAC]󰪪tסD
n]wѾ\ pNڪC]w󰪳t? (section 9., page 19)
Ӹ`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ɮ׷|QDn rc.sysinit
ɮװIAݭnC@ӧAQnҰʵwyqCUCާ@G

     stty crtscts < /dev/ttyS3


A]bAƾھWҰ RTC/CTS
yqDn򰵽аѦҧAƾھUA]obPƾھsyӤOPD
pGAƾھ䴩]wxsܫhnTwNtmsJAƾھD








Linux Serial HOWTO Ķ						     12



6.  ڭn˥μƾھH getty_ps JμX?

AƾھTaXhDpGA٨SŪL ګμƾھXh (sec
tion 5., page 9) @`ܲ{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̪@pApGAQnHeڧAثeҥΰtmAD`w!
AiHqoǨo]ǳ]w: ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-con
figsD

`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 Ϥ`aBz DTR TD

6.2  w getty_ps

q ftp://sunsite.unc.edu/pub/Linux/system/serial ̷sD
SOaApGAQϥΰtqT(57600  115200 bps)AAo 2.0.7j
ΥH᪺D A] libc 5.x Τ᪺D

̷ӹw]ȡAgetty_ps N| Linux ɮרtμз(FSSTND, File System Stan
dard)Ӱ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









Linux Serial HOWTO Ķ						     13



pGAQ̷ FSSTND ܡAGiXN| /etc ̭AӰtmɱN|
/etc/default/{uu}getty.ttySN ̭A lock files hN| /usr/spool/uucp
̭D pGAϥ UUCP ܨګĳo˰A]pGA 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 WNB@D

6.3  ]w uugetty

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

     # 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\઺ƾھAAiHwACtצƾھ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 login: #F115200

pGAnܡAAiH uugetty bñJɪDWLXǦ쪺FD








Linux Serial HOWTO Ķ						     14



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
pGAST]ơAѾ\ b /dev إ߳] (section 3.1.1, page 7)
Ӹ`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








Linux Serial HOWTO Ķ						     15



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\hqNosuOCLuD TwAOϥΧACA
DB25 άO DB9 YAӤOAæ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
					    |








Linux Serial HOWTO Ķ						     16



	  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٨So:

     # 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:









Linux Serial HOWTO Ķ						     17



     @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]\|zZb׺ݾ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 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]...(wAShd)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










Linux Serial HOWTO Ķ						     18



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æCAOܤ֤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 pGA@ 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/inter
rupts HTwSĬo͡D

8.2  ]wC]ƪ}

UӡAA]}DdݧADOU]wDN_ACӦ}u঳@ӦC]ơD
Aq`|tmUoˡG








Linux Serial HOWTO Ķ						     19



	  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ϥΥ( setse
     rial)A \hM󳣤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:









Linux Serial HOWTO Ķ						     20



     setserial -a /dev/ttyS3


10.  qT{Τu

o̦@ӳqT{CApGAҨϥΪoMYèSܡAoǳiHb@몺
FTP D

    ecu - @MqT{

    C-Kermit1	- 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-ses
     sion){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 ftp://sunsite.unc.edu/pub/Linux/system/net
     work/serial D

    䥦FiHb ftp://sunsite.unc.edu/pub/Linux/system/serial H
     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

____________________

1. <URL:http://www.columbia.edu/kermit/>







Linux Serial HOWTO Ķ						     21



     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 ftp://ftp.sdsu.edu/pub/vtprint 
http://www.sdsu.edu/~garrett ioD

t~@s xprt {]వDib ftp://sunsite.unc.edu/pub/Linux/sys
tem/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

11.5.1	hd`Nƶ

d}AH IRQs d\ setserial {H rc.serialD
ܦhhdӸ`A]AXJ}Hγ]ƦW١D

11.6  ϥΦCx

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









Linux Serial HOWTO Ķ						     22



11.7  󰪪Cyq

pGb@ϥ (E)IDE ϺоtΤWAo{yqܺCӥBC`AAiHo
hdparmD oO@ӥiHק (E)IDE ѼơA]t@Ϻ IRQ ʧ@䥦 IRQs
iu@D
o|ﵽtרUDTwpߦaŪLFuWUA]YǺϺ/dզXwåBilɮרtΡD

]iHݤ@U@ӥs irqtune uAiHܤ@Ӹ˸m IRQ
uǡAҦpAƾھҦbCDo]iﵽAtΪCyqD irqtune
`Dѵ(FAQ)ib 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 ̫Osb
/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-demodula
	    tor)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(asyn
	    chronous 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줸ǿviHF
	    115200D oO\hHb ``baud'' oӦrɩҫND










Linux Serial HOWTO Ķ						     23



ҥ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Ӧ줸հeCuWAC@Ӧ줸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˨SDDObtǿvUACPU |Bz UART
ӨSɶӮƨ䥦u@D bYǱpUACPU
SlΤήɳBz_AȡAӦ줸ձN]ƦpֳtaǤJӳQмgD

oNO 16550A UARTs ΪaDoǴ㦳 16 Ӧ줸ժiXCD
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@tvD 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








Linux Serial HOWTO Ķ						     24



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
pGOܧ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 ϥΥTkD

13.2  ڸյۼɡA ``/dev/cuaN: Device or resource busy''

oӰDioͦb DCD  DTR S]wTɭԡD DCD
ӥubusu(OHi)~Q]wAӤOb getty
ʬݸӰ𪺮ɭԡD ˬdýTwAƾھTatmubusuɤ~]w DCDD
DTR ӦbFϥΩκʬݽuɳ]wAO getty, kermit, Ψ䥦qT{D

t@Ӥް_ ``device busy''
~M]OA]wACϥΤ@ӤwgQYب䥦FϥΪ_D
bC@ӳ]ƪlƪɫA|nD Linux \ϥΥw餤_D Linux
lܨӤ_Qw֡AӦpGA_wgQΡAA]ƱNAalơD
ӳ]ƯuèSkiDAoͪ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Ѿ\ getty  uugetty MLkB@ (sec
tion 13.11, page 26) @`D










Linux Serial HOWTO Ķ						     25



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 Ѿ\ O UARTs? (section 12.3,
page 23) @`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








Linux Serial HOWTO Ķ						     26



b Linux ҰʮɡAAϥ setserial ӧiD Linux AҨϥΪw餤_D Linux
ҰʫAAiHd /proc/interrupts ɥHFѯuQtm IRQ OD

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]rGAO:

     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઺OAANonվ@ǧ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










Linux Serial HOWTO Ķ						     27



    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 major
     domo@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  http://www.cyclades.com
     oD

    Modem FAQs:

     Navas 28800 Modem FAQ2

     Curt's High Speed Modem Page3

    C{g@: 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.  

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

SERIAL HOWTO 





















































Linux Serial HOWTO Ķ						     29





































































				   CONTENTS



1.  ² .................................................................... 1
    1.1   vn .......................................................... 1
    1.2   o󪺳̷s ................................................ 1
    1.3   ^X .............................................................. 1
    1.4   Kdn .......................................................... 2

2.  wg䴩Cw ...................................................... 2
    2.1   з PC C .................................................... 2
    2.2   YYΫ(PnP)ƾھ ............................................. 2
    2.3   @hCd( 8250/16450/16550A UART ) .................... 3
    2.4   zhCd .................................................. 3
    2.5   䴩Cw .................................................. 6

3.  C𪺦W٬O? ..................................................... 6
    3.1   b /dev ̪C]ƤΥDnMnX .............................. 7
    3.2   @hO`Nƶ .............................................. 8
    3.3   zhO`Nƶ ............................................ 8

4.  AD{ ...................................................... 8
    4.1   O getty? ..................................................... 8
    4.2   O setserial? ................................................. 9

5.  ګμƾھXh? ................................................. 9
    5.1   wݨD .......................................................... 9
    5.2   PAƾھ .................................................. 9
    5.3   XΪƾھtm ............................................... 11
    5.4   wyq ..................................................... 11

6.  ڭn˥μƾھH getty_ps JμX? .............................. 12
    6.1   JμXƾھtm ........................................... 12
    6.2   w getty_ps .................................................... 12
    6.3   ]w uugetty ..................................................... 13
    6.4   ۭq uugetty ..................................................... 14

7.  ګ]w׺ݾsuڪ PC W? ...................................... 15
    7.1   wݨD ......................................................... 15
    7.2   ]w getty ....................................................... 16
    7.3   N PC ]w׺ݾ`Nƶ ..................................... 17

8.  گϥζWLӪC˸m? .......................................... 17
    8.1   ܦC]ƪ_} ........................................... 18
    8.2   ]wC]ƪ} ............................................... 18

9.  ګ˱NڪC]t? ڪƾھSӨϥΤ˪t? .... 19

10. qT{Τu ......................................................... 20

11. CϥίZ ........................................................... 20
    11.1  kermit H zmodem ............................................... 20
    11.2


				       i









	  ۰ʳ]w׺ݾ ............................................... 21
    11.3  bCsuUm ls ............................................ 21
    11.4  q׺ݾҳsLiCL ................................... 21
    11.5  Linux ण۰ʦatmC]? ................................ 21
    11.6  ϥΦCx ................................................... 21
    11.7  󰪪Cyq ................................................... 22

12. i@B... ............................................................ 22
    12.1  Owɮ(lock files)? ...................................... 22
    12.2  ``baud''  ``bps'' .............................................. 22
    12.3  O UARTs? ̦pvTį? .................................. 23

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

14. 䥦Tӷ ......................................................... 26

15.  ................................................................... 28



























				       ii


