  The Linux Serial HOWTO
  David S.Lawyer   dave@lafn.org original by Greg Hankins
  v2.07 May 2000
  The Linux Japanese FAQ Project
  v2.07j, May 2000

  ́̕AVA|[g̋@\̂AModem-HOWTO, PPP-HOWTO,
  Serial-Programming-HOWTO, Text-Terminal-HOWTO ňĂȂ͈͂
  ܂B}`|[gVAJ[hɊւЉ܂BVA
  |[gɊւđ̕ڂĂ̂ŁA肪VA|[g
  ̂̂ɂꍇ́Aǂނ̂Ԃł傤BfAPPP (db
  ŃC^[lbgɃANZX邽߂Ɏg܂)AeLXg[Ă
  ꍇɂ́AꂼɑΉ HOWTO ɂB
  ______________________________________________________________________

  ڎ

  1. ͂߂
     1.1 쌠AƐӎANWbg
        1.1.1 쌠
        1.1.2 Ɛӎ
        1.1.3 W
        1.1.4 NWbg
     1.2 [Xm[g
     1.3  HOWTO ̍ŐVłɂ
     1.4 VA|[g֘Ȃ HOWTO 
     1.5 tB[hobN
     1.6 VA|[gƂ͉?

  2. n[hEFAɂoCgf[^̓]̎d
     2.1 M
     2.2 M
     2.3 VA|[g̑傫ȃobt@

  3. VA|[g̊b
     3.1 VA|[gƂ͉?
        3.1.1 VA
        3.1.2 sƔz
        3.1.3 RS-232  EIA-232 
     3.2 I/O AhX IRQ
     3.3 O: ttyS0, ttyS1 
     3.4 荞
     3.5 f[^t[ (x)
     3.6 t[
        3.6.1 t[̗
        3.6.2 t[䂪Ȃ̏Ǐ
        3.6.3 n[hEFAt[΃\tgEFAt[
     3.7 f[^t[̃pXƃobt@
     3.8 Gȃt[̗
     3.9 VA\tgEFA: foCXhCoW[

  4. VA|[g͎xȂ̂?
     4.1 ͂߂
     4.2 ᑬŋZ EIA-232 P[u
     4.3 Rs[^ւ̃C^tF[X̔

  5. }`|[gVA{[h/J[h/A_v^
     5.1 }`|[gVA
     5.2 /dev fBNgł́ufoCXv̍쐬
     5.3 PC W̃VAJ[h
     5.4 _}`|[gVA{[h (W UART `bvڂĂ)
     5.5 CeWFg}`|[gVA{[h
     5.6 Ή̃}`|[g{[h

  6. VA|[g̐ݒ
     6.1 PCI oXւ̑Ή͐isł
     6.2 ݒ̊Tv
     6.3 ჌xݒɊւ邠ӂꂽԈႢ
     6.4 I/O AhX IRQ: ÑbZ[W
     6.5 VA|[ǧ݂ I/O AhX IRQ ̐ݒ?
        6.5.1 foCXhCo̐ݒ?
        6.5.2 VA|[g̃n[hEFA̐ݒ?
        6.5.3 PnP VA|[g̃n[hEFA̐ݒ?
     6.6 VA IRQ ̑I
        6.6.1 IRQ 0  IRQ ł͂Ȃ
        6.6.2 荞݂̋Lƃo[W 2.2 ȍ~̃J[l
        6.6.3 ǂ IRQ IԂ?
     6.7 AhX̑I --ttyS3 ƏՓ˂rfIJ[h
     6.8 I/O AhX IRQ ̃n[hEFAւ̐ݒ ( PnP )
        6.8.1 PnP BIOS g I/O AhX IRQ ̐ݒ
     6.9 IRQ  I/O AhX setserial ɗ^
     6.10 x̐ݒ: stty Ȃ
        6.10.1 t[̐ݒ: n[hEFAt[䂪xXgł
  7. VA|[gfoCX: /dev/ttyS2 
     7.1 VA|[gfoCX̖OƔԍ
     7.2 ttySN  /dev/modem ɃN𒣂ׂǂ
     7.3 }`|[g{[hɊւ钍
     7.4 /dev fBNgɂfoCX̍쐬@

  8. mĂƂ悢֗ȃvO
     8.1 VA|[g̊Ď/ffp̃vO
     8.2 荞݂̗Dx̕ύX
     8.3 setserial Ƃ͉?
        8.3.1 ͂߂
        8.3.2 T
        8.3.3 N̐ݒ
        8.3.4 ݒXNvg/t@C
        8.3.5 XNvg̕ҏW (o[W 2.15 ȍ~ł͂Ԃg܂)
        8.3.6 /etc/serial.conf pVݒ@
        8.3.7 IRQ
     8.4 stty
        8.4.1 ͂߂
        8.4.2 uʂ́v[ɑ΂Ă stty ̎gp
           8.4.2.1 _CNVgÂ@
        8.4.3 [ 2 ̃C^tF[X
        8.4.4 ǂ stty R}hu?
     8.5 isapnp Ƃ͉?

  9. x (t[[g)
     9.1 \ɑxݒł܂
        9.1.1 n[hEFAɑxݒ肷@:  baud_base l
        9.1.2 xݒɊւ̉
        9.1.3 U̎g̓{[[gł͂܂
     9.2 VÃX[vbǧ

  10. bNđŎgȂ悤ɂ
     10.1 ͂߂
     10.2 bNt@C
     10.3 foCXt@C̏LҁAO[vAp[~bV̕ύX

  11. ʐMvOƃ[eBeB
     11.1 \tgEFÄꗗ
     11.2 kermit  zmodem

  12. VAɊւ邿ƂeNjbNȂ
     12.1 ChCo
     12.2 וiƂĒmĂn[hEFA
        12.2.1 ̃rfI{[hŋN I/O AhX̏Փ˂@
        12.2.2 AMD Elan SC400 CPU (PC-on-a-chip) ł̖

  13. guV[eBO
     13.1 VA̓dCIȐffs
        13.1.1 pRlN^̏
        13.1.2 d̑
        13.1.3 d𖡂Ă݂
     13.2 VA|[g̊ĎƐff
     13.3 ȉ̐߂ Serial-HOWTO ɂ Modem-HOWTO ɂ܂:
     13.4 Iɂ̓VA|[ĝɁAo܂
     13.5 ̏Ȃx: eLXgxĂʂɕ\܂
     13.6 Ȃx:  2A3 {͑͂Ȃ̂ł
     13.7 VXeN̉ʂŁAVA|[g IRQ Ԉĕ\܂
     13.8 "Cannot open /dev/ttyS?: Permission denied" ƂG[o܂
     13.9 ttyS? ɂ "Operation not supported by device" ƂG[o
     13.10 "Cannot create lockfile. Sorry" (G[bZ[W)
     13.11 "Device /dev/ttyS? is locked." (foCX /dev/ttyS? bNĂ܂)
     13.12 "/dev/ttyS?: Device or resource busy"
     13.13 guΏ̂߂̃c[

  14. 荞݂̖Ɋւڂ
     14.1 荞݂̖̎
     14.2 荞݂̌ݒՓ˂ŋNǏ
     14.3 荞݂̐ݒ~X
     14.4 荞݂̏Փ
     14.5 荞݂̖̉

  15. UART Ƃ͉ł?  \ɂǂ̂悤ȉe^̂ł傤?
     15.1 UART 
     15.2 2 ނ UART
     15.3 FIFO
     15.4 UART ̃fԍ

  16. szuƐM
     16.1 szu
     16.2 M͌܂ӖĂȂƂ܂
     16.3 VA|[gԂ̃P[uڑ
     16.4 RTS/CTS  DTR/DSR ̃t[
        16.4.1 DTR  DSR ̃s
     16.5 |[g̃I[v֎~@

  17. d̔g`
     17.1 rbg 1 \d
     17.2 oCgf[^\dV[PX
     17.3 peB
     17.4 oCgf[^̍\ (t[)
     17.5 u񓯊vʐMœs@

  18. ̑̃VAfoCX (񓯊 EIA-232 ȊÔ)
     18.1 EIA-232 ̌p
     18.2 EIA-422-A (t^)  EIA-423-A (񕽍t^)
     18.3 EIA-485
     18.4 EIA-530
     18.5 EIA-612/613
     18.6 ėpVAoX (Universal Serial Bus, USB)
     18.7 ʐMƓ
        18.7.1 񓯊Ɠ̒`
        18.7.2 ʐM

  19. ̏
     19.1 
     19.2 VA|[gp\tgEFA
     19.3 Linux ̕
     19.4 Usenet ̃j[XO[v:
     19.5 VA|[gɊւ郁[OXg
     19.6 C^[lbg̏

  20. {ɂ

  ______________________________________________________________________

  1.  ͂߂

  ́̕AVA|[gƃ}`|[gVAJ[hɂĂ̊{I
  ȏĂ܂BfeLXg[ɌŗL̏́A Modem-HOWTO
   Text-Terminal-HOWTO Ɉړ܂Bgetty (OCs
  vO)Ɋւ HOWTO Ɉړ܂BƂ
  Amgetty  uugetty ̓fƑgݍ킹ĎgƂAagetty 
  eLXg[Ƒgݍ킹Ďg邱ƂłBfeLXg
  [Av^ꍇɂ́A HOWTO 𒲂ׂKv͂Ȃł傤B
  AVA|[gʂ̃foCXƑgݍ킹ĎgꍇA}`|[
  gVAJ[hgꍇAVA|[ĝ̂Ɋւ
  ꍇAVA|[gɊւZpIȏڂm肽ꍇɂ́A
   HOWTO Ƌɂ HOWTO QƂKv邩܂ (``֘A
   HOWTO '' )B HOWTO ɂ͊e}`|[gVA
  J[hɊւڂĂ܂BƂ̂A̓fłeLX
  g[łg邱Ƃ邩łB HOWTO  Intel x86 A[Le
  N`œ삷 Linux ΏۂɂĂ܂ÃA[LeN`łg
  邩܂B

  1.1.  쌠AƐӎANWbg

  1.1.1.  쌠

  Copyright (c) 1993-1997 by Greg Hankins, 1998-2000 by David S. Lawyer
  <mailto:dave@lafn.org>

  Please freely copy and distribute (sell or give away) this document in
  any format.  Forward any corrections and comments to the document
  maintainer.  You may create a derivative work and distribute it
  provided that you:

  1. Send your derivative work (in the most suitable format such as
     sgml) to the LDP (Linux Documentation Project) or the like for
     posting on the Internet.  If not the LDP, then let the LDP know
     where it is available.  Except for a translation, send a copy to
     the previous maintainer's url as shown in the latest version.

  2. License the derivative work in the spirit of this license or use
     GPL.  Include a copyright notice and at least a pointer to the
     license used.

  3. Give due credit to previous authors and major contributors.

  If you're considering making a derived work other than a translation,
  it's requested that you discuss your plans with the current
  maintainer.

  1.1.2.  Ɛӎ

  While I haven't intentionally tried to mislead you, there are likely a
  number of errors in this document.  Please let me know about them.
  Since this is free documentation, it should be obvious that I cannot
  be held legally responsible for any errors.

  1.1.3.  W

  Any brand names (starts with a capital letter) should be assumed to be
  a trademark).  Such trademarks belong to their respective owners.

  1.1.4.  NWbg

  IWi Serial-HOWTO ̑啔 Greg Hankins 
  gregh@cc.gatech.edu ܂B Greg ͂܂A̕񋟂
  ͂̏𕶑̂╶̗͂̌qۂ߂ɍsĂ܂BޞH
  uvĂꂽXAӌX̑SĂɊӂ܂Bꂼ
  ̖OƒȂ肷̂ŏȗ܂(100 l𒴂Ă܂)BV
  AhCoɂĂ̎ɓĂ Ted Ts'o ɂ͓Ɋӂ
  ܂vƂƂłBo[W 2.00 ̂񔼕 Greg Hankins 
   HOWTO ̓epAc̕ David Lawyer Vɏ܂
  BTed Ts'o ͂𑱂ĂĂ܂B

  1.2.  [Xm[g

  2.00 ͑啝ȉłAÂ Serial-HOWTO ɂ[ƃfɊւ
  ͂ȂȂ܂B͈̏ȉ̕ɈړĂ܂:

  o  Text-Terminal-HOWTO

  o  Modem-HOWTO

  2.01: Modem-HOWTO ȂǂvO&vCɊւǉ܂B
  setserial  stty ̏XV܂BM҂̓}`|[gJ[hɊւ
  SĂ̏񂪍ŐVǂ܂`FbNĂ܂B HOWTO 
  ͐FXȏ񌹂̏W߂čƂAꐫɌĂ
  ܂B̓_͏oo[WŉP邩܂B

  1.3.   HOWTO ̍ŐVłɂ

  Serial-HOWTO ̍ŐVł LDP Ƃ̃~[TCgŉ{Eł܂B~
  [TCg̃Xg  <http://metalab.unc.edu/LDP/mirrors.html> ɂ
  ܂B͐FXȌ`œł܂BŐVł̓tmFȂ
  <http://metalab.unc.edu/LDP/HOWTO/Serial-HOWTO.html> āA݂
  o[W(v2.07, May 2000)ƔׂĂB̃o[W̐V_
  ́AbLO̕@AUART vgRɊւ̐AXeBbL[
  peBɂĂłB

  1.4.  VA|[g֘Ȃ HOWTO 

  fAeLXg[Aꕔ̃v^⑼̎Ӌ@͂΂΃VA
  |[gg܂Bɐ~[TCĝAł߂TCg
   HOWTO 肵ĂB

  o  Modem-HOWTO f̃CXg[Ɛݒɂ

  o  Printing-HOWTO VAv^̎gpɊւ

  o  Serial-Programming-HOWTO VA|[g̓ǂݏԂ̊mF/ݒ
     s C ̃vO(܂͂̈ꕔ)߂̎QlłB
     Vo[Wo܂B

  o  Text-Terminal-HOWTO eLXg[̓ACXg[EݒEC
     @ɂ

  1.5.  tB[hobN

  AӌAāAǉ͕̏M҂ɑĂBM҂́Aǎ҂̊F
  񂪂 HOWTO ɂĂǂvĂ邩ϒm肽ƎvĂ܂B
  M҂͉P_ɒTĂ܂! łȂƂA͂肵
  ͂ƕM҂ɋĂBM҂ɘAɂ
   (David Lawyer) ܂Ń[𑗂ĂB

  1.6.  VA|[gƂ͉?

  (V USB |[g HSSI |[głȂ)]̃VA|[ǵA
  Â I/O |[głBVA|[g͂قƂǑSĂ PC ɕtĂ
  Bł 1998 NΈȍ~ Macintosh (Ft̃P[X̂)ɂ USB
  |[gĂ܂BłʓIȋKi RS-232 (EIA-232 ƂĂ
  ܂)łBVA|[g̃RlN^́APC ̗9 s̃RlN^(25
  s̏ꍇ܂) 1 ܂ 2 tĂ`ł悭܂B
  AVA|[g͂ꂾ̂̂ł͂܂BVA|[g
  ́AEIA-232 KiɏM𐶐Ȃ΂ȂȂ֘AdqZp
  ܂܂B``d̔g`'' ̏͂ĂBs̓f[^̃oCg
  𑗂邽߂ɎgAʂ̃s̓oCg󂯎邽߂Ɏg܂BM
  ʂɎgڒnd̃s܂B́u֗ȁvs͎ɁAuItv
  \̒dƁuIv\̒dgĐM\߂
  g܂B

  UART (Universal Asynchronous Receiver-Transmitter) `bvقƂǂ
  s܂Bŋ߂͕ʁÃ`bv̋@\͕ʂ̃`bvɑgݍ܂
  ܂Bu``UART Ƃ͉ł?''vQƂĂBUART ͎Ԃo
  ɂǂĂA݂͌Âf(NÕf)͎x
  ȂĂ܂B

  VA|[g͌X̓fڑ邽߂ɐ݌vꂽ̂łA}EX
  eLXg[Ãv^̐FXȃfoCXRs[^ɐڑ
  邽߂ɂgĂ܂B̃foCX́AK؂ȃP[ug
  VA|[gɌqłBf̑͑gݍ݂̃VA|[
  gĂ̂ŁAf PC ɒǉƁAʂ̃VA|[g
  PC ɉ悤Ɍ܂B

  2.  n[hEFAɂoCgf[^̓]̎d

  ȉ̘͂bɂĂ̓IȉłAƐi񂾓eɂĂ
  ``FIFO'' ĂB

  2.1.  M

  M(transmitting)Ƃ́AVA|[gʂăRs[^oCg
  𑗂邱ƂłBUAM𗝉ł΁AM͓悤Ȃ̂Ȃ̂ŗ
  ̂͗eՂłBōŏɎ͋ɒ[Ɋȗ̂łB
  ƏڂŒǉ܂BRs[^(OP[uɌqĂ
  )VA|[g 1 oCg̃f[^𑗂낤Ƃ鎞ACPU ̓R
  s[^̃oXɂ邻̃f[^VA|[g I/O AhX
  ܂BVA|[g͂̃f[^󂯎AVAP[u̒[q
  ̑MsgĂ 1 rbg܂(VArbgXg[
  )Brbg(ƃoCg)dCIɂ͂ǂ̂ɂẮA``d
  ̔g`''̏͂B

  L̐ڂ(܂Sɂ͒̂ł)JԂ
  BVA|[gōs鏈̂قƂǂ UART (܂͓̂)
  s܂B1 oCg̃f[^]邽߂ɁAVAfoCXhCov
  O(CPU œ)̓VA|[g I/O AhX 1 oCg𑗂
  ܂B̃f[^̓VA|[ǵuMVtgWX^v(傫 1 o
  Cg)ɓ܂B̃VtgWX^ł́ÃoCgf[^ 1 rbg
  oA1 rbgVAɑ܂BčŌ̃rbg
  MAVtgWX^邽߂̕ʂ̃oCgKvƂ悤ɂȂ
  ƁAUART ͕ʂ̃oCgf[^𑗂悤 CPU ɋ߂邾ōς݂܂B
  ȂPȘbłACPU oCgf[^𑦍Ɏ擾邱ƂłȂ
  ߂ɒx邩܂BȂɂ CPU ̓VA|[g̏
  OɂƂȂĂ̂ʂłB

  ̂悤ȒxȂ@́AVtgWX^oCgf[^KvƂ
  O CPU oCgf[^擾āAVA|[g(n[hEF
  A) obt@Ɋi[邱ƂłBĂ΁AVtgWX^oCg
  f[^𑗂oĂ܂ĎɑoCgf[^ɕKvɂȂ
  ́AVA|[g̃n[hEFÃ͎obt@ɓĂ鎟̃oCg
  f[^VtgWX^ɓ]邾łBVoCgf[^擾
  ߂ CPU ĂԕKv͂܂B

  VA|[g̃obt@̃TCY͌X 1 oCg܂ł
  A݂͕ 16 oCgł(ȃVA|[gɂ͂Ƃ܂)B
  łAVtgWX^]f[^KvƂɕKob
  t@Ƀf[^悤ɁÃobt@ɏ\ȃoCgf[^^
  Ƃ肪cĂ܂(f[^cĂȂꍇ͏܂)B
  ͊荞݂g CPU ƘA邱Ƃōs܂B

  ܂̓obt@ 1 oCǧẪVA|[gɂĐ
  BƂ̂Aobt@ 16 oCĝ̂悤ɓ삷邩
  ( ͂蕡Gł)BVtgWX^oCgf[^obt@
  oAobt@̃oCgf[^KvƂƁARs[^
  oXɂp̔z̓dグ邱ƂɂACPU Ɋ荞݂
  ܂BCPU ɏdvȏĂȂ΁ACPU s̏͊
  ݂ɂ苭IɒfAVA|[g̃obt@ɕʂ̃oCgf[^
  ^邽߂̃vOs܂B̃obt@̖ړÍAVA
  |[g̃P[u瑗ooCgf[^r؂Ȃ悤ɁAǉ
  oCgf[^(̂҂)n[hEFÃL[ɓԂ
  ۂƂłB

   CPU Ɋ荞݂ƁACPU ͒N荞݂m
  ܂BȂȂAeVA|[gɂĐp̊荞ݐ邩
  (荞݂̋LĂȂꍇ)Bꂩ CPU ̓VAfo
  CXhCo𓮍삳܂BhCo I/O AhXɂ郌WX^
  `FbNAN̂𒲂ׂ܂BāAVA|[g̑Mob
  t@ɂȂAǉ̃oCgf[^҂Ă邱Ƃm܂B
  āAׂoCgf[^Ƃ΁ACPU ͎̃oCgf[^VA
  |[g I/O AhXɑ܂B̃oCǵAÕoCg܂M
  VtgWX^ɂA1 rbgĂԂɓ͂ȂĂ͂Ȃ
  B

  KƁA1 oCgVA|[g̑M֊SɑoƁAV
  tgWX^͋ɂȂAȉ 3 ̓삪قƂǓɋN܂:

  1. ̃oCgMobt@瑗MVtgWX^ɓ܂B

  2. ̐VoCg(1 rbg)Mn܂܂B

  3. ̊荞݂sAAɂȂMobt@֎̃oC
     g𑗂悤AfoCXhCoɎw܂B

  ̂悤ɁAVA|[g͊荞݋쓮(interrupt driven)łƌ
  ܂BVA|[g荞݂𔭍sxɁACPU ͎̃oCg𑗂
  B CPU  1 oCg𑗐Mobt@ɑƁÅ荞݂󂯎
  ŁACPU ͑̏RɍsƂł܂BVA|[g̓[U(
  邢̓AvP[VvO)IŒ̑xŃrbg
  M܂B̑x̓{[[gƌĂ΂邱Ƃ܂BVA|[g
  ̓oCgƂɒǉ̃rbg(X^[grbgAXgbvrbgAꍇɂ
  Ă̓peBrbg)t̂ŁȀꍇA1 oCgƂ 10
  rbg̃f[^܂BāAʐM[g(xƂ܂)
  19,200 rbg/b(bps, bit per second) 1,920 oCg/b(1,920 荞
  /b)ƂƂɂȂ܂B

  ̏SčsƂ CPU ɂƂĂdSłB͐FXȗR
  猾܂B܂́A32 rbg(64 rbĝƂĂ܂)̃oX
  ň 1 oCg(8 rbg)̃f[^Ȃ̂ŁAoX܂L
  ɎgĂƂ͌܂B܂A荞݂𑗂xɑ傫ȃI[o[
  wbh܂B荞݂󂯎ꍇłAfoCXhCoɕ
  邱Ƃ͉VA|[gŊ荞݂NƂłA
  ꂽƂRł邱Ƃ܂ł͕܂BN𒲂ׂ
  ɂ́AfoCXhCo͐FXȃ`FbNsȂ΂Ȃ܂B
  荞݂NĂA󂯎̂܂񂵁ȀԂ
  ω̂܂B

  dvȉ@̈́AVA|[g̃obt@̑傫 1 oCg
   16 oCgɑ₷ƂłB܂ACPU ͊荞݂󂯎ƁAV
  A|[g 16 oCg܂ł̃f[^Vɑ邱Ƃł܂B
  芄荞݂̔s͌܂AoXɂ炸 1 oCg
  f[^𑗂Ȃ͂̂܂܂łB16 oCg̃obt@͎ۂɂ
  FIFO (First In First Out, o)̃L[łA悭 FIFO ƌ
  ΂܂B FIFO ̏ڍׂɂĂ ``FIFO'' B܂ł̐
  ꕔJԂĂ܂B

  2.2.  M

  VA|[gɂoCg̎M͑MƂقړŁAtɂȂ
  邾łBM荞݋쓮łBMobt@ 1 oCg
  ȂÂ^̃VA|[gł́AOP[u 1 oCg̃f[^S
  󂯎ƁÃf[^(傫 1 oCgł)Mobt@ɓ
  ܂BƃVA|[g CPU Ɋ荞݂Ẵf[^荞
  ܂AݎM̎̃f[^i[łꏊ󂭂悤ɂ܂B16 o
  Cg̃obt@ĂVVA|[g̏ꍇ́A(oCg
  f[^擾邽߂) 荞݂̓obt@ 14 oCg̃f[^~ς
  _Ŕs܂B CPU ݂͌̏U~߁A14  16 o
  Cg̃f[^VA|[go܂B14 Ԗڂ̃oCg󂯎
  ꂽɑꂽ荞݂ɑ΂AꂪNĂ炳 2 ̃oCg
  f[^͂ƁA󂯎ׂoCǧ 16 oCgɂȂ邩܂
  B(2 oCgł͂Ȃ) 3 oCg͂Ă܂ƁA16 oCg̃ob
  t@͈Ă܂܂B 14 oCg̃f[^荞ނƂÂ
  ɐݒ肷邱Ƃ^CAEgɂł܂Bڂ ``FIFO'' 
  B

  2.3.  VA|[g̑傫ȃobt@

  ܂ł̓VA|[gĂ 16 oCg̏n[hEFAob
  t@ɂĐ܂ACɂ͂Ƒ傫ȃobt@
  ܂BCPU ͂̃oCgf[^n[hEFA̎Mobt@
  ނƁÃf[^ĈƑ傫(Ⴆ 8K oCg
  )obt@ɓ܂BāAVA|[gf[^󂯎
  vÓȂ傫ȃobt@ (vO "read" p
  )f[^o܂BMf[^ɂĂƂ
  BCPU f[^炩KvꍇA CPU ̓Cɂ
  傫(8K oCg)Mobt@f[^oAn[hEFA
   16 oCg̏ȑMobt@ɓ܂B

  3.  VA|[g̊b

  VA|[ggȂb𗝉Kv͂܂񂪁Ab
  Ă΁A肪NۂɌ肷ɗ܂B
  ̏͂͐Vbɂďqׂ邾łȂAȌ(``n[hEFAɂ
  oCgf[^̓]̎d'' ̓ëꕔJԂ܂BA
  ̏͂ł͂Əڂs܂B

  3.1.  VA|[gƂ͉?

  3.1.1.  VA

  VA|[g I/O (o)foCXłB

  I/O foCX̓Rs[^Ƀf[^oꂷ邽߂̕@łBI/O f
  oCXɂ̓VA|[gp|[gAfBXNhCuRg[
  AC[Tlbg{[hAėpVAoX̂̎ނ܂B
  قƂǂ PC ɂ̓VA|[g 1  2 ܂Be|[g̓R
  s[^̗ 9 s(25 ŝƂ܂)̃RlN^Ă
  BRs[^̃vO͑Ms(o)Ƀf[^(oCg)𑗂邱
  Ƃł܂AMs()f[^󂯎邱Ƃł܂B
  s̓t[Ɛڒn̂߂Ɏg܂B

  VA|[g͒PȂRlN^ł͂܂BVA|[g͕(p
  )̃f[^𒼗(VA)ɕϊAf[^̓dCIȕ\ς
  BRs[^ł́Af[^\rbgQ͕ɗ܂(
  ̔zp܂)Bf[^𒼗ɗƂ́A1 {̔z(VARl
  N^̑MsMs)Ƀrbg̃Xg[𗬂ƂłBVA
  |[gł͂̂悤Ƀf[^𗬂߁AVA|[g͑Ms
  f[^(Rs[^̌`)璼ɕϊłȂ΂Ȃ܂
  (̋t̕ϊKvł)B
  VA|[g̓dqĤقƂǂ́AUART ƌĂ΂`bv(邢
  `bv̈ꕔ)łBUART ̏ڍׂɂẮA``UART  ł? \
  ǂȉe^܂?''̏͂ĂBA܂͂̏͂
  ǂނƂ悢ł傤BŜɂ UART ̈ʒuÂ邩łB

  3.1.2.  sƔz

  Â PC ł 25 s̃RlN^gĂ܂ÂۂɎg
  Ă̂ 9 {̃słBāA݂ł͂قƂǂ̃RlN
  ^ 9 słB9 {̃s͕ʁAꂼzɌqĂ܂Bf[
  ^̑MƎMpɎg 2 {̐̑ɁAM̐ڒnp 1 {̃s(
  z)g܂Bez̓d́A̐ڒndɑ΂Čv܂B
  ̂悤ɁAõf[^̑M̂߂Ɏgz̍ŏ 3 {łB
  AMڒnȂĂ삷邱ƂmĂ͂܂Ȁꍇ
  ɂ͐\AG[N肵܂B

  ɂƔz܂A͐̂(M)Ɏg邾
  łAf[^̑Mɂ͎g܂BSĂ̐M 1 {̐ŋL
  邱Ƃł܂AVA|[g͂ȂĂ炸AM̎ނƂ
  ʁX̐ppӂĂ܂B̐pz̈ꕔ(邢͑S)
  ́uf(modem control line)vƌĂ΂܂Bf̏
  ́A +12 V ̗L(on)ԂA-12 V ̖(off)Ԃ̂ǂ炩łB
  ̃f 1 ́ARs[^ɐM𑗂ăVA|[g
  ̃f[^M~߂邽߂̂̂łBƂ͋tŁAVA|[g
  ڑꂽfoCX֐M𑗂ARs[^ւ̃f[^M~߂
  ߂̐ڑ܂B܂AڑĂfoCXf̏ꍇ
  ́Afɓdb؂悤ɎwAڑmĂ邱Ƃdb
  Ă(NdbĂĂ)ƂRs[^ɋ肷
  ߂̐܂Bڂ ``szuƐM'' ̏͂B

  3.1.3.  RS-232  EIA-232 

  (USB ł͂Ȃ)VA|[g̋Ki͕ RS-232-C, EIA-232-D,
  EIA-232-E ̂ꂩłB 3 ͂قƂǓ̂łBƂƓ
  ɕtĂ RS(Recommended Standard) EIA (Electronics Industries
  Association)ƂȂAEIA  TIA (Telecommunications Industries
  Association)  EIA/TIA ƂȂ܂BEIA-232 ̎dlɂ͓
  ʐMĂ܂AɑΉ邽߂̃n[hEFA PC ɂ
  قƂǂĂ܂B RS Ƃď͉̎̂ߋ̂̂ƂȂ܂A
  łLgĂ܂B{ HOWTO ł EIA Ƃ\Lg܂
  AɂĂ͊Sȕ\Lł EIA/TIAgĂ̂܂B
  ȊO(EIA-232 ȊO)VA|[gɂẮA ``̃VAf
  oCX (񓯊 EIA-232 łȂ)'' ̏͂B

  3.2.  I/O AhX IRQ

  Rs[^͂ꂼ̃VA|[gƒʐMKv̂ŁA OS 
  ꂼ̃VA|[g݂邱ƂƂ炪ꏊ (I/O Ah
  X)mĂȂ΂Ȃ܂B܂AVA|[g CPU ɃT[rX
  v鎞ɂǂ̐(IRQ ԍ)gȂ΂ȂȂ OS ͒mĂ
  Kv܂BVA|[g͂̐Ɋ荞݂𑗂邱Ƃɂ
  T[rXv܂BāAꂼ̃VA|[gfoCX
  I/O AhX IRQ (Interrupt ReQuest number)̗s
  ۑĂȂ΂Ȃ܂Bڂ``荞''̐߂QƂĂ
  B PCI oX̏ꍇ́AK̂悤ɓ삷킯ł͂܂B
  Ƃ̂APCI ɂ͓Ǝ̊荞݃VXe邩łBAPCI
  Ή BIOS  PCI ̊荞݂ IRQ Ƀ}bsO悤Ƀ`bvݒ
  邽߁A͐̐̒ʂɓ삵܂BA荞݂̋L
  Ă_͏܂(̃foCX IRQ ԍg킯
  )B

  I/O AhX̓̃AhXƂ͕ʕłB I/O AhXRs[
  ^̃AhXoXɐݒ肳ƁAʂ̔zɐM̂łB̐M
  ĂƃC̓AhX𖳎܂AŗL I/O Ah
  XĂSẴfoCX(VA|[g)͐ݒ肳ꂽAhXɒ
  ڂAꂪfoCX̃AhXɃ}b`邩ǂ`FbN܂B
  AhX}b`΁A I/O foCX̓f[^oX̃f[^
  ݍ݂܂B

  3.3.  O: ttyS0, ttyS1 

  VA|[gɂ ttyS0, ttyS1 ̖Ot܂(͕
  ʁADOS  Windows ɂ COM1, COM2 ɂꂼΉ܂)B /dev
  fBNgɂ́Aꂼ̃|[gɊւt@C܂B "ls
  /dev/ttyS*" sẴt@CĂ݂܂傤BA (Ⴆ
  )ttyS3 t@C邩ƂāAKɕIȃVA
  |[g݂킯ł͂܂B

  (ttyS0, ttyS1 )ǂ̖Oǂ̕VA|[gŵ́Aȉ
  ̂悤ɂČ܂܂BVAhCo(\tgEFA)́Aǂ I/O A
  hXǂ ttyS ɑΉ̂\ǗĂ܂B̂悤Ȗ
  O(ttyS1 ) I/O AhX( IRQ)ւ̑Ή́Aݒ\
  "setserial" R}hōs܂B ``setserial Ƃ͉?''̐߂
  B̃vÓAn[hEFÂ̂ I/O AhX IRQ ̐
  ͍s܂(n[hEFA̐ݒ̓WpvO&vC̐ݒvO
  ōs܂)B̂悤ɁAǂ̕|[g ttyS1 ȂǂɑΉ̂
  ́A(setserial ł)VAhCo̐ݒƃn[hEFA̐ݒ̗
  ˑ܂Bݒ肪ԈĂƁA|[g(ttyS2 Ȃǂ) Oɑ
  ꂸAĎgȂȂ܂Bڂ ``/dev/ttyS2 ̃V
  A|[gfoCX'' ̏͂B

  3.4.  荞

  VA|[ǵA鐔̃oCgf[^(1, 4, 8, 14 ̂ꂩɐݒ肳
  ĂƎv܂)̃f[^ FIFO obt@Ɏ󂯎ƁAʏ͂
  |[gg̔zɊ荞݂ƂĒmdCM𗬂
  ɂÃf[^荞ނ悤 CPU ɓ`܂B̂悤 FIFO
  ́A鐔̃oCgf[^҂āAꂩ犄荞݂𔭍s܂B

  Å荞݂́ÃoCgf[^͂̂҂ĂԂɁA\
  Ȃxɂ܂(^CAEgƂ܂)B̂悤
  ɁAoCgf[^MĂ([̃L[{[hœ͂
  悤)A1 oCg󂯎邲ƂɊ荞݂s邩܂
  Bꕔ UART `bvł́Aȉ̂悤ȋKɂȂ܂:  4 oCgA
  Ď󂯎邩Ȃ̂ɁA 4 oCg̃f[^
  oĂȂ΁AVA|[g͎̃oCgf[^҂̂
  ߁A FIFO ɓĂoCgf[^擾邽߂Ɋ荞݂𔭍s
  ܂BAFIFO łΊ荞݂͔s܂B

  (Rs[^ɂ)ꂼ̊荞ݐɂ͔ԍ(IRQ)tĂ
  AVA|[g͐M𑗂邽߂ɂǂ̐ĝmĂȂ
  Ȃ܂BႦ ttyS0 ͒ʏAIRQ ԍ 4 g܂B IRQ4(
   IRQ 4)Ə܂BIRQ ԍ̃Xg "man setserial" ɏ
  Ă܂( uVA|[g̃RtBM[V̒ӎ
  (Configuring Serial Ports)v̏͂Ă)BVA|[g CPU
  ̒ӂKv鎞ɂ͕K荞݂s܂B荞݂̔s
  K؂ȃ^C~OōsƂ͏dvłBƂ̂AVA|[g
  obt@͓Ăf[^ 16 oCg(ÂVA|[gł 1 oC
  g)ێłȂłB̂悤ȎMf[^obt@炤܂
  oƂ CPU sƁAȏ̃f[^ꏊȂ
  Aȃobt@ӂ(I[o[)f[^ȂĂ܂
  ܂B ``t[''ŖhƂ͂ł܂B

  荞݂́AVA|[g 16 oCg̃f[^Mobt@
  OP[uɑSđoɂs܂B̑Mobt@
  ́Aof[^p 16 oCg̋󂫂ł܂B̎ CPU ɓ`
  AMobt@ɑMׂVf[^ꂳ邽߂Ɋ荞
  ݂p܂B܂Af̏Ԃωɂ荞݂s
  ܂B

  ̐̃obt@͑Săn[hEFAobt@̂ƂłBVA|[g
  ̓Cɂ傫obt@Ă܂B͌قǐ
  B

  荞݂͑̏`܂A͊ԐړIɂs܂B荞
  ݂̂̂́Ã|[gӂ߂Ă邱Ƃ荞݃Rg[
  ƌĂ΂`bvɒm点邾łB荞݃Rg[͂󂯂
  CPU ɐM𑗂܂BCPU ̓VA|[gɃT[rX񋟂ȃv
  Os܂B̃vO͊荞݃T[rX[`ƌĂ΂
  ܂(VAhCõ\tgEFÄꕔł)B荞݃T[rX[`
  ̓VA|[gŋNo𒲂ׁA̖ (VA|[g̃n[
  hEFAobt@̃f[^o͂Ȃ)܂B̃[`̓VA
  |[gŋNƂȒPɒm邱Ƃł܂BƂ̂AVA
  |[g̃WX^̓VAfoCXhComĂ I/O AhX
  邩łB̃WX^́AVA|[g̏ԂɊւێ
  Ă܂BfoCXhCo͂̃WX^ǂł̓e𒲂ׂ邱Ƃ
  AVA|[gŋNƂmAK؂ȓsƂł
  B

  3.5.  f[^t[ (x)

  VA|[gł̓f[^(A摜Ȃǂ\oCg)̓o͂s
  ܂Bf[^鑬xłt[[g(56k (56000) rbg/bȂ)
  (smł)uxvƌĂ΂܂Bł̐ĺut[[gv
  ł͂Ȃuxv̕g܂B

  ϑx͎dlŌ߂Ă鑬xxꍇƂ𗝉Ă
  Ƃ؂łB҂(邢̓ACh)ƁAϑx͒
  Ȃ܂B̂悤ȑ҂Ԃɂ́A``t[''ɂ 1 bx
  钷҂Ԃ܂܂܂Bʂ̋ɒ[ȗƂẮAoCgf[^𑗂
  ̐~bƂɒZ҂Ԃ܂BVA|[gɐڑ
  foCX(fȂ)VA|[g̍ōxɕtĂȂꍇ
  ́AϑxႭȂ΂Ȃ܂B

  3.6.  t[

  t[Ƃ́Az𗬂oCgf[^~߂@\̂ƂłB
  ́AoCgf[^ƂȂf[^Ăїn߂@\܂܂܂B
  t[́AfuԂ̃t[[gAIɕς悤ɂ
  邽߂ɕKvłB

  3.6.1.  t[̗

  ƂāA33.6k ̊OfZP[ugăVA|[gɐڑ
  ꍇl܂傤B̃f͓db 33.6k bps (rbg
  b)Ńf[^𑗎M܂Bf[^kG[͑SsȂ̂
  ܂BVA|[g̑x 115.2k bps ɐݒ肵ĂAf[^R
  s[^dbɑ܂BƁARs[^烂fւ͒Z
  P[uʂ 115.2k bps Ńf[^܂BAfdb
  ւ 33.6k bps łf[^܂Bf[^očs
  f[^Ă̂ŁAf͒ߕ̃f[^ (115.2k -33.6k =
  81.6k bps)obt@ɕێȂ΂Ȃ܂B 115.2k bps ̃f[^
  ꂪ~܂ȂAǂ͂̃obt@͈ (󂫗eʂȂȂ
  )܂܂B

  łAŃt[䂪𗧂܂Bf̃obt@ꂻɂȂ
  ƁAf̓VA|[gɒ~M𑗂܂BVA|[g͂̒
  ~MfoCXhCoɓnA115.2k bps ̃f[^̗͒~
  Bf́A܂Ńobt@ɒ~f[^oȂÂ܂
  33.6k bps Ńf[^𑗂葱܂Bƃobt@ɂ͉ĂȂ
  ߁Aobt@̃f[^ʂ͌n߂܂Bobt@̃f[^قƂǂ
  ȂƁAf͊JnMVA|[gɑARs[^烂f
  ֍Ă 115.2k bps Ńf[^n߂܂Bt[ɂ莖AZ
  P[uł̕ϓIȃt[x(̏ꍇ 33.6k bps)́Af[^
  uvꍇ̑xł 115.2k bps ƒxȂ܂B
  ꂪuJn-~vt[łB

  L̊ȒPȗ̓Rs[^烂fւ̗̃t[łA
  Ό̗ɑ΂ėpt[܂BȂ킿f(܂
  ̃foCX)Rs[^̌łBǂ̗̌ɂ 3 
  obt@(1. f̃obt@A 2. UART `bv( FIFO)̓
  A3. VAhCoǗ郁C̃obt@)܂B
  t[́Ãobt@Ȃ悤ɕی삵܂B UART
  FIFO obt@͂̂悤ȕی󂯂Ă܂񂪁ȂɁA
  obt@s銄荞݂ւ̉ł邱Ƃ҂ē삵
  BFIFO ́uFirst In, First Out(ɓf[^ɏo)vƂA
  oCgf[^̈\Ă܂B 3 ̃obt@SĂ FIFO ̋K
  œ삵܂A𖼑OƂĎĂ̂ 1 łBꂪt
  [̖{łA邱Ƃ͂Ƃ񂠂܂B

  3.6.2.  t[䂪Ȃ̏Ǐ

  t[̗mĂƎۂɖ𗧂Ă邱Ƃł܂Bt[
  ȂɏoǏ́At[̉b󂯂ɑꂽt@C
  f[^ƏĂ܂ƂłB̓I[o[t[N
  ɂ́AĂoCgǂł͂Ȃʂ̃f[^ӂĎ邩
  BSAoCg̃f[^ȂSĂꑱł邱Ƃ悭
  ܂B

  3.6.3.  n[hEFAt[΃\tgEFAt[

  \ł΁Ał邾un[hEFAṽt[g܂傤B
  ͐ṕufv 2 {gAu~(stop)vƁuJn(start)v
  ̐M𑗂̂łB

  \tgEFAɂt[́AJnMƒ~M𑗂邽߂ɃC
  MƎMg܂B\tgEFÃt[́A̐M𑗂邽
  ߂ ASCII 䕶 DC1(Jn) DC3(~)g܂B̐䕶
  PɁAʏ̃f[^Xg[ɑ}܂B\tgEFÃt[
  ͔xłȂAʂȑ΍uȂ΃fgăoCi
  f[^𑗂邱Ƃł܂BoCif[^ɂ͑At[p̐
  䕶ł DC1, DC3 Ă̂ŁAȑ΍𗧂ĂāAt[
  ̒~Mł DC3 ƃoCiR[ḧꕔł DC3 ʂȂ
  Ȃ܂BDC1 ɂĂlłB

  3.7.  f[^t[̃pXƃobt@

  ̘bɂẮAt[E(n[hEFA)16 oCg FIFO
  obt@̃yAEVA|[gɐڑĂ傫obt@̃yA
  ߂啔ɐ܂AȊOɂ܂obt@̑΂
  BȂ킿Cɑ傫( 8KB)obt@݂AV
  A|[g̃obt@ƌĂ΂܂BAvP[VvOf[^
  VA|[gɑƁÃf[^͂܂C̑̕MVA
  |[gobt@Ɋi[܂Bobt@̑΂́Af[^̗̌
  ΂ł鑗Mobt@ƎMobt@̑gݍłB

  VA|[g̃foCXhCóAႦ 16 oCg̃f[^ 1 oC
  gMobt@oAVA|[g̃n[hEFA
  MpɎĂ 16 oCg̑Mobt@ɓ܂Bxf[^M
  obt@ɓƁȂM~߂@͂܂BẴf[^
  ́AVA|[gɐڑĂfoCXɑ܂BVA|[g
  K؂ȑ傫 (Ⴆ 1K oCg)̃obt@Ă܂BfoCXh
  Co(t[ɂw)Rs[^oĂoCgf[^
  ~߂ɂ́AۂɎ~܂̂̓Cɂ傫ȑMob
  t@oĂoCgf[^̗łBꂪNAVA|[g
  ڑĂfoCXւ̃f[^̗ꂪ~܂łĂAAv
  P[VvÓA8K oCg̑Mobt@ςɂȂ܂
  ́AɃf[^𑗂葱邱Ƃł܂B

  ̃obt@ςɂȂƁAAvP[VvO͂ȏ
  f[^𑗂(C ł "write" g܂)ƂłȂȂAAv
  P[V̎sꎞIɒ~ăobt@ɋ󂫂ł̂҂
  B̂悤ɁAt[ "stop" M͍ŏIIɂ́Af[^𑗂v
  O~߂邱Ƃł܂B̃vO~܂ĂARs[^
  ͕KvZ~߂킯ł͂܂Bt[ stop M
  đ҂ĂԂ́Aʂ̃vZXɐؑւ΂悢̂łBȏ̐͑
  ȗłBƂ̂A"write" ҂ĂԂɃAvP[V
  vÔɕʏ@ɂ邩łB

  3.8.  Gȃt[̗

  ̏ꍇA`oH̃NÂꂼꂪƎ̃t[
  sƂ܂BႦ΁AfoR BBS ɃANZXĂ PC
  ɐڑĂeLXg[ŕ^CvƂ܂B̏ꍇAg
  ĂAvP[VvO "minicom" ̓VA|[g 2 
  ƂɂȂ܂BeLXg[œ͂ꂽ́A܂VA|[g
   minicom ɑA minicom 玟̃VA|[goRŃf
  ɑo܂BčŌɁA͓̕dbʂ BBS ɑ
  ܂BeLXg[ʂɕ\ł鑬xɂ͌ÊŁA
  x𗎂߂Ƀt[ "stop" MXs܂B"stop" M
  sƈ̉N̂ł傤? "stop" M BBS ܂œ͂A
  BBS zXgŃf[^𑗂oĂvO~߂܂łɒԂ
  ꍇlĂ݂܂傤B

   "stop" M̗ǐՂĂ݂܂傤(Nɂă\tgEFA
  ŏꂽAn[hEFAŏꂽ肵܂)B܂ BBS 傫
  ȃt@Cu擾vꍇl܂B̍ۂɂ́AeLXg[ƃn[
  hfBXÑt@C̗ɓɃf[^܂BeLXg[
  \xf[^Ă̂ŁAeLXg[ PC  1 
  ߂̃VA|[g "stop" M𑗂܂BfoCXhCo͂
  oA(Cɂ)8KB ̃VAobt@[ւ̃f[^
  M~܂B̎_ł͂܂Aminicom ͒[֑邽߂̃f[^
  8KB ̃obt@ɑ葱Ă܂B

  (1 ߂̃VA|[g) 8KB ̑Mobt@ςɂȂƁA
  minicom ͂ւ݂̏~߂Ȃ΂Ȃ܂Bminocom ̓f[^
  ̂~߂đ҂Ԃɓ܂BłɂēɁAfɐ
  Ă 2 Ԗڂ̃VA|[g 8KB ̎Mobt@̓ǂݍ
  ~܂Ă܂܂Bf̃f[^́A8 KB ̃obt@ς
  ɂȂAfɑ΂ "stop" MV܂ŗꑱ܂B
  f(G[͗Lł̂Ƃ܂) "stop M"  BBS ̃f
  ɑ܂B̃f̓obt@f[^𑗂ô~߁A
  obt@ςɂȂƁABBS zXg̃VA|[g stop M
  ܂BBBS zXgł́A8KB(Ȃ)̃obt@ςɂȂABBS zX
  g̃vO珑݂łȂȂƁÃvOꎞIɒ
  ~܂B

  ̂悤ɂāAeLXg[瑗ꂽ stop M BBS zXg̃v
  O~߂܂BƂĂʓ|Ȏdg݂ł! stop M̓VA
  |[g 4 ʂAf 2 ʂAAvP[VvO 1
   (minicom)ʉ߂̂łBeVA|[g(ɂ)obt@
   2 (8KB ̃obt@ƁAn[hEFA 16 oCg̃obt@)
  ܂BAvP[VvO C ̃R[hłobt@
  Ăł傤B܂߂ƁAf[^ 11 ̕ʁX̃obt@
  ʂ܂BVAn[hEFȀobt@̓t[𒼐ڂ͎
  Ȃ_ɂ͒ӂĂB

  BBS [փf[^ۂɒ[̑̌E{glbNɂȂ
  ꍇAt[ "stop" M͎ۂɂ BBS f[^𑗂v
  O~߂邱ƂɂȂ܂B͐ʂłBł
  u"stop" MȂɎԂHāA11 ̃obt@(Ƒ傫ob
  t@)Sӂ邱ƂȂĖ{ɂ?vƎv邩
  BeLXg[ "stop" M𑗂ɑSẴobt@eʂ
  ɋ߂ꍇɂ́AȂ邱Ƃ͎ۂɂ܂B

  łsĂ݂΁AƐGɂȂ邱Ƃ
  ɂȂƎv܂BuԂɃf[^𗬂Ă郊N܂A(
  t[ɂ)~܂Ă郊N܂B[ "stop" M
  Aɐ悤ɂ܂ BBS zXgɓ`邱Ƃ͖őɂ܂
  BBBS  "stop" M 1 ͂ɂ́A[ "stop" M
  Ȃ΂ȂȂƂ܂Bۂ̓𗝉ɂ́A
  ɃRCučsȒPȎĂ݂Ƃł傤Bobt@̐
   2, 3 ŁAeobt@̗eʂRC 2, 3 ɂĂB

  ǎ҂̊F́AȂȂƂ̂Ǝv邩
  ܂BłM҂́ABBS 擾eLXgȂȂ錴ŗ
  Ƃ̂łB̎̏󋵂͂傤ǑO̗ƓłAf
  ΃f̃t[䂪ɂȂĂ܂Bn[hfBXNɂۑ
  ͂́A擾eLXgf[^ۂɂ͕ۑȂ̂łA
  ̌͒[̃t[ "stop" M̂߂Ƀf̃obt@
  I[o[t[ĂƂłB{glbNȂf[^̌oH BBS
  n[hfBXN܂łĂA[ƂȂI[o[t[̌o
  HŋN߁AeLXgf[^Ȃăn[hfBXNɕۑł
  łBfoRŃn[hfBXNɃf[^n͂Af
  I[o[t[NĂ߂ɁAn[hfBXNɑׂf[^
  Ă̂łB

  3.9.  VA\tgEFA: foCXhCoW[

  VA|[gp̃foCXhCóAVA|[g𑀍삷\tg
  EFAłB݂͂̓VAW[ƂėpӂĂ܂B
  W[͕ʁAKvȎɎIɃ[h܂Bo[W 2.2 
  ~̃J[l͂s܂BÂJ[lł́AKvȎɃ
  W[[h邽߂ɂ kerneld sKv܂B
  sȂꍇɂ́A/etc/modules ɖIɗ񋓂Kv܂
  BW[ Linux ňʓIɂȂÓAVAhCo̓J[l
  ɑgݍނ̂ʂłBAVAhCo܂J[lɑgݍ
  ł̂Ȃ(J[l̃RpCɂÎ܂)A
  VAW[[hĂ͂܂B[hăVA
  hCo 2 ɂȂĂ܂ƁAVA|[g͎gȂȂ܂B
  ̏ꍇɃVA|[gI[v悤Ƃ "I/O error" ƂȂ
  B

  VAW[[hƁA݂VA|[gɊւ郁b
  Z[Wʂɕ\܂(悭Ԉ IRQ \܂)BA
  x setserial găfoCXhCo(Ԃ) IRQ ΁A
  ̕\͍ŏ̕\ɎĂ܂AIRQ ȂĂ͂
  Bsetserial ̏ڍׂɂĂ ``setserial Ƃ͉?''B

  J[l̃\[XR[hҏWăhCoC邱Ƃł܂BV
  AhCȏ啔 serial.c t@Cɂ܂BVA|[gg
  vȌڂɂẮASerial-Programming-HOWTO 
  ( Vern Hoxie 񂪉ł)B

  4.  VA|[g͎xȂ̂?

  4.1.  ͂߂

  u͂vƂ̂łcBVA|[g͂炩xł
  ݂łKvłA Linux ł͕KvłBVA|[gɂ͌_
  񂠂܂AV PC ̂قƂǂɃVA|[gtĂ
  łBLinux T|[gĂʏdbp̃f́AVA|[
  goRœ̂łB

  VA|[ǵARs[^ƊOP[ůԂŃf[^^΂Ȃ
  Ȃ܂BāAVA|[g 2 ̃C^tF[XAǂ
  ̃C^tF[XᑬłB܂͊OP[uʂOEƂ̃C^
  tF[XlĂ݂܂傤B

  4.2.  ᑬŋZ EIA-232 P[u

  ] EIA-232 VA|[ǵAǂĂᑬŁAɂE
  ܂BLł͂悭uv搂܂AۂɁuvɓ삷
  ̂́APC ׂ̂Ƀf悤ȔɋZꍇłB
  ܂lbg[NJ[hƔׂƁÁuvƂ̂ᑬɉ߂܂
  BVAP[u͑Sċʂ̐ڒngzpĂ̂ŁAn[
  hEFAǉȂ(ȓ`ŕKvƂȂ)cCXgyAZpg
  ܂BVA|[gp̍ŐVZp݂܂A EIA-232 
   PC ̕Wł͂܂B ``EIA-232 ̌p''B
  ̃}`|[gVAJ[h͂T|[gĂ܂B

  1962 Nɍꂽ RS-232 KicCXgyAZpgĂȂƂ͂
  ӖߌłBgĂ 100 {ɓł͂Ȃ̂ł
  BcCXgyA͓dbɂ 19 IgĂ܂B 1888
  N(110 NȏO)́uP[uc(Cable Conference)v́AcCXgyA
  (dbVXeւ)xƂ̗_񍐂Ă܂BłAuP[u
  cvł̍ӂ́A80 Nȏ RS-232 ł͐܂ł
  BRS-232 ͌XA[ׂ̗ɒuᑬfƐڑ邽߂ɐ݌v
  ꂽ̂ŁAE̓`ɊւKv͗Ȃ悤
  B

  4.3.  Rs[^ւ̃C^tF[X̔

  Rs[^ƏƂ肷ɂ́Aǂ I/O foCXłĂR
  s[^ǂݏłAhXKvłB̖ړÎ߂ɑ
  I/O foCX(VA|[g) I/O AhXƌĂ΂ȃAhX
  Ă܂(I/O |[gƌĂ΂邱Ƃ܂)B͎ۂɂ́A
  AhX͈̔͂łAԒʂ̃AhXx[XAhXɂȂ܂B
  PɁuAhXvƌꂽ(ꂽ)ꍇ́Aۂ͑ux[XAh
  XvwĂ܂B

  ꕔ I/O foCX I/O AhXgȂŁAڃC̓ǂ
  s܂B̕@Ƒ傫ȑш𗘗pł܂BƂ̂Â
  ̃VA I/O VXeł͓ 1 oCg]łȂ
  BC𒼐ړǂݏ@͐FX܂B̈L
   I/O ƌĂ΂̂ł(L͕ʁAI/O foCXƓJ[h
  ɂ܂)B̕@ƂĂ ISA oX DMA(direct memory access,
  ڃANZX)A PCI oXł DMA Ɠl̎dg(x͂Ƒ
  )łuoX}X^Ov܂B̕@́AVA|[
  g̕ƍłBāA(14 oCgƂ)荞݋
  C^tF[XAoX̂ 4(܂ 8)oCg܂Ƃ߂ďł
  ̂ 1 oCgMłȂ̂Ȃ̃VA|[ǵA
   I/O ɂ͌Ă܂B

  5.  }`|[gVA{[h/J[h/A_v^

  5.1.  }`|[gVA

  }`|[gVAJ[h PC  ISA oX܂ PCI oX̃Xbg
  ݒu܂BucJ[hvƌĂԑɁAucA_v^vuc{[hv
  Ă΂邱Ƃ܂B̂悤ȃJ[hgƁAVA|[g
  gƂł܂Bł́A}`|[gVAJ[h(Ƃ
  ƒɂ鎩܂߂)OfoCX̐ɈʓIɎgĂ
  B}`|[gVAJ[h́AunRs[^T[oĎ/
  䂷邽߂ɃRs[^T[oɐڑł܂B͂Ă͎Ƃ
  ̒[⃂fVA|[gɐڑ邽߂ɎgĂ܂
  Bg܂Ă܂A}`|[gVAJ[h
  fƑgݍ킹ĎgƁAʂ̃f̏ꍇƓ󂯂܂B
  ܂Af 56K fłĂAڑx 33.6K 𒴂邱Ƃ
  ܂B

  āANȂɓdb(āAJ[hɑ}f
  炠Ȃ̃}`|[gVAJ[hɐڑ)ꍇAƂ 56K f
  gĂƂĂAǂ̌̒ʐMx 33.6K 𒴂邱Ƃ͂
  ܂B_CACڑ 33.6K 𒴂邽߂ɂ́AdbfW^
  ڑɂȂĂKv܂B̏ꍇAVA|[g͂֌WȂ
  Ȃ܂BāA}`|[gVAJ[h͍ł ISP O
   56K(33.6K ȏ)_CACڑKvlgɂ͎
  x̂̂ɂȂ܂Bڂ Modem-HOWTO ́uModem Poolsv
  uDigital Modemv̐߂ĂB

  e}`|[gJ[hɂ͂̊ORlN^(DB-25 ܂ (db
  ̂悤)RJ-45)ĂÃfoCX(fA[Ȃ)
  ł܂BꂩAfoCX͂ꂼẽVA
  |[gɐڑ܂BJ[h̊OɖʂĂ镔̖ʐς͌Ă邽
  ߁ASẴVA|[gRlN^ɑ΂ď\ȋԂȂƂ悭
  ܂B̖邽߂ɁARlN^̓J[h (O)
  ĂP[u(^RP[u)̒[Ɍq邱Ƃ܂B
  RlN^̓}`|[gJ[hƃP[uŌqĂ鏬Ȕɐڑ
  邱Ƃ܂B

  _VA|[gʏ̃VA|[gƂ܂ς܂B_V
  A|[g荞݋쓮łÃ|[gɃT[rX铮̂قƂ
  SĂ̓Rs[^ CPU s܂Bɂ͕ʁA1 ̊荞݂S
  Ẵ|[gŋL邽߂̃VXetĂ܂BƂ CPU
  ɂ镉ׂ킯ł͂܂BȂȂAꂩ̃|[gT[
  rXKvƂ邽т CPU Ɋ荞݂ЂƂ邩łB
  foCX͒ʏ͓ȃhCoKvƂ܂BhCo̓J[l
  ɑgݍނA\[XR[h̏CɂėLɂȂ΂Ȃ܂B

  {[h͒ʏ UART g܂AUART ̊荞݂̂قƂǂ
  {[hœIɏ܂BɂACPU ͂荞݂̑S
  ĂƂׂ𓦂邱Ƃł܂B̃{[h̓oCgf[^
  ȓ FIFO ɒ~Ax 1K oCg炢̃f[^C
  VAobt@ɓ]܂BCւ̃f[^]sۂ
  ́A(_VAJ[ĥ悤 8 rbg̃oCg]̂ł͂
  )32 rbg̃oXSĎgƂł܂BKSẮuv
  {[h悤ɌIȂ킯ł͂܂B݂̑̃{[h̓v
  O&vCΉłB

  {[h𓮂߂ɂ́Ap̃hCogȂ΂Ȃ܂B
  ̃hCo̓J[l̃\[XR[hɑgݍ܂ĂAW[Ƃ
  Ē񋟂邱Ƃ܂BꍇłAhCoLɂ
  ͉Ȃ΂Ȃ܂B̍Ƃɂ́AJ[l̃RpCɑI
  (܂́A\߃RpCĂJ[lȂĂ邩ǂ
  m߂邱)܂܂܂B"make config" R}h "make
  menuconfig" R}hgƁÃIvVǂ̂悤ɐݒ肳Ă
  m߂邱Ƃł܂BꍇɂẮAȃhCo[h
  Ãp[^(LILO  append R}hg) J[lɓn
  Ƃ܂B{[h̃[J[́Â悤ȏЂ̃EFuTCg
  ɍڂĂ͂łBcOȂAÂ{[h̏񂪂ȂƂX
  ܂Ȁ̓C^[lbg̑̏ꏊŌ邩܂
  (c_p̃j[XO[v܂݂܂)B

  5.2.  /dev fBNgł́ufoCXv̍쐬

  }`|[g{[hgVA|[ǵAg̃{[h̎ނɂ
  قȂ܂Bꕔ̃|[g rc.serial  0setserial ɏڂ񋓂
  邩܂B̃t@C setserial pbP[W܂
  serial pbP[WɓĂ邩܂BM҂ƂẮAǎ҂̊F
  񂪃}`|[g{[hgƂĂ̂ȂAŐVo[W
  setserial 肷邱Ƃ߂܂B܂ÃfoCX
  쐬Kvł傤B쐬ɂ mknod R}h MAKEDEV XN
  vg肵ĂBVA|[gp̃foCX (/dev fBNg
  ɂ)́Au64 + |[gԍv̑Zō܂BāAttyS17
  p̃foCX쐬΁Aȉ̃R}hs܂:

       linux# mknod -m 666 /dev/ttyS17 c 4 81

  ttyS foCX́uW[vԍ͕K 4 ł_(āA5 ͎x
   cua foCX̔ԍł_)ɒӂĂB܂u64 + 17 = 81v
  ɂӂĂB MAKEDEV XNvggꍇɂ͈ȉ̃R}h
  s܂:

       linux# cd /dev
       linux# ./MAKEDEV ttyS17

  { HOWTO ɏĂ}`|[gïꗗȊOɂA Gary's
  Encyclopedia - Serial Cards
  <http://members.aa.net/~swear/serialcards.html> Ƃ WWW y[W
  ܂B͊Sł͂܂񂪁Aւ̃N܂B

  5.3.  PC W̃VAJ[h

  ̂ PC ɂ̓VAJ[hƗđ}Ă܂BO̓VA
  @\̓n[hfBXÑC^tF[XJ[hɑgݍ܂Ă܂B
  ́Aʂ͈܂͓̃VA|[g}U[{[hɑgݍ܂Ă
  ܂BAǉ̃VA|[g 1  4 Kvȏꍇ͍ł
  PC p̋̃VAJ[h𔃂ł傤B ttyS0-ttyS3
  (COM1 - COM4)ƂĎg܂BgĊOtVAfoCX(f
  AVA}EX)ڑł܂B̃Rs[^Vbvł
  J[hĂ̂͂ꕔłBAC^[lbg
  ʂčw邱Ƃł܂BPCI ̃VAJ[h𔃂Oɂ́ALinux
  ΉĂ邱Ƃm߂܂傤B

  LȃuhЉ܂:

  o  Byte Runner (ڒł܂Bi\Ă܂)
     <http://www.byterunner.com>

  o  SIIG  <http://www.siig.com/io>

  o  Dolphin  <http://www.dolphinfast.com/sersol/>

  : AhXՓ˂邽߁ACOM4  IBM8514 rfIJ[h(Ȃ)͓
  ɎgȂ܂B ``̃rfI{[hł I/O AhX̏Փ
  @'' B

  5.4.  _}`|[gVA{[h (W UART `bvڂĂ
  )

  ȉ̃{[h́uVAA_v^vƂĂ΂܂B̃J[h́A
  @\J[lɃRpCđgݍޕKvȕ@gĊ
  荞݂LĂ邱Ƃ悭܂B

  * =>  Debian ł setserial st@CAڍׂȐݒ\
  B # => ̃{[hɂĂ͌q̒邱

  o  AST FourPort т̌݊J[h (4 |[g) * #

  o  Accent Async-4 (4 |[g) *

  o  Arnet Multiport-8 (8 |[g)

  o  Bell Technologies HUB6 (6 |[g)

  o  Boca BB-1004 (4 |[g), BB-1008 (8 |[g), BB-2016 (16 |[g;
     mini-howto ܂) * #

  o  Boca IOAT66 邢? ATIO66 (6 |[gAm߂Ă܂ Linux 
      IRQ LɑΉĂ܂BRJ45 ɎA 10-sRlN^
     g܂)

  o  Boca 2by4 (4 VA|[gA2 p|[g)

  o  Byte Runner  <http://www.byterunner.com>

  o  Computone ValuePort V4-ISA (AST FourPort ݊) *

  o  Digi PC/8 (8 |[g) #

  o  Dolphin  <http://www.dolphinfast.com/sersol/>

  o  Globetek  <http://www.globetek.com/>

  o  GTEK BBS-550 (8 |[g; mini-howto ܂)

  o  Hayes ESP (J[l 2.1.15 ȍ~)

  o  HUB-6 (Bell Technologies ɖ₢킹Ă)

  o  Longshine LCS-8880, Longshine LCS-8880+ (AST FourPort ݊) *

  o  Moxa C104, Moxa C104+ (AST FourPort ݊) *

  o  NI-SERIAL
     <http://digital.natinst.com/manuals.nsf/web%2Fbyproductcurrent?OpenView&Start=1&Count=500&Expand=15.1#15.1>,
     National Instruments 

  o  PC-COMM (4 |[g)

  o  Sealevel Systems <http://www.sealevel.com> COMM-2 (2 |[g),
     COMM-4 (4 |[g), COMM-8 (8 |[g)

  o  SIIG I/O Expander 2S IO1812 (4 |[g) #

  o  STB-4COM (4 |[g)

  o  Twincom ACI/550

  o  Usenet Serial Board II (4 |[g) *

  ʓIɂ́ALinux  8250, 16450, 16550, 16550A, 16650 Ȃǂ UART 
  gĂSẴ{[hɑΉĂ܂BƏڂXgɂẮA
  "setserial" ̍ŐṼ}jAy[WQƂĂB

  :

  AST Fourport: rc.serial  skip_test w肷Kv邩܂
  B

  BB-1004  BB-1008  DCD, RI CT|[gĂ炸Â߃_C
  ACp̃fɂ͎g܂B̖ړIł͖Ȃ삵܂B

  Digi PC/8 ̊荞ݏԃWX^̈ʒu 0x140 łB

  SIIG IO1812 ̃}jAɏĂ COM5  COM8 ̃Xg͌
  ܂B COM5=0x250, COM6=0x258, COM7=0x260, COM8=0x268 ̂͂
  łB

  5.5.  CeWFg}`|[gVA{[h

  Linux ݊̃hCog邱Ƃm߁AhCot̏ǂł
  B̃J[h́AW̃foCXłȂȃfoCX(/dev fB
  Ngɂ)g܂B̏̓n[hEFAƂɈقȂ܂B
  ̕ɍڂׂV񂪂΁AЕM҂Ƀ[𑗂Ă
  B

  Linux ̃hCoW[̖O *.o łA͑SẴf
  삷Ƃ͌܂B܂A(I/O AhX IRQ )p[
  ^W[ɗ^Kv邱Ƃ̂ŁAɊւ
  Kv܂(\[XR[hc[̒ɂ邩܂)B

  }`|[gJ[h̃uh͂񂠂AꂼꂩFXȎނ
  J[h悭o܂B̂ƂÃJ[hŖԗ悤
  ͂Ă܂(܂Ă͎̂̑xɂȂĂ邩
  ܂)BāÃXg̓}`|[gJ[h₻̃uhɂ
  ČÂ̂ƐV̂ɂȂĂ܂BEFuy[W番
  ꍇɂ͘A͍폜܂BhCoɊւEFuy[W
  Ō͂łBEFuy[WЉĂȂꍇÃJ[h͂
  ÂƎv܂BXg悭邽߂ɏǉƎv
  ́AM҂ɂm点B

  o  Chase Research (UK x[XAISA/PCI J[h)
     EFuy[W:  <http://www.chaser.com>
     hCõXe[^X: 2.2 J[lpBChase T|[gĂ܂B

  o  Comtrol RocketPort (36MHz ASIC; 4, 8, 16, 32 |[gA128 |[g
     )
     EFuy[W: http://www.comtrol.com
     hCõXe[^X: Comtrol ЂT|[gĂ܂(rocket.o)B
     hCo̓: ftp://tsx-11.mit.edu/pub/linux/packages/comtrol

  o  Computone IntelliPort II (ISA, PCI, EISA oXpB64 |[g܂)
     EFuy[W:  <http://www.computone.com>
     hCo̓:
     <ftp://ftp.computone.com/PUB/Products/IntelliPortII/Linux/>, pb`
       <http://www.wittsend.com/computone/linux-2.2.10-ctone.patch.gz>
     ɂ܂B
     [OXg: { "subscribe linux-computone" Ə[
       <mailto:majordomo@lazuli.wittsend.com> ɑ܂B:
     Computone ́AÂ ATvantage J[h IntelliPort J[hT|[g
     Ă܂B

  o  Connecttech
     EFuTCg:  <http://www.connecttech.com/porducts/products.html>
     hCo̓:  <ftp://ftp.connecttech.com/pub/linux/>

  o  Cyclades
     Cyclom-Y (Cirrus Logic CD1400 UART; 8 - 32 |[g),
     Cyclom-Z (MIPS R3000; 8 - 64 |[g)
     EFuTCg:  <http://www.cyclades.com/products.html>
     hCõXe[^X: Cyclades T|[gĂ܂B
     hCo̓: ftp://ftp.cyclades.com/pub/cycladesB܂Ao[
     W 1.1.75 ȍ~ Linux J[lɊ܂܂Ă܂: cyclades.o

  o  Decision PCCOM8 (8 |[g)
     A:  <mailto:info@cendio.se>
     EFuTCg: Ȃ() hCo̓:
     ftp://ftp.signum.se/pub/pccom8

  o  Digi PC/Xi (12.5MHz 80186; 4, 8, 16 |[g),
     PC/Xe (12.5/16MHz 80186; 2, 4, 8 |[g),
     PC/Xr (16MHz IDT3041; 4, 8 |[g),
     PC/Xem (20MHz IDT3051; 8 - 64 |[g)
     EFuTCg:  <http://www.dgii.com>
     hCõXe[^X: Digi ЂT|[gĂ܂B
     hCo̓: ftp://ftp.dgii.com/drivers/linux łł܂
     Ao[W 2.0 ȍ~̃J[lɂ̓hCo܂܂Ă
     (epca.o)B

  o  Digi COM/Xi (10MHz 80188; 4, 8 |[g)
     A: Simon Park , si@wimpol.demon.co.uk
     hCõXe[^X: sB
     : Simon ͎d̂߁Aēdq[gȂ
     邱Ƃ悭܂B Mark Hatle (
     <mailto:fray@krypton.mankato.msus.edu> )̂ӂɂAhCo
     KvȂΓł悤ɂȂĂ܂B Mark ̓hCõ
     eiXT|[g͍s܂B

  o  Equinox SuperSerial Technology (30MHz ASIC; 2 - 128 |[g)
     EFuTCg: http://www.equinox.com
     hCõXe[^X: Equinox ЂT|[gĂ܂B
     hCo̓: ftp://ftp.equinox.com/library/sst

  o  Globetek
     EFuTCg:  <http://www.globetek.com/products.shtml>
     hCo̓:
     <http://www.globetek.com/media/files/linux.tar.gz>

  o  GTEK Cyclone (16C654 UART; 6, 16, 32 |[g),
     SmartCard (24MHz Dallas DS80C320; 8 |[g),
     BlackBoard-8A (16C654 UART; 8 |[g),
     PCSS (15/24MHz 8032; 8 |[g)
     EFuTCg: http://www.gtek.com
     hCõXe[^X: GTEK ЂT|[gĂ܂B
     hCo̓: ftp://ftp.gtek.com/pub

  o  Hayes ESP (COM-bic; 1 - 8 |[g)
     EFuTCg: http://www.nyx.net/~arobinso
     hCõXe[^X: o[W 2.1.15 (1998N)ȍ~ Linux J[l
     ͑ΉĂ܂(esp.o)Bsetserial 2.15 ȍ~ΉĂ܂B
     ҂T|[gĂ܂B
     hCo̓: http://www.nyx.net/~arobinso

  o  Multi-Tech Systems ̃CeWFgVAC^tF[X
     PCI ł 4 ܂ 8 |[gB ISA ł 8 |[gBDTE x 460.8KB
     EFuy[W:  <http://www.multitech.com/products/>

  o  Maxpeed SS (Toshiba; 4, 8, 16 |[g)
     EFuTCg: http://www.maxpeed.com
     hCõXe[^X: Maxpeed ЂT|[gĂ܂B
     hCo̓: ftp://maxpeed.com/pub/ss

  o  Microgate SyncLink ISA/PCI }`vgRVAJ[hB
     HDLC płB
     EFuTCg:
     <http://www.microgate.com/products/sllinux/hdlcapi.htm>
     hCõXe[^X: Microgate ЂT|[gĂ
     (synclink.o)B

  o  Moxa C218 (12MHz 80286; 8 |[g),
     Moxa C320 (40MHz TMS320; 8 - 32 |[g)
     EFuTCg: http://www.moxa.com
     hCõXe[^X: Moxa ЂT|[gĂ܂B
     hCo̓:
     <http://www.moxa.com/support/download/download.php3>>
      <ftp://ftp.moxa.com/drivers/linux> (p www.moxa.com.tw/...
     g܂Bu...v̕͏LƓłB)

  o  SDL RISCom/8 (Cirrus Logic CD180; 8 |[g)
     EFuTCg: http://www.sdlcomm.com
     hCõXe[^X: SDL ЂT|[gĂ܂B
     hCo̓: ftp://ftp.sdlcomm.com/pub/drivers

  o  Specialix SX (25MHz T225; 8? - 32 |[g),
     SIO/XIO (20 MHz Zilog Z280; 4 - 32 |[g)
     EFuy[W:  <http://www.specialix.com/products/io/serialio.htm>
     hCõXe[^X: Specialix ЂT|[gĂ܂B
     hCo̓:  <http://www.BitWizard.nl/specialix/>
     ÂhCo̓:
     <ftp://metalab.unc.edu/pub/Linux/kernel/patches/serial>

  o  Stallion EasyIO-4 (4 |[g), EasyIO-8 (8 |[g),
     EasyConnection (8 - 32 |[g) - ɂ Cirrus Logic CD1400
     UART ڂĂ܂B
     Stallion (8MHz 80186 CPU; 8, 16 |[g),
     Brumby (10/12 MHz 80186 CPU; 4, 8, 16 |[g),
     ONboard (16MHz 80186 CPU; 4, 8, 12, 16, 32 |[g),
     EasyConnection 8/64 (25MHz 80186 CPU; 8 - 64 |[g)
     A: sales@stallion.com ܂ http://www.stallion.com
     hCõXe[^X: Stallion ЂT|[gĂ܂B
     hCo̓: ftp://ftp.stallion.com/drivers/ata5/Linux 
     ł܂B܂Ao[W 1.3.27 ȍ~ Linux J[lɊ܂܂
     ܂B

  o  System Base EFuTCg:  <http://www.sysbas.com/>

  Comtrol , Cyclades , Digi , Stallion Ђ̐ĩr[ Linux
  Journal  1995 N 6 ɌfڂĂ܂B̋L
  http://www.ssc.com/lj/issue14 œǂނƂł܂B

  5.6.  Ή̃}`|[g{[h

  2000 N 1  1 ݁Aȉ̃{[h Linux ł̃T|[gS搂
  ܂B󋵂ωĂ炨m点B

  o  Aurora (PCI ł̂)  <http://www.auroratech.com>

  6.  VA|[g̐ݒ

  6.1.  PCI oXւ̑Ή͐isł

  J[l 2.2 ̃VAhCo PCI oXւ̓ʂȑΉ͓Ă܂
  BAJ[l 2.3  2.4 ł́AɈꕔ PCI VAJ[h(
  уfJ[h)ɑΉ܂B PCI J[h́AhCoɂ
  ȃT|[gKvłBhCo̓J[hɃfW^IɊi[Ă
  ID ǂݍ݁ÃJ[hɂǂđΉ邩(邢̓T|[g邩
  ǂ)߂܂Bm Windows fł͂Ȃɂ炸삵
   PCI J[hł΁ÃJ[hp̃hCo菕
  ܂Bsɂ́AVAhCõeił Theodore
  (Ted) Y. Ts'o ɘAKv܂BA܂ Windows 
  f̈ꗗ̃TCg <http://www.o2.net/~gromitkc/winmodem.html> 
  āAPCI fƂɊ֘Ab̍ŐV𒲂ׂĂB

  ܂ATed Ts'o ɂ "lspci -vv" ̏o͂̃Rs[ PCI f(܂̓V
  A|[g)̃fƃ[J[Ɋւڂdq[őKv
  ܂B΁Aނ͓삷邩ȂeXgphCȍꏊ
  ł邾Ăł傤BɁÃhCo肵ăRpC
  ܂BJ[lăRpC邱ƂɂȂł傤BāA
  ̃hCoeXgĂ܂삷邩ǂ𒲂ׁǍʂ Ted
  Ts'o ɕ񍐂܂BL̎菇SĂƍs肪Ȃ(
  ̕ŐVłȂ)AނɕKvȏ𑗂ĂB[AhX
    <mailto:tytso@mit.edu> łB

  PCI f͂܂WĂ܂Bꕔ̃J[h PC Ƃ̒ʐMɃ
  Cg܂B8  16 iAhX\ꂽÃJ[h
  炭 Linux ł͎gȂł傤Bꕔ̃J[h́Aȕ@g
  Ȃ IRQ LɂȂ܂B"lspci" ̏o͂΁AJ[hT|[
  gĂ邩ǂ𒲂ׂɗł傤B4  I/O |[g\
  AAhX\Ȃ΁Ãf "setserial"
   I/O |[g IRQ ݒ肷邾œ삷Ǝv܂B̕@
  3COM 3CP5610 PCI f𓮂̂ɐl܂B

  6.2.  ݒ̊Tv

  ̏ꍇAݒ͎IɍŝŁA[U邱Ƃ͉܂
  BꍇɂĂ͐ݒsKv܂(邢͒Pɐݒm
  ߂邾̂Ƃł傤)Bꍇɍŏɂׂ
  ́ALinux ɂVA|[g̐ݒ 2 ̕m邱ƂłB

  ŏ̕(჌xݒ)́AI/O AhXAIRQAO(ttyS2 Ȃ)
  Ă邱ƂłB I/O  IRQ ̑ǵAn[hEFAƃVAhCo
  ̗ɐݒ肵Ȃ΂Ȃ܂BȒPɁuI/O  IRQ ̐ݒv
  ĂԂƂɂ܂傤Bsetserial ̓hCoݒ肷邽߂Ɏg܂B
  PnP ̋@\WpȂǂ̓n[hEFA̐ݒɗp܂Bڂ͌q
  ܂BݒKvɂւ炸ڂƂĂȂ΁A
  ɖɏoĂ܂ł傤B

  2 Ԗڂ̕(x̐ݒ)͑x(38.4K rbg/bȂ)̐ݒt[
  ̑IȂǂłB͂΂ PPP  minicom ƂʐMvO
  Agetty (̐lȂ̃}VɃOCł悤Ƀ|[gœ
  삵܂)s܂BAvOɑ΂ẮA]
  x̐ݒj[ݒt@CgčsKv܂B̍
  x̐ݒ́A stty vOɂĂs܂Bstty ́A肪
  鎞Ɍ݂̏Ԃ\ۂɂ𗧂܂Bڂ ``stty'' ̏͂
  B Linux N鎞ɂ́A̃VA|[ǧo(
  ჌x)ݒ肪݂܂BmɂǂȂ̂́Ag BIOS, n[
  hEFAA Linux fBXgr[VɂĈႢ܂BVA
  |[g܂삵ĂȂ΁AKv͂܂BAvP[
  VvO͂Ăx̐ݒsĂ܂AKvȏ
  ^ĂKv邩܂BvO&vC̃VA|[g(
  fɑgݍ܂邱Ƃł)ł́A͂ƕGɂȂ
  B჌x̐ݒ(IRQ  I/O AhX̐ݒ)KvƂȂꍇȉ
  ܂:

  o  3 ȏ̃VA|[gg\̏ꍇ

  o  VVA|[g(fȂ)CXg[ꍇ

  o  VA|[gŖ肪Nꍇ

  o[W 2.2 ȍ~̃J[lł́A荞݂̋LgΒ჌x̐
  sȂĂ 3 ȏ̃VA|[ggƂł܂B
  Aꂪ삷̂̓VA|[g̃n[hEFA荞݂̋Lɑ
  ĂꍇłA̐ݒVA|[g̒჌x̐ݒ
  ȒPƂ͌܂B ``2.2 ȍ~̃J[lƊ荞݂̋L'' 
  B

  ჌x̐ݒ(IRQ  I/O AhX̐ݒ)́A(x̐ݒƔׂ
  ) rIN₷悤łB̏ꍇ͊SɎŁA
  肷邱ƂȂ̂ɂłBŁȀ͂̑啔̘͂b܂B
  VAhCo IRQ  I/O AhXm܂ł́A|[g͑S
  삵܂BLinux ł͌oȂł傤BoꂽƂĂA
  IRQ ԈĂ΁A͋ɂ߂Ēx܂B ``̏Ȃx
  : eLXgxĂʂɕ\܂'' Ă
  B

  Wintel ̐Eł́AI/O AhX IRQ ́u\[XvƌĂ΂܂B
  āAX͓̃\[Xݒ肵Ă邱ƂɂȂ܂BA
  ނ́u\[Xv񂠂̂ŁǍt͑ɐFXȈӖ
  ƂɂȂ܂BKɂȂ܂A჌x̐ݒ 2 ̒l (IRQ ԍ
  I/O AhX) 2 ̏ꏊɐݒ肷邱Ƃł:

  1. foCXhCo(̏ꍇAN "setserial" sĐݒ肵
     ܂)

  2. VA|[g̃n[hEFÂ̂̃WX^

  N(= u[g)bZ[WĂB͒ʏ͐łB
  肪NĂꍇɂ́ÃbZ[Ẅꕔn[hEFA̐
  ݒĂȂ(ĐȂƎv)\łB
  ``I/O AhX IRQ: ÑbZ[W'' B

  6.3.  ჌xݒɊւ邠ӂꂽԈႢ

  ̐lĂ܂ʓIȊԈႢ܂:

  o  setserial R}h: (autoconfig IvVt) setserial 
     sAn[hEFAׂꂽƎv(ۂɂׂ͒܂)

  o  setserial ̃bZ[W: Nɉʂɕ\郁bZ[WāA
     n[hEFAۂɐݒ肳ꂽʂƊԈĐMĂ܂

  o  /proc/interrupts: VA|[ggĂȂ́Å荞
      /proc/interrupts ɌȂAăVA|[g
     Ȃ(邢͊荞݂ݒ肳ĂȂ)ƌĐMĂ܂

  o  /proc/ioports: ̃t@C\̂ setserial Ƃقړ(
     ԈĂ\̂)f[^łȂ̂ɁAꂪۂ̃n[h
     EFAݒ肾Ǝvł܂

  6.4.  I/O AhX IRQ: ÑbZ[W

  ̏ꍇA|[g̒჌x̐ݒ͋NɎIɍs܂(
  ɐƂ͌܂)BNĂ邩ׂɂ́Aʏ̋N
  bZ[W܂傤BLinux [hO BIOS obZ[
  W(͋܂)̊mFӂȂłB̂悤 BIOS ̃b
  Z[W̏o͂ Pause L[ƈꎞIɎ~߂邱Ƃł܂BXN
  [ėĂ܂bZ[W߂Čɂ́AShift-PageUp L[
  g܂BShift-PageDown L[ƔΌɃXN[܂B
  dmesg R}hg΂łNbZ[Ẅꕔ邱Ƃł܂
  A厖ȕĂ邱Ƃ悭܂BNbZ[W
  (1999 N΂̎_) ȉɎ܂: ttyS00  /dev/ttyS0 Ɠ
  _ɒӂĂB

       oꂽ̂ŏɕ\܂( IRQ ͑Gcɐ肵̂
       ߂܂):

       Serial driver version 4.27 with no serial options enabled
       ttyS00 at 0x03f8 (irq = 4) is a 16550A
       ttyS01 at 0x02f8 (irq = 3) is a 16550A
       ttyS02 at 0x03e8 (irq = 4) is a 16550A

       ۑꂽlŕ\܂AƂ͌܂:

       Loading the saved-state of the serial devices...
       /dev/ttyS0 at 0x03f8 (irq = 4) is a 16550A
       /dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A
       /dev/ttyS2 at 0x03e8 (irq = 5) is a 16550A

  Ƃsv_ɒӂĂBŏ̃bZ[Wł
  IRQ=4  ttyS2 悤ɕ\Ă܂AԖڂ̃bZ[Wł
  IRQ=5 ɂȂĂ܂Bŏ̃bZ[W\Ȃ܂B
  قƂǂ̏ꍇ͍Ōɕ\̂bZ[WłB
  ꍇɂ͕킵܂B̏͂̎cɏĂ邱
  Ƃ̐ǂޑOɂ́AƂ肠VA|[ggĂ݂āA
  삷邩ǂ𒲂ׂƂ悢ł傤BƓ삵ĂȂ
  ΁A͓̐ɓǂ܂ȂĂ܂܂B

  2 Ԗڂ̃bZ[ẂANɎs setserial vOo͂
  ܂B̃bZ[ẂAfoCXhCoƎvĂݒ
  ܂BAԈĂ邱Ƃ܂BႦ΁An[hEFA
  IRQ ۂɂ IRQ=8 ɐݒ肳Ă邱Ƃ܂(ǂ̃bZ[W
  ԈĂ)BIRQ=5 \̂́ANԈĂ̏ݒ
  t@Cɓꂽ(邢͂Ɠl̗R)܂B Linux
  XԈ IRQ 擾̂́ALinux  IRQ ̒TsȂ
  B Linux ͒PɁuWv IRQ 肷邩(ŏ̃bZ[W)A[U
  sݒ̂܂܎g܂(2Ԗڂ̃bZ[W)B̗҂͂
  AƂ͌܂BVAhCo IRQ ԈĂƁAV
  A|[g̓삪ɒxȂA܂삵ĂȂ悤Ɍ
  肵܂B

  ŏ̃bZ[ẂALinux VA|[g̒TsʂłA
  IRQ ̒T͍sĂ܂B|[gɌꂽꍇÃ|[g
  ݂܂AIRQ ͊ԈĂ邱Ƃ܂B Linux  IRQ ̃`Fb
  NsȂ̂́Aǂ݂̂ɂ̓`FbNłȂ߂łB Linux 
  IRQ Ɏlł邱Ƃ肵܂BȂȂA炪uWIv
  ȒlłBsetserial  autoconfig IvV auto_irq IvV
  tĎsƎ蓮ŊmFs܂AƂۏ؂͂
  ܂B

  BIOS ̃bZ[Wɕ\f[^(ŏɕ\)̓n[hEFA
  ݒ肳ĂlłBVA|[gvO&vCȂ΁A isapnp 
  sĂ̐ݒς邱Ƃł܂BLinux NɁA
  Ɋւ郁bZ[WT܂傤B̗ɋĂAŌ̃VA
  |[g̃bZ[ẂABIOS ̃bZ[WƈvĂȂ΂Ȃ܂
  ( isapnp ςĂ邩܂)BvȂꍇɂ́A|[
  g̃n[hEFA̐ݒύX邩An[hEFAɎۂɐݒ肳Ă
  e setserial găhCoɋȂĂ͂Ȃ܂B

  ܂AvO&vC̃VA|[gg̏ꍇɂ́AvO& vC
  ̃\tgEFAn[hEFA IRQ  I/O ݒ肵Ȃ΁A Linux
  ͂o܂B́AIɑ݂VA|[gN
  bZ[Wŕ\ȂʓIȗRłBPC ̃n[hEFA(PnP BIOS)
  ͂̂悤ȃVA|[g̒჌xȐݒIɍs܂BPnP ̐
  ͌Ő܂B

  6.5.  VA|[ǧ݂ I/O AhX IRQ ̐ݒ?

  O̐߂ł́ANbZ[W݂邱Ƃɂݒ𒲂ׂ@܂
  BNbZ[Wŏ\ȏ񂪓΁A̐߂ǂޕKv͂܂
  B񂪏\łȂ΁A𒲂ׂ@܂B

  uI/O  IRQ ̐ݒ͂ǂȂĂ?vƂ₢ւ͎̓ۂɂ 2
  ʂ肠܂B1. foCXhCoɐݒ肳Ăl(͕ʂ
  setserial R}hŐݒƕ\s܂)B 2. ۂɃn[hEFAɐ
  肳ĂlB҂͓lłȂ΂Ȃ܂BlłȂΖ
  N܂BȂȂAhCoIȃVA|[gɊւĊԈ
  ƂɂȂ邩łBԈ I/O AhXhCoɐݒ
  ĂƁAhCo݂͑Ȃ|[gɃf[^𑗂낤Ƃ܂B
  ͂ƈP[XƂẮAVA|[głȂ݂̃|[gɃf[^
  𑗂낤Ƃ܂BԈ IRQ hCoɐݒ肳ĂƁAhCo
  VA|[g̊荞݃T[rXv󂯎ꂸɁAɒx
  SȂ肵܂B̏ꍇ́A ``̏Ȃx: eLX
  gxĂʂɕ\܂'' ̐߂Bh
  Coɐݒ肳Ă UART ̃fԈĂꍇɂ肪N肪
  łBI/O-IRQ ̑ghCoƃn[hEFAœǂm߂
  ́A̒lǂ̂悤ɐݒ肳Ă̂hCoƃn[hEFA
  ɂĒׂȂ΂Ȃ܂B

  6.5.1.  foCXhCo̐ݒ?

  𒲂ׂ̂͊ȒPłBPɋNbZ[W邩A "setserial -g
  /dev/ttyS*" s邾łBVA|[g܂삵Ă΁A
  ̕\en[hEFAɂݒ肳Ăł傤B̏𒲂ׂ
  ʂ̕@ƂẮA/proc fBNgɂut@Cv@
  ܂B̂悤ȕʂ̕@dvȗŔA̓foCXhC
  oɐݒ肳Ă񂵂\ȂƂɒӂĂ炤߂łBꕔ
  ̐ĺA/proc fBNgɂ̃t@CāAꂪn[hEF
  Aɐݒ肳ĂƊႢĂ܂܂AuKł͂܂
  vB

  /proc/ioports ́AhCogĂ I/O AhX\܂B
  /proc/interrupts ́Aݓ삵Ă(foCXI[v)vZX
  ̃hCogĂ IRQ \܂BL̂̏ꍇA\
  ̂̓hCo̐ݒełAn[hEFA̎ۂ̐ݒeł͕K
  ܂B/proc/interrupts ́Aꂼ̃foCXɑ΂Ċ荞
  ݂sꂽ̂\܂(̂Ƃ悭܂)B
  񂩂̎肪ނƂł܂BȂȂAʂ̊
  ݂sĂ΁Å荞݂gĂn[hEFAǂ
  ƂƂłB荞݂\ȂƂ͎ɁA
  ̊荞݂ۂɂ͂ǂ̃VA|[gɂĂIɐĂ
  ƂӖ܂BāAgƂĂVA|[gɑ΂
  قƂǊ荞݂sĂȂ΁An[hEFAɂ͊荞݂ݒ
  ĂȂꂸA܂hCoԈ荞݂gĂ
  Ƃ܂Bݎs("minicom" ̂悤)vO
  `FbN邽߂ /proc/interrupts ɂ́Ãt@CĂ
  Ԃ͂ƃvOsKv܂Bsɂ́Av
  OIɃVFɍsĂ݂܂傤B

  6.5.2.  VA|[g̃n[hEFA̐ݒ?

  foCX̃n[hEFAɎۂɂǂ I/O AhX IRQ ݒ肳Ă
  ̂𒲂ׂɂ͂ǂ΂̂ł傤? Linux Nn߂OɁA
   BIOS ̃bZ[Wx̏Ă邩
  B Shift-PageUp L[gċNbZ[W̕\߂ABIOS o
  ԍŏ̃bZ[W܂傤B Linux NO̐ݒ
  łB setserial ͂̐ݒς邱Ƃ͂ł܂񂪁Aisapnp 
  pciutils ͐ݒς܂B

  Gcȕ@̈ƂāA"autoconfig" IvVt setserial 
  os킹Ă݂@܂B̕@ł́AosAhX
  肷Kv܂B``setserial Ƃ͉?''  ĂBPCI V
  A|[g̏ꍇɂ́A"lspci" R}hgĂ(2.2 O
  J[l̏ꍇ /proc/pci Ă)Bg̃VA|[gv
  O&vCȂ΁Aȉ 2 ̐߂ĂB

  WpŐݒ肵|[g̏ꍇ́A̓WpŐݒ肵ełB
  |[gvO&vC(PnP)ł͂Ȃ DOS vOgĐݒ肳
  Ăꍇɂ́ÃvOslݒ肵悤ɐݒ肳
  ܂B

  6.5.3.  PnP VA|[g̃n[hEFA̐ݒ?

  PnP VA|[ǵAd؂ꂽɐݒn[hEFAɕۑ܂
  B́Ad؂Ăݒ肪ςȂWp( PnP)ƑΏƓI
  BISA PnP VA|[ggł΁AVA|[gS I/O
  AhX IRQ AgȂԂɂȂ\܂B
  ̏ꍇł܂Apnpdump gẴVA|[g邱Ƃ\
  Ȃ͂łB

  ISA oXł̃vO&vC̏ꍇApnpdump (isapnptools Ɋ܂܂Ă
  )Ƃ悢ł傤B--dumpregs IvVgƁA|[gɐݒ肳
  Ăۂ I/O AhX IRQ \͂łB pnpdump 
  uvAhX̓foCX I/O AhXł͂ȂAȂ̂łB

  PnP |[g̏ꍇ́ADOS/Windows ł̐ݒe𒲂ׂĂ܂ɗ
  BWindows ͐ݒWXgɕۑ܂A Linux ł
  g܂BBIOS ̕sɂ Windows ̏񂪋LĂ
  Ƃ܂AWXgɂ Windows ݂̌̐ݒƂ͓
  ĂȂƂ܂(??)BLinux ̋N PnP BIOS Ɏݒ
  Ă̂Ȃ( Linux Nۂɂ́APnP Iy[eBOV
  XełȂ BIOS ݒ肵ĂȂ)ALinux  BIOS ̕s
  ̐ݒg͂łB

  6.6.  VA IRQ ̑I

  OS  PnP BIOS SẴfoCXݒ肷Ƃ{̃vO&vCݒ
  sĂȂ΁AIRQ IԂƂ͂܂BPnP ͍łǂƎv
  銄蓖ĂIłݒ肵܂BALinux ŃvO &vCp
  c[(isapnp  pcitools)gĂꍇɂ́AIRQ ̑IsKv
  ܂Bg IRQ ɒmĂꍇɂ́A̐߂΂Ă
  ܂܂񂪁AIRQ 0 ̎gł邱Ƃ͒mĂĂ
  (̒iǂł)B

  6.6.1.  IRQ 0  IRQ ł͂Ȃ

  IRQ 0 ͎ۂɂ(n[hEFAł)^C}łAsetserial gV
  A|[g̐ݒɂĂ͓ȈӖĂ܂B̎ẃA
  |[gɂ͊荞݂ȂƂhCoɓ`AhCo̓|[O
  gs܂B|[O͔Ɍ̂łA荞݂
  Փ˂ꍇA荞݂̐ݒ~Xꍇɂ͎Ƃ悢ł傤B
  IRQ 0 ݒ肷闘_́An[hEFAɐݒ肳Ă銄荞ݔԍm
  KvȂ_łBIRQ 0 ́AۂɎg銄荞݂܂ł̋}
  ̂߂ɎgׂłB

  6.6.2.  荞݂̋Lƃo[W 2.2 ȍ~̃J[l

  ʓIȋKł́ASẴfoCXŗL IRQ AIRQ ̋Ls
  ȂƂɂȂĂ܂B̃}`|[ggꍇ̂悤ɁA
  IRQ ̋LĂꍇ܂BALĂƂ
  ĂA͗ǂȂ܂BƂ̂ALĂ銄荞
  ^xɁAǂŊ荞݂sꂽ̂𒲂ׂȂ΂ȂȂ
  łBāA\ł΁ASẴfoCXɌŗL̊荞݂^
  Ƃł傤B

  o[W 2.2 ÕJ[lł́AIRQ ͂قƂǂ̃}`|[g{[
  hmłLł܂łBo[W 2.2 ȍ~̃J[l
  ́AꍇɂĂ͑SẴVA|[g IRQ Lł܂Bo[W
   2.2 ̃J[lŋL𓮍삳ɂ́ACONFIG_SERIAL_SHARE_IRQ 
  肵ăJ[lRpCȂ΂Ȃ܂B܂AVA|[g
  n[hEFALɑΉĂȂ΂Ȃ܂(ΉĂ΁A2 
  ̃VAJ[h 1 ̊荞ݐɈقȂd𗬂ĂAuꂪ
  荞݂łvƂӖ̓d󂯎܂)Băo[W
  2.2 ̃J[lłĂA荞݂̋L͂Ȃǂ܂
  B

  6.6.3.  ǂ IRQ IԂ?

  VA|[g̃n[hEFAɂ́Aꂽ IRQ ݒłȂƂ
  悭܂B IRQ Փ˂̂ł傤BāAI
  ]n͂܂肠܂BPC ł͕ʁAttyS0  ttyS2  IRQ4 ɁAttyS1
   ttyS3  IRQ 3 ɂ܂B /proc/interrupts ΁Aݓ쒆
  vOgĂ IRQ ǂꂩ킩܂B̂悤 IRQ ͎g
  ł傤BIRQ 5 TEhJ[hɎg悤ɂȂOɂ́A
  VA|[gł悭gĂ܂B

  ȉɁAGreg (Serial-HOWTO ̌X̒)ǂ̂悤
  /etc/rc.d/rc.serial ݒ肵Ă邩܂Brc.serial ͋NɎ
  st@C(VFXNvg)ł(ꏊ▼O͈ႤƂ
  )Bo[W 2.15  "setserial" ł́AK̂悤ɐݒ
  s킯ł͂܂񂪁A IRQ ̑I̗ɂȂ܂B

       /sbin/setserial /dev/ttyS0 irq 3        # VA}EX
       /sbin/setserial /dev/ttyS1 irq 4        # Wyse ̃_[
       /sbin/setserial /dev/ttyS2 irq 5        # Zoom ̃f
       /sbin/setserial /dev/ttyS3 irq 9        # US Robotics ̃f

  W IRQ 蓖Ă܂:

          IRQ  0    ^C}`l 0 (u荞ݖvӖ邱Ƃ܂Bڂ͌q܂)
          IRQ  1    L[{[h
          IRQ  2    Rg[ 2 ւ̃JXP[h
          IRQ  3    VA|[g 2
          IRQ  4    VA|[g 1
          IRQ  5    p|[g 2, TEhJ[h
          IRQ  6    tbs[fBXN
          IRQ  7    p|[g 1
          IRQ  8    A^CNbN
          IRQ  9    IRQ2 Ƀ_CNg
          IRQ 10    蓖Ė
          IRQ 11    蓖Ė
          IRQ 12    蓖Ė
          IRQ 13    lRvZbT
          IRQ 14    n[hfBXNRg[ 1
          IRQ 15    n[hfBXNRg[ 2

  荞݂IԂ߂̌Iȕ@͂܂B荞݂}U[{[h
  Ã{[hgĂȂƂm߂邵܂B2, 3, 4, 5,
  7, 10, 11, 12, 15 IԂƂł܂BIRQ 2  9 ͓ł邱Ƃ
  ӂĂBIRQ 2  9 ̂ǂgĂAVAhCo͂
  ܂F܂BɌÂVA{[hg̏ꍇɂ́A8 
   IRQ ͎gȂ܂B

  IRQ 1, 6, 8, 13, 14 ͎gȂł!  IRQ ̓}U[{[h
  głB}U[{[hgĂ IRQ グƁAƂĂ
  ƂɂȂ܂Bݒ肪IA荞݂gvOs
  鎞 /proc/interrupts ĊmFAIRQ ̏Փ˂NĂȂƂm
  ߂ĂB

  6.7.  AhX̑I --ttyS3 ƏՓ˂rfIJ[h

  IBM 8514 rfIJ[h(Ƃ̗ގi) I/O AhX́AƂł
  0x?2e8 ł(?  2, 4, 8, 9 ̂ꂩ)B16 il̐擪 0 ł錅
  VA|[gꍇɂ(̏ꍇ͂ł)A 0x02e8
  ɂ ttyS3 ƏՓ˂邩܂(AVA|[g܂
  vĂΏՓ˂Ȃ͂ł)B̃AhX ttyS3 gƂ
  ꍇɂ́A͈m点łB

  قƂǂ̏ꍇ́A\ł΃ftHg̃AhXgׂłB
  ŌAhX́A8 oCg͈̔͂̍ŏ̃AhX\Ă܂BႦ
  ΁A 3f8 ͎ۂɂ 3f8-3ff ͈̔͂łBꂼ̃VAfoCX
  (I/O AhXKvƂ鑼̃^CṽfoCXƓ)ŗL̃AhX
  ͈͂KvƂ܂B͏dȂĂ(Փ˂Ă)܂BVA
  |[g̃ftHg̃AhXȉɎ܂:

       ttyS0 ̃AhX 0x3f8
       ttyS1 ̃AhX 0x2f8
       ttyS2 ̃AhX 0x3e8
       ttyS3 ̃AhX 0x2e8

  6.8.  I/O AhX IRQ ̃n[hEFAւ̐ݒ ( PnP )

  I/O AhX IRQ n[hEFAɐݒ肵ɂ́Asetserial g
  hCoݒ肷邱ƂYȂłB PnP ̃VA|[g
  ꍇɂ́A|[g̃n[hEFA̐ݒ̓WpA("WpX"̏
  ɂ)ݒs߂ DOS vO̎sɂčs܂(̃v
  O PnP ɂȂ邩܂)BPnP VA|[gݒ肷
  ۂɍl@̃XgȉɎ܂:

  o  PnP BIOS  CMOS ݒ胁j[g(ʂ ttyS0 (Com1)  ttyS1
     (Com2) ɂOtfoCXɎg܂)

  o  PnP BIOS  PnP VA|[gIɐݒ肳B ``PnP BIOS 
     g I/O AhX IRQ ̐ݒ'' QƂĂ

  o  PnP VA|[g PnP Ή Linux gĂȂΉȂ
     Ă܂܂(Plug-and-Play-HOWTO Q)

  o  PCI łȂ PnP VA|[g̏ꍇɂ isapnp p

  o  PCI oX̏ꍇɂ pciutils (pcitools) p

  I/O AhX IRQ ͓dx(PnP g)VA|[g̃
  WX^ɐݒ肵Ȃ΂Ȃ܂BƂ̂APnP n[hEFA͓d
  ؂ꂽ̐ݒeoĂȂłBsȒPȕ@ PnP
  OS gĂȂ PnP BIOS ɋĂ邱ƂŁAƋN̓x
  BIOS Iɐݒs܂BA(PnP OS ł)Windows uPnP
  OS ł͂Ȃv BIOS ɔF܂ Windows NƁAWindows 
  Ŗ肪邩܂Bڂ Plug-and-Play-HOWTO 
  B

  vO&vC I/O  IRQ ̐ݒ邽߂ɐ݌v܂B
  _ Linux ł́Ab₱Ă邾łBW Linux
  J[l̓vO&vC܂肤܂T|[gĂ܂B Linux J[
  lvO&vC OS ɂpb`gĂȂ΁AL̂Ƃ͑S
   OS Iɏł͂łBAVA|[gȊÕfoC
  X̐ݒ邽߂ɂ̃pb`gƂĂA蓮ŃhCo
  ݒȂ΂ȂȂ܂BƂ̂ALinux ̃hCo
   PnP Ή Linux ɏĂȂłBisapnptools 
  BIOS găvO&vC̐ݒsĂȂ΁A 2 ̒l
  fJ[h̃VA|[g̃WX^ɐݒ肷邾Ȃ
  ŁAsetserial ̐ݒ̓[UsKvł傤B1999 N߂̎
  _ł́A̐ݒ͊ȒPł܂񂵁Aڂ܂B
  Plug-and-Play-HOWTO  isapnptools FAQ B

  6.8.1.  PnP BIOS g I/O AhX IRQ ̐ݒ

  PnP OS  isapnp g I/O  IRQ ̐ݒs@̐͂
  \tgEFAɕtĂ͂łAPnP BIOS ɂݒ
  ƎvĂꍇɂ͂͂܂BSĂ PnP BIOS s
  킯ł͂܂BBIOS ɂ͕ʁAŏ 2 ̃VA|[gݒ肷
  邽߂ CMOS j[܂B̃j[͌ɂ
  񂪁AAward  BIOS Ȃ "chipset features setup" ̉ɂ
  B̏ꍇAł͂قƂǉIׂ܂B̂̂j[ɂ
  ΁Aŏ 2 ̃VA|[gɂ͕W I/O AhX IRQ 
  肳܂B``VA|[gfoCX̖OƔԍ''B

  DނƍD܂ƂɊւ炸APC N PnP BIOS  PnP ɂn[
  hEFAfoCX(I/O  IRQ )ݒn߂܂BPnP BIOS s
  s\ŁAc̐ݒ肪(ǎ҂̊F񂪂炭ĂȂ) PnP OS Ɏc
  邩܂B邢 PnP OS ĂȂƐݒ肳Ă
  ɂ́ASĂ PnP foCXSɐݒ肷邩܂񂪁AfoCX
  hCo̐ݒ͍s܂B͓ǎ҂̊F񂪖]ޓłAPnP
  BIOS sݒ𐳊mɒׂ邱Ƃ͕KeՂł͂܂B

  PnP OS ĂȂƂ BIOS ɐݒ肵Ă΁APnP BIOS ͍ŏ 2
  łȂSĂ PnP VA|[g̐ݒs͂łB BIOS ̓
  ԐړIɐ䂷@( MS Windows9x 𓯂 PC ŎgĂ
  )AWindows ɂݒuv邱ƂłB Plug-and-Play-HOWTO
  uforcedvŌĂBWindows Łuvݒ CMOS
  BIOS j[gď㏑̂͊ȒPłB́u㏑v@\̐
  Es BIOS IvVƎv܂B

  V PnP foCXǉƁABIOS  PnP ݒύXĒs
  Ȃ΂Ȃ܂BՓ˂Kv΁ÃfoCX I/O
   IRQ ̐ݒ肪ς邱Ƃ܂B̖ړÎ߁A PnP foCX
  I/O  IRQ ǂ̂悤ɐݒ肵Ă̂ BIOS ɋĂ΁ABIOS 
   PnP foCX̃XgۑĂ܂B BIOS ɋ@̈
  ́ADOS/Windows  ICU ƌĂ΂vOs邱ƂłB

  ȀŃfoCXhCoݒ肷邽߂ɁABIOS sݒ
  𒲂ׂɂ͂ǂ΂悢ł傤? BIOS gx̏o
  ܂B͐ݒ胁j[ARs[^̋NɉʂɌ郁b
  Z[Wʂē܂B ``VA|[g̃n[hEFA̐ݒ?''
  B

  6.9.  IRQ  I/O AhX setserial ɗ^

  n[hEFA IRQ  I/O AhXݒ肵(邢 PnP 
  蓖Ă悤ɂ)Ax Linux Nx "setserial"
  R}hs悤ɂKv܂B ``N̐ݒ''̐߂
  B

  6.10.  x̐ݒ: stty Ȃ

  ƂẮAAvP[VvOݒ̑啔(邢͑S)
  s܂BsR}h stty łB ``stty'' B

  6.10.1.  t[̐ݒ: n[hEFAt[䂪xXgł

  ``t[''ɂ̂ŁABʂ Xon/Xoff
  g\tgEFAt[n[hEFAt[g
  ł傤BSȃn[hEFAt[pɂ͕ʁAVA|[
  gƃfoCXڑP[uɃt[p̐ 2 {KvłBf
  oCXJ[hɂȂ΁AmɃn[hEFAt[䂪g͂
  łB

  ̃AvP[V( getty vO)ɂ́At[ɊւI
  vVAKvɉĐݒł܂BftHgŃn[hEFAt
  [ݒ肷邱Ƃł܂BIRQ  I/O AhX̂悤ɁAt[
  VAhCoƃVA|[gɐڑĂn[hEFA̗
  ɐݒ肵Ȃ΂Ȃ܂Bn[hEFA̐ݒ@́An[hEFA
  ĈقȂ܂B̏ꍇ́APC VA|[goRŃn[hEF
  AfoCXɑ́uv܂Bf̏ꍇ́AʐM
  vO͗̐ݒs͂łB

  g̃vOVAhCõt[ݒ肵Ȃꍇɂ́A
  stty R}hgĎŐݒł܂BhCo Linux ~
  ̐ݒoĂȂ̂ŁAN⃍OCɎst@C(VF
   bash ̏ꍇɂ /etc/profile Ȃ) stty R}hĂ
  悢ł傤BȉɃ|[g ttyS2 Ńn[hEFAt[s߂
  ǉe܂:

       stty crtscts < /dev/ttyS2
       stty ̃o[W 1.17 ȏ̏ꍇ:
       stty -F /dev/ttyS2 crtscts

  crtscts ́AVA|[g RTS  CTS sgăn[hEFAt[
  sݒ̎w\܂BȎ̕啶 crtscts ƒԂ܂B

  7.  VA|[gfoCX: /dev/ttyS2 

  foCXfBNgɃfoCX쐬@ɂĂ ``/dev fBN
  gɂfoCX̍쐬@'' B

  7.1.  VA|[gfoCX̖OƔԍ

  Linux ̃foCX̓W[ԍƃ}Ci[ԍĂ܂BVA
  |[g͂ꂼA/dev fBNg 2 ̖O\
  BȂ킿 ttyS  cua łB̃hCo͏قȂ
  ܂Bcua foCX͎gȂƂ߂ĂA͎gȂȂ
  ܂BModem-HOWTO ́ucua foCXv̏͂B

  DOS/Windows  COM ƂOg܂Asetserial vOł
  tty00, tty01 ƂOg܂B dev/tty0, dev/tty1 
  ȂłBdev/tty0 ̓R\[foCX(PC ̃j^)̖
  OłAVA|[gł͂܂Bȉ̕\̓AhX́uWI
  ȁvΉ܂(ǎ҂̊F̏ꍇ͈قȂ邩܂)B

                                                                  I/O
        DOS            W[ }Ci[        W[ }Ci[ AhX
       COM1  /dev/ttyS0   4,      64;  /dev/cua0   5,      64      3F8
       COM2  /dev/ttyS1   4,      65;  /dev/cua1   5,      65      2F8
       COM3  /dev/ttyS2   4,      66;  /dev/cua2   5,      66      3E8
       COM4  /dev/ttyS3   4,      67;  /dev/cua3   5,      67      2E8

  SẴfBXgr[V ttyS foCXtĂ͂(
  fBXgr[Vɂ͌Â cua foCX͂)ł_ɒӂ
  ĂB͈ȉ̃R}hsΊm߂܂(Â cua f
  oCXȂĂSzKv͂܂):

       linux% ls -l /dev/cua*
       linux% ls -l /dev/ttyS*

  7.2.  ttySN  /dev/modem ɃN𒣂ׂǂ

  ꕔ̃CXg[ 2 ̒ǉfoCX܂BȂ킿fp
  /dev/modem ƃ}EXp /dev/mouse łBǂ /dev fBNg
  K؂ȃfoCXւ̃V{bNNłB̃ÑfoCX
  CXg[ɑIĂ܂ (oX}EX̏ꍇ͂̌ł
  ȂA/dev/mouse ̓oX}EX̃foCXւ̃NƂȂ܂)B

  /dev/mouse  /dev/modem ̗_ɂẮAߋɉxc_܂
  B̃N̎gp͂߂ł܂BɁAf_CAC
  pɎgƍlĂꍇɂ́A /dev/modem pƃbNt@C
  삵ȂƂA肪N邩܂BAN
  𒣂蒼폜ꍇɂ́Aꕔ̃AvP[V͍Đݒ肪Kv
  Ȃ邩܂B

  7.3.  }`|[g{[hɊւ钍

  {[h AhX IRQ ɂẮAsetserial vOɕtĂ
  rc.serial  /etc/rc.boot/0setserial ĂB}`|[g{[
  hɂĂ I/O AhXfoCX܂ލׂb񂠂
  B

  7.4.  /dev fBNgɂfoCX̍쐬@

  foCX݂Ȃ΁Amknod R}hgĂ쐬Ȃ΂
  Ȃł傤BႦ ttyS0 ɑ΂foCX쐬KvƂ
  ܂:

       linux# mknod -m 666 /dev/cua0 c 5 64 (cua foCX͊ɉߋ̂̂ł)
       linux# mknod -m 666 /dev/ttyS0 c 4 64

  MAKEDEV XNvggƂł܂B̃XNvg /dev fBN
  gɂ܂B}jAy[WĂB̃XNvgg
  ƁAfoCXȒPɍ쐬ł܂BႦ ttyS0 ɑΉfoCX
  Kvꍇɂ́Aȉ̃R}hs܂:

       linux# cd /dev
       linux# ./MAKEDEV ttyS0

  ̃XNvg̓foCX̍쐬Ɛp[~bV̐ݒs
  B

  8.  mĂƂ悢֗ȃvO

  getty Ɋւ̂قƂǂ Modem-HOWTO Ɉړ܂B[ɒ
  ڑ getty ̎gp@Ɋւ Text-Terminal-HOWTO ɏ
  Ă܂B

  8.1.  VA|[g̊Ď/ffp̃vO

  e탂fĎAꂪ(1 ܂͗)ł邩(0 ܂͐)
  ł邩vO܂B

  o  modemstat (Linux  PC R\[ł삵܂B
     EBhEŏԂ\܂BFtłARpNgłBI
     ɂ kill Ȃ΂Ȃ܂)

  o  statserial (ʑŜgď\܂)

  o  serialmon (RTS, CTS, DSR ̊Ď͍s܂񂪁A̋@\̃Oc
     ܂)

     ̃vÔ͊Ɏg悤ɂȂĂ邩
     BłȂꍇɂ́AVAp\tgEFA
     <http://metalab.unc.edu/pub/Linux/system/serial/> 肵Ă
     B1998 N 6 ̎_ł́AM҂ Linux p̃VA|[gĎv
     Om܂B

  8.2.  荞݂̗Dx̕ύX

  o  irqtune ̓VA|[g̊荞݂̗DxAコ
     ܂B

  o  n[hfBXÑ`[jOs hdparm ΂ɕ֗ł
     B

  8.3.  setserial Ƃ͉?

  ̐߂ 3  HOWTO(Modem, Serial, Text-Terminal)ɓĂ܂B
  HOWTO ɂēeقȂ܂B

  8.3.1.  ͂߂

  bvgbv@(PCMCIA)ł͐΂ setserial gȂłB
  setserial ́AVA|[g I/O AhX|[g̃n[hEFAɐ
  肳Ă銄荞(IRQ)AgpĂ UART ̎ޓfoCXhC
  õ\tgEFAɓ`悤ɂvOłB̃vO
  ́A݃hCoɐݒ肳Ăe̕\s܂BāAn[h
  EFAT UART ̎ނ IRQ 𒲂ׂ邱Ƃł܂A
  ɂ͌܂B ``T''̐߂ĂB setserial 
  PnP VA|[g̃n[hEFA IRQ ݒłȂ_ɒӂĂ
  B

  gݍ݂̃VA|[g 1  2 Ȃ΁Aʂ setserial
  gȂĂݒ肳܂BVA|[gȏ゠ꍇ(
  ̓VA|[gɖ肪ꍇ)ɂ́Asetserial gKv
  傤B setserial ̃}jAy[WȊOɂA /usr/doc/setserial.../
   /usr/share/doc/setserial ̏𒲂ׂĂBg Linux
  fBXgr[Vł setserial ̈Ă͂łB

  setserial ̓hCo IRQ 蓖Ă邽߂ɁȀꍇ͋N
  NXNvgIɎs܂B setserial  serial W[
  [hĂꍇ(܂͓̋@\J[l\zɑgݍ܂Ă
  ꍇ)ɂ삵܂B (炩̗R)serial W[ォ
  A[hƁAJ[l͈ȑO setserial ōsݒY܂B
  āAݒɖ߂߂ɂ setserial ĂюsȂ΂Ȃ
  ܂BNXNvgoRł̎sɉAserial W[(Ȃ)
  [hꂽɂ setserial Ɏ炩̃vOs܂B
  āAʏŋNbZ[W鎞 setserial  2 xs
  悤Ɍ邩܂񂪁Aۂ 2 xsĂ̂łB

  setserial gāA|[gN[Yꂽɓ삵鎞Ԃݒ肷
  邱Ƃł܂(́AC RAM ̃obt@ɂ܂cĂ镶
  Sďo͂邽߂ł)B̐ݒ̓{[[gx(1200 ȉ)ꍇɂ
  KvłB܂ut[vɂEFCgꍇɂ́Ax
  ĂKvƂȂ܂B}jAy[W "closing_wait" Ă
  B

  setserial ́AVA|[g̃n[hEFÂ̂ IRQ  I/O Ah
  X̐ݒ͍s܂Bn[hEFA̐ݒ́AWp܂̓vO &v
  Cōs܂Bsetserial ɂ́An[hEFAɊɐݒ肳Ă̂Ɠ
  lw肵Ȃ΂Ȃ܂BgƎvAhXɂł
  āA setserial ɋĂ͂܂BAI/O AhX
  Ă邯 IRQ Ȃꍇɂ́Asetserial  IRQ 𒲂ׂ
  Ɏw邱Ƃł܂B

  gp\ȃR}ḧꗗ́APɈ setserial sΕ\
  ܂B̃R}h́Agu̍ۂɕʎgڍו\IvV
  ł -v ̂悤 1 IvV͕\ł܂B setserial ł
  I/O AhX̂Ƃu|[gvƌĂԓ_ɒӂĂB

       setserial -g /dev/ttyS*

  sƁÃ|[gɊւfoCXhCo̐ݒ󋵂\
  Bڂ\ɂ "-g" IvV "-a" ǉ܂B
  AقƂǂ̐l͂̒ǉ̏(邢͗)Kv͂
  BȂȂ畁ʂ̓ftHg̐ݒŏ\łBʂ̏ꍇ́A
  n[hEFA "setserial" 񍐂̂ƓݒɂȂĂ܂A
  肪ꍇɂ́A"setserial" ԈĂ\ł傤B
  ہAsetserial sđSR I/O |[gAhX IRQ, UART ݒ
  邱Ƃł܂Bȍ~ "setserial ..." sƁẢR
  lG[bZ[WȂɕ\܂BÂ悤ȊԈ
  lł̓VA|[ghCo(ƂĂ)삵܂B

  setserial ɂݒ PC ̓d؂Ə܂APC ̓dĂѓ
  ꂽɂ͐ݒt@C̏(܂͑O̐ݒ)cĂ邩܂
  Bŋ߂̃o[Wł setserial gĕύXݒ͎Iɐݒ
  t@Cɕۑ܂BÂo[Wł́Aݒt@C̓[U
  ҏWeςȂ̂ŁAxNĂݒ肪g
  B``ݒXNvg/t@C''̐߂ĂB

  8.3.2.  T

  K؂ȃIvVg΁Asetserial (w肳ꂽ I/O AhXɂ
  )VA|[gTł܂Â߂ɂ I/O AhX𐄒肵
  ΂Ȃ܂BႦ setserial  /dev/ttyS2 T
  ƁAsetserial  ttyS2 ƃR}hgvĂAhX (2F8)
  T܂BttyS2 ʂ̃AhXɂ邱Ƃ setserial Ɏw
  ꍇ́Asetserial ͂̃AhXT܂B ``T''̐߂Ă
  B

  setserial ̖ړI UART ɂ邩ǂׁA UART ΂
   IRQ 𒲂ׂ邱ƂłB"setserial" ͍Ō̎iƂĎgĂ
  BƂ̂AƂsɂ͂Ƒ@ (f̌o
  wvdialconf gANbZ[Ŵŏ̕Apnpdump
  --dumpregs g)邩łBIȃn[hEFǍo
  ɂ́Asetserial  -v IvV(ڍו\) autoconfig R}h
  gĂBo͂ 16550A Ƃ UART ̎ނłΐ
  łBt UART ̎ނɂ "unknown" ƕ\ꂽꍇɂ́A
  I/O AhXɂ̓VA|[g͑SȂƎv܂Bꕔ̈̃V
  A|[g͂܂FȂ̂ŁA"unknown" ƕ\ĂɃV
  A|[g݂邱Ƃ܂B

  setserial  UART ̎ނ̎oȊOɂ IRQ ̎oł܂
  AK삷Ƃ͌܂Bo[W 2.15 ȏ
  setserial ł͍Ō̒Ťʂ͕ۑAݒt@C
  /etc/serial.conf Ɋi[邩܂B̃t@ĆA
  Linux N鎞Ɏg܂BN serial W[[h
  铙́AUART ̒T͎IɍsǍʂʂɏo͂
  BA\ IRQ ͊ԈĂ邩܂B̂
  xo͂ɓ̂́Aʂ͒Ts킸Aăn[h
  EFA̎ۂ̐ݒɂĐMło͂ȂXNvg̎s
  ʂłBPɒNXNvgɏ񂾐ݒf[^ /etc/serial.conf
  ɕۑꂽݒf[^\Ă邾łB

  2 ̃VA|[g̃n[hEFAɓ  I/O AhXݒ肳Ă
  Ƃ܂B񂱂͔F߂ĂȂ̂łAۂɂ
  Ƃ͋N܂B̃AhXɎۂɃVA|[g 2 鎞
  ATł͈̃VA|[go܂BAႤ IRQ
  ݒ肵Ă΁AIRQ ̒T IRQ = 0 \邩܂BM
  ҂̏ꍇ́AȂ͍̂ŏ setserial gĉR̒lݒ肵
  łB

  8.3.3.  N̐ݒ

  J[l serial W[[h鎞(܂́uW[̂
  ́vJ[lɑgݍ܂Ăꍇ)ɂ́AttyS{0-3} o
  AhCo IRQ 4  3 gȂ悤ɐݒ肳܂( n[hEFA
  Ɏۂɐݒ肳Ă IRQ Ɋւ炸)B setserial s
  ̂悤ɁANbZ[WƂĕ\܂B3 ȏ̃VA|[g
  gĂƁAIRQ ̏Փ˂NĂ܂܂B

   IRQ  setserial ɋĂՓ˂邽߂(邢
  ͕ʂ̗R̂߂)Asetserial Ăюst@Cǂɂ邩
  ܂B̓VA|[gĝǂ̃vZXOɁAN
  ̍ŏ̃̕XebvŎs܂BہAǎ҂̊F񂪎gĂ
  fBXgr[VłAN setserial vONXN
  vg玩IɎs悤ɐݒ肳Ă邩܂Bg
  fBXgr[Vł̈ɂĂ̏ڂ́A /usr/doc/ 
  /usr/share/doc/ ƂfBNgɂ "setserial..." ̂悤ȖO
  t@CɏĂ邩܂B

  8.3.4.  ݒXNvg/t@C

  ł̖ړI /etc c[ɂċN setserial sXN
  vgC(܂͍쐬)邱ƂłBقƂǂ̃fBXgr[V
  ͂̂߂̃t@CtĂ܂(ŏ /etc c[ɒu
  ĂȂ܂)BɁAo[W 2.15 ȍ~ setserial ͑
   /etc/serial.conf t@CĂ܂B setserial s
  XNvggt@CŁA[UXNvg𒼐ڕҏWKv
  ߂̂̂łBɁA (o[W 2.15 ȍ~ł)R}hC
   setserial gōŏIIɐݒt@CύXł܂B

  āAo[W 2.15 OȂ΂ׂƂ̓XNvgҏW
  邱ƂłBo[W 2.15 ȍ~ł́A 3 ̍Ƃ̂ǂꂩs
  Αvł: 1. XNvgҏWB 2. /etc/serial.conf ҏW
  B 3. R}hC "setserial" sAI
  /etc/serial.conf ҏWB̂̂ǂgKv邩́A
  g̃fBXgr[Vݒ̕@ɂ܂B

  8.3.5.  XNvg̕ҏW (o[W 2.15 ȍ~ł͂Ԃg܂)

  setserial ̃o[W 2.15 (1999N)ȌꍇAsetserial ̐ݒ
   /etc/serial.conf ͎g܂BāAN "setserial"
  sĂt@CTAҏWKv܂B̂悤
  t@C݂Ȃ΁AV(܂͋N̏iKɎs
  t@CɃR}hǉ)Kv܂B̂悤ȃt@C
  gĂȂA/etc fBNgc[̂ǂɂł傤B
  Ao[W 6.0 O RedHat ł͂̃t@C
  /usr/doc/setserial/ ɒuĂ̂ŁAgOɂ /etc c[Ɉړ
  Kv܂B̂悤ȃt@Cɂ "locate" R}h
  gƂ悢ł傤BႦ΁A'locate "*serial*" ' ̂悤ɓ͂
  B

  ȑO /etc/rc.d/rc.serial ƂXNvgʓIɎgĂ܂
  BDebian  /etc/rc.boot/0setserial gĂ܂BĂ
  /etc/rc.d/rc.local Ƃt@CgĂ܂Ãt@C
  ܂葁͎sȂ̂ŁAK؂Ƃ͌܂łBrc.local 
  sOɑ̃vZXVA|[gI[v悤ƂāA
  VAʐMsƂ肪񍐂܂B

  ̂悤ȃt@CpӂĂ΁A̒ɂ̓RgAEgꂽw
  ႪĂ͂łB̈ꕔARgC
  邱ƂɂAݒs͂łB setserial ւ̃pX
  ƂƁAfoCXƂm߂ĂB̃t@C
  s(PɃX[p[[UƂăt@C͂܂)삷
  ǂׂ邱ƂɂAeXgsƂł܂BeXg
  ͉xċNĐݒɂƑs܂BA
  R}hC setserial s邱ƂɂR}hPƂ̃eXg
  s܂B

  ttyS3 ɂ UART  IRQ I setserial ɒׂ΁A
  ̂悤Ȏwǉ܂B

       /sbin/setserial /dev/ttyS3 auto_irq skip_test autoconfig

  Iɐݒ肵SẴVA|[gɑ΂ĂsĂB
  ۂɃ}Vɑ݂foCXKgĂBꍇɂẮA
  ̓n[hEFÂŐ삵Ȃ̂ŁAIRQ  UART ̎ۂ̐
  肪킩Ă̂ȂA"setserial" gĖIɂ̒l蓖
  ĂƂ悢ł傤BႦ΁A

       /sbin/setserial /dev/ttyS3 irq 5 uart 16550A  skip_test

  ̂悤ɂ܂B

  o[W 2.15 ȍ~̏ꍇ(g̃fBXgr[VύX
  sĂꍇBRedHat ͍sĂ܂)ɂ́Aŝ͔rIʓ|
  ܂BƂ̂AN setserial st@Cł
   /etc/init.d/setserial ̓[UҏW邽߂̃t@Cł͂Ȃ
  łB ``/etc/serial.conf pVݒ@'' ̐߂Ă
  B

  8.3.6.  /etc/serial.conf pVݒ@

  o[W 2.15 O setserial ł́Asetserial ̐ݒ@́AN
   setserial sVFXNvgŕҏW邱ƂłB ``
  XNvg̕ҏW (o[W 2.15 ȍ~ł͂Ԃg܂)'' ̐߂
  ĂBo[W 2.15 (1999 N) ȍ~ setserial ł́ÃVF
  XNvg͕ҏWȂƂɂȂAݒt@Cł
  /etc/serial.conf f[^ǂݍނ悤ɂȂ܂Bɂ
  serial.conf ҏWKvȂƂ܂BȂ
  A"setserial" R}hR}hCŎgƁA serial.conf ͎
  IɂƕҏW邩łB

  ̕ȂA킴킴ݒ(邢͐ݒύX)̂߂Ƀt@CҏW
  ĂALinux Nx setserial 𐳂삳܂B
  傫ȗƂ܂BƂ̂Aserial.conf ҏŴ͎
  ɂ "setserial" ł͂ȂƂƂłBfBXgr[VƂ
  Ⴄߘb͂Ȃ₱ȂĂ܂BɁAς
  ߂Ƀ[U serial.conf ҏW邱Ƃł܂B

  悭N̂͂Ƃł: [U PC Vbg_EAN
   "setserial" sXNvg͍Ăюs܂A
  "stop" ̕ɏĂ镔s܂B̕
  "setserial" g "setserial" ݂̌̏Ԃ𒲂ׁȀ
  serial.conf t@Cɏ݂܂BāA"setserial" s
  serial.conf t@CύX悤ƂĂAύX͑ɍŝł͂
  A}V𐳏ɃVbg_Eɂs܂B

  ܂ł΂ǂ肪N\̂z
  BVbg_Eɂł(NdXCb`؂铙)AύX
  ۑȂꍇlĂB܂A"setserial" Ŏs
  ĂāAŌɌ̏Ԃɖ߂̂YĂꍇ(܂͌̏Ԃɖ߂
  Ƀ~Xꍇ)lĂBƁus뒆v̐ݒ肪ۑ
  Ă܂܂B

  蓮 serial.conf ҏW΁AҏW̓Vbg_E̎ɔj
  ܂BȂȂAVbg_E̎ɂ̎_ setserial ̏
  ɖ߂邩łBVbg_E̎ serial.conf ύXȂ
  ߂̕@܂Bserial.conf ̍ŏ̍sɏĂ
  "###AUTOSAVE###" Ƃ폜̂łBȂƂfBX
  gr[Vł́ACXg[̏߂ẴVbg_E̎ɍ
  ̍s "###AUTOSAVE###" 폜邱Ƃ͎Iɍs܂B
  serial.conf ɂ͂ԂAQlɂȂ񂪃Rǧ`ŏĂ
  傤B

  N(ݒt@Cɏ]) setserial s邽߂ɒʏg
  t@ĆA/etc/init.d/setserial (Debian)  /etc/init.d/serial
  (Redhat) łAʂ͂̃t@CҏWׂł͂܂Bo[
  W 2.15 gĂ RedHat 6.0 ł́AN setserial s
  ꍇ /etc/init.d/ Ɉړ
  /usr/doc/setserial-2.15/rc.serial t@CtĂ܂B

  |[g𖳌ɂɂ setserial g "uart none" ݒ肵
  B/etc/serial.conf ̃tH[}bǵAR}hC "setserial" 
  ɒup[^Ƃقړ̂e|[gɂ 1 s`
  BۑsĂȂ΁A/etc/serial.conf ŕҏWĂ
  B

  BUG: 1999 N 7 ̎_ł́A###AUTOSAVE### ɗRoO/肪
  ܂B "setserial -Gg /dev/ttyS*" ŕ\ setserial ̃p
  [^ۑꂸÃp[^ۑȂƂ̂
  B"setserial" ̑SẴp[^\ɂ -a tOg
  B͂ꕔ̃[Uɂe^Ȃł傤BƂ̂
  ʁAۑȂp[^͂قƂǂ̏ꍇ̓ftHglőv
  łB̓oOƂĕ񍐂Ă̂ŁA݂͏CĂ邩
  ܂B

  setserial Őݒ肵݂̐ݒVbg_E邱ƂȂݒt@C
  (serial.conf)ɕۑɂ́AVbg_E̎ɒʏs鏈
  ܂B܂AVFXNvg /etc/init.d/{set}serial stop s
  ܂B "stop" R}hɂ茻݂̐ݒ肪ۑ܂AVA|[g
  ͓̂삵܂܂łB

  ꍇɂĂ͐V̐ݒ@CXg[Ă邩܂
  ANɎŝ͂Ԃ񂻂̂̕Еł傤BDebian 
  ́AÂĎgȂt@C "...pre-2.15" ƂxtĂ
  B

  8.3.7.  IRQ

  ftHgł́AttyS0  ttyS2  IRQ 4 LAttyS0  ttyS3 
  IRQ 3 LĂ܂BȀ藧Ȃ΃VÅ
  荞݂̋L͂ł܂: Ȃ킿 (1) J[l 2.2 ȍ~łA (2)
  荞݂̋LT|[g悤ɃJ[lRpCĂA (3)
  VA|[g荞݂̋LT|[gĂƂłB

  ``荞݂̋Lƃo[W 2.2 ȍ~̃J[l'' B

  ttyS0  ttyS1  2 ̃VA|[ggĂȂꍇɂ͂
  ܂BƂ̂A݂ȂfoCXɂĂ͋L IRQ ̏Փ
  NȂłB

  fǉԂł ttyS0  ttyS1 ̂܂܂ɂȂ΁A
  gp IRQ AVA|[g̗(܂̓fJ[h)
  ݒ肵Asetserial găfoCXhCoɊ蓖ĂȂ΂Ȃ܂
  BIRQ 5 TEhJ[hɎgĂȂ΁AfpɎg
  悢ł傤Bn[hEFA IRQ ݒ肷ɂ́Aisapnp  PnP BIOS,
  邢 Linux  PnP ɂ邽߂̃pb`gKv邩܂
  B]Ă IRQ 𒲂ׂQlƂāA"man setserial" s "IRQ
  11" ȂǂĂ݂ĂB

  8.4.  stty

  8.4.1.  ͂߂

  stty ̓VA|[g̐ݒFX܂AAvP[VvO
  ( getty vO)ݒƂ悭̂ŁA[Ug
  Kv͂܂肠܂B̃vÓA肪N|[g
  ݒɂ͕֗łB[R\[ ``stty -a'' s
  ΃|[g̐ݒ邱Ƃł܂B܂A-a (all) IvVt
   stty s΁AʏƈقȂݒɂȂĂ镔ZXg\
  ܂BVA|[g̒BlɂȂ낤Ƃ̂łȂ΁ASĂ̐ݒ
  oKv͂܂BقƂǂ̓ftHĝ܂܂ővȂ͂
  ŁA1970 Nɍꂽ̌Â_[ɑ΂Ăݒ肪K
  vƂȂ܂B

  setserial ͎ۂ̃VA|[ĝɑ΂āAstty ̓VA
  |[gƉz[(PC j^Ŏg Linux W̃eLXgC^tF[X)
  ̗ɑ΂Ďg܂BPC j^ɑ΂ẮAstty ̐ݒ͖̑
  łB{[[gςĂۂɂ͉ςȂ悤Ɍł
  B

  stty ̐ݒƁAx(rbg/b)ApeBArbg/oC
  gAXgbvrbg̐A8 Ԗڂ̃rbg𗎂ƂǂAfVO
  iAt[Au[NMAs}[J[AP[X̕ύXApfB
  OAobt@̍ۂɃr[vȂ炷ǂA͂GR[
  \邩AobNOEh^XN̒[ւ݂̏ǂA
  ()̒`(ǂ̃L[Ɗ荞݂邩)܂B
   stty ̃}jAy[W info t@CĂBtermios
  ̃}jAy[WĂB stty Őݒł̂ƓIv
  V܂ł܂A(1999 N΂̎_ł) stty ̃}jAy[
  WłĂȂ@\܂ł܂B

  ꕔ getty ̎(getty_ps pbP[W)ł́Astty ɒʏ^R}
  h getty ̐ݒt@C(/etc/gettydefs)ɏ܂B̐ݒt@C
  ȂĂAgetty ̃R}hC̓[U stty KvƂȂ悤
  ɏ\Ȑݒ肪ł܂B

  stty ̐ݒȂǂύX C vOƂł܂BɊւ
  镶΁Astty R}h̎g(т񂠂gp
  \Ȉ)悭łł傤BSerial-Programming-HOWTO ɗ
  ܂B}jAy[W termios ɂ C ̍\(termios ^)̐
  ܂B̍\̂ stty ̐ݒRs[^̃Ɋi[
  BC ̍\̂̃tȎ́Astty R}ḧƂقړ
  ł(ē܂)B

  8.4.2.  uʂ́v[ɑ΂Ă stty ̎gp

  stty gāAݎgĂ[̒ݒŝ͊ȒP
  Bʂ(悻)[VA|[gɑ΂čŝ͖ʓ|
  ܂BႦ΁Aǎ҂̊F PC ̃j^ (tty1) ɂāA stty
  găVA|[g ttyS2 ƍlĂƂ܂B 2000 N
  O̍́A_CNgZq < gKv܂B 2000 N
  ~ł(g setserial ̃o[W 1.17 ȏŁAstty ̃o[W
   2.0 ȏȂ)A-F IvVgƂʂ̕@܂B
  ̓_CNVgÂ@sꍇł삵܂B
  AƂŐVłłĂAttyS2 ɒ[AŃVF삵
  ĂȂ΁A\̂͊mł͂ȂAݒ肵悤ƂĂ܂
  Ȃ낤ƂƂ𒍈ӂĂ܂B̗R𗝉 ``
  [ 2 ̃C^tF[X'' B

  V@ ``stty -F /dev/ttyS2 ...'' ł(邢 -F ̑
  --fileg܂)B...  -a ł΁ÃR}h stty  ̑SĂ̐
  肪\܂B_CNVgÂ@(ŋ߂̃o[Wł
  ܂g܂)ł ``stty ... < /dev/ttyS2'' g܂BV@ł
  삷̂ɌÂ@ƃnOꍇ́AIɂĂ郂f
  Ȃ߂Ƀ|[gnOĂƎv܂B̂悤ɁAÂ@
  ܂guɖ𗧂܂Bڂ͂̌̐߂ǂłB

  8.4.2.1.  _CNVgÂ@

  _CNVZqɂ͖肪܂(̉Zqł͂ȂAV -F
  IvVgΖ͋N܂)Bstty gƂƎXAR}
  hnOANȂƂ܂(^[L[ĂA
  ̃R}h̃vvgoȂ)B͑|[gnOĂ܂
  ߂łA̓f̂ꂩIɂȂ̂|[g҂
  邽߂ɋN܂BႦ΁Af𖳎悤 "clocal" 
  ݒ肵ĂȂꍇACD MIɂȂȂ΃|[g̓I[vł
  񂵁Astty ̓|[gɑ΂ē삵܂(V -F IvVg
  Ȃꍇ)Bl̏󋵂́An[hEFAt[łN悤łB
  IɂȂKv铱|[gɌqP[uɂȂ΁AnO
  ̂hȒPȕ@͂܂B

  ̂悤ȃnOh@̈́AV -F IvVgA
  "clocal"  "crtscts" ݒ肷邱ƂłB-F IvVgȂꍇ
  ́AƂItłĂ|[gIɓ삳vO
  Ã|[gɑ΂ĎgĂ݂Ă悢ł傤BƑ̃vO
  ́A̐|[gI[v邽߂ɐKvȂȂ悤Ƀ|[g
  ݒł܂: Ȃ킿 clocal ܂ -crtscts ݒ肵
  B"minicom" gĂsɂ́Aʂ ttyS ɍ킹 minicom
  Đݒ肵Aꂩ minicom ̏IƍĎssȂ΂Ȃ܂B
  ̌Ă minicom Đݒ肵Ȃ΂ȂȂ̂ŁAP PC ċN
  邾̕ȒP܂B

  _CNVgÂ@́AttyS2  stty ւ̕W͂Ƃ܂B
  ƁAstty  vÓut@Cvł ttyS2 ɃNĂ
  uǂݎvƂł悤ɂȂ܂BAttyS2 ɑꂽoCg
  f[^͕ʂɊ҂ʂɓǂݎ̂ł͂ȂA|[g̓ǂݎ
  Xł悤ɁÃNgă|[g̐ݒ𒲂ׂ܂B ``stty
  ... > /dev/ttyS2'' gĒ[ݒ肵悤Ƃl܂ÃR
  }hŐݒ肷邱Ƃ͂ł܂B̏ꍇ͐ݒ͍sꂸɁAgĂ
  [(Ⴆ tty1)ɑ΂ stty R}hŕʂɕ\郁bZ[W
  Aꂪ ttyS2 ɑ܂BAttyS2 ̐ݒ͑Sς
  ܂B

  8.4.3.  [ 2 ̃C^tF[X

  R}hCҏW@\LɂăVF(bash Ȃ)gĂ鎞́A2
  ̈قȂ[C^tF[X(stty -a sɕ\)
  ܂BR}hCœ͂sɂ͈ꎞI "raw" C^tF[X(
  ܂ "raw" [h)ĂAꂼ͓͂̕邲ƂɃR}
  hCGfB^ǂݍ݂܂B<^[>L[@ƁAR}hC
  GfB^͏IA[C^tF[X͂̒[̒ʏ "cooked" C^
  tF[X(cooked [h)ɐ؂ւ܂B cooked [h́Ãv
  vg[ɑ܂ő܂B cooked [hł͉͂
  ܂񂪁Araw [hœ͂ꂽ <^[> L[
  cooked [hɂȂ܂B

  vvg[ɑƁA[ "cooked" [h "raw" [h
  ɕς܂(̓GfB^N鎞Ƃ傤Ǔ悤ɍs
  BƂ̂AR}hCGfB^N悤ƂĂ邩
  )B "raw" [h̐ݒ́A"cooked" [h瓾{ݒ݂̂Ɋ
  čs܂Braw [h͂̐ݒێ܂Â
  ݒ̓[h "raw" ɕς邽߂ɕύX܂BO "raw" [hŎg
  ꂽݒɂ͑Sˑ܂BāAstty g raw [h̐
  ςƁAuݒ肳ꂽvƎv[<^[>L[@r
  [ɂ̂悤Ȑݒ͖ȂĂ܂܂B

  ŁAstty ͂Ē[C^tF[X鎞ɂ́Acooked [h
  raw [h̐ݒ\邱Ƃł܂B̎ɂ͂ǂ̂
  ͂肳Kv܂BR}hC\Ă[
  ߂ɕʂ̒[ stty gꍇɂ́A\ raw [ĥ̂ɂȂ
  BsꂽύX raw [hɂKpꂸAuݒv悤Ƃ[
  ŒN<^[>ƏĂ܂܂BÂ[
  (_CNg < g킸) stty R}h͂Aꂩ<^[
  >ꍇ͘bĂ܂B<^[>L[ɂ[ cooked
  [hɂȂ܂BsꂽύX͕ۑA[ raw [hɖ߂
  ɂcĂ܂( raw [hŕύXłȂݒ̏ꍇ͏
  )B

  ̏󋵂ɂ肪N邱Ƃ܂BႦ΁A[C^tF[X
  ႮɂĂ܂A߂߂ɕʂ̒[ɍs "stty -F
  dev/ttyS1 sane" ()sƂ܂傤BƂ낪A̕@͎g
  ! 񂮂ႮɂȂĂ܂[ "stty sane ..." 
  ݂͂邱Ƃ͂ł܂A͂邱Ƃ͂ł܂BL
  ̌ۂ̓_[ł͂ȂAPC j^Ŏgz[AX ̒[
  EBhEɂĂ͂܂܂B΁A Linux gقƂ
  ǑSĂ̐lɓĂ͂܂܂BK^ȂƂɁAstty NɎst@
  C̓VF삵ĂȂ[(邢͒[qĂȂVA
  |[g)̂Ŗ͂܂B

  8.4.4.  ǂ stty R}hu?

  Rs[^Nx stty ɃVAC^tF[Xݒ肳K
  v̂ȂARs[^N(Linux N)xɎs
  t@C stty R}hĂKv܂B̃t@C̓V
  A|[gg(|[gɂ getty ̎s܂݂܂)OɎs
  Ȃ΂Ȃ܂BuƂłꏊ͂񂠂܂B
  ̏ꏊɂûɁȀꏊ̂̈mȂ(o
  ĂȂ)Փ˂NĂ܂ł傤BāAݒ肵Ƃ͋L
  ^Ă܂傤B

  stty R}huꏊ̈́AVXeN鎞 setserial 
  st@C̓łB̏ꏊ̓fBXgr[Vo[W
  ƂɈقȂ܂B჌x̏ɍs悤ɂ邽߁A
  setserial ̌ɒûǂł傤BuĂt@CNɑS
  ĎsfBNg(System V Init)  /etc fBNgc[̉
  ɂ΁A"stty" ƂÕt@C stty R}hs
  Ăǂł傤B

  8.5.  isapnp Ƃ͉?

  isapnp ́Af܂߂ ISA oXp̃vO&vC (PnP)foCX
  ݒ肷邽߂̃vOłB̃vO "isapnptools" ƌĂ
  pbP[Wɑ̃vO("pnpdump")ƈꏏɓĂ
  B"pnpdump" ͑SĂ ISA PnP foCXÃfoCX
  肷IvVo͂܂B̏o͂́APnP ̐ݒt@Cł
  /etc/isapnp.conf ɒǉł`łBRs[^̋Nɖs
  AISA PnP foCXݒł悤ɁAisapnp R}h̓VXe
  Nt@Cɏ܂BBIOS  PnP T|[gĂȂĂA
  sƂ͉\łBڂ Plug-and-Play-HOWTO ĂB

  9.  x (t[[g)

  Ō "x" ͖{́uf[^t[[g(data flow rate)vƂ
  ӖȂ̂łA̐l͂𑬓xƌpĂ܂Bx̒Pʂ̓rb
  g/b(邢̓{[)łBx "stty" R}h܂̓VA|[g
  gvOŐݒ肵܂B ``stty'' B

  9.1.  \ɑxݒł܂

  n[hEFAΉĂő呬xmKv܂B1998 N̎
  _ł́AقƂǂ̃n[hEFA 115.2k bps ܂ł̑xɂΉĂ
  ܂łB 56k f 230.4k bps ɑΉĂ
  Bŋ߂ Linux J[l͍(115.2k ȏ)ΉĂ܂Aȉ̗
  R̂ꂩ邢͗̂߂ɁAΉꍇ܂:

  1. AvP[VvO(܂ stty)ΉĂȂ

  2. setserial ̐ݒ肪ftHg̑x 115,200 ł(Ãf
     tHglς̂͊ȒPł)

  9.1.1.  n[hEFAɑxݒ肷@:  baud_base l

  ʎg鏜ƂɑΉ鑬x(ő呬x 115,200 Ƃ܂)̃
  Xg 1 (115.2k), 2 (57.6k), 3 (38.4k), 6 (19.2k), 12 (9.6k),
  24 (4.8k), 48 (2.4k), 96 (1.2k) ȂǂƂȂ܂BVAhCóA
  n[hEFAɁuv(̐)݂̂𑗂邱Ƃɂăn[hEFȂ
  xݒ肵܂B́uvŃn[hEFA̍ő呬xZAx
  xƂȂ܂( 1 ̏ꍇ͌܂łȂAn[hEFAɍ
  呬xœ삷悤߂܂)B

  ʂ(ʐMvO stty )x 115.2k Ɏw肷ƁAVAh
  Co̓|[g̃n[hEFAɏ 1 ݒ肵܂B͌܂ł
  ōx̐ݒłBg̃n[hEFA̍ōxႦ΂܂
  230.4k Ȃ΁A115.2k w肵̏ 1 ł邽߁Aۂ̑x
  230.4k ɂȂ܂Bɂݒ肵x̔{̑xɂȂ܂BہA
  ǂȑxw肵Ăۂ̑x͔{ɂȂĂ܂܂B460.8k œ
  łn[hEFAƂƁAۂ̑x͐ݒl 4 {ƂȂ
  傤B

  9.1.2.  xݒɊւ̉

  vZ𐳂ɂ(K肪Ƃ͌
  ܂)A"setserial" g baud_base lۂ̃|[g̍ő呬x (
   230.4k)ɕύX܂B(AvP[V stty g)
  x 230.4k ɂꍇɏƂ 1 gAݒ肵̂Ɠx
  ܂B肪܂: (1999 N΂̎_ł)stty ⑽
  ̒ʐMvO͍ő呬x̐ݒl 115.2k łA230.4k ݒ肷
  邱ƂłȂ̂łBāÂ悤ȏꍇ̈̉@́A
  setserial ł͉ύXAۂ̑x͐ݒ肵x 2 {ł邱
  ŊoĂƂłB

  ܂}VƂ͌܂񂪁Aʂ̉܂B̕@gɂ́A
  (setserial g) baud_base ln[hEFA̍ő呬xɂĂ
  BɂvZ@ȂA115.2k w肷Ύۂ 115.2k
  ̑x悤ɂȂ܂Bł܂AʐMvOȂǂō
  xݒ肳ĂȂꍇɁAōxݒ肷@Kv
  ܂BK^ȂƂɁAsetserial ɂ͂s@܂:
  "divisor 1" Ƃ "spd_cust" p[^ĝłBƁAʐMv
  Oőx 38400 ƂɃ|[g̏ 1 ɐݒ肳Aōx
  œ삵܂B:
  setserial /dev/ttyS2 spd_cust baud_base 230400 divisor 1
  "divisor" ɐ(spd_cust Ƒgݍ킹)ȗprȊO̖ړI
  ŎgĂ͂܂B

  ʐMvOŐݒłȂx 2 ȏgꍇɂ́A
  قǊȒPɂ͍s܂BĂ͂܂܂Bbaud_base
  l͒PɃftHĝ܂܂ɂĂAxݒ肷鎞ɂ͎ۂ͏
  ݒ肵ĂȂƍl̂łBĎۂ̑x͏ɁAVAh
  Coݒ肵ōő呬xlƂȂ܂B ``n[hEFAɑ
  xݒ肷@:  baud_base l'' B

  9.1.3.  U̎g̓{[[gł͂܂

  baud_base l̐ݒ͕ʁAn[hEFA̐U̎g肸
  Ⴂ_ɒӂĂBƂ̂AU̎g̓n[hEFA
   16 ŊAۂ̍ōxƂȂ邱ƂłBU
  g̕Ȃ΂ȂȂŔÂ悤ɎgȂ΁A
  erbg 1  0 ł邩߂邽߂̃Tv邱Ƃ
  邩łB

  9.2.  VÃX[vbǧ

  (E)IDE ̃n[hfBXNgĂVXełAX[vbg
  ăVA|[gI[o[ꍇ hdparm ĂB
   (E)IDE ̃p[^(fBXN IRQ sĂԂ͑ IRQ
  A}XN铙)ύX\ɂ郆[eBeBłB̃[eB
  eBgƉǂȂăI[o[𖳂̂ɖ𗧂ł傤B
  A}jAy[W͕K悭ǂłBƂ̂Aꕔ̃h
  CuƃRg[̑gł͂̃[eBeB܂삹At@
  CVXe󂵂Ă܂ȂłB

  irqtune ƌĂ΂郆[eBeBĂB̓foCX(Ⴆ
  ΃fqĂVA|[g) IRQ ̗DxύX郆[eB
  eBłBɂAg̃VXẽVA|[g̃X[vbg
  シ邩܂Birqtune  FAQ 
  http://www.best.com/~cae/irqtune <http://www.best.com/~cae/irqtune> 
  ܂B

  10.  bNđŎgȂ悤ɂ

  10.1.  ͂߂

  VA|[ggɂ́A̐l͓ɎgȂ悤ɂ
  vł傤BA̐lɂg킹Ƃ邩܂B
  ΎeLXg[gĂ鎞ɁA̐ldvȃbZ[W𑗂
  悤ɂꍇłB

  ݎgp̃VA|[g𑼂̐l(⑼̃vZX)gȂ悤
  ɂ@(bLO)͐FX܂B͎̏Iɍs͂
  A肪N̂߂ɃbLOmĂƂ͏dvłBv
  OُIA(RZgȂǂ)PC ˑR
  ꍇɂ́AVA|[gbN܂܂ɂȂĂ܂܂
  BbNc܂܂łĂAʂ͎ɃVA|[ggƂ
  ɎIɃbN͏܂B܂ɂłȂƂ
  BȎɂ͉N̂𗝉Kv܂B

  bLO@̈́AbNł悤ɃJ[l
  v邱ƂłALinux ͂܂ł͂̕@Ă܂(ł͎g
  ȂȂ cua foCX͗Oł)BLinux Ŏg@ 2 
  ܂B

  1. bNt@C@

  2. /dev/ttyS2 ̃foCX̃p[~bV⏊L҂ς@

  10.2.  bNt@C

  bNt@C͓̃foCXgpł邱Ƃ߂ɍ邽
  ̃t@CłB̃t@C /var/lock ɒu܂BȑO
  /usr/spool/uucp ɒuĂ܂BLinux ł́AbNt@C̖O
  LCK..name ƂȂ邱Ƃ܂B name ̓foCXAUUCP ̃T
  CgłBقƂǂ̃vZX(getty ͏܂)́ÃfoCXɔr
  IɃANZXł悤ɂȂ邽߂ɃbNt@C܂BႦ΁A
  fgă_CAAEgsƁANfgĂ邱Ƃb
  Nt@C(ЂƂłȂƂ܂)̃vZXɓ`܂B
  bNt@C̓e͎ɁAfoCXbNĂvZX ID 
  BbNĂfoCXǂĂg΁AvZX̓bN
  t@C𖳎āAƂɂfoCXgĂ܂Ă悢_ɒӂ
  B̓eLXg[ɃbZ[W𑗂肽Ȃǂɕ֗łB

  vOVA|[ggƂǁÃ|[gbNt@
  CŃbNĂ鎞́ÃvO̓bNt@C PID
  ܂gĂ邩ǂmF͂łB PID gĂ
  ΃bN͖ƂƂȂ̂ŁA(ɂȂbNt@C
  Ă)̂܂܃|[ggĂvłBcOȂvOɂ
  Ă͂̂悤ȏs킸Aۂɂ̓foCXgpłȂĂfoCX
  gpƂbZ[W\Ă߂Ă܂̂܂B

  bNt@Ć݂̖AfoCX 2 ̕ʖĂA
  ̌ʂƂĕʂ̖Oۂɂ͓foCXbNt@C
   2 łꍇɋN\܂BĂ͊eX̕VA
  |[g 2 ̈قȂfoCX(ttyS0  cua0)ƂLłB
  bN`FbNvO ttyS  cua ̗ɑΉĂ܂
  A݂ cua ȂȂ̂ŏ͊ȒPɂȂ܂Bo[W̌
  vO͂܂ cua gĂ邱Ƃ܂Bʖg
  (/dev/modem  /dev/ttyS2 )̓gu珵悤Ȃ̂
  B

  10.3.  foCXt@C̏LҁAO[vAp[~bV̕ύX

  foCXgɂ́A[U(setuid Ăꍇ́AsvO
  )  /dev fBNgɂfoCXut@Cvǂݏ邽߂
  p[~bVĂKv܂BāA̐lfoCX
  gȂ悤ɂ؂̒ʂ@́Ag̃foCẌꎞI
  L҂ɂAɂ͒NgȂ悤ȃp[~bVݒ肷邱ƂłB
  ̂悤ȏvO܂B悤ȕ@ƂāAfoC
  Xt@C̃O[vg܂B

  bNt@C͑̃vZXfoCXgȂ悤ɂ܂AfoC
  Xt@C̏L/p[~bV̕ύX͑̃[U(O[v) fo
  CXgȂ悤ɂ܂BЂƂ̏󋵂ƂāAO[vɑ΂ăVA
  |[gւ݂̏̃p[~bV͗^Ă邯ǁAǂݎ
  p[~bV͏oĂȂꍇ܂B̏ꍇA|[gւ̏
  ͒PɃeLXg[ւ̃bZ[WMɂȂ邾łAǂݎ͔ߎS
  ƂɂȂ܂Bʂ̃vOɃf[^ǂݏoĂ܂ƁAf[^
  ̓ǂݎ̕KvX̃vÕf[^ȂȂĂ܂
  B̂悤ɁAǂݎ͏݂傫ȊQyڂƂ
  Bǂݎł̓f[^ȂȂ܂A݂ł͗]vȃf[^ǉ
  邾łBꂪA݂͋Ăǂݎ͋ȂR
  łB͒ʏt@C̏ꍇƂ傤ǔ΂ɂȂ܂Bʏt@C
  ͑lɓǂݎ܂A(C)͋܂BVA
  |[ggꍇ͕ʁAǂݎƏ݂̗KvłB

  foCXt@C̑ύXvÓAIɂ͕ύX
  ɖ߂͂łBAُIꍇɂ́AɒNgƂ
   "permission denied" G[o悤ȏԂ̂܂܂̃foCXt@C
  c邱Ƃ܂B

  11.  ʐMvOƃ[eBeB

  11.1.  \tgEFÄꗗ

  ȉɒʐMvOЉ܂Bg̃fBXgr[V
  ɕtĂȂ΁AFTP œ肷邱Ƃł܂B

  o  ecu - ʐMvO

  o  C-Kermit <http://www.columbia.edu/kermit/> - ڐAAXNv
     gLqłAt@C]EWϊE zmodem ɑΉĂV
     AETCP/IP p̒ʐMvOB

  o  minicom - telix ɎʐMvO

  o  seyon - X x[X̒ʐMvO

  o  xc - xcomm ʐMpbP[W

  o  term  SLiRP ́AVFAJEgg TCP/IP @\񋟂
     B

  o  screen ̓}`ZbVvOłB͉zR\[̂悤
     ɓ삵܂B

  o  callback gƁA[gfɓdbɁÃf
     db؂ĂR[obNĂ܂(dbߖł
     )B

  o  mgetty+fax ̓t@bNX܂Bps_getty ̑ɎgƂ
     ܂B

  o  ZyXEL  ZyXEL U-1496 f𐧌䂷vOłB̃vO
     ̓_CACA_CAAEgAR[obNɂZLeB@
     \At@bNXA[{bNX܂B

  o  SLIP  PPP Ɋ֘A\tgEFA
      ftp://metalab.unc.edu/pub/Linux/system/network/serial œł
     B

  11.2.  kermit  zmodem

  (ttyS3 )kermit  zmodem gɂ́A.kermrc Ɉȉ̋Lqǉ
  :

       define rz !rz < /dev/ttyS3 > /dev/ttyS3
       define sz !sz \%0 > /dev/ttyS3 < /dev/ttyS3

  fڑĂ鐳|[gKw肵ĂBzmodem g
  ɂ́Akermit ̃vvgŒP rz ܂ sz <filename> Ɠ͂Ă
  B

  12.  VAɊւ邿ƂeNjbNȂ

  ɗƎvVA֘ÂƂeNjbNЉ܂B

  12.1.  ChCo

  eLXg[ł EIA-232 ͏\łAP[uZ
  邱Ƃ͂悭܂B̖͕t^`Zpɂ܂BeLX
  g[ŕt^`s߂̈ʓIȕ@́AVA 2 ̃
  ChCoCXg[āA񕽍t^畽t^ւ̕ϊ(ыt
  )sƂłB͓ȋ@łAVƂȂƍ
  傤B

  12.2.  וiƂĒmĂn[hEFA

  12.2.1.  ̃rfI{[hŋN I/O AhX̏Փ˂@

  IBM 8514 {[h(Ȃ) I/O AhX 0x?2e8 ƌĂ܂(?  
  2, 4, 8, 9 ̂ꂩ)BVA|[gAhXWJ鎞 16 il
  ̐擪 0 ł錅𖳎(̃VA|[g͂̂悤ɓ삵
  )ꍇɂ́A 0x02e8 ɂ ttyS3  I/O AhXƏՓ˂܂(
  VA|[g܂݌vĂΏՓ˂Ȃ͂ł)B
  ́ÃAhX ttyS3 gƂĂlɂ͍błB
  ͕ʂ̖ Linux  ttyS3 ɂfoł܂
  Asetserial gẴAhX ttyS3 u΁Af͂܂
  삷ł傤B

  12.2.2.  AMD Elan SC400 CPU (PC-on-a-chip) ł̖

  ͊荞݂ UART ̏ԃWX^ƂłBUART 
  gX~b^oCgf[^̑MIAUART ̑Mobt@ɂ
  (Mobt@͎̃oCgf[^҂܂)荞݂s܂B
    UART ̏ԃWX^́Aꂪ\fقǑXV
  B̌ʁA荞݃T[rX[`ȃ`FbNsƁA
  NĂȂ(Ԉ)f܂BāAɓ]ׂoCg
  f[^̓VA|[gɑꂸAUART ̃gX~b^͓͂Ƃ̂
  oCgf[^҂邱ƂɂȂ܂B荞݃T[rX
  WX^`FbN܂ł̑҂Ԃ΁Aۂ̏Ԃ
  fASĂ܂s͂Ȃ̂łcB

  VAhCoɃpb`𓖂Ă邱ƂɂA̖悤Ƃ
  Ă܂BA׃n[hEFAɑΉ邽߂ Linux Ƀpb
  `𓖂Ăׂł傤? Ȃn[hEFAł̐\邩
  Ȃ̂ɁB

  13.  guV[eBO

  fсAfɑ΂ėp getty ɊւẮAModem-HOWTO ̃g
  uV[eBȌ͂B

  13.1.  VA̓dCIȐffs

  13.1.1.  pRlN^̏

  [Ȃ΃eX^(dvƂĎg܂)Ώ\ł傤
  AVA|[g̔z𒲂ׂ邽߂̊ȒPȓ܂B̒
  ɂ́upRlN^(breakout)vƌĂ΂̂܂Bubreakoutv
  t́AP[uoƂӖłB̂悤ȏ
  ɂ 2 RlN^tĂAVAP[uq悤ɂȂĂ
  Bdvq[qĂ̂܂B̃fI
  ɂȂĂƓ_ LED vĂ̂܂BCӂ
  Ɛڑł悤ɃWpĂ̂܂BXCb`
  Ă̂܂B

  Radio Shack ̓d퉮ŁuRS-232 Troubleshooterv܂uRS-232 e
  X^v𔄂Ă܂(1998 N)B TD, RD, CD, RTS, CTS, DTR, DSR
  `FbN܂B΂̃v̓I(+12 V)\AԂ̃v̓It(-12
  V)\܂B̓Xł́uRS-232 VAWp{bNXvƂA
  sRɑIׂ鑕uĂ܂B

  13.1.2.  d̑

  ǂȓdveX^ł(10 hŔĂ悤Ȉł)܂
  g͂łBd̃`FbNɑ̕@ĝ͖ʓ|łBR𒼗
  Ɍq LED ɂdȂALED gĂ͂܂B 20
  mA  LED ł 470 ̒RgĂ(SĂ LED  20 mA
  Ƃ͌܂)BLED ͌܂ɐłȂ̂ŁA+  - ̓d
  ׂ邱Ƃł܂BIɉH邱̂悤ȏN
  ? _v[u͎gƂƉĂ܂܂BƂ
  ̂ATTL z肵Ăd͂ 5 V łB12 V ̔Md
  ĝ͂߂ł傤Bdł͋ɐ͂킩܂񂵁AUART
  ̏o͓d͌Ă邽߁AԂ邱ƂȂł傤B

  X̃RlN^̓d𑪒肷ɂ́AȂy[p[Nbv𒲂ׂ
  ɍނƂ悢ł傤By[p[Nbv̒a̓s͂
  Ȃ̂ŁAڐG邱Ƃ͂܂Bڑ邽߂ɂ́AjN
  bv()Ńy[p[Nbv݂܂傤B

  13.1.3.  d𖡂Ă݂

  eXgɎgAdCVbN󂯂(d)o傪
  ΁AŌ̎iƂēd𖡂키Ƃ@܂Bׂ铱
  Ȃ߂Oɂ́AdĂȂƂm߂܂傤B̓
  ()Е̎ŐGAVbN󂯂邩ǂmF܂BVb
  N󂯂ȂΐڐG̔Ȃ߂ĔG炵AĂѓɐGĂ݂܂傤B
  ŃVbN󂯂΁AȂ߂Ă݂C͂ƂȂȂł傤B

  12 V 𒲂ׂɂ́A܂wȂ߂āA̓̎wɉ܂B
  ɕʂ̓ɐŐG܂BŐGꂽɐ̓dĂ΁A
  ͂Ƃł傤BǂȖ邩OĒmĂ
  ΁Ad̓drȂ߂Ă݂Ƃł傤B

  13.2.  VA|[g̊ĎƐff

  fĎA̓d(1)ł邩(0)ł邩 Linux
  p̃vO܂B ``VA|[g̊Ď/ffp̃v
  O'' ̏͂B

  13.3.  ȉ̐߂ Serial-HOWTO ɂ Modem-HOWTO ɂ܂:

  13.4.  Iɂ̓VA|[ĝɁAo܂

  foCX(fȂ)mɓ삵ĂȂÃfoCXqĂ
  VA|[g͌oĂ܂B܂삵Ȃ̂ł΁AV
  A|[goł邱Ƃm߂Kv܂B

  BIOS ̃j[Əo̓bZ[WmF܂傤B PCI oXȂ lspci
  g܂B ISA oX PnP VA|[g̏ꍇɂ́A"pnpdump
  --dumpregs" A Plug-and-Play-HOWTO ɂȂĂB
  "scanport" gƁAISA ̑SẴ|[gXLAVA|[g
  Ȃm̃|[g邱Ƃł܂(|[g̒T
  s܂)Bscanport  PC nO邩܂B setserial
  gĒTsĂ悢ł傤B``T''̐߂QƂĂBV
  A|[gɃf[^ĂȂ悤ł΁AVA|[g
  Ă荞݂ԈĂ邩܂B ``̏Ȃx: eL
  XgxĂʂɕ\܂'' ̐߂B

  2 ̃|[g I/O AhXĂꍇATł͊Ԉă|[
  g܂BvO&vCɂ錟oł͗̃|[g
  ̂ŁAꂪɂȂ̂́AvO&vCłȂ|[gȂ
  ꍇłBuLvĂ|[gɐڑĂfoCX
  ł͂قƂǂǂȃG[ł/o邱Ƃ܂A|[
  g 2 ̃foCXqĂƂ͌oȂ悤ł(K
  ɂŌꍇ͏܂)BIRQ Ⴄꍇɂ́Asetserial Ŋe
  IRQ TƂ IRQ ̌oɎs邱ƂɂȀԂu
  ovłƎv܂B ``T''̐߂B

  13.5.  ̏Ȃx: eLXgxĂʂɕ\
  

  ͊荞݂̐ݒ肪ԈĂ邩AՓ˂Ă邽߂ł傤B߂
  f[Av^gƂƂɏo悤Ȍۂ
  ܂BꍇɂẮA͂boȂƕ\Ȃ
  ܂B͂Ō̕\ȂƂ܂B܂A
  ̕PɖڂɌȂ<s>ŁAJ[\ 1 sɈړ
  킩ȂƂ܂B܂ʂ̏ꍇƂẮAʂɃf[^͂
  \̂łA16 Ƃ̂܂ł\ȂƂ
  ܂BāA邩܂̎̂܂肪\܂łɂ͉b
  ̒҂Ԃ܂Buinput overrun(̓I[o[)ṽG[
  bZ[W\(邢̓OɎc)Ƃ܂B

  ڂǏƂꂪN闝RɂẮA

  ``荞݂̖Ɋւڂ''̏͂``荞݂̏Փ''̐߁A``
  荞݂̐ݒ~X''̐߂ĂBvO&vCfoCX݂̖
  ȂAPlug-and-Play-HOWTO ĂB

  {Ɋ荞݂̖肩ǂȈՓIɒׂɂ́A"setserial"  IRQ
   0 ɐݒ肵ĂBɂAhCo͊荞݂ł͂Ȃ|[
  Og悤ɂȂ܂BŁuxv肪悤ł΁A
  荞݂̖肪NĂ܂BȀꍇł荞݂̖
  ׂłBȂȂA|[O̓Rs[^̎ʂɏ܂
  Aɂ̓X[vbgIɒቺ邩łB

  荞݂̏Փ˂̂͗eՂł͂Ȃ܂BƂ̂A
  Linux ͊荞݂̏Փ˂SA[UՓ˂NƂĂ
  f``/dev/ttyS?: Device or resource busy'' G[𑗂邱Ƃ
  ȂĂ邩łBA{ɏՓ˂N\̂
  "setserial" Ԉw肵ĂꍇłB
  āA"setserial" gĂՓ˂͖炩ɂȂ܂(܂A"setserial"
  ̏ɊÂĐݒ肳 /proc/interrupts 𒲂ׂĂՓ˂͂킩܂
  )Błn[hEFA̎ۂ̐ݒ𒲂ׂ鎞ɁAԈĂ镔
  mɓ˂~߂Ēɂ́A"setserial" ɐݒ肳ĂmȂ
  ΂Ȃ܂B

  ꍇɍsׂƂ́AWp PnP ݒ\tgEFAg
  āAn[hEFAɎۂɐݒ肳Ă𒲂ׂ邱ƂłBPnP ̏ꍇ
  ɂ́A"pnpdump --dumpregs" (ISA oX̏ꍇ)܂ "lspci" (PCI oX
  ꍇ)s܂傤BāALinux ("setserial" )lĂn[
  hEFA̐ݒƂ̌ʂׂĂB

  13.6.  Ȃx:  2A3 {͑͂Ȃ̂ł

  l闝R̈́AVA|[ggĂfoCX(f[
  Av^)AȂlĂقǑ삵ȂƂłB

  lʂ̗ŔAȂgĂVA|[gÂ (UART
  8250, 16450 ⏉ 16550)ƃVAhCoFĂ邱Ƃ
  B``UART Ƃ͉ł?''QƂA "setserial -g /dev/ttyS*" g
  ĂB̌ʂƂ 16550A 萫\悭Ȃ UART \ꂽ
  A͑ݒ̖łB̏ꍇ́A"setserial" ̐ݒɖ肪
  ΁AύX܂Bڂ ``setserial Ƃ͉?''Ă
  BR̂ƂłAۂ͌ÂVA|[ggĂ̂
  setserial ܂ƂĂAPɎԂ邾łB

  13.7.  VXeN̉ʂŁAVA|[g IRQ Ԉĕ\
  ܂

  Linux J[l̓VXe̋N IRQ ̌o͑Ss܂B serial
  W[[hꂽɁAVAfoCX̌os邾
  BāAJ[l IRQ Ɋւčs\͖ĂB
  ȂA̎_ł͕W IRQ ߑłĂ邩łB̂悤
  ȂĂ̂́AIRQ o͓ĂɂȂ炸AԈႤƂ邩łB
   setserial NXNvgsꂽꍇɂ́Asetserial  IRQ
  ύXAV(đ)ԂNʂɕ\܂BԈ
  IRQ Œĉʂɕ\Ȃ΁A肪NĂ܂B

  āAIRQ 5 ɐݒ肳Ă ttyS2 ꍇłĂALinux ̋N
  ɂ

       ttyS02 at 0x03e8 (irq = 4) is a 16550A

  ƕ\܂(ÂJ[lł "ttyS02" ̂Ƃ낪 "tty02" ƂȂ
  )BۂɎg IRQ  Linux ɒm点ɂ́Asetserial gȂ
  Ȃ܂B

  13.8.  "Cannot open /dev/ttyS?: Permission denied" ƂG[o
  

  "ls -l /dev/ttyS?" sẴ|[g̃t@C̃p[~bV
  ׂĂ݂܂傤BttyS? ̏L҂ł΁Aǂݏ̃p[~bV
  Ƃ crw KvłBŏ̌ c (LN^foCX)łB|[g
  L҂łȂ΁A8 ڂ 9 ڂ rw- łȂ΂Ȃ܂B܂N
  ł̃|[gǂݏłȂ΂Ȃ܂Bp[~bVύX
  ɂ "chmod" g܂BANZX𓾂@ƂẮAO[v
  p[~bVĂuO[vvɏƂƕGȂ
  ̂܂B

  13.9.  ttyS? ɂ "Operation not supported by device" ƂG[
  o

  ̃G[́AJ[lT|[gĂȂ߂ɁAsetserial  stty 
  v삪sȂƂӖłBȑO "serial" W[
  [hĂȂƂ̏ꍇ̂łAPnP ̓oɂA
  ̃G[̓hCo( setserial)lĂAhXɃf (
  邢͑̃VAfoCX)ȂƂƂȂ܂B
  AhXɃfȂ΁ÃAhXɑꂽ(̂߂)
  R}h͓RȂ珈܂B ``VA|[g̃n[hEFA
  ݒ?''  ̐߂B

  "serial" W[[hĂȂ[h "lsmod" 
  \ꍇ́AW[͍[hꂽǁAG[oɂ
  [hĂȂ̂܂B̏ꍇAW[͕Kv
  ɎIɃ[h܂(邱Ƃł)B"serial" 
  W[IɃ[hɂ́A /etc/modules.conf ܂
  /etc/modules ɋLqĂ܂BW[̂̂
  /lib/modules/.../misc/serial.o ɂ͂łB

  13.10.  "Cannot create lockfile. Sorry" (G[bZ[W)

  炩̃vO|[guI[vv鎞AbNt@C
  /var/lock/ ɍ܂Block fBNg̃p[~bVԈĂ
  ƁAɃbNt@C܂Bp[~bVǂ
  mFɂ "ls -ld /var/lock" g܂Bʂ͑Sɑ΂ rwx
  ł(rwx  3 xJԂ܂)Bp[~bVԈĂꍇ
  ́A"chmod" R}hgďC܂BA"lock" fBNg
  Ȃ΁AɃbNt@C邱Ƃ͂ł܂BbNt@C
  ɊւAڂɂĂ ``bNt@CƂ͉ł?''̐
  B

  13.11.  "Device /dev/ttyS? is locked." (foCX /dev/ttyS? bN
  Ă܂)

  ̃bZ[Woꍇɂ͂炭AN̐l(邢͑̃vZX)
  VA|[ggĂ܂B̃|[gugpṽvZX
  @͂܂B̕@́AbNt@C
  (/var/lock/LCK...)̒g邱ƂłB́A|[ggĂv
  ZX ID ̂͂łBvZX ID  Ⴆ 261 Ȃ΁A"ps 261" 
  sAꂪ𒲂ׂ܂傤BāÃvZX͂svł
  ΁A "kill 261" ŗD kill Ăł傤BŏIȂ
  A "kill -9 261" sċI kill ĂBA
  ꍇɂ̓bNt@CꂸɎĉŁAŏKvł
  BA261 ̂悤ȃvZX݂ȂΒPɃbNt@C
  Ă܂܂BAbNt@CvZX ID (261 )
  ł΁Ȁꍇ̃bNt@C͎Iɍ폜͂
  B

  13.12.  "/dev/ttyS?: Device or resource busy"

  ̓ANZX(܂gp)悤ƂĂfoCXrW[ (gp
  )ƍl邩AfoCXKvƂĂ郊\[X(IRQ )̃fo
  CXɎgĂƍl邱Ƃ܂B{ɁurW[ԁv̂
  Ƃ܂AłȂΊԈāurW[ԁv̂悤ɌĂ
  łB

  ``resource busy'' ͂̕悭A(Ⴆ ttyS2 )ũfoCX
  ttyS2 ̊荞݂gpȂ̂ŁAttyS2 ͎g܂vƂӖɂȂ
  B "setserial" ̐ݒɂ銄荞݂̏Փ˂̉\l܂B
  ̃G[bZ[WƐmɌƁAuttyS2 g܂
  Bsetserial ̃f[^(ƃJ[l̃f[^)ÃfoCX ttyS2 
  荞݂gĂƎĂ܂vƂȂł傤B2 ̃foCX
   IRQ gĂĂÂ̕ЕNĂȂΉ
  N܂B܂Փ˂͋NĂȂłBA(ŏ̃foC
  XIȂ܂܂) 2 Ԗڂ̃foCXN悤ƂƁA"...
  resource busy" ̃G[bZ[Wo܂BȂ̂́AJ[l
  Ղ̂͂ǂ IRQ ۂɎgĂ邩Ȃ̂ŁAfoCXgp(
  I[v)ȂΏՓ˂͋NȂłB

  2 ʂ̏ꍇl܂B܂A{Ɋ荞݂Փ˂Ȃ̂ŁA
  悤ƂĂƂꍇł傤BAsetserial 
  ႢĂƂꍇ܂AƂ(setserial 
  Փ˂\ƂȊOɂ) ttyS2 gȂR͂ǂɂȂ
  ͂łBłׂƂ́AttyS2 gĂ setserial l
  銄荞ݔԍ𒲂ׂ邱ƂłB͌̂͊ȒPłAttyS2 ɑ
   "setserial" gȂ߁Aۂɂ͖̂ʓ|łB"setserial"
  gȂ̂́AttyS2  IRQ ́urW[ԁvƂƂɂȂĂA
   "device busy" ̃G[bZ[WołB
  ɂ́AċN邩AՓ˂ĂȃvZXD kill Ă
  BċNۂɂ͎̂ƂsĂB

  1. VA|[gɊւNbZ[W悭B

  2. N "setserial" st@C(PƂ)Փ˂JԂ
     ċNȂƂFB

  ttyS2 gĂ IRQ mĂł΁A /proc/interrupts
  āA݂ IRQ gĂ鑼̃foCXƂ悢ł
  B/proc/interrupts ( "setserial")^킵 IRQ (n[
  hEFA̐ݒƓ)ǂSă`FbN̂悢ł傤B
  荞݂Փ˂Ă\邩ǂ𒲂ׂ@́A "setserial"
  g IRQ  0 (|[O)ݒ肷邱ƂłB IRQ ɂ 0 
  肵܂܂ɂ̂͂悭܂BƂ̂ACPU ̎]vɎg
  łB

  13.13.  guΏ̂߂̃c[

  guɑΏ鎞ɎgƂ悢vO܂:

  o  "lsof /dev/ttyS*" ɂAI[vĂVA|[gXg
     \܂B

  o  "setserial" ́AVA|[g̒჌xn[hEFAݒ̕\Ɛ
     s܂(hCo̐ݒł)Bڂ ``setserial Ƃ͉
     ?''  ̐߂ĂB

  o  "stty" ̓VA|[g̐ݒ("setserial" )̕\
     ݒs܂B``stty'' ̐߂ĂB

  o  "modemstat"  "statserial" ́Af̊eM(DTR, CTS Ȃ)
     ݂̏Ԃ\܂B

  o  "irqtune" g΁AVA|[g̊荞݂̗DxグĐ\
     コ邱Ƃł܂B

  o  n[hfBXÑ`[jOs "hdparm" 炩ɗ
     ܂B

  o  "lspci" ́APCI oX̃n[hEFA̎ۂ IRQ \܂B

  o  "pnpdump --dumpregs" ́AISA oX PnP foCXɂāAn[h
     EFA̎ۂ IRQ \܂B

  o  /proc fBNǵut@Cv̂(ioports  interrupts
     )B

  14.  荞݂̖Ɋւڂ

  ``guV[eBO''̏͂ł͏Ǐʂɖ_Ă܂A
  ͂ł͊荞݂̐ݒĂꍇɉN̂܂B
  ͂́ȀǏN̂Aő̂ǂȏǏ󂪏ôA
  ɂǂΏׂȂ̂𗝉鏕ɂȂł傤B

  14.1.  荞݂̖̎

  "setserial" vÓAVAhColĂ銄荞݂̐ݒ
  \܂BVAhCo( setserial)Ă΁A
  荞݂Ɋւ邱Ƃ͑SĂ܂s͂łBAfoCXɑΉ
   /dev/ttyS t@C݂͑Ȃ΂Ȃ܂񂵁AvO&vC(
  ̓Wp)Ńn[hEFAɃAhX IRQ ݒ肵ĂȂ΂Ȃ
  BLinux ͊荞݂̏Փ˂mĂċ邱Ƃ͂Ȃ̂ŁAՓ˂
  N悤Ȑݒ݂ "Device or resource busy" ƂG[b
  Z[W\܂B

  [U荞݂Փ˂ɂȂƃJ[l͊荞݂̏Փ˂
  Ƃ "resource busy" ƂbZ[Wo܂BƊ荞݂
  Փ˂N邱Ƃ͂蓾Ȃ̂ł傤?  AȒPɋN܂B
  n[hEFA̐ݒ肪{ɏՓ˂NȂƂ setserial f
  AuՓ˂͂ȂvƉRƂ̂łB̂悤ȏꍇA"...
  busy" ƂbZ[W͏o܂񂪁A\Ȃ܂B 2 
  foCX͓荞ݐM𓯂Mɑ̂ŁACPU ͊荞݂ 1
  ̃foCX炵ĂȂƊႢ܂BɂĂ͈ȍ~̐߂
  ڂ܂B

  2 ̃foCXɓ IRQ 蓖ĂĂAǂ̃foCXgĂ
  Ȃ Linux ͕܂Bꂼ̃foCX͊Jn()
  ۂɁALinux Ƀn[hEFA荞݂g߂܂BLinux ͂ǂ̊
  荞݂ǂ̃foCXɊ蓖ĂĂ邩ǗĂ̂ŁÅ
  ݂ɎgĂƁA"... busy" ̃G[bZ[Wo͂邱
  ƂɂȂ܂BāA2 ̃foCX IRQ gĂĂA 1
  ̃foCXgȂ΁A͂܂BA(ŏ̃f
  oCXI)̃foCXgƂƁA"... busy" ̃G[
  bZ[Wo邱ƂɂȂ܂B

  14.2.  荞݂̌ݒՓ˂ŋNǏ

  NǏ́Aŋ߂ FIFO obt@ĂVA|[ggĂ
  邩ǂA邢 FIFO obt@ȂÂVA|[gg
  邩ǂŕςĂ܂BÂVA|[gŋNǏ𗝉
  ƂdvłBȂȂAƂVVA|[gŋN邱Ƃ
  X悤łB

  ÂVA|[g̏ꍇɂ́AbƂ 1 ʉ߂ł܂B
  ͔ɒx̂ŁAقƂǓ삵ĂȂ悤Ɍ܂(ɁA󔒕
  sȂǂ̌Ȃʉ߂ꍇ)BFIFO obt@V
  VA|[g̏ꍇɂ́Ab̊Ԃ 16 ܂łĂ̂
  ł傤B

  |[gɃfqĂēdbԍ_CAĂACONNECT bZ[
  WʂȂ߁AڑĂȂ悤Ɍ܂BƑ҂Ă
  ڑAOCbZ[W(邢̗͂)̈ꕔŏIIɕ\邩
  ܂Bڑ̂Ȃ̉xāA葤߂Đڑ
  ؂Ă܂A"NO CARRIER" bZ[Wo邩܂B

  minicom gĂꍇɂ܂삵Ă邩ǂׂ邽߂̈ʓI
  ȃeXg@́AԊȒPȃR}hł "AT" ͂AɃf
  邩ǂ𒲂ׂ邱ƂłBP at<enter> ͂ƁAʂ(
  荞݂ OK Ȃ)Ƀf "OK" ƂԎ͂łB
  荞݂̐ݒ肪΁Aat<enter> ͂ĂԂĂȂ
  ܂B 10 b炢oĂJ[\ 1 s邩
  ܂BNĂ邩ƂƁAFIFO  1 oCgێłȂ
  悤ɓ삵Ă̂łB͂ "at"  FIFO I[o[A
  ̕Ă܂܂BA΂炭҂Ă߂ɍŌ
  <enter> ͒ʂAJ[\ 1 s邱ƂɂāǍȂ
  uvƂɂȂ܂B1 ͂Ă 10 b҂Ă΁A̕
  ʂɃGR[obN͂łBȂłĂ鑬x 1 
   1 P菭Ȃ΁Ałvł傤 :-)

  14.3.  荞݂̐ݒ~X

  荞݂̖Ȃ΁A ``荞''̐߂ĂB
  VA|[g̃n[hEFAɂ IRQ  1 ݒ肳Ă邯ǁAfo
  CXhCoɂƈقȂ IRQ ݒ肳ĂꍇAfoCXhCo
  ̓VA|[g瑗銄荞݂Sߑ܂BVA|[g
  ͊荞݂găfoCXĂяoăT[rX(16 oCg̎Mobt@
  ̃oCgf[^̎󂯎A16 oCg̑Mobt@ւ̃oCgf[
  ^̏) v̂ŁAVA|[g͑S삵ȂƎv
  B

  ł--邢͓Ă悤Ɍ邱Ƃ܂B
  ͂ǂĂł傤? ܂AVA|[gɃT[rX񋟂@
  ́A荞݈ȊOɂx|[Og@̂łB̕@͊
  荞݂KvƂ܂B|[OƂ́AfoCXhCoXVA
  |[g𒲂ׂāAKvƂĂ邩ǂ(Ⴆ΁AMobt@
  荞ޕKvoCgf[^݂邩ǂ)@łB荞
  ݂gȂ΁AVAhCo͂̃|[O@ŏIIɎg
  BÃ|[O͊荞݂̑Ɏg߂̕@ł͂
  B|[O͒x̂ŎpIł͂܂񂵁Aobt@I[o[
  NƂ邩łB|[O̖ړÍA荞݂ 1 
  Ȃ邩A삪ȂƂɁAJԂs킹邱
  Ǝv܂B荞݂sƂۂɂ֗łB

  16 oCg̑Mobt@́A16 oCg]Ƒ҂ɓÃ|[
  O(b)NĂ炳 16 oCg𑗂肾܂B
  āA]͔ɒxA܂א؂ɂȂ܂BMxȂ܂BȂ
  AMobt@󂯎oCgf[^́A|[Os܂ł
  bԂ̓obt@ɗ܂邩łB

  ͂\܂łɔɎԂ̂́AꂪRłB
  Ⴆ΁uATvƂfɑƁAuATv̓VA|[go
  fɑ܂Bf̓VA|[gʂāuATvXN[
  GR[obN܂B̂悤ɁAuATvƂ̓VA|[g 2
  ʂȂ΂Ȃ܂Bʂ͂̓삪ɍȂ̂ŁAL[{[h
  œ͂̂ƓɁuATvƂ񂪕\悤Ɍ܂B|[
  Ô߂ɃVA|[gxꍇɂ́A͉͂b҂
  ƕ\܂B

  16 oCg̎Mobt@̃I[o[ɂĂ͂ǂł傤? 
  OtfgĂꍇɋN܂BƂ̂Af̓VA
  |[gɍɃf[^𑗂邾Ȃ̂ŁA16 oCg̃obt@I[o[
  Ă܂܂Bf̏ꍇɂ̓VA|[g̓fƓ
  J[hɂ̂ŁAMoCgf[^̎Mobt@ɓO
  Ƀobt@ɋ󂫂邩ǂ`FbN܂B̏ꍇɂ́A
  Mobt@I[o[邱Ƃ͂܂񂪁AeLXg 16 oCg
  ܂Ƃ܂育Ƃɐb̊Ԋuuĕ\܂B

  OtfłĂI[o[NȂƂ܂B
  (16 ȉ)ĂȂꍇɂ̓I[o[͋N܂B
  obt@ɂ͑Aꂾ̋󂫂邩łB葽oC
  gf瑗낤ƂƁAʂł̓I[o[N܂B
  A^C~Oǂ΃I[o[Ȃ 16 oCg(Ԗ)ȏオ
  ʂ邱Ƃ܂BႦ 32 oCgOtP[u|[gɈC
  ꂽꍇlĂ݂܂傤BO 16 oCgɁA 16 o
  Cg܂󂯎悤A|[ON邱Ƃ܂BƎ
   16 oCg܂łɂ͋󂫎Ԃł傤A32 rbgŜ܂
  ʂ܂B̃ViIʂɂȂ邱Ƃ͂܂肠܂񂪁Al̏
   17 oCg 31 oCgʂ邱Ƃ͂ƍ\ŋN܂B
  Af[^𗎂ƂȂ 16 oCg̃f[^̂܂肾fI
  ͂ƂƂ͂ɂ悭܂B

  1 oCg̃obt@ȂÂVA|[g̏ꍇ(邢͐ݒ
   1 oCg̃obt@̂悤ȓɂȂĂꍇ)ɂ́AOɏ
  ƈ󋵂ɂȂ܂B܂A1 ̕XVA
  |[gʂƂԂɂȂ܂BŌɎ󂯎ƁA
  ͑SăI[o[N܂(Ď܂)B̍Ō
  ͒PȂsł邱Ƃ悭܂BƂ̂As͉
  ʂɈCɑ镶̒ōŌ̕ƂȂ邱ƂłB
  āA AT<return> ƃfɓ͂ĂAʂɂ AT ƕ\Ȃ
  Ƃ܂BĐbɋN̂́AJ[\sɈړ(
  s)ƂłBM҂ɂ́A16 oCg FIFO obt@ 1 oCg
  obt@̂悤ɓ삵o܂B

  ʐMvO͋N̎ɁA荞݂삵Ă邱Ƃ҂܂B
  |[OIȃ[h̒xg悤ɂ͂ȂĂ܂B
  āAVA|[g⃂f̐ݒ~XȂǁAǂȌNĂ
  ܂BڑmuԂĂ܂Ƃ肦܂B
  OC邽߂ɃXNvggĂꍇɂ́A|[O̒x̂
  ߂ɃOC(^CAEgɂ)s邩܂B

  14.4.  荞݂̏Փ

  2 ̃foCX IRQ ԍgĂƁA荞݂LĂ
  ܂BɂẮA̋L͂܂삵܂Bo[W 2.2
  ȍ~̃J[ĺAꍇɂẮAVA|[gƕʂ̃VA|[g
  荞݂Lł܂B PCI oX̃foCX́APCI oX̑̃fo
  CX IRQ Lł܂BȊOŏՓ˂̉\ꍇłA
  IRQ ̃foCX 2 𓯎ɁugvƂȂ΁A͋NȂ͂
  łBmɏƁAugvƂ(vO}t)uI[vvƂ
  ӖłBȏ̗OƁA(荞݋L\ɂȃ\tg
  EFAƃn[hEFAgȂ)L͋Ă炸ALs
  ƂƏՓ˂N܂B

  IRQ Փ˂Ă 2 ̃vZXɎsꂽꍇłĂA
  ̃foCX̊荞݂foCXhCoɕߑA炾͂܂
  삷邱Ƃ悭܂B̃foCX̊荞݂͐hCo
  ߑȂ̂ŁA荞݂̐ݒ~X鎞̃vZXƂ傤Ǔ
  ɓ삷ł傤Bڂ ``荞݂̐ݒ~X'' ̏͂
  B

  14.5.  荞݂̖̉

  L̂悤ɉɒxꍇ̃eXg@̈́AIRQ  0 ɕύX
  (荞݂̑ɍȃ|[Op)AŖ肪
  ǂ𒲂ׂĂBIRQ=0 ɂ|[ÓAsȊ荞݂ɂ
  u|[OvƔׂČႢɍłBIRQ=0 Ŗ肪悤
  ΁A荞݂ɉ肪ƍl܂BIRQ=0 ̓\[X
  ɏ̂ŁAꎞIȏĈ߂ɎgĂB荞݂̖
  ̌ׂłA܂ł IRQ=0 gĂĂ͂܂
  B

  /proc/interrupts 𒲂ׂāÃvZX݂ IRQ gĂȂ
  ǂĂB̃VA|[g̊荞݂gĂȂ
  ΁A"top" (f ͂ TTY \LɂĂ) "ps -e" g
  Ăǂ̃VA|[ggĂ邩𒲂ׂĂBsetserial Ɋ
   IRQ ݒ肳Ă^ꍇɂ́A ``VA|[ǧ
   I/O AhX IRQ ̐ݒ?''  ̐߂ĂB

  15.  UART Ƃ͉ł?  \ɂǂ̂悤ȉe^̂ł傤?

  15.1.  UART 

  (̐߂ Modem-HOWTO ɂ܂B) UART (Universal Asynchronous
  Receiver Transmitter) Ƃ́APC ̃}U[{[h(邢͓fJ[
  h)ɍڂĂVAp`bv̂ƂłBUART ̋@\́A̗pr
  `bvpŎĂ邱Ƃ܂B 486 }V̂悤Ȍ
  Rs[^ł́Ã`bv̓fBXN I/O Rg[J[hɍڂ
  Ă܂BɌÂRs[^̒ɂ́A܂p̃VA{[h
  ڂĂ̂܂B

  UART ̖ړÍAPC ̃poXĂoCgf[^VA
  rbgXg[ɕϊ邱ƂłBVA|[goĂP[u
  ̓f[^VA()ɑ悤ɂȂĂAf[^
  ɂ 1 ܂BVA|[g͈x 1 rbg
  rbgXg[𑗂܂BtɁAOtP[uoRăVA
  |[gɓĂrbgXg[́ARs[^łp
  ȃoCgf[^ɕϊ܂BUART ̓f[^oCgPʂň܂B
  ̒Pʂ͓sƂ ASCII ̑傫ł܂B

  PC ɂԂ牺Ă[̂Ƃ܂B[U͂
  ƁA[͂̕gX~b^(UART ɂ)܂BgX~b
  ^͂̃oCgf[^VAɑAM 1 oCgA
  xōs܂BPC ł́AMs UART rbgSĎ󂯎
  A(p)oCgf[^ɕAobt@ɓ܂B

  VAƃp̕ϊɉāAUART ͎ȏ̕Y(p)Ƃ
  đ̏s܂Brbg\߂Ɏgdϊ(ύX)
  ܂BoCgf[^MOɂꂼ̃oCgɑ΂Ēǉ
  rbg(X^[grbgƃXgbvrbg)܂Bڂ
  Serial-HOWTO ``d̔g`''̐߂ĂB܂ARs[^
  ̃poX̃t[[g(oCg/b)͔ɍłAVA
  |[g UART ot[[g͂ƒႢłBUART
  ͂̌߂ꂽt[[g(x)̑gĂāAVA
  |[gC^tF[XŎgƂł܂B

  15.2.  2 ނ UART

  UART ̊{IȎނ 2 (_ UART  FIFO UART)܂B_ UART
   8250, 16450, ^ 16550, ^ 16650 łB͎x̂
  ̂łA̓̎dg݂킩΁AFIFO UART(ŋ߂ 16550,
  16550A, 16c552, ŋ߂ 16650, 16750, 16C950)̓𗝉̂eՂ
  B

  16550 ɂĂ͕킵_܂Bfɂ̓oO
  A(FIFO Ȃ)16450 ƂĂ삵܂BoOC
  ꂽŋ߂̃fɂ 16550A ƂOtĂ܂Ã[J[
  ͖OύXĂ炸A16550 ƌĂёĂ܂BݎgĂ
  16550 ̑啔 16550A ̂悤łBn[hEFA̐ 16550 ł
  ƏĂĂ(邢̓xɂ̂悤ɍ󂳂ĂĂ)ALinux
   16550A łƔFĂ܂Bl̎ 16650 ɂ܂(
  ̕[łBƂ̂Abł̓[J[oOF߂Ȃ
  ł)BLinux ͍ŋ߂ 16650  16650V2 ƂĔF܂B16650
  ƔFꂽꍇɂ͎cOȂA1 oCg̃obt@ĂȂ悤
  ɓ삵܂B

  15.3.  FIFO

  _ FIFO(L[̓삪t@[XgCEt@[XgAEg(First In,
  First Out)ł)̈Ⴂ邽߂ɁA܂ UART  1 oCg̃f[
  ^𑗎Mꍇ̂Ƃ𒲂ׂĂ݂܂傤BUART {͎̂ʂf[
  ^ɊւĂ͉s킸APɃf[^𑗎M邾łBX̃_
  UART ̏ꍇ́AoCgf[^Mx CPU VAfoCX
  犄荞݂󂯎܂BCPU ͂󂯂āAMoCgf[^
  UART ̃obt@oă̂ǂɒuAMׂ
  oCgf[^ UART ɓn̂ǂ炩s܂B8250  16450
  UART ɂ 1 oCgobt@܂B܂A1 oCg̃f[^
  Mx CPU Ɋ荞݂܂B]xႯ΂ł
  vłB]xłꍇɂ́AUART ׂ̏̕
  CPU ɂ肷邽߁Ȁ܂s邾̎ԂȂȂĂ
  ܂܂BꍇɂẮACPU ̊荞ݏԂɍȂȂĂ
  AoCgf[^㏑Ă܂܂BȂȂAf[^Ă
  ̂߂邩łB́uI[o[(overrun)v邢́uI[
  o[t[(overflow)vƌĂ΂܂B

  ꂪ FIFO UART 𗧂RłB16550A(邢 16550) FIFO `b
  vɂ 16 oCg FIFO obt@tĂ܂B܂ACPU Ɋ荞
  ܂ł 14 oCg܂ł󂯎܂(16 oCg܂ł𑗂܂)B
  ̃oCgf[^҂Ă邾ł͂ȂACPU  14 oCgS(܂
  ͂ȏ)̃oCgf[^𓯎ɓ]ł܂B́Aobt@ 1 o
  CgĂȂ UART ɑ΂ēɗDĂ_łBCPU 
  銄荞݂Ȃ̏ɉ񂹂܂Af[^ȂȂ邱ƂȂFK
  ɂȂ܂BFIFO obt@̊荞݂臒l(gKx)ɂ 14 ȉ
  ̒lݒł_ɒӂĂB̑ɂ 1, 4, 8 Iׂ܂B

   PC ɂ 16 oCg̃obt@ 16550 tĂ܂񂪁A
   UART ɂ͂Ƒ傫ȃobt@܂B荞݂̓obt@
  ςɂȂ钼O(Ⴆ 16 oCg̃obt@ł 14 oCǵugK
  xv̎_)ɔs_ɒӂĂB邱ƂɂA
  荞݃T[rXsԂɂoCg̃f[^󂯎]T
  c܂B̃gKxɂ́AJ[l̃\tgEFAFX
  lݒł܂BgKx 1 ɂƁA_ UART Ƃقړɂ
  ܂(A荞݂𔭍sɂ 15 oCg󂯎
  cĂ_قȂ܂)B

  BBS ɓĂ鎞ɉ͂ꍇA͂̓VA|[
  goRőo܂B͂ʂɕ\̂́A̕
  dbEfEVA|[goRŉʂɃGR[obNĂ邩
  łBVA|[g 16 oCg̃obt@tĂāA14 oCg
  W܂܂ŕ𑗂ĂȂƂA͂ȂΓ
  ͂ڂŊmFłȂ(ʂɕ\Ȃ)ƂɂȂ܂B
  ͂₱Ă܂Ȃ̂łAȎԂh߂Ɂu^CAE
  gv܂B炱ʂ͓͂ɕ\̂łB

  UART ̎Mobt@̏ꍇÁu^CAEgv ȉ̂悤ɓ삵
  : XƂĂȂAobt@ɗႦ 14 ڂ̕ob
  t@ɗƂɂ荞݂s܂BA镶͂
  ɂ΂炭͂̕ȂĂ͂芄荞݂s܂B̊
  ݂͂Ƃobt@ 14 ĂȂĂs܂(1 
  łĂΔs܂)BāÃobt@ʂĕ
  ͂ƁAobt@̑傫ۂɂ 16 oCgłĂ(Ȃ
  łޑʂ 100 {łȂ) 1 oCg̃obt@̂悤
  삵܂Bĺu^CAEgvMobt@ɂ܂B

  15.4.  UART ̃fԍ

  ȉ UART ̈ꗗ܂BTL ̓gKx(Trigger Level) łB

  o  8250, 16450,  16550: obt@̑傫 1 oCgł鎞x
      UART ł

  o  16550, 16550A, 16c552: 16 oCg̃obt@܂ (TL=1,4,8,14)

  o  16650:  32 oCg̃obt@܂B460.8 kbps ܂ł̑xɑΉ
     Ă܂

  o  16750:  64 oCg̑Mobt@A56 oCg̎Mobt@
     B921.6 kbps ܂ł̑xɑΉĂ܂

  o  Hayes ESP: 1k oCg̃obt@܂

  x UART ܂삷̂ 14.4k xf(DTE x
  38400 bps ܂)̏ꍇłBŋ߂̃fł́AȂƂ 16550 (
  ^ 16550 ͊܂݂܂)KvłBV.90 Ki 56k f̏ꍇ
  ́A16650 gƐp[ZgȂ邱Ƃ܂(ɈkĂ
  Ȃt@C_E[h鎞)B16650 gȗ_̓obt@̃T
  CY傫ƂłBƂ̂Af̈k䂪ȂΓɑx
  ͕KvȂłBꕔ 56k fɂ 16650 ڂĂ܂(M
  ҂͊m߂Ă܂)B

  UART łȂCeWFgȃ}`|[g{[hł́ADSP `bvg
  ĂȂobt@OƐsĂ܂BāACPU ׂ̕
  ɌyȂĂ܂BႦ΁ACyclades  Cyclom  Stallion 
  EasyIO {[h Cirrus Logic CD1400 RISC UART gāAȊȎ
  ̃{[h 80186 CPU  RISC CPU găVA I/O 
  ܂B

  ŋ߂ PC ̂قƂ(486, Pentium ȍ~̃}V)ɂ 16550A (ʂ͒P
  16550 ƌĂ΂܂)ڂĂ܂B{ɌÂ PC gɂ̏ꍇ́A
   16450 `bvOāAV 16550A `bvƒu邱
  ƂɂAbvO[hł܂B̃^Cṽ`bvڂĂꍇ́A
  cOȂ炠߂ĂBUART \Pbg`Ȃ΁A(u
  `bv)AbvO[h͊ȒPł傤BV`bvƌÂ`b
  ṽszu͌݊łBVVA{[hC^[lbgōwł
  邩܂(݂̓VA{[hĂ鏬X͂قƂǂ
  ܂)B

  16.  szuƐM

  16.1.  szu

          VA|[g̃szu   (uv  PC Oւ̕ł)
                  (DCD  CD ƋLڂ邱Ƃ܂)
  sԍ sԍ                       삨іړI
  9s    25s
   3        2       TxD    Transmit Data               PC oCgf[^𑗐M
   2        3       RxD    Receive Data                 PC oCgf[^󂯎
   7        4       RTS    Request To Send             RTS/CTS t[
   8        5       CTS    Clear To Send                RTS/CTS t[
   6        6       DSR    Data Set Ready               ʐM\ɂȂƂm点
   4       20       DTR    Data Terminal Ready         ʐM\ɂȂƂm点
   1        8       DCD    Data Carrier Detect          fƌqĂ邱Ƃ
   9       22       RI    Ring Indicator                db̃xĂԂ
   5        7             Signal Ground

  16.2.  M͌܂ӖĂȂƂ܂

  9 {̃ŝA蓖ĂŒ肳Ă̂ 3 ł (transmit(
  M), receive(M), signal ground(ڒn))B̓n[hEFAɌŒ肳
  ĂAύX邱Ƃ͂ł܂B̐M̓\tgEFAŐ
  䂷邱ƂłAقƂǉɂłgƂł܂BAz 2
  ̏Ԃ܂BȂ킿(+12 V)ƕ(-12 V) łB́uI
  vłÁuItvłBႦ΁ALinux p̃\tgEFA DTR 
  ɂȂ悤ɖ߂oƁAn[hEFA͒Pɂ̖߂sADTR s
  ̓d -12 V ɂ܂BDTR M󂯎郂f(邢͑̃foC
  X)͐FXȓ܂Bf̐ݒɂẮADTR ̏ԂɂȂ
  Ɠdb؂܂BDTR (It)ɂȂƂɖA̓
  邱Ƃ܂B

  悤ȂƂ 6 {̐SĂɂČ܂Bn[hEFA͐M
  M邾łAɂĂǂȓ삪ŝ́ALinux ̃\
  tgEFAVA|[gɐڑĂfoCX̐ݒ/݌vłB
  ܂AقƂǂ̃sɂ͒ʏs̋@\܂A OS
  foCXhCo̐ݒɂĕςĂ܂BLinux ̏ꍇ́A\[X
  R[hύX΁A̐M̓ς邱Ƃł܂(
  Ăl܂)B

  16.3.  VA|[gԂ̃P[uڑ

  VA|[g̃P[úAKʂ̃VA|[gɐڑ܂B
  f́AVA|[gɐڑfoCXɂ́AɃVA|[g
  gݍ܂Ă܂Bf̏ꍇAP[u͕KXg[gP[u (
  smڑ)łBf DCE (Data Communications
  Equipment) ƌARs[^ DTE (Data Terminal Equipment)ƌ
  ܂B̂悤 DTE  DCE qꍇɂ̓Xg[gP[ug
  ܂BDTE mqɂ̓NXP[ugȂ΂Ȃ܂B
  悤ȃP[ǔɂ͂̎ނ܂(Text-Terminal-HOWTO
   "Direct Cable Connection" ߂ɏĂ)B

  ̂悤ɐFXȃP[uĝɂ͗R܂B 1 ́AM
  ЕłBs 2 M𑗂ꍇ́A(s 2 ͐M
  󂯎邱Ƃ͂łȂ̂)s 2 𓯂ނ̃foCX̃s 2 ɐڑ
  łȂ͖̂炩łBڑĂ܂ƁÃsɌ݂ɐM
  𑗂̂ɁAǂM󂯎ȂƂԂɂȂĂ܂܂B
  @ 2 ܂B1 ߂̕@́A2 ނ̈قȂ@
  g@łAŏ̋@̃s 2  2 Ԗڂ̋@̃s 2 (͐M
  Mł܂)ɐM𑗂Ƃ̂łB PC(DTE)f
  (DCE)Ɍq̕@łB2 ߂̕@́AقȂނ̋@g킸ɐ
  s@łBȂ킿Ms 2 𓯂ނ̋@̃s 3(Ms
  )Ɍq܂B 2  PC ڑ鎞APC [Ɍq̕
  @ł(DTE m̐ڑ)B̖ړIŎgP[u̓NXP[uƌ
  ΂܂B̗ 25 sRlN^̏ꍇłA9 sRlN^̏ꍇ
  s̔ԍ͂傤ǋtɂȂ܂B

  VÃsw͌XA_[fɐڑ邽߂̂̂łB
  [ DTE (Data Terminal Equipment)ŁAf DCE (Data
  Communication Equipment)łB݂͕ʂ͒[ł͂Ȃ PC  DTE 
  Ďg܂({̒[܂ DTE ƂĎgĂ܂)Bs
  ̖O DTE ł DCE łłB̏ꍇɂ́uM(receive)vu
  M(transmit)vƂt PC (DTE) 猩Ŏ܂BPC ̑
  Ms̓f́uMvsɃf[^܂(ۂɂ́A
  f͂̃sf[^󂯎̂ŁAf̗ꂩ猩Ƃ
  Msƌ܂)B

  VA|[g͌XADTE  DCE ɐڑ邽߂̂̂łȀꍇ
  ɂ̓P[ǔ͒PłBPɃXg[gP[ugĂB
  ăfgꍇɂ́As̔zuCɂKv͂قƂǂ
  ܂BADTE  DTE (Ⴆ΃Rs[^[)qƂ
  lXāAFXȓP[uJA܂܂Ȑڑ@lĂ
  ܂B̏ꍇɂ́Ašq͏dvłB

  16.4.  RTS/CTS  DTR/DSR ̃t[

  ́un[hEFAṽt[łBt[͊ ``t[
  ''̐߂ŐĂ܂AsƓdɊւ͂Ă܂
  BLinux ͌_ł RTS/CTS ɂt[䂵T|[gĂ܂
  (̃AvP[Vp̓hCoł DTR/DSR t[T
  |[gĂ̂܂)Bł RTS/CTS t[䂵
  BȂȂ DTR/DSR t[̓lłBRTS/CTS t
  [sɂ́AAvP[VvOŃn[hEFAt[
  I邩A邢́ustty crtscts < /dev/ttyS2vƂR}h(
  ͓l̃R}h) gKv܂BɂALinux ̃foCX
  hCoɂAn[hEFAɂ RTS/CTS t[䂪LɂȂ
  B

  ꂩ DTE (PC )Ăf[^~߂ɂ́ARTS Itɂ
  ܂BRTS(uRequest To Sendv)It(-12 V)ɂ̂́uf[^
  ɑȂłƂv(Request NOT To Send to me)v(M~) Ƃ
  ӖłBPC ̃oCgf[^󂯎鏀ł́ARTS I
  (+12 V)ɂƁAoCgf[^ĂїĂ悤ɂȂ܂Bt[
  M͏ɈłA䂳ĂoCgf[^̗
  ̋tłBDCE @(f)lɓ삵܂A~M CTS
  s瑗܂B̂悤ɁARTS/CTS t[ł͐ 2 {g
  B

  ̒~M͂ǂ̃sŎM̂ł傤?  DCE-DTE ڑ
  DTE-DTE ڑňقȂ܂BDCE-DTE ڑ̏ꍇɂ́AXg[gP[u
  ĝŁAMM͓̂RȂMꂽsƓ
  ÕsłB̏ꍇ RTSRTS (PC 烂f̌) CTS
  CTS(f PC ̌)ƂȂ܂BDTE m̐ڑ̏ꍇ͊
  PłB RTS sMsACTS sMs܂B 2 
  PC (PC1  PC2)VA|[goRŐڑꍇlĂ݂܂
  B̏ꍇ RTS(PC1)CTS(PC2)  CTS(PC1)RTS(PC2) ƂȂ
  B΁ARTS  CTS Ă܂B̂悤ȃP[u(
  ̐MĂ܂)AuNXvP[uƌĂ΂܂Bڂ ``V
  A|[gԂ̃P[uڑ''̐߂B

  X RTS ̎g͐̐Ɣ΂Ȃ̂ŁAX킵Ȃ܂B
  ̌X̎gƂ́uf[^ɑƂv(I Request To Send
  to you)vłB̗v͒[(܂̓Rs[^)烂fɑ邱
  z肵̂ŁA̗v󂯓ƁAf CTS sR
  s[^ CTS s CTS MԂ܂(CTS ́uf[^
  ɑĂ悢(You are Cleared To Send to me)vƂӖł)Bŋ
   RTS/CTS ot[ƈقȂA͕Е̃t[(Rs[
  ^(܂͒[) 烂f̕)ی삵܂B̌X̎gp@
  ́A(f܂߂) ݂̋@ł͂قƂǎgĂȂ悤łB

  16.4.1.  DTR  DSR ̃s

  RTS  CTS ̑gƓlɁÃs΂ɂȂĂ܂BDTE m
  ̐ڑ̏ꍇA͌Ăł傤B̃s̎gp@ 2
  ʂ肠܂B1  RTS/CTS t[̑ƂĎg@łBDTR
  s RTS sƓlɎg܂ADSR s CTS ŝ悤ɓ삵
  B Linux  DTR/DSR t[̓T|[gĂ܂񂪁APC 
  RTS/CTS s DTR/DSR t[gfoCX DSR/DTR sɐڑ
  邱ƂɂÂ悤ȃt[sƂł܂BDTR t[
   DTR/DSR t[ƂقړłAЕʐMłADSR sg
  Ȃ_قȂ܂B̃eLXg[ꕔ̃v^ł͂̎
  t[䂪gĂ܂B

  DTR, DSR ̒ʏ̎gp@ȉɎ܂BDTR IɂȂĂfoC
  X́AdĂ蓮쏀łĂ邱Ƃ܂Bf̏ꍇ
  ́APC fɑ DTR M̈Ӗ̓f̐ݒɂĕςĂ
  BDTR M PC  stty R}hgĎ蓮őɂ́A{[[g
   0 ɐݒ肵ĂBDTR Itɂ邱Ƃ́unOAbvvƌĂ
  邱Ƃ܂Aɂꂪs킯ł͂܂B

  16.5.  |[g̃I[v֎~@

  "stty -clocal" s(邢 "local" tO𖳌ɂ getty 
  p)ƁADCD I(+12 V)ɂȂ܂ł̓VA|[gI[vł
  B

  17.  d̔g`

  17.1.  rbg 1 \d

  EIA-232 ̃VA|[gł́Ad͓Ɏ(ڒndɑ΂Đ܂
  ͕)łȂ傫͖ 12 V ł(5 ܂ 10 V ̂̂
  )BMsƎMsł +12 V  0 \rbg(uspacevƌĂ΂
  邱Ƃ܂)ŁA-12 V  1 \rbgł(umarkvƌĂ΂邱
  Ƃ܂)B͔]_ƂĒmĂ܂BƂ̂Aʂ
  0 \rbg͋UłA1 ͐^Ɛ\łBMsƎ
  Ms͔]_łÃs(f) ͒ʏ̘_pĂ
  A̓d^(܂́uIv)łA̓dU(܂́uItv)
  \܂Bd 0 ͈Ӗ܂(̋@̓d؂ĂƂ
  ͎܂)B

  dɔ͈͂邱Ƃł܂BdlɂẮAMM̋
   5 V  15 V ̊ԂłȂ΂Ȃ炸A25 V 𒴂Ă͂Ȃ܂B3 V
  ̓d͖`ł(foCXɂĂ͓dႭĂLł
  ƂĎ󂯕t܂)Bd͂Ă 11-12 V Ȃ̂łAuʓI 5
  V (邢 3 V) łvƂƂǂ܂B
  Macintosh  EIA-422 |[g EIA-232 (ȃP[uKv) EIA-423
  ƂĂgȂ΁Ad͂܂킸 5 V ̂͂łBł̐
  ł 12 V ĝƂ܂B

  ʏ̃Rs[^̘_H͐ V (Ă 5 V WƂ
  ܂)gȂ̂ŁA3-5 V ̃Rs[^H(TTL)̎pɐ݌v
  ꂽeXg@ 12 V ̃VA|[gɑ΂ėpƁAeXg@킪
  Ă܂Ƃ܂B

  17.2.  oCgf[^\dV[PX

  Ms(TxD)́AĂȂAChԂ̎ɂ -12 V (mark 
  )ێĂ܂BoCgf[^𑗂ۂɂ́AMs̓X^[grb
  g𑗂邽߂ +12 V (space )ƂȂAX^[grbg𑗂()
   +12 V ۂ܂BɃoCgf[^̉ʃrbg܂B0 \
  rbg̏ꍇ́AωÃoCgԂ̊Ԃ͑Ms +12 V
  ̂܂܂łB1 \rbg̏ꍇ́Ad +12 V  -12 V ɕς
  B̃rbgȍ~lɑ܂(1 Ȃ -12 V, 0 Ȃ +12 V)B
  Ō̃f[^rbǧɂ̓peBrbgǍ -12 V (mark )
  ̃Xgbvrbg邱Ƃ܂B̌́ÃX^[grbg
  ܂ł͑Ms -12 V(ACh)̂܂܂łB 0 V ԂĂ邱
  ȂƂƁÂߓɐrbg 2 ꍇ(0 A
  邢 1 ꍇ)ɂ́ArbgIĎ̃rbgn܂邱Ƃ
  \ȒPȕ@(MȊOɂ)Ȃ_ɒӂĂB

  2 Ԗڂ̃Xgbvrbg -12 V ɂȂ܂B͍ŏ̃Xgbvrbg
  ƓłB̃rbgԂ̋EM߁A2 Ԗڂ̃Xgb
  vrbg̉éAMsĂ -12 V ̃AChԂ̒ 2
  {ɂȂȊOɂ͂܂B2 Ԗڂ̃XgbvrbgƃoCgԂ̒AC
  hԂ̋ʂt@́AMɂ͂܂BāA܂
  ʐMł̂́AʐM̕БXgbvrbg 1 pA̔ΑX
  gbvrbg 2 pꍇłBA1 Xgbvrbgp
  Ȃ炩ɍłBHłA1 1/2 ̃Xgbvrbgg
  邱Ƃ܂B͑Ms 1 1/2 Ԃ̊ -12 V ۂƂ
  ł(Xgbvrbg̒ʏ 5 ɂȂ悤ɂȂ܂)B

  17.3.  peB

  ͕ʁA7 rbg܂ 8 rbg̃f[^őM܂BɃp
  eBrbgǉ(ǉȂƂ܂) 1 oCg̒ 7,
  8, 9 rbĝꂩƂȂ܂Bꕔ̒[G~[^Â[
  ́A9 rbg͎g܂BXgbvrbg 2 g 9 rbgg
  Ȃ[܂(Ƃ̂AX^[grbgǉ̍v
  rbg 12 rbgƑȂ肷邩ł)B

  peBɂ́u(odd)vAu(even)vAuȂ(none)v̂ꂩ
  ݒ肵܂(ꕔ̒[VAfoCXł́Amark peB space p
  eBIvVƂĎg܂)BpeBgƁAoCgf[^
  Œl 1 ɂȂĂrbg̐(peBrbg܂߂)ƂȂ
  悤ɃpeBrbg߂܂BrbgЂԂāÂ悤
  oCgf[^ꂽꍇAf[^͕sȋpeB̃f[^
  Ȃ܂B̃G[͌ôŁAꂪ[󂯎oCgf[
  ^łꍇɂ́A\Lʂɕ\ł܂Bp
  eB̓lłALȃoCgf[^ 1 łrbg(p
  eBrbg܂߂)ƂȂ悤ɂ܂Bݒ莞ɂ͒ʏA
  ̃rbg̓oCg̃f[^rbg̐Ӗ܂(
  ASCII ̏ꍇɂ 7 łAe ISO W̏ꍇɂ 8 ł)B

  "mark" ͒l 1 łrbg(܂_l 1)łA"space" ͒l 0
  łrbg(܂_l 0)łBmark peB̏ꍇɂ́ApeB
  rbg͏ɒl 1 łrbgłBspace peB̏ꍇɂ́A
  ɒl 0 łrbgłBmark peB space peB (usticky
  peBvƂĂ΂܂) ͒PɃoh𖳑ʂɂ邾Ȃ̂ŁAł
  gȂ悤ɂׂłB stty R}h sticky peBݒ
  ܂񂪁AVA|[g̃n[hEFA͂̃peBɑΉĂ
  AC ̃vOňƂł܂BupeBv́Ap
  eBrbgǉȂƂӖłB9 rbgȂoCgf[^
  tȂ[gꍇA8 rbgWgȂ΁upeBv
  IȂ΂Ȃ܂B̓peBrbg󂫂
  łB

  17.4.  oCgf[^̍\ (t[)

  EIA-232 |[ggoCgf[^̃VA`ł́Aɒʂ̃rbg
  ɑ܂BPC ̃VA|[g͔񓯊ʐMs܂B̔
  ʐMł́AX^[grbgƃXgbvrbgoCgf[^̎n߂ƏI
  ܂B̂悤ȋ؂̓t[ƌĂ΂At[
  ꂽoCgf[^̓t[ƌĂ΂邱Ƃ܂BʂƂāA1 oC
  gƂ 9  邢 10, 11 ̃rbgf[^܂B̒ō
  ʓIȂ̂ 10 łB8-N-1 Ƃ́Af[^rbg 8 ApeB
  AXgbvrbg 1 ƂӖłBX^[grbg𐔂ɓƍ
  v 10 rbgɂȂ܂BXgbvrbg 1 ͂قڗOȂg܂B
  110 rbg/b(300 rbg/b̎܂)ł́AXgbvrbg 2 
  gĂƂ܂A݂ 2 ߂̃Xgbvrbgg
  ̂͂O̎(邢́A̐ݒł܂삷邽߂ɊԈ
  gĂ邯ǁAoh𖳑ʂɏĂ)łB

  17.5.  u񓯊vʐMœs@

  PC Ă EIA-232 ̃VA|[g͔񓯊łB܂ۂ
  ́Aꂼ̃rbg𑗂鎞ɁuԂށv߂́uNbNvM
  ȂƂƂłBM(M)p̐ɂ 2 Ԃ܂
  BȂ킿 mark (-12 V)  space (+12 V)łB0 V ̏Ԃ͂
  ܂B 1 rbg̃V[PX́Arbgƃrbg̊Ԃ
  }[J[I -12 V gđ܂BMŌX
  rbgʂ邽߂ɂ́AM̃NbNƓĂNbNM
  KKvłB̂悤ȃNbN͑M(M)erbgƓĂ
  uԂ̍݁v𐶐܂B

  񓯊̓`ɂẮAX^[grbgƃXgbvrbggĊeoCg
  t[邱Ƃɂē܂(̓n[hEFAs
  ܂)BM͕̓d̔zŐ̃X^[grbg҂Ãrb
  goƃNbNݎn߂܂BM͂̃NbN݂g
  āA 7, 8, 9 ̃rbgǂݍގԂv܂(ۂɂ͂
  GłBƂ̂Aʂ 1 rbgTv_
  ̂ŁÂ߂ɕʂ̃^C~O݂KvɂȂ邩ł)BăX
  gbvrbgǂݍ܂ƁAM̓NbN~߂āÃX^[g
  rbg҂܂B̂悤ɁAPƂ̃oCgf[^󂯎ۂɂ͔񓯊
  `ۂɂ͓`ɂȂ܂ÃoCgf[^̊Ԃł͍̓s
  ܂B

  18.  ̑̃VAfoCX (񓯊 EIA-232 ȊÔ)

  18.1.  EIA-232 ̌p

  cCXgyA(t^`)ZppčE邽߂ɁA
   EIA Ki܂łɍ܂Bt^̓`́AꍇɂĂ
  񕽍t^ EIA-232 S{Ƃ܂B鑬x̏ꍇA
  (őP[u)̓cCXgyAg{ł܂Bł
  PC ł́uxȁvEIA-232 gꑱĂ܂BƂ̂Af
  }EX̓P[uZ߁Aŏ\łB HOWTO 
  ŐVłłAȉɎ EIA-232  Linux T|[gĂ΁A
  M҂ɂm点B

  18.2.  EIA-422-A (t^)  EIA-423-A (񕽍t^)

  EIA-423 ͔񕽍t^ EIA-232 ƂقƂǓłAd 5 V Ȃ
  _قȂ܂B EIA-232 KiɊ܂܂̂ŁAEIA-423  EIA-232
  |[gɐڑ邱Ƃł܂B̎dl EIA-232 葽x
  ߂Ă܂(łԓ삷Ɣ񕽍t`Փ˂N̂ŁA
  ͂قƂǖɗ܂)B

  Apple  Macintosh ̂A1998 N̒Â̂ɂ
  EIA-232/EIA-422 |[gtĂAcCXgyA(t^)𑗎M(422
  ƂĎg)ɎgƂł܂B(dl) EIA-423(ꎩ
  ̂ EIA-232 葽ł) ̂傤 100 {łB Macintosh
  ͏Ċۂ "~j DIN-8" RlN^gĂ܂B] EIA-232
  |[gtĂ܂A 5 V łg܂ł(ł
   EIA-232 ł)B EIA-232 Ɠ悤Ɏgɂ́A RxD+ (ty
  A̕Е̒[)ڒnȃP[ugA RxD- MsƂĎg
  Ȃ΂Ȃ܂B TxD- ͑MsƂĎg܂A̗
  Rɂ TxD+ ͐ڒnĂ͂Ȃ܂BMacintosh Communications FAQ
  <http://www.modemshop.com/csm-comm-faq.html> QƂĂB
  AMacintosh (тǂ) PC li
  ߁ALinux p̃zXgRs[^ƂĂ͂܂gĂ܂B

  18.3.  EIA-485

   EIA-422 (t^) ɎĂ܂BdłB point-to-
  point ڑłȂA}`hbv LAN (32 m[h܂)ɂgƂ
  ł܂BRlN^̎dl݂͑܂B

  18.4.  EIA-530

  2M rbg/b(t^)  EIA-530-A (t^łA񕽍t^ƂĎg
  Ƃł܂) EIA-232 u邽߂̂̂łAقƂǎg
  ܂łBEIA-232 Ɠ 25 sRlN^g܂B

  18.5.  EIA-612/613

  VAC^tF[X (High Speed Serial Interface, HSSI =
  EIA-612/613)ł 50 s̃RlN^g܂B 50 M rbg/b̑x
  o܂A[g̋łg܂BLinux pɂ HSSI T
  |[gĂ PCI J[h܂B̂悤ȃJ[h̔Ă
  Ђ Linux p̃hCo񋟂Ă邱(邢̓hCô肩
  Ă邱)悭܂B̘bɂẮAmini-HOWTO ̂悤Ȃ
  ̂Kvł傤B

  18.6.  ėpVAoX (Universal Serial Bus, USB)

  ėpVAoX(USB)́APCI `bvɑgݍ܂Ă܂BV PC 
  USB Ă܂BUSB  4 sRlN^cCXgyAP[u (2
  ͓̌d)g 12M rbg/b̑xŒʐMł܂B
  Œ 5 [g(͍̐\ɂĕω܂)ƂZł
  ڑł܂B

  USB ɂ͕ʂ HOWTO KvłBLinux  USB T|[g
  邽߂̍Ƃ͌ݐisł( HOWTO ͂܂܂)BUSB
  ͓ʐMsAlbg[NƓlɓȃpPbggđMs
  ܂B傤ǃlbg[NƓ悤ɁAUSB ɂ͕̃foCXڑ
  邱Ƃł܂BUSB ̊efoCXɂ́ArIȎgps߂̒Z
  Ԃ̃^CXCX^܂BfoCX́AoXŒ̎ԊԊu
  gpł邱Ƃۏ؂܂B̃foCX USB oXgƂȂ
  ΁A1 ̃foCX USB oXƐ肷邱Ƃł܂BUSB ڂ
  邱Ƃ͗eՂł͂܂B

  18.7.  ʐMƓ

  EIA-232 ̔񓯊ʐM(Ȃ)̑ɁAVA|[gʐM̋Ki
  񂠂܂Bۂ EIA-232 ɓʐM̎dl܂A͕ʂ
  PC ̃VA|[gɂ͕tĂ܂B܂͓ʐMǂ
  ̂܂傤B

  18.7.1.  񓯊Ɠ̒`

  񓯊(async, asynchronous)Ƃ́uIłȂvƂӖłBۂ
  ͔񓯊ḾA񓯊VA|[gMf[^łAX^[g
  rbgƃXgbvrbgɂĔ͈͂߂ꂽoCg̃Xg[
  B(sync)Ƃ́A񓯊łȂ̂قƂǑSĂłBłAł
  {IȊTO̐ɂȂ܂ˁB

  _Iɂ́AʐMƂ͈̑xŃNbNM݂̍ɍ킹ăoCg
  񂪏ɑ邱ƂłBNbNM𑗂邽߂̔z`l
  ɂȂĂ邱Ƃ悭܂B񓯊ʐM̏ꍇɂ́AoCgf[^̊
  ̎Ԃ(L[{[hŕłޏꍇ̂悤)sKɕωĂM
  ł܂B

  ʐM邢͔񓯊ʐM̂ǂ炩ւ̕ނKvƂȂꍇ
  B񓯊VA|[głȀꍇ͈葬x̃Xg[𑗂
  B͓ʐM̂悤Ɏv邩܂񂪁AłX^[g
  rbgXgbvrbĝ(ɂf[^sKȑxőM
  ł܂)񓯊ʐMƌĂ΂܂Bʂ̏ꍇƂẮA(X^[grbgX
  gbvrbg܂܂Ȃ)oCgf[^AsKȃpPbgԊu
  pPbgɓ邱Ƃ܂B͓ʐMłBƂ
  AepPbgɓĂoCg͓đMȂ΂ȂȂ
  łB

  18.7.2.  ʐM

  ǎ҂̊F́AVA|[gp 25 sRlN^̖gp̃s
  Ȃ̂^ɎvƂ͂Ȃł傤? gp̃ŝقƂǂ͓
  ʐMpȂ̂łAʐM PC ōsƂ͖őɂ܂B^
  C~OM⓯]`l̂߂̃s܂B EIA-232 ̎dl
  ɂ͓ʐMƔ񓯊ʐM̗`Ă܂APC  16450,
  16550A, 16650  UART (Universal Asynchronous Receiver/Transmitter)
  `bvgĂAʐM܂BʐMsɂ USART
  `bv邢͂Ɠ̃`bvgKv܂B USART  S ͓
  (synchronous)\Ă܂BʐM͂܎sȂ̂ŁAVA
  |[g͑̏ꍇȂ荂܂B

  EIA-232 ̓Ɋւ镔̑ɂAEIA ɂ͓ɊւKiFX
  ܂BEIA-232 ł́ARlN^ 3 ̃sNbN(邢̓^C~
  O) M̂߂ɗ\񂳂Ă܂B܂AƂɂ̓f炩̃^C~
  OM𐶐Af (邢͓^C~OM𐶐
  ufG~l[^v) Ȃɂ͓ʐMłȂ悤ɂ邱Ƃ
  ܂B

  VA|[gΉł邱Ƃ͂قƂǂȂ̂łA V.42 G[
  gfpAdbł̓ʐM͂悭s܂B
  G[̓X^[grbgƃXgbvrbg菜ApPbgɓt
  oCĝŁǍʂƂēdbœ܂B

  19.  ̏

  19.1.  

  1. Axleson, Jan: Serial Port Complete, Lakeview Research, Madison, WI,
     1998.

  2. Black, Uyless D.: Physical Layer Interfaces & Protocols, IEEE
     Computer Society Press, Los Alamitos, CA, 1996.

  3. Campbell, Joe: The RS-232 Solution, 2nd ed., Sybex, 1982.

  4. Levine, Donald:   POSIX Programmer's Guide
     <http://www.ora.com/catalog/posix/>, (ISBN 0-937175-73-0; O'Reilly)

  5. Putnam, Byron W.: RS-232 Simplified, Prentice Hall, 1987.

  6. Seyer, Martin D.: RS-232 Made Easy, 2nd ed., Prentice Hall, 1991.

  7. Stevens, Richard W.: Advanced Programming in the UNIX Environment
     <http://heg-
     school.aw.com/cseng/authors/stevens/advanced/advanced.nclk>, (ISBN
     0-201-56317-7; Addison-Wesley)

  8. Tischert, Michael & Bruno Jennrich: PC Intern, Abacus 1996.
     Chapter 7: Serial Ports

  ЂɊւ郁:

  1. "... Complete" ɂ(WX^܂)n[hEFAɂďڂ
     Ă܂AvO~OɂĂ Windows ɏĂ܂B

  2. "Physical Layer ..."  EIA-232 ȊO̘b񈵂Ă܂B

  19.2.  VA|[gp\tgEFA

  ł߂~[TCgĝD܂̂łAł̓C̃TCg
  Љ܂:
  Serial Software <ftp://metalab.unc.edu/pub/Linux/system/serial/> 
  ́Agetty |[gj^܂ރVA|[gp̃\tgEFA(Linux p)
  ܂B
  Serial Communications
  <ftp://metalab.unc.edu/pub/Linux/apps/serialcomm> ɂ͒ʐMvO
  ܂B

  o  irqtune ̓VA|[g̊荞݂̗DxA\コ
     ܂Bhdparm gn[hfBXÑ`[jOɗƎv
     B

  o  modemstat  statserial ͊e탂f݂̌̏Ԃ\
     B``VA|[g̊Ď/ffp̃vO''̐߂ĂB

  19.3.  Linux ̕

  o  setserial(8) stty  ̃}jAy[W

  o  libc (܂ glibc) ̃hLgW: "჌x[C^tF[X"

  o  Modem-HOWTO: VA|[gɐڑ郂fɂ

  o  PPP-HOWTO: (VA|[gڑ̃fʂ)PPP ڑ̎

  o  Printing-HOWTO: VAv^̐ݒ

  o  Serial-Programming-HOWTO: VA|[ggvO~OɊւ
     b

  o  Text-Terminal-HOWTO: eLXg[̓ƃCXg[Eݒ@

  o  UPS-HOWTO: VA|[gɐڑ UPS ZT̐ݒɂ

  o  UUCP-HOWTO: UUCP ̐ݒɊւ

  19.4.  Usenet ̃j[XO[v:

  o  comp.os.linux.answers

  o  comp.os.linux.hardware:  Linux Ŏgn[hEFAɂ

  o  comp.os.linux.networking:  Linux ɂlbg[NƒʐMɂ

  o  comp.os.linux.setup:  Linux ̃CXg[ƃVXeǗ

  19.5.  VA|[gɊւ郁[OXg

  Linux VA[OXg܂BQɂ́A[{
  ``subscribe linux-serial'' ł郁[ majordomo@vger.rutgers.edu
  ɑĂB[{ ``help'' ł郁[𑗂ƁAwv
  bZ[WĂ܂B̃T[óAɂ Linux ֘A[
  OXgǗĂ܂B[OXg̈ꗗ肷
  ́A``lists'' R}h𑗂ĂB

  19.6.  C^[lbg̏

  o  Vern Hoxie ɂ Serial Suite
     <ftp://scicom.alphacdc.com/pub/linux> ́A Linux ̃VA|[g
     Ɋւ鎑ƁAȒPȃvO̗W߂̂łB'scicom'
      "anonymous" ƂăOC鎞ɂ́ApX[hƂĊSȓdq
     [AhXgȂ΂Ȃ܂BႦ
     greg.hankins@cc.gatech.edu ȂǂłB

  o  VAʐMƃ}`|[gVA{[h̋c_s
     Cyclades  WWW y[W http://www.cyclades.com ł܂B

  20.  {ɂ

  { Linux Japanese FAQ Project s܂B|Ɋւ邲ӌ
   JF vWFNg <JF@linux.or.jp> ɘAĂB

  ȉɎ܂B

     v1.10j, 30 June 1997
        |: icl <nagata-y@bnn-net.or.jp>

     v2.00j, 30 June 1999

     v2.01j, 29 September 1999

     v2.02j, 19 October 1999

     v2.03j, 21 November 1999

     v2.04j, 9 December 1999

     v2.05j, 22 January 2000

     v2.07j, 21 May 2000
        |: P <fujiwara@linux.or.jp>

        Z & eNjJ`FbN:

        o  ݗǎ <kawagisi@yk.rim.or.jp>

        o  Kc͍G <coda@post.kek.jp>

        o  L <takei@kondara.org>

        o  R`V <dica@eurus.dti.ne.jp>

  ȏ

