\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{Linux PCMCIA HOWTO ¤¤¤åª©}
\author{§@ªÌ: David Hinds, {\ttfamily dhinds@hyper.stanford.edu}\\ 
Ä¶ªÌ: ÁÂ±X¤¤ HSIEH Kun-Chung, ¥xÆW ¤¤µØ¥Á°ê Taiwan, Republic of China (NOT People's Republic of China)
{\ttfamily (\onlynameurl{linuxer.bbs@cis.nctu.edu.tw} )}}
\date{1998¦~2¤ë19¤é v2.5ª©}
\abstract{¥»¤å¥ó¥D­n´y­z¦p¦ó¦b  Linux ¤U¦w¸Ë¤Î¨Ï¥Î PCMCIA ¥dªA°Èµ{¦¡¨Ã¦^µª¤j®a±`°Ý¨ìªº°ÝÃD¡C³o¥÷¤å¥ó³Ì·sªºª©¥»·|©ñ¦b \nameurl{ftp://hyper.stanford.edu/pub/pcmcia/doc}{}
¡C¥t¥~ HTML ª©¥»·|³Q©ñ¦b \nameurl{http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html}{}¡C}


\begin{document}
\maketitle
\tableofcontents

\section{¤@¯ë¸ê°T¤ÎµwÅé­n¨D}


\subsection{Â²¤¶}

µ¹ Linux ¨Ï¥Îªº¥d¤ùªA°Èµ{¦¡¬O­Ó§¹¾ã¤ä´© \idx{PCMCIA} ªº®M¥ó¡C
¥¦¥]§t¤F²Õ¦¨ PCMCIA ¥dªA°Èµ{¦¡À³¥Îµ{¦¡¤¶­±ªº¤@®M¥i¸ü¤J¼Ò²Õ¡B¤@®Mµ¹
¯S§O¥d¤ù¨Ï¥Îªº«È¤áÅX°Êµ{¦¡¦¡¡B¤@­Ó¥i¤ÏÀ³¥X¥d¤ù´¡¤J¡B©â¥X¨Ã¨Ì»Ý­n¨Ó
¸ü¤J©Î¨ø¤UÅX°Êµ{¦¡ªº¥d¤ùºÞ²zºëÆF¡C ¥¦¤ä´© `` ¼ö¾÷¥æ´« '' PCMCIA ¥d
¤ù¡A¦]¦¹©O¡A¥d¤ù´N¥i¥H¦b¥ô¦ó®É¶¡´¡¤J©Î©â¥X¤F¡C

¥»³nÅé¤´¦bµo®i¤¤¡A©Ò¥H¥i¯à¦bµ{¦¡ùØ¦³¤p¦ä¡A½Ð±z¤p¤ß¨Ï¥Î¡C§Ú±NºÉ¤O§â
§Ú©Òª¾¹Dªº°ÝÃD­×¥¿¡A¥i¬O¦pªG±z¤£§i¶D§Ú±z¦b¨Ï¥Î¤W©Òµo¥Íªºµ{¦¡°ÝÃD¡A
¤]³\§Ú´NµLªkª¾¹D°ÝÃD©Ò¦b¡C¦]¦¹¡A¦pªG±z¨Ï¥Î³o­Óµ{¦¡¡A½Ð¨Ó«H§i¶D§Ú±z
¨Ï¥Î¸gÅç¡A¤£½×¬O¦n¬OÃa¡C

¦pªG±z¦³¥ô¦ó«ç¼Ë§ï¶i³o¥÷¤å¥óªºÄ_¶Q·N¨£¡A¤]½ÐÅý§Úª¾¹D ({\ttfamily dhinds@hyper.stanford.edu})¡C




\subsection{µÛ§@Åv«Å§i»P¸Ñ°£­×´Ú}

µÛ§@ÅvÄÝ©ó Copyright (c) 1998 David A. Hinds

¥»¤å¥ó¤£»Ý¦b§Úªº¨Æ¥ý¤¹³\¤U§Y¥i¥ô¦ó§Î¦¡¦a³Q½Æ»s©Î´²§G¡C¥»¤å¥óªº¥ô¦ó
­×§ï¹Lªºª©¥» (³o¥]§tÂ½Ä¶¦¨¨ä¥L»y¨¥ªºª©¥» ) ¤]¥i¥H§K¶O¦a³Q´²§G¡A ¥u
­n¥L­Ìª¾¹D³oÂI¨Ã¥B¦b¤£·l®`¥»¤å³¹ªºª©Åvªº«e´£¤U¡C

¥»¤å¥ó¤£»Ý¦b§Úªº¨Æ¥ý¤¹¿Õ¤U¥Î¦b°Ó·~©Êªº´²§G¤W¡AÁöµM³o¤£¬O¥²­nªº¡A¦ý
§Ú«Ü§Æ±æ±z¯à§i¶D§Ú¦³Ãö±zªº¨Ï¥Î¡C¦pªG±z·Q±N¥»¤å¥ó¥Xª©¨ì®ÑÄy¤W¡A½Ð±z
»P§Ú³sµ¸¤@¤U¡A¥H½T©w±z¦³³Ì·sªºª©¥»¡C

¥»¤å¥ó¥u¬O `` §e²{ '' ªºªí²{¦Ó¤w¡A¨Ã¨S¦³¥ô¦ó©úÅã©Î·t¥Ü¥ô¦óªº«Oµý¡C
±z¦Û¤w¥²¶·©Ó¾á¨Ï¥Î¥»¤å¥óùØ­±ªº¸ê°T¤§­·ÀI¡C




\subsection{³Ì·sª©¥»¬O­þ­Ó¡H§Ú¥i±q­þ¨à®³¨ì¡H\label{where}}

¥Ø«e³Ì·sªº¥d¤ùªA°Èµ{¦¡¬° 3.0 ª©¡A ¤p´T­×§ï©Î°£¦ä¹Lªºª©¥»¬° 3.0.1¡B
3.0.2 µ¥µ¥¦p¦¹Ãþ±À¡C

³Ì·sªº­ì©lµ{¦¡½X¥i±q         {\ttfamily hyper.stanford.edu}          ¤ºªº
{\ttfamily /pub/pcmcia} ¥Ø¿ý§ä¨ì¡A ¥s°µ {\ttfamily pcmcia-cs-3.0.?.tar.gz}¡C
¦b¨º¨à³q±`·|¦³¼Æ­Óª©¥»¦b¡C³q±`§Ú¥u·|§â³Ì·sªº´X­Ó­×§ïª©©ñ¦b¦¹³B¡C·s
ª©¥»³q±`³£¥]§t¤F¥¼´ú¦¡§¹¦¨ªºµ{¦¡½X¡A¦]¦¹§Ú¤]·|§â¤W¤@­ÓÃ­©wªº­×¥¿ª©
©ñ¦b¨º¨à¥H³Æ¤£®É¤§»Ý¡C²{¦bªºÃ­©wª©¬° 2.9.12 ª©¡A­n¨Ï¥Î­þ­Óª©¥»¸û¦n
©O¡HÀH±zªº·N«ä°Õ¡C¦b {\ttfamily CHANGES} ÀÉ®×¤º·|°µÂ²³æªºª©¥»®t²§¤ñ¸û¡C

{\ttfamily hyper.stanford.edu}  ·|³Q¹ï¬M¨ì {\ttfamily sunsite.unc.edu} (¥H¤Î©Ò¦³
ªº sunsite ¹ï¬Mºô¯¸¤W ) ªº {\ttfamily /pub/Linux/kernel/pcmcia} ¤º¡C

°²¨Ï±z¤£·Q¦Û¤v½sÄ¶  PCMCIA  µ{¦¡ªº¸Ü¡A ¥«­±¤W¥D­nªº Linux ¨ÑÀ³°Ó¦p
Slackware¡B Red Hat¡BCaldera¡BYggdrasil µ¥µ¥³£¦³¤w½sÄ¶¦nªºµ{¦¡¥i¨Ï
¥Î¡C




\subsection{­þ¨Ç¨t²Î³Q¤ä´©©O¡H}

³o¨Çµ{¦¡À³¸Ó¥i¥H¦b Linux ¬Û®eªºµ§°O«¬¹q¸£¤W¥¿±`¤u§@¡C±`¨£ªº PCMCIA
±±¨î¾¹³£¦³¤ä´©¡A ³o¨Ç¥]¬A¥H¤U¼t°Ó¡G Intel¡B Cirrus¡B Vadem¡BVLSI¡B
Ricoh ¤Î Databook chips¡C ¥ç¤ä´© IBM ¤Î Toshiba ªºµ§°O«¬¹q¸£¡C¥u­n
¬Oª½±µ´¡¤W ISA ¤¶­±¼Ñ (SCSI-to-PCMCIA  ©Î IDE-to-PCMCIA ) ¤£ºÞ¬Oªº
®à¤W«¬¹q¸£¤§ PCMCIA ´¡¼Ñ¸Ë¸m¥ç¨ü¤ä´©¡C

\idx{CardBus}  ¾ô±µ±±¨î¾¹¿í´`µÛ ``Yenta'' ¼È¦s¾¹³W®æ (¥]¬A TI
¡BCirrus¡BSMC¡BO2Micro¡BOmega Micro ©M Ricoh ªº´¹¤ù ) ³£³Q¤ä´©¡A¦ý
¹ï©ó 32 ¦ì¤¸ªº CardBus ¥d¤ù¤´¥uÄÝ©ó¹êÅç©Ê½è¡CÅX°Êµ{¦¡ª©¥»¤ñ 3.0 ª©
ÁÙ¦­ªº¦b CardBus ´¡¼Ñ¤¤¤]¥u¯à¤ä´©¨ì 16 ¦ì¤¸ªº¥d¡C ¥Ñ©óµ§°O«¬¹q¸£µw
Åé¬ì§Þªº§Ö³t¶i¨B¡A·s«¬±±¨î¾¹®É±`¥X²{¡A¦]¦¹¡A·sªº²£«~¥X²{¦b¥«³õ¤W»P
¹ï¬MªºÅX°Êµ{¦¡¤ä´©ªº¤W¥«¥i¯à·|¦³¨Ç®É¶¡¤Wªº¥X¤J¡C

¦b Hyundai µ§°O«¬¹q¸£¤W¨Ï¥Îªº Motorola 6AHC05GA ±±¨î¾¹¨Ã¤£³Q¤ä´©¡C
¦b HP Omnibook 600 ¤Wªº PCMCIA ±±¨î¾¹¥ç¤£³Q¤ä´©¡C




\subsection{­þ¨ÇPCMCIA¥d³Q¤ä´©©O¡H}

¥Ø«eªºª©¥»¦³ºô¸ô¥d¡B ¼Æ¾Ú¥d¡B¦ê¦C°ð¥d¡BSCSI ¤¶­±¥d¡BATA/IDE µwºÐ¥d
¥H¤Î¤ä´© SRAM ©M§Ö°{°O¾ÐÅé¥dªº°O¾Ð¥dÅX°Êµ{¦¡¡A{\ttfamily SUPPORTED.CARDS}
ÀÉ®×¤º¥]§t¤F¦Uª©¥»¤¤¦³¤ä´©ªº PC ¥d¦WºÙ¡]¦Ü¤Ö¦b¤@­Ó¨t²Î¤W¥i¨Ï¥Î¬Ò¦C
¤J¡^¡C

¦ý¤£¦b¦Cªí¤ºªº PC ¥d¤]¦³¥i¯à¥i¥H¨Ï¥Î¡C°ò¥»¤W¡A©Ò¦³ªº¼Æ¾Ú¥d³£¥i¥H¨Ï
¥Î¡C ¦³¨Ç¥¼¦C¤Jªººô¸ô¥d­Y¥L­Ì¬O³Q¤ä´©ªº¥d¤§ OEM ª©¥»¥ç¥i¨Ï¥Î¡C¨ä¥L
IO ¥d¡]¦p½w½Ä°O¾ÐÅé¥d¡B­µ®Ä¥dµ¥µ¥¡^¤j³¡¥÷¥Ø«e³£¤£¤ä´©¡A °£«D¦³¤H¬°
¥¦­Ì¼gÅX°Êµ{¦¡¡C




\subsection{¤°»ò®É­Ô§Úªº·s¥d¤ù¤~·|³Q¤ä´©©O¡H}

¿ò¾Ùªº¬O¡A³o¨Ç¼t°Ó¨Ã¨S¦³¥Iµ¹§Ú¥ô¦ó¹S³Ò¨Ó¼g³]³ÆÅX°Êµ{¦¡¡C¦]¦¹¡A¦pªG
±z·QÅý±zªº¥d³Q¤ä´©¡A±z¦Ü¤Ö­n°µÂI¨Æ¡C ²z·Q¤W¡A§Ú¸û³ßÅw¹³°µ Linux ®Ö
¤ß¨º¼Ëªº¼Ò¦¡¥ç§Y§Ú¥D­n­t³d PCMCIA ªº®Ö¤ßµ{¦¡½X¡A¨ä¥LªºªB¤Í«h°^Äm¦b
¯S®íªº PC ¥dªºÅX°Êµ{¦¡¤W¡C¦b {\ttfamily SUPPORTED.CARDS} ÀÉ®×¤¤´£¨ì¦³¨Ç¥d
©Ò¥ÎÅX°Êµ{¦¡¥¿¦b¶i¨B¤¤¡C ¦b§Ú¯à¤O©Ò¤Îªº¦a¤è§Ú·|¾¨¶qÀ°¦£¡A ¤£¹L³z¹L
Email ¨Ó°µ°£¿ù®Ö¤ß³]³ÆÅX°Êµ{¦¡¨Ã¤£¬O«Ü¦³®Ä²vªº¡C

»s³y°Ó­Y¦³¿³½ìÅý¦Û¤v¤½¥qªº²£«~³Q  Linux ©Ò¤ä´©¥i»P§Ú³sµ¸°µ¶i¤@¨Bªº
¬¢¸ß»P¦w±Æ¡C




\subsection{¶l±H¦W¥U¤Î¨ä¥L¸ê°T¨Ó·½}

§Ú´¿¸gºûÅ@¤@­Ó Linux PCMCIA ªº¨Ï¥ÎªÌ¶l±H¦W¥U¡C¦Ó²{¦b§Ú¤w±N§Úªººô­¶
½Õ¾ã¦¨¡ª¶W´CÅé·s»D¡ªºô¯¸¡A¸ÌÀY¦³¤@¨t¦C¦³Ãö Linux PCMCIA ªº¸ê°T¶µ¥Ø
¡G ¦³°w¹ï¤£¦P«¬¦¡ªº¥d¤ù¤§¦w¸Ë»P³]©w¡BPCMCIA ¥d¤§¬ÛÃöµ{¦¡³]­p»P°£¿ù
¡C³o­Ó Linux PCMCIA ¸ê°Tºô­¶¦b {\ttfamily http: //hyper.stanford.edu/HyperNews/get/pcmcia/home.html}
¤W¡C¨Ï¥ÎªÌ¥i¥H¥Ó½Ð¸g¥Ñ¹q¤l¶l¥óªº¤è¦¡¨Ó³qª¾±z¸û·P¿³½ìªº·s°T®§¡C§Ú´Á
±æ³o¼Ë¤l¥i¥H±N³o¨Ç¶W¹L  HOWTO (¡ª«ç»ò°µ¡ª ) ½d³òªº°ÝÃD°Q½×ÅÜ¬°¤@­Ó
¹ê¥Îªº¸ê°TÄ_®w¡C

¦³­Ó°w¹ïµ§°O«¬¹q¸£¨Ï¥Î Linux ªº¶l±H¦W¥U¥s°µ ``linux-laptop''  ¶l±H
¦W¥U¡C ­Y­n§ó¶i¤@¨Bªº¸ê°T¡A ½Ð±H¤@«Ê§t¦³ ``help'' ¤@¦rªº¹q¤l¶l¥ó¨ì
{\ttfamily majordomo@vger.rutgers.edu}¡C ­Y±z­n­q¾\³o¥÷¸ê°T¡A½Ð±H¤@«Ê§t¦³
``subscribe linux-laptop'' ªº¹q¤l¶l¥ó¨ì¤W­±¬Û¦Pªº Email ¦a§}¡C³o¥÷
¶l±H¦W¥U¬O¤@¥÷¦³Ãö©ó Linux PCMCIA ªº¤£¿ù½×¾Â®@¡C

Linux Laptop ºô­¶¦b {\ttfamily http://www.cs.utexas.edu/users/kharker/linux-laptop}
¤W¡A ùØ­±¦³³sµ²¦Ü¯S©wªºµ§°O«¬¹q¸£¦b¦w¸Ë Linux ¡]¤Î PCMCIA ¡^®Éªº¸ê
°T¡CÁÙ¦³¤@¥÷¥i´M§ä¨t²Î«Øºc¸ê°Tªº¸ê®Æ®w¡C




\subsection{«ç»ò¤£´£¨Ñ PCMCIA ªº¤G¶i¦ì½X©O¡H}

¹ï§Ú¦Ó¨¥¡A´£¨Ñ¤G¶i¦ì½X·|§x¼¸§Ú¡C³o¦³ÂI½ÆÂø¡A¦]¬°¦³¨Ç¥\¯à¥u¯à¦b½sÄ¶
®É³Q¿ï¾Ü¡A¦Ó¥B PCMCIA ¼Ò²Õ¤S¨º»ò¨Ì¿à¦X¾Aªº®Ö¤ß«Øºc¡C©Ò¥H¡A§Ú¥u¯à´£
¨Ñ¦ñÀHµÛ¦X¾Aªº®Ö¤ß¤§¥¼½sÄ¶ªº¼Ò²Õ¡Cªp¥B¡A·í­n¦w¸Ë¨ì¤@­Ó°®²bªº¨t²Î¤W
®É¬O³Ì»Ý­n¥¼½sÄ¶ªº¼Ò²Õªº¡C ¤@¯ë¨Ó»¡¡A¨C­Ó Linux ¨ÑÀ³°Ó·|»Ý­n¦b¦w¸Ë
¹Lµ{¤¤³]©w PCMCIA ¨Ó¨Ï¥Î¥¦ªº¥\¯à¡C¨C­Ó¨ÑÀ³°Ó³£¦³¦Û¤vªºµ{§Ç¡A©Ò¥H¥Ñ
§Ú¨Ó¨ÑÀ³¶}¾÷¤Î®ÚºÏºÐµ¹¥L­Ì¦n¹³¦³ÂI¤£¤Ó¾A¦X¡C

PCMCIA ²{¦b¤w¬O³\¦h¥D­n  Linux ¨ÑÀ³°Óªº¤@³¡¥÷¤F¡A ³o¥]§t Red Hat¡B
Caldera¡B Slackware¡BYggdrasil¡BCraftworks ¤Î Nascent Technology¡C




\subsection{¬°¤°»ò PCMCIA ®M¥ó³o»ò¤j©O¡H}

¾¾! ­º¥ý§Ú­n»¡ªº¬O¡A¥¦¯uªº¤£¤j¡C©Ò¦³ªºÅX°Êµ{¦¡¼Ò²Õ¥[°_¨Ó¥u»Ý¬ù 200
K ªººÏºÐªÅ¶¡¦Ó¤w¡C ¤½¥Îµ{¦¡³¡¥÷¥[°_¨Ó¬ù 70K¡A©ñ¦b /etc/pcmcia ùØªº
¸ê®Æ¬ù 30K¡C·í°õ¦æ®É¡APCMCIA ªº®Ö¤ß¼Ò²Õ¦û¥Î¬ù 48K ªº¨t²Î°O¾ÐÅé¡C³q
±` cardmgr ºëÆF°£¤F¦b¥d¤ù³Q´¡¤J©Î²¾¥X®É¥~³£·|³Q²¾¥X°O¾ÐÅéªº¡C ©Ò¦³
®M¥óªº¤j¤p¨Ã¤£·|¸ò DOS ªº¥d¤ùªA°Èµ{¦¡°õ¦æ®É¦³¦h¤jªº®t§O¡C

³o»P DOS ªº³æÂI±Ò¥Î¾¹¬Û¤ñ¦ü¥GÁÙ¤ñ¥¦­Ìªº¦n¡C ¯S§O¬O¦³¤H¨Ã¤£·|¨Ï¥Î¨ì
PCMCIA ªº©Ò¦³¥\¯à¡G¤ñ¦p»¡¯à·½ºÞ²z©Î¼ö¾÷¥æ´«¥\¯à¡C ¦]¬°³æÂI±Ò¥Î¾¹¤j
³¡¥÷¥u»Ý¤ä´©¤@ºØ©Î¤Ö³\ªº¥d¤ù¥H¤Î¤ä´©¤Ö³\ªº PCMCIA ±±¨î¾¹¡A©Ò¥H¥i¥H
°µ±o¤p¤@¨Ç¡C¦pªG¦³¤H­n¼g­Ó¤Ñ¤~«¬ªº¼Æ¾Ú¾÷¶}±Ò¾¹¡A¨ì«áÀY¥i¯à·|§â³\¦h
¥d¤ùªA°Èªº¥\¯à³£¥[¶i¥h¤~¯àÀ³¥I¤£¦Pªº¥d¤ù¼t°Ó¥H¤Î±±¨î¾¹¤F¡C




\section{½sÄ¶»P¦w¸Ë}


\subsection{·Ç³Æ¤u§@»P®Ö¤ß³]©w\label{prereq}}

¦b¶}©l«e¡A ±zÀ³¸Ó·Q·Q¬O§_»Ý­n¦Û¤v¨Ó½sÄ¶ PCMCIA ®M¥ó¡C ¦]¬°¤j³¡¥÷ªº
Linux ¨ÑÀ³°Óª©¥»¤w§t¦³¤w½sÄ¶¹Lªº PCMCIA ÅX°Êµ{¦¡®M¥ó¡C¤@¯ë¤W¨Ó»¡¡A
¦pªG±z»Ý­n³Ì·sªºÅX°Êµ{¦¡©Î±z§ó°Êªº  Linux ¨ÑÀ³°Óª©¥»¤ºªº®Ö¤ß©M±z­ì
¥»ªº PCMCIA ÅX°Êµ{¦¡µLªk¬Û®e®É¤~·|»Ý­n¦Û¤v°Ê¤â°µ¡C ÁöµM½sÄ¶ PCMCIA
®M¥ó¦b§Þ³N¤W¨Ã¤£Ãø¡A¦ýÁÙ¬O»Ý­n±z¹ï Linux ¤w¦³¤@©wªº¼ô±xªº¡C

¤U¦CªºªF¦è¥²¶·¦b±z¶}©l¦w¸ËPCMCIAµ{¦¡¤§«e¥ý¦æ¦w¸Ë§´·í¡G
\begin{itemize}
\item ¤@­Óª©¥» 2.0.*  ©Î 2.1.* ¨t¦Cªº®Ö¤ß­ì©lµ{¦¡¾ð¡C
\item   ¤@®M¦X¾Aªº¼Ò²Õ¤½¥Îµ{¦¡¡C
\item  (¿ï¾Ü©Ê ) ``XForms'' X11 ¨Ï¥ÎªÌ¬É­±¤u¨ã²Õ
\end{itemize}


¥Ø«eªºÅX°Êµ{¦¡®M¥ó¨Æ¹ê¤W¥i¦b®Ö¤ßª©¥»  1.2.8 ¶}©lªº®Ö¤ßª©¥»¤W¥¿±`¤u
§@¡C¦Ó¥ÎÂÂ¤@ÂIªº®Ö¤ßª©¥»´N­I¹D¦Ó¹£¤F¨Ç¡A³Ì¦n¤£­n³o¼Ë¡C

±zÁÙ»Ý­n§¹¾ãªº Linux ­ì©lµ{¦¡¾ð¡A ¤£¬O¥u¦³³Ì·sª©ªº®Ö¤ß¬M¹³ÀÉ´N¥i¥Î
¨Ó½sÄ¶ PCMCIA ®M¥óªº¡C PCMCIA ¼Ò²Õ§t¦³¤@¨Ç¹ï®Ö¤ß­ì©lµ{¦¡ÀÉ®×ªº°Ñ¦Ò
«ü¥O¡A   ¤]³\±z·|·Q°µ­Ó¤£§t¨º¨Ç¤£¥²­nªºÅX°Êµ{¦¡ªº®Ö¤ß¡A   ¦ý¬O¦w¸Ë
PCMCIA ¨Ã¤£»Ý­n±z³o»ò°µ¡C

¥Ø«eÃ­©wªºªº®Ö¤ßµ{¦¡ªº­ì©lÀÉ¤Î­×¸ÉÀÉ¥i¥H¦b \nameurl{ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0}{}
©Î \nameurl{ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0}{}
¤º§ä¨ì¡C µo®i¤¤ªº®Ö¤ßµ{¦¡¥i¦b {\ttfamily v2.1} ¥Ø¿ý¤º§ä¨ì¡A¥Ø«eªº¼Ò²Õ¤½¥Î
µ{¦¡¤]¥i¦b¦P¼Ëªº¦a¤è§ä¨ì¡C

¦b®Ö¤ß 2.0 ¤Î 2.1 ª©©Ò¥Îªº Linux ­ì©lµ{¦¡¾ð¤ºªº {\ttfamily Documentation/Changes}
ÀÉ®×¤¤´y­z¤F®Ö¤ßµ{¦¡©Ò»Ý­nªº¦UºØÃþ§Oªº¨t²Î¤¸¥ó¡C±z¥iÀËµø¥¦¨Ã®Ö¹ï±z
ªº¨t²Î¬O§_¬°³Ì·sª©¥»¡A¤×¨ä·í±z¤w§ó·s¤F®Ö¤ßµ{¦¡¡C ¦pªG±z¨Ï¥Î 2.1 ª©
®Ö¤ß¡A½Ð½T»{±z¥Î¤F¥¿½Tªºµ{¦¡®w©M¼Ò²Õ¤u¨ãªº²Õ¦X¡C

·í±z«Øºc®Ö¤ß®É¡A¦pªG±z­pµe­n¥Î PCMCIA ºô¸ô¥d¡A±zÀ³¸Ó¥´¶}ºô¸ô¤ä´©¨Ã
Ãö¤W¥¿±`ªº   Linux  ºô¸ô¥dÅX°Êµ{¦¡¡A  ³o¥]¬A¤f³U«¬¥iÄâ¦¡«¬¤¶­±¥d¡C
PCMCIA ºô¸ô¥dÅX°Êµ{¦¡³£³]­p¦¨¥i¸ü¤J¦¡¼Ò²Õ¡A ©Ò¥H±NÅX°Êµ{¦¡½sÄ¶¨ì®Ö
¤ßµ{¦¡¤º¥u·|®ö¶OªÅ¶¡¦Ó¤w¡C

¦pªG±z­n¨Ï¥Î SLIP¡BPPP ©Î PLIP¡A¥i¦b«Ø¥ß®Ö¤ß®É±N³o¨Ç¥\¯à¥´¶}¡A©ÎªÌ
¨Ï¥Î³o¨Ç¥\¯àªº¥i¸ü¤J¼Ò²Õª©¥»¡C ¦ý¬O¦b®Ö¤ß 1.2.X ª©¥»¤U«Øºc§@·~®É¦³
¤p¯Ê¾Ù¡A´N¬O¤£¯à¬°¸ü¤J¦¡¼Ò²Õ³]©w«Øºc¿ï¶µ (¨Ò¦p SLIP À£ÁY )¡A©Ò¥H¦p
ªG±z»Ý­n³o­Ó¥\¯à¡A¥u¦n±N SLIP ³sµ²¨ì®Ö¤ßµ{¤ßùØ¤F¡C

¬°¤F­n¨Ï¥Î PCMCIA ©Ý¾ëÃìºô¸ô¥d¡A ±zªº®Ö¤ßµ{¦¡À³¸Ó±N  ``Token  Ring
driver support'' ({\ttfamily CONFIG\_TR}) ³o¶µ¥Ø¶}±Ò¡A¨Ã±N {\ttfamily CONFIG\_IBMTR}
³o¶µÃö³¬¡C

¦pªG±z­n¨Ï¥Î PCMCIA IDE ¥d¡A°w¹ï®Ö¤ß 1.3.72 ¦Ü 2.1.7 ª©¡A ®Ö¤ß«Øºc
®ÉÀ³¸Ó­n±N {\ttfamily CONFIG\_BLK\_DEV\_IDE\_PCMCIA} ¥\¯à¥´¶}¡AÂÂª©ªº®Ö¤ß¨Ã¤£
¤ä´©¥i²¾¦¡ IDE ³]³Æ¡A¦Ó¸û·sªº®Ö¤ß´N¤£»Ý³o»ò¯S§O³]©w¤F¡C

¦pªG±z­n¨Ï¥Î PCMCIA SCSI ¥d¡A ¦b«Øºc®Ö¤ß®ÉÀ³±N {\ttfamily CONFIG\_SCSI} ¥\
¯à¥´¶}¡C ¨Ã¥B¡A±N±z­n¨Ï¥Îªº SCSI ³]³Æ¶µ¥Ø¤§ÅX°Êµ{¦¡¥´¶} (SCSI ºÏºÐ
¾÷¡BºÏ±a¾÷¡B°ßÅª¥úºÐ¾÷µ¥µ¥ )¡C©Ò¦³µ¹¯S©w¤¶­±¥dªº§C¼h¦¸ÅX°Êµ{¦¡À³¸Ó
­nÃö±¼¡A¦]¬°¥¦­Ì¥u·|¦û¥ÎªÅ¶¡¦Ó¤w¡C

¦pªG±z·Q§âµ¹ PCMCIA ³]³Æ¨Ï¥ÎªºÅX°Êµ{¦¡¼Ò²Õ¤Æ¡A½Ð­×§ï {\ttfamily /etc/pcmcia/config}
¨Ó«ü©w­þ¨Ç¼Ò²Õ¦b­þºØ¥d¤ù¨Ï¥Î¤U»Ý³Q¸ü¤J¡C¨Ò¦p¡A¦pªG¦ê¦C°ðÅX°Êµ{¦¡³Q
¼Ò²Õ¤Æ¤F¡A¨º»ò¦ê¦C°ð³]³Æªº©w¸qÀ³¸Ó¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
device "serial_cs"
  class "serial" module "misc/serial", "serial_cs"
\end{verbatim}
\end{tscreen}


¦b®M¥óùØÁÙ¦³­Ó X Àô¹Ò¨Ï¥Îªº¥d¤ùª¬ºA¤½¥Îµ{¦¡ {\ttfamily cardinfo}¡C ¦¹µ{¦¡
¬O³þ©w¦b¤@­Ó§K¶O¨ÑÀ³ªº¨Ï¥ÎªÌ¤¶­±¤u¨ã®M¥ó XForms µ{¦¡®w¡C³q±`³Qªþ¦b
¤j³¡¥÷ªº Linux ¨ÑÀ³°Óªº²£«~¤º¡C ¦pªG±z·Q«Ø³y {\ttfamily cardinfo}¡A±z±o¦b
«Øºc PCMCIA ®M¥ó«e¦w¸Ë¦n XForms ©M©Ò¦³ªº¤@¯ë  X µ{¦¡ÀYÀÉ¤Îµ{¦¡®w¡C




\subsection{¦w¸Ë}

¥H¤U¬O¦w¸Ë¹Lµ{ªºÂ²­n¨BÆJ¡G

\begin{itemize}
\item ¸Ñ¶} pcmcia-cs-3.0.?.tar.gz ¨ì /usr/src¥Ø¿ý¤º
\item ¦b·sªº  {\ttfamily pcmcia-cs-3.0.?} ¥Ø¿ý¤º°õ¦æ  ``{\ttfamily make  config}''
\item °õ¦æ ``{\ttfamily make   all}''¡A¦A°õ¦æ ``{\ttfamily make install}''¡C
\item ¬°±zªº¨t²Î¦b {\ttfamily /etc/pcmcia} ¤º¦Û­q PCMCIA ±Ò°Ê¤â½Z©M¿ï¾ÜÀÉ®×
¡C
\end{itemize}


¦pªG±z·Q¦w¸Ë¨ä¥L«D¥D­n PCMCIA ¤À¨É®M¥óµ{¦¡©Ò¥]§tªº«È¤áºÝÅX°Êµ{¦¡¡A
±N¥¦­Ì¸Ñ¶}¨ì PCMCIA ­ì©lµ{¦¡¾ðªº³»¼h¡A¦A¨Ì¥¿±`ªº«Ø³y«ü¥O¡A§Y¥i±N³o
¼W¥[ªºÅX°Êµ{¦¡½sÄ¶¤Î¦w¸Ë°_¨Ó¡C

°õ¦æ ``{\ttfamily make config}'' ·|¦C¥X¤@¨Ç«Øºc¿ï¶µ¡A½ÐÀË¬d±zªº¨t²Î¨Ã¤ñ¹ï
³o¨Ç¿ï¶µ¬O§_²Å¦X¦w¸Ë PCMCIA ¤ä´©ªº±ø¥ó¡C½Ð¤p¤ßÀË¬d¦¹©R¥Oªº¿é¥X°T®§
¡A¤×¨ä­þÃä¦³°ÝÃD®É¡C

¦pªG±z·Q½sÄ¶­Ó PCMCIA ®M¥óµ¹¨ä¥L¾÷¾¹¨Ï¥Î¡A¦b«Øºc¤â½Z°õ¦æ¨ì¥X²{«ü©w
¥Ø¼Ð¥Ø¿ý®É½Ð«ü©w­Ó´À¥Nªº¥Ø¿ý¡A¥¦À³¸Ó¬O­Óµ´¹ï¸ô®|¡A©Ò¦³ªº PCMCIA ¤u
¨ã±N³Q¦w¸Ë¦b³o¥Ø¿ýªº¬Û¹ï¦ì¸mùØ¡CµM«á¡A±z´N¥i¥H {\ttfamily tar} ³o­Ó¥Ø¿ý°_
¨Ó¡A¦A§â¥¦«þ¨©¨ì¨ä¥L¾÷¾¹¤W¡A¸ÑÀ£ÁY¨ì¬Û¹ï¥Ø¿ý¤W«á¦A¦w¸Ë¥¦­Ì¨ì¾A·íªº
¦a¤è¡C

¦pªG±z·Q½sÄ¶­Ó PCMCIA ®M¥óµ¹¨ä¥L¾÷¾¹¨Ï¥Î¡A¦b«Øºc¤â½Z°õ¦æ¨ì­n¨D±z«ü
©w¥Ø¼Ð¥Ø¿ý®É½Ð«ü©w­Ó´À¥Nªº¥Ø¿ý¡A ¥¦À³¸Ó¬O­Óµ´¹ï¸ô®|¡A©Ò¦³ªº PCMCIA
¤u¨ã±N³Q¦w¸Ë¦b³o¥Ø¿ýªº¬Û¹ï¦ì¸mùØ¡CµM«á¡A±z´N¥i¥H {\ttfamily tar} ³o­Ó¥Ø¿ý
°_¨Ó¡A¦A§â¥¦«þ¨©¨ì¨ä¥L¾÷¾¹¤W¡A¸ÑÀ£ÁY¨ì¬Û¹ï¥Ø¿ý¤W«á¦A¦w¸Ë¥¦­Ì¨ì¾A·í
ªº¦a¤è¡C

¦pªG±z¦b¨ä¥L¹q¸£¤W°µ¥æ¤e½sÄ¶¡A±z¥i¥H«ü©w´À¥NÀÉ¦Wµ¹½sÄ¶¾¹¤Î³sµ²¾¹¡C
³o¹ï²V¦XµÛ a.out ¤Î ELF ¨t²Î®É«Ü¦³§U¯q¡C¦¹¤â½Z·|­n¨D¿é¤J°µ¬°°£¿ù®É
¨Ï¥Îªº½sÄ¶ºX¼Ð¡C

¬Y¨Ç¤ä´©¤½¥Îµ{¦¡ ({\ttfamily cardctl}  ©M {\ttfamily cardinfo}) ¥i¥H¦b¦w¥þ©Î¥i«H
ªº§Î¦¡¤U½sÄ¶¡C¦b¦w¥þ§Î¦¡¤U¥i¥H¨¾¤î«D root ªº¨Ï¥ÎªÌ§ó§ï¥d¤ùªº«Øºc¡C
¥i«Hªº§Î¦¡¤U¤¹³\¤@¯ë¨Ï¥ÎªÌ°õ¦æ¼È°±¡BÄ~Äò¡B­«¸m¥d¤ùªº©R¥O¤Î§ïÅÜ¥Ø«e
ªº«Øºc¡C«Øºc¤â½Z·|°Ý§A­n±N¤½¥Îµ{¦¡½sÄ¶¦¨¦w¥þ©Î¥i«Hªº§Î¦¡¡A¤º©w¬°¦w
¥þ§Î¦¡¡C

¦³¨Ç®Ö¤ßµ{¦¡«Øºc¿ï¶µ·|¼vÅT¨ì PCMCIA ªº¤u¨ã¡C«Øºc¤â½Z¡]¤@¯ëª¬ªp¤U¡^
·|¦b°õ¦æ®Ö¤ßµ{¦¡®É±ÀÂ_¥X³o¨Ç¼vÅT¡C¥t¥~¡A¦pªG±z¬O½sÄ¶¨Ó¦w¸Ë¨ì¨ä¥L¾÷
¾¹¤Wªº¡A¥¦¯à±q®Ö¤ß­ì©lµ{¦¡¾ðùØÅª¨ì³o¨Ç«Øºc¡A©Î¬O¤¬°Ê¦a³]©w¨C­Ó¿ï¶µ
¡C

°õ¦æ ``{\ttfamily make all}'' «á¡A±µµÛ ``{\ttfamily make install}'' ±N«Ø¥ß¨Ã¦w¸Ë
®Ö¤ßµ{¦¡¼Ò²Õ¤Î¤½¥Îµ{¦¡¡C ®Ö¤ß¼Ò²Õ·|³Q¦w¸Ë¦b  {\ttfamily /lib/modules/$<$
ª©¥» $>$/pcmcia} ¤º¡C {\ttfamily cardmgr} ©M {\ttfamily cardctl} ¨âµ{¦¡³Q¦w
¸Ë¦b {\ttfamily /sbin} ¥Ø¿ý¤º¡C ¦pªG {\ttfamily cardinfo} ¦³³Q«Ø¥ßªº¸Ü¡A¥¦·|
³Q¦w¸Ë¦b {\ttfamily /usr/bin/X11} ùØ¡C

«ØºcÀÉ·|³Q¦w¸Ë¦b {\ttfamily /etc/pcmcia} ¥Ø¿ý¤º¡C¦pªG±z¦w¸Ë¦b¤@­ÓÂÂª©
¥»¤§¤W¡A±zªºÂÂª©«Øºc¤â½Z·|³Q³Æ¥÷°_¨Ó¤£·|³Q»\±¼¡A³Q«O¦s¤U¨ÓªºÀÉ®×¦W
ºÙ·|³Q¥[­Ó {\ttfamily *.\~{}1\~{}}¡B{\ttfamily *.\~{}2\~{}} ¤§ÃþªºÀÉ¦W¡C

¦pªG±z¤£ª¾¹D±zªº    PCMCIA    ±±¨î´¹¤ù¬O¤°»ò¼tµPªº¡A    ±z¥i¥H¨Ï¥Î
{\ttfamily cardmgr/} ¥Ø¿ý¤Uªº {\ttfamily probe} ¤½¥Îµ{¦¡¨Ó±´´ú¥¦¡C¥Ø«e³Ì¥D­n
ªº´¹¤ù¦³¡GDatabook TCIC-2 ´¹¤ù¤Î Intel i82365SL ¬Û®e´¹¤ù¡C

¦b¤Ö¼Æ±¡ªp¤U¡A{\ttfamily probe} ©R¥O±NµLªk¦Û°Ê¦a§PÂ_±zªº±±¨î¾¹¤§Ãþ§O¡C ¦p
ªG±z¦³­Ó Halikan NBD 486 ¨t²Î¡A ¥¦¦³­Ó©ñ¦b¤£¦P¦a¤èªº TCIC-2 ±±¨î¾¹
¡G ¦¹®É±z´N»Ý­n­×§ï {\ttfamily rc.pcmcia}  ¨Ó¸ü¤J {\ttfamily tcic} ¼Ò²Õ¡A ¨Ã¥B±N
{\ttfamily PCIC\_OPTS} °Ñ¼Æ³]©w¦¨ ``{\ttfamily tcic\_base=0x02c0}''¡C

¦³¨Ç¨Ï¥Î Cirrus ±±¨î¾¹ªº¨t²Î¡A ¥]¬A NEC Versa M ¨t²Îªº BIOS ·|¦b¨t
²Î±Ò°Ê®É±N±±¨î¾¹¸m©ó¤@­Ó¯S§OªºÄa¸mª¬ºA¤U¡C¦b³oÃþ¨t²Î¤W¡A{\ttfamily probe}
©R¥O¨ÃµLªk§ä¨ì¥ô¦ó¤wª¾ªº  PCMCIA  ±±¨î¾¹¡C ¦pªGµo¥Í³oºØ¨Æ¡A ½Ð­×§ï
{\ttfamily rc.pcmcia}  ±N {\ttfamily PCIC} ³]¬° {\ttfamily i82365}¡A {\ttfamily PCIC\_OPTS}  ¬°
``{\ttfamily wakeup=1}''¡C




\subsection{¦w¸Ë§¹«á¡]¨Ï¥ÎBSD ±Ò°Ê¤â½Zªº¨t²Î¡^}

¦³¨Ç Linux ¨ÑÀ³°Ó¡A¥]¬A Slackware¡A¨Ï¥Î BSD ªº¦w±Æ¤è¦¡°µ¬°¨t²Î±Ò°Ê
¤â½Zªº¤è±Æ¡C ¦pªG¦³ {\ttfamily /etc/rc.d/rc.M} ³o­ÓÀÉªº¨t²Î´NÄÝ³oÃþ«¬
ªº¡C¦w¸Ë¦b {\ttfamily /etc/rc.d} ¤ºªº {\ttfamily rc.pcmcia} ¤â½Z·|±±¨î±Ò°Ê©M
Ãö³¬ PCMCIA ¨t²Î¡C ¦b ``{\ttfamily make install}'' ®É·|¥Î {\ttfamily probe} ©R¥O
¨Ó¨M©w±zªº±±¨î¾¹ºØÃþ¨Ã¾A·í­×§ï {\ttfamily rc.pcmcia} ªº¤º®e¡C±z¥i¦b¨t²Î±Ò
°ÊÀÉ {\ttfamily /etc/rc.d/rc.M}  ¤º¥[¤W¤@¦æ¦p¤U­±ªº«ü¥O¨Ó°õ¦æ  PCMCIA
±Ò°Ê¤â½Z¡C

\begin{tscreen}
\begin{verbatim}
/etc/rc.d/rc.pcmcia start
\end{verbatim}
\end{tscreen}


±N³o¦æ´¡±Æ¦b­þ¦æ«e­±³£¥i¥H¡A¥u­n PCMCIA ÅX°Êµ{¦¡¦b {\ttfamily syslogd} «á
±Ò°Ê§Y¥i¡C




\subsection{¦w¸Ë§¹«á¡]¨Ï¥ÎSystem V ±Ò°Ê¤â½Zªº¨t²Î¡^}




\subsection{¦w¸Ë§¹«á¡]¨Ï¥Î  System  V °_©l¤â½Zªº¨t²Î¡^  }

 Red Hat¡B
Caldera  ¤Î Debian µ¥¨ÑÀ³°Óªº Linux ¨Ï¥Î System V «¬ªº¦w±Æ¨t²Î±Ò°Ê
ÀÉ®×¡C ¦pªG¦³­Ó {\ttfamily /etc/init.d}  ©Î {\ttfamily /etc/rc.d/init.d}
¥Ø¿ýªº¨t²Î´N¬O³oÃþ«¬¡C        {\ttfamily rc.pcmcia}        ¤â½Z·|³Q¦w¸Ë¨ì
{\ttfamily /etc/rc.d/init.d/pcmcia}  ©Î¬O {\ttfamily /etc/init.d/pcmcia}
¤U¡C¥¦·|¦Û°Ê±Ò°Ê PCMCIA ¥\¯à¡A¤£¥²¥h­×§ï¥ô¦óªº±Ò°Ê¤â½Z¤F¡C

¦pªG  {\ttfamily /etc/sysconfig}   ¥Ø¿ý¦b¨t²Î¤º¡A  ¨º»ò¦³¥t¤@­Ó«ØºcÀÉ
{\ttfamily /etc/sysconfig/pcmcia} ·|³Q«Ø¥ß°_¨Ó°µ¬°±Ò°Ê¿ï¶µ¡C ¦pªG±z»Ý
­n§ó§ï¥ô¦óªº¼Ò²Õ¿ï¶µ (¦p {\ttfamily PCIC=} ©Î {\ttfamily PCIC\_OPTS=} ³]©w )¡A ¥u
»Ý½s¿è³o­Ó«ØºcÀÉ¦Ó¤£¥²­×§ï¯u¥¿ªº PCMCIA ±Ò°Ê¤â½Z¡C¦¹ÀÉ®×¤]¤£·|³Q©¹
«áªº¦w¸Ë¦ÓÂÐ»\±¼¡C

¦³¨Ç¥H«eªºª©¥»¨Ï¥Î {\ttfamily /etc/sysconfig/pcmcia-scripts} ¥Ø¿ý¦Ó¤£
¬O²{¦bªº {\ttfamily /etc/pcmcia} ¥Ø¿ý¡C²{¦b©Ò¦³ªº¨t²Îªºª©¥»³£¤w©Î±N§ï
¥Î {\ttfamily /etc/pcmcia} ¥Ø¿ý¤F¡A¡C




\subsection{´¡¼ÑÅX°Êµ{¦¡¿ï¶µ \label{timing}}

¦³¨Ç PCMCIA ±±¨î¾¹¾Ö¦³¨ä¥Lªº¥\¯à¥i¯à·|¤]¥i¯à¤£·|³Q¯S§Oªº¨t²Î©Ò±Ä¥Î
¡C¦Ó´¡¼ÑÅX°Êµ{¦¡¤]¨S¦³¿ìªk°»´ú¨ì¬O§_³o¨Ç¥\¯à³Q±Ä¥Î»P§_¡C½ÐÀË¬d±zªº
´¡¼ÑÅX°Êµ{¦¡ªº man »¡©ú­¶¬Ý¬Ý±zªº±±¨î¾¹¦³­þ¨Ç¨ä¥Lªº¥\¯à¡C

§C¶¥ªº´¡¼ÑÅX°Êµ{¦¡ {\ttfamily tcic} ¤Î {\ttfamily i82365} ¦³³\¦h¶×¬y±Æ¤À®É°Ñ¼Æ¯S
§O¬O¦b±Ä¥Î°ª³t³B²z¾¹ªº¨t²Î¤W®É»Ý°µ¨Ç­×§ï¡C¤À®Éµo¥Í°ÝÃDªº¯gª¬¹³¥d¤ù
¿ë»{°ÝÃD¡B¦b­«­t¸ü¤Uªº³¬Âê¡B¿ù»~¤ñ²v°ª¡A©Î¬O³y¦¨³]³Æ©Ê¯àÅÜ®t¡C¸Ô±¡
½Ð°Ñ¾\¬ÛÃöªº man ­¶·|¦³§ó¦hªº²Ó¸`¡A¦b¦¹Â²­z¦p¤U¡G

\begin{itemize}
\item Cirrus ±±¨î¾¹¦³³\¦h¥i«Øºcªº¤À®É°Ñ¼Æ¡C ³Ì­«­nªºÀ³¸Ó¬O {\ttfamily cmd\_time}
ºX¼Ð¡A ¥¦¥Î¨Ó¨M©w PCMCIA  ¶×¬y±Æ¶g´Áªºªø«×¡C ³t«×§Öªº 486 ¨t²Î¡]¦p
DX4-100 ¡^¤U±N¥¦±q 6 (¤º©w­È ) ¥[¤j¦¨¬° 12 ©Î 16 ®É¥i¬Ý¨ì¥¦®ÄªG¡C
\item Cirrus PD6729 PCI ±±¨î¾¹¦³ {\ttfamily fast\_pci} ºX¼Ð¡A¦pªG PCI ¶×¬y±Æªº³t
«×¤ñ 25 MHz §Ö®ÉÀ³¸Ó³]©w¥¦¡C
\item Vadem VG-468 ±±¨î¾¹¤Î Databook  TCIC-2 ±±¨î¾¹¤ºªº {\ttfamily async\_clock}
ºX¼Ð¥²¶·§ó§ï¬°»P PCMCIA ¶×¬y±Æ©M¥D¶×¬y±Æ¬Û¹ïªº¶g´Á³t«×¡C§ó§ï³o­ÓºX
¼Ð·|¨Ï¬Y¨Ç¾Þ§@¤W¼W¥[µ¥«Ýªº®É¶¡¡CµM¦Ó¡A§Ú¦n¹³ÁÙ¨SÅ¥»¡¦³­þ­Óµ§°O«¬¹q
¸£»Ý­n³o»ò°µªº¡C
\item {\ttfamily pcmcia\_core} ¼Ò²Õ¦³­Ó {\ttfamily cis\_speed} °Ñ¼Æ¡A ¥¦¬O¥Î¨Ó§ó§ï¨ú¦s¥d
¤ùªº¥d¤ù¸ê°Tµ²ºc Card Information Structure (CIS) ¤§°O¾ÐÅé³t«×¡C¦³
¨Ç³t«×§Öªº¶×¬y±Æ®É§Çªº¨t²Î¤W¡A¼W¥[³o­Ó°Ñ¼Æ¡]¨Ò¦p¡A´îºC¥d¤ùªº¦s¨ú¡^
¥i¥H¸Ñ¨M¥d¤ù¿ëÃÑªº°ÝÃD¡C
\item ³oùØ§Ú­Ì¨Ã«D°Q½×¤À®ÉªºÄ³ÃD¡A¦ý¦pªG±zªº¨t²Î¤W¦³¤@­Ó¥H¤Wªº
ISA-to-PCMCIA ±±¨î¾¹©Î¦bÂX¥R¶õ¤W¦³¨ä¥Lªº´¡¼Ñ®É¡A{\ttfamily i82365} ¼Ò²ÕÀ³
¸Ó©M°Ñ¼Æ³]¬°   1   ªº   {\ttfamily extra\_sockets}   ¤@°_³Q¸ü¤J¡A   ¦ý¹ï©ó
PCI-to-PCMCIA ©Î PCI-to-CardBus ¾ô±µ¾¹ªÌ´N¤£¥²³o»ò°µ¡C
\end{itemize}


©Ò¦³ªº³o¨Ç¿ï¶µÀ³­×§ï {\ttfamily /etc/rc.d/rc.pcmcia}¨Ó«Øºc¡A¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
# Should be either i82365 or tcic
PCIC=i82365
# Put socket driver timing parameters here
PCIC_OPTS="cmd_time=12"
# Put pcmcia_core options here
CORE_OPTS="cis_speed=500"
\end{verbatim}
\end{tscreen}


³oùØ¦³¤@¨Ç¯S®í¨t²Îªº¤À®É³]©w¡G

\begin{itemize}
\item  ¦b ARM Pentium-90 ©Î Midwest Micro Soundbook Plus ¤W¡A ¨Ï¥Î
``{\ttfamily freq\_bypass=1 cmd\_time=8}''¡C
\item  ¦b Midwest Micro Soundbook Elite¡A¨Ï¥Î ``{\ttfamily cmd\_time=12}''
¡C
\item  ¦b Gateway Liberty ¤W¡A¸Õ¸Õ ``{\ttfamily cmd\_time=16}''¡C
\end{itemize}





\subsection{¨t²Î¸ê·½³]©w}

 ¥d¤ùªA°È¨t²ÎÀ³¸Ó¦Û°Ê¦a¥hÁ×§K¤À°t¨ì¤w³Q¨ä¥L¼Ð·Ç³]³Æ¨Ï¥Î¤Fªº  IO
°ð©M´¡Â_¡C¥¦¤]·|¸ÕµÛ°»´ú¥»¨­»P¤£ª¾¦W³]³Æ¶¡ªº½Ä¬ð¡A¥u¤£¹LÁÙ¤£¬O«Ü§¹
¥þ¥i¾a¡C                ¦pªG¹J¨ì³oºØ±¡§Î¡A                ±z»Ý­n±N
{\ttfamily /etc/pcmcia/config.opts} ¤ºªº¸ê·½µ¹±Æ°£±¼¡C

¥H¤U¬O¬Y¨Ç¯S©wªºµ§°O«¬¹q¸£¤§¸ê·½³]©w¡G

\begin{itemize}
\item ¦b AMS SoundPro, ±Æ°£ irq 10.
\item ¦b¦³¨Ç AMS TravelPro 5300 models, use memory 0xc8000-0xcffff.
\item ¦b BMX 486DX2-66, ±Æ°£ irq 5, irq 9.
\item ¦b Chicony NB5, use memory 0xda000-0xdffff.
\item ¦b Compaq Presario 1020, ±Æ°£ port 0x2f8-0x2ff, irq 3, irq 5.
\item ¦b HP Omnibook 4000C, ±Æ°£ port 0x300-0x30f.
\item ¦b Micron Millenia Transport, ±Æ°£ irq 5, irq 9.
\item ¦b  NEC Versa M, ±Æ°£ irq 9, port 0x2e0-2ff.
\item ¦b  NEC Versa P/75, ±Æ°£ irq 5, irq 9.
\item ¦b  NEC Versa S, ±Æ°£ irq 9, irq 12.
\item ¦b  NEC Versa 6000 ¨t¦C, ±Æ°£ port 0x300-0x33f, irq 9, irq 10.
\item ¦b ProStar 9200, Altima Virage, ¤Î Acquiline Hurricane DX4-100, ±Æ
°£ irq 5, port 0x330-0x35f. ¥i¥H¨Ï¥Î memory 0xd8000-0xdffff.
\item ¦b  Siemens Nixdorf SIMATIC PG 720C, ¨Ï¥Îmemory 0xc0000-0xcffff,
port 0x300-0x3bf.
\item ¦b  TI TravelMate 5000,¨Ï¥Î memory 0xd4000-0xdffff.
\item ¦b  Toshiba   T4900   CT,  ±Æ°£  irq  5,  port  0x2e0-0x2e8,  port
0x330-0x338.
\item ¦b Twinhead  5100, HP 4000, Sharp PC-8700 ©M PC-8900, ±Æ°£ irq 9 (
­µ®Ä ), irq 12.
\item ¦b MPC 800 ¨t¦C¡A±Æ°£ irq 5, port 0x300-0x30f ¬Oµ¹ CD-ROM ¥Îªº¡C
\end{itemize}





\section{¸Ñ¨M¦w¸Ë»P«Øºcªº°ÝÃD}

 ¦b¥»³¹¸`ùØ·|«ü¥X¤@¨Ç±`¨£ªº PCMCIA ¤l¨t²Îªº¥¢±Ñ¼Ò¦¡¡C½Ð±z¸ÕµÛ¦b
³o¨Ç¨Ò¤l¤¤§ä¥X±z©Ò¹J¨ìªº°ÝÃD¤§¯gª¬¡C¥»³¹¥u´y­z¡¨¤@¯ëªº¿ù»~¡¨°ÝÃD¡A
¦]¦¹¨Ã¤£°w¹ï¯S©wªº¥d¤ù©ÎÅX°Êµ{¦¡¡C

·Q­n°£¿ù¦b§Ú­Ì¸ÕµÛ¸g¥Ñ  PCMCIA ¸Ë¸m¨Ó¦w¸Ë Linux ®É¹J¨ìªº PCMCIA ÅX
°Êµ{¦¡°ÝÃD´Xªñ¥G¤£¥i¯à¡C¬Æ¦Ü±z¯à±q¯gª¬¤¤ª¾¹D¬O­þ¤è­±ªº°ÝÃD¡A·Q­n­×
§ï¦w¸ËºÏ¤ù¤S«ÜÃø¡A¤×¨ä¬OµLªk¦b Linux ¨t²Î¤U¦s¨ú®É¡C ­n¦Û­q¦w¸ËºÏ¤ù
§¹¥þ­n¥õ¿à Linux ¨ÑÀ³ªÌªºªº¿ï¾Ü¤F¡A³o¤]¤£¦b¥»¤å¥óªº½d³ò¤º¡C ¦ý¤@¯ë
¨Ó»¡¡A ³Ì¨Îªº¨BÆJ¬O¥ý¨Ï¥Î¨ä¥Lªº¤èªk¨Ó¦w¸Ë¦n Linux¡A µM«á®³¨ì³Ì·sªº
PCMCIA ÅX°Êµ{¦¡«á¡A¦A¨Ó°£¿ù¨º¨Ç¤´¦s¦bªº°ÝÃD¡C




\subsection{°ò¥» PCMCIA ®Ö¤ß¼Ò²Õ¨Ã¨S¸ü¤J}

 ¯gª¬:
\begin{itemize}
\item  ¡¨®Ö¤ßª©¥»¤£²Å¦X¡¨¤§¿ù»~°T®§¦b PCMCIA ±Ò°Ê¤â½Z°õ¦æ®É¥X²{¡C
\item ¦b±Ò°Ê«á¡A {\ttfamily lsmod} ¨Ã¨S¨q¥X¥ô¦óªº PCMCIA ¼Ò²Õ¡C
\item {\ttfamily cardmgr}  °õ¦æ³ø§i ``no pcmcia driver in /proc/devices''
¦b¨t²Î¤é»x¤¤¡C
\end{itemize}


®Ö¤ß¼Ò²Õ¤¤¥]¬A¥¦ªºª©¥»¸ê°T·|¦b¼Ò²Õ³Q¸ü¤J®É»P²{¦bªº®Ö¤ß¬Û®Ö¹ï¡CÀË¬d
ªº¤è¦¡µø {\ttfamily CONFIG\_MODVERSIONS} ³o¶µ®Ö¤ß¿ï¶µ¨Ó¬Ý¡C ¦pªG³o¶µ¥Ø¬O§_
©wªº¡A ®Ö¤ßª©¥»¸¹½X´N·|³Q½sÄ¶¨ì¨C¤@­Ó¼Ò²Õ¤º¡A¦Ó {\ttfamily insmod} ·|ÀË¬d
³o¶µ¬O§_»P°õ¦æ¤¤ªº®Ö¤ß¬O¬Û²Å¦Xªº¡C ¦pªG {\ttfamily CONFIG\_MODVERSIONS} ¬O
yes¡A®Ö¤ß©Ò´£³øªº¨C­Ó²Å¸¹·|³Q°µ¦¨¤@¥÷ÀË¬dÁ`Äý (Checksum)¡C³o¨Çµ{¦¡
½X³£·|³Q»P¬Û¹ïÀ³ªºµ{¦¡½X¬Û¤ñ¹ï«á½sÄ¶¦¨¼Ò²Õ¡C³o»ò°µ¦®¦bÅý¼Ò²Õ­Ì´î¤Ö
ª©¥»¨Ì¿à«×¡A ¦]¬°ÀË¬dÁ`Äý¥u·|¦b®Ö¤ß¤¶­±§ó°Ê®É¤~·|¸òµÛÅÜ°Ê¡A ¥B¹ï©ó
¤p¤pªº®Ö¤ß§ó·s¤É¯Å´X¥Gºû«ù»P­ì¨Ó¬Û¦P¡C¦b¹ê°È¤W¡AÀË¬dÁ`Äý¤wÅÜ¦¨§ó¥[
ªºÄY®æ¡A¦]¬°¦³³\¦hªº®Ö¤ß¤¶­±³£¨Ì¿à¬O¦b½sÄ¶®É´Á®É®Ö¤ß¿ï¶µªº³]©w¡C¦Ó
¥B¡AÀË¬dÁ`Äý¤vÅÜ¦¨¤@­Ó§PÂ_¬Û®e«×ªº·¥ºÝ´dÆ[ªº¤u¨ã¤F¡C

¦³¨Ç PCMCIA ¼Ò²Õ»Ý­n®Ö¤ßªA°Èµ{¦¡¡A¦ý³o¨ÇªA°Èµ{¦¡¥i¯à¦s¦b©Î¤£¦s¦b¡A
³o§¹¥þ­n¬Ý®Ö¤ßªº«Øºc¡C ¨Ò¦p¡ASCSI ±±¨î¥dÅX°Êµ{¦¡´N»Ý­n®Ö¤ß¤w³Q«Øºc
¤ä´©¤F SCSI ¤F¡Cºô¸ôÅX°Êµ{¦¡´N»Ý­n¤ä´©ºô¸ôªº®Ö¤ß¡C¦pªG®Ö¤ß¯Ê¤Ö¤F¤@
»Ý­nªº¥\¯à¡A{\ttfamily insmod} ¥i¯à·|³ø§i¥X¦³¥¼©w¸qªº²Å¸¹¦Ó¤£¥h¸ü¤J¸Ó¼Ò²Õ
¡C

³o¼ËÄ~Äòªºµ²ªG¬O¡A®Ö¤ß¼Ò²Õºò±K¦a»P®Ö¤ßª©¥»¥H¤Î³\¦hªº®Ö¤ß«Øºc¿ï¶µªº
³]©w¬Ûµ²¦X¡C¤@¯ë¨Ó»¡¡Aµ²®Ö¤ß 2.0.31 ª©ªº¤@²Õ³Q½sÄ¶¦nªº¼Ò²Õ¨ÃµLªk³Q
¨ä¥Lªº®Ö¤ß 2.0.31 ª©¥»¤W¨Ï¥Î¡C°£«D¦³¯S§O¦aª`·N¨ì±N¨â­Ó«Øºc¦¨¬Û¦Pªº
³]©w¡C³o­Ó°ÝÃD¡A´NÅý¨º¨Ç¨ÑÀ³¤w½sÄ¶¦nªº®Ö¤ß¼Ò²Õªº¤u§@ÅÜ±o¦³ÂI©_©Ç¤F
¡C

±z¦³´XºØ¿ï¶µ¡G

\begin{itemize}
\item ¦pªG±z¾Ö¦³ªº¬O Linux ¨ÑÀ³ª©¤º¤§¥¼¸g½sÄ¶ªºÅX°Êµ{¦¡¡A ½ÐÀË¬d±z©Ò¨Ï¥Î
ªº®Ö¤ß¬O©M¸Ó¨ÑÀ³ª©¤@°_ªº¥¼¸g½sÄ¶ªº®Ö¤ß¡C¦pªG±z·Q¨Ï¥Î¥¼¸g½sÄ¶ªº¼Ò²Õ
¡A¤@¯ë¨Ó»¡§A±o¨Ï¥Î»P¥¦·Q¦ñªº®Ö¤ß¡C
\item ¦pªG§A­«·s«Øºc©Î¤É¯Å§Aªº®Ö¤ß¤F¡A§A¥i¯à»Ý­n½sÄ¶©M¦w¸Ë·sªº PCMCIA ®M
¥ó¡C ¦pªG§A¤w¸g¦³¦w¸Ë¤F®Ö¤ß­ì©l¾ðªº¸Ü¡A°µ³o¥ó¨Æ´N±o®e©ö¤F¡C ½Ð°Ñ¦Ò
PCMCIA-HOWTO ¦³§ó¸Ô²Óªº«ü¥Ü¡C
\item ¦b¬Y¨Ç±¡§Î¤U¡A»P¨ä¥L¨t²Î¤¸¥óªº¤£¬Û®e¥i¯à·|¾É­PµLªk¥¿½T¸ü¤J®Ö¤ß¼Ò²Õ
¤¸¥ó¡C      ¦pªG±z¦Û¤v¤É¯Å®Ö¤ß¡A      ½Ðª`·N¸Ô¦C¼Ò²Õ­ì©lÀÉ®×¾ð¤º¤§
{\ttfamily Documentation/Changes}  ÀÉ®×¤º°w¹ï¼Ò²Õ¤½¥Îµ{¦¡¤Î¤G¶i¦ì¤½¨ã
µ{¦¡¤¤¦C©úªº³Ì¤p»Ý¨D (``minimal requirements'')¡C
\end{itemize}





\subsection{´¡Â_±½´y¥¢±Ñ}



¯gª¬:
\begin{itemize}
\item ·í PCMCIA ÅX°Êµ{¦¡³Q¸ü¤J®É¨t²Î«o°Ê¤]¤£°Ê¡A´Nºâ¨Ã¨S¦³¥d¤ù´¡µÛ®É¤]¤@
¼Ë¡C
\item ¨t²Î¤é»x¦b¨t²Î·í¾÷Âê¦º«eÅã¥Ü¦¨¥\¦a°»´ú¨ì PCMCIA ±±¨î¾¹¡A¦ýÁÙ¨SÅã¥Ü
´¡Â_°»´úªºµ²ªG®É¡C
\end{itemize}


¦b¿ëµø PCMCIA ±±¨î¾¹¤§«á¡A´¡¼ÑÅX°Êµ{¦¡·|°»´úªÅµÛªº´¡Â_¸¹½X¡C³o­Ó°Ê
§@·|¬°¨C­ÓÅãµM¬OªÅµÛªº´¡Â_°µµ{¦¡¤Æ, µM«á²£¥Í¤@­Ó `` ³nªº '' ´¡Â_¡A
¨Ó¬Ý¬Ý¬O§_³o­Ó´¡Â_¥i¥H³Q¥¿½T¦a³Q°»´ú¨ì¡C¦³¨Ç®É­Ô¡A°»´ú¨ì¤@¨Ç¯S®íªº
´¡Â_®É·|¼vÅT¨ì¨ä¥Lªº¨t²Î³]³Æ¡C

³o»ò°»´úªº²z¥Ñ¬O¡A§Ú­Ì­n¿ëµø¥X¯u¥¿ªÅµÛ¥i¥Îªº´¡Â_¡C (¨Ò¦p¡A¨º¨Ç¤£¬O
³Q¥ô¦ó¨ä¥L   Linux  ³]³ÆÅX°Êµ{¦¡©Ò¹w¯dµÛªº¡A  ¤]¨Ã«D¹êÅé¤W¤w³s±µµÛ
PCMCIA ±±¨î¾¹ªº¡A©Î¬O¤w³s±µµÛ¨ä¥Lªº³]³Æ¦ý¨Ã¨S¦³ÅX°Êµ{¦¡ªº¡C)

¦³¤GºØÄ~Äòªº¤èªk:
\begin{itemize}
\item ´¡Â_±´´ú¤u§@¥i¥H¨Ï¥Î´¡¼ÑÅX°Êµ{¦¡¤ºªº  {\ttfamily irq\_list} °Ñ¼Æ³]©w¨Ó­­¨î
¥u¹ï¬Y¨Ç´¡¼Ñ¹ê¬I¦Ó¤w¡C¨Ò¦p ``{\ttfamily irq\_list=5, 9, 10}'' ·|­­¨î¥u¹ï³o
¤T­Ó´¡Â_°µ±½´y±´´ú¦Ó¤w¡C©Ò¦³ªº PCMCIA ³]³Æ·|³Q­­¨î¥u¯à¨Ï¥Î³o´X­Ó´¡
Â_¦Ó¤w (°²¦p¥¦­Ì²¤¹L¤F°»´ú°Ê§@ )¡C§A¥i¯à»Ý­nÀ|¸Õ´X¦¸¥¢±Ñ¨Ã¦A±µ¦A¼F
¦a¤~¯à§ä¨ì­þ¨Ç´¡Â_¥i¥H³Q¦w¥þ¦a°»´ú¨Ï¥Îªº¡C
\item ´¡Â_±´´ú¤u§@¥i¥H³Q§¹¥þ¦aÃö³¬±¼¡A¦b¸ü¤J´¡¼ÑÅX°Êµ{¦¡®É¨Ï¥Î¤F ``do\_scan=0''
¿ï¶µ¡C³o»ò°µ¡A·|Åý­ì©wªº´¡Â_²M³æ³Q¨Ï¥ÎµÛ¡A¥¦­Ì¤w¸gÁ×§K¨Ï¥Î¨º¨Ç¤w¸g
³Q¨ä¥L³]³Æ©Ò¦û¥Î¤Fªº´¡Â_¡C
\end{itemize}


¥t¤@­Ó¤èªk¡A§Ú­Ì¥i¥H¨Ï¥Î¦b PCMCIA ±Ò°Ê¤â½Z¤¤«ü©w {\ttfamily PCIC\_OPTS} ªº
³]©w¡A¨Ò¦p:

\begin{tscreen}
\begin{verbatim}
PCIC_OPTS="irq_list=5,9,10"
\end{verbatim}
\end{tscreen}





\subsection{°O¾ÐÅé°»´ú¥¢±Ñ}



¯gª¬:
\begin{itemize}
\item ¥DÅX°Êµ{¦¡¦b¥d¤ù¨Ã¤£¦sµÛ®É³Q¥¿½T¦a¸ü¤J¡A¦Ó¥B¦b¨t²Î¤é»x¤º¤]¨S¦³¥ô¦ó
¿ù»~¡C
\item ¨t²Î·í¾÷°Ê¤£¤F©M¡þ©Î¥ô¦ó¥d¤ù´¡¤J¦ý¦b¥ô¦ó¹ÍÁnÅT°_«e´N­«·s¶}¾÷¡C
\end{itemize}


©Î¬O¡G
\begin{itemize}
\item ¥ô¦ó¥d¤ù´¡¤J®É·|²£¥Í¤@­Ó°ª­µªº¹ÍÁn¡A±µµÛ§C¨Hªº¹ÍÁn¡C
\item ¥ô¦ó¥d¤ù³£³Q»~»{ ``anonymous memory cards''¡C
\item ¨t²Î¤é»x³ø§i»¡¦³«Ü¦hªº°O¾ÐÅé½d³ò¤w³Q±Æ°£¦b¥~¤F¡C
\end{itemize}


¥D¼Ò²Õµ{¦¡¦b²Ä¤@¦¸´¡¤J¥d¤ù¨Ï°µ¤@©w°O¾ÐÅé±½´y¡C³o­Ó°Ê§@¦³¼ç¦b¥i¯à¦a
¤z¯A¨ì¨ä¥L°O¾ÐÅé¬M®gªº³]³Æ¡C¥t¥~¡Apre-3.0.0 ª©¥»«eªºÅX°Êµ{¦¡®M¥óÁÙ
·|°µ¤ñ²{¤µªºÅX°Êµ{¦¡ª©¥»§ó¶i¤@¨Bªº±½´y¡C°O¾ÐÅéµ¡¬O³Q©w¸q¦b
{\ttfamily /etc/pcmcia/config.opts} ¤º¡C ¹w³]ªºµ¡¤f«Ü¤j¡A©Ò¥H¥¦¥i¯à·|
À°§U¨Ó­­¨î±½´y¨ì¸û¯¶ªº½d³ò¡C¤ñ¸û¦X²zªº½d³ò¥i¸Õ¬Ý¬Ý¥]§t¶i¥H¤Uªº¦ì§}
¡G0xd0000-0xdffff, 0xc0000-0xcffff, 0xc8000-0xcffff, ©Î
0xd8000-0xdffff¡C

¦pªG§A¦³ DOS ©Î Windows ª©ªº PCMCIA ÅX°Êµ{¦¡¡A §A´N¥i¥H you may be
able to deduce what memory region those drivers use. ½Ð°O±o DOS ªº
°O¾ÐÅé¦ì§}³q±`³£¨Ï¥Î `` ¬q '' ¦ì§}§Î¦¡¡A¤]´N¬O¥¦·|±N§À¤Úªº¤Q¤»¦ì¤¸
¼Æ¦r¬Ù²¤±¼¡]©Ò¥H   0xd0000  ªºµ´¹ï¦ì§}´N¬O  0xd000  ¡^¡C  °O±o¦b§ï
{\ttfamily /etc/pcmcia/config.opts} ®É­n½T»{³o¶µ¡C




\subsection{¿ù»~¦a°»´ú¥d¤ùªº´¡¤J»P©â¥X}

¯gª¬¡G
\begin{itemize}
\item ¦b¶}¾÷¨Ï¥d¤ù¦³´¡µÛ¨Ã³Q°»´ú¨ì¥B¥¿½T¦a³Q«Øºc¤F¡C
\item ÅX°Êµ{¦¡¤£·|¤ÏÀ³¥X¥dª©³Q´¡¤J©Î²¾¥X¡A©Î¬O°O¿ý¦b¨t²Î¤é»x¡B©Î®É¹ÍÁnÅT
¡C
\end{itemize}


¤@¯ë¨Ó»¡¡A¥d¼ÑÅX°Êµ{¦¡ ({\ttfamily i82365} ©Î {\ttfamily tcic}) ·|¦Û°Ê¦a°»´ú¨Ã¿ï
¾Ü¤@­Ó¾A¦Xªº´¡Â_¨Ó¶Ç°e¥d¤ùª¬ºAªº§ó°Ê¡C ¬Y¨Ç Intel ¬Û®e±±¨î¾¹ªº¦Û°Ê
´¡Â_°»´ú¤£¯à¤u§@¡C ¥]§t Cirrus ´¹¤ù©M¸Ë¦b IBM ThinkPads ¤Wªº´¹¤ù¡C
¦pªG¦b°»´ú®É³]³ÆµLªk°_°Ê¡A¥¦ªº´¡Â_¤]·|¬O¶¢¸mªº¡C³oºØª¬ºA¤U¡A¥d¼ÑÅX
°Êµ{¦¡¤]³\·|¬D¨ì¤@­Ó¤w³Q¨ä¥L¸Ë¸m¨Ï¥Î¤¤ªº´¡Â_¨Ó¨Ï¥Î¡C

¦b {\ttfamily i82365} ©M {\ttfamily tcic} ªºÅX°Êµ{¦¡ùØªº {\ttfamily irq\_list}  ¿ï¶µ¥i¥H
¥Î¨Ó­­¨î­þ¨Ç´¡Â_¥i¥H³Q´ú¸Õªº¡C³o­Ó´¡Â_¦Cªí¥i³Q­­¨î¦¨¥u³Q PCMCIA ¥d
©Ò¨Ï¥Î©Î¥Î¨ÓºÊ±±¥d¤ùª¬ºAªº§ïÅÜ¡C ¥t¥~ {\ttfamily cs\_irq} ¿ï¶µ¥i©ú¥Õ¦a³]©w
­þ­Ó´¡Â_­n³Q¥Î¨ÓºÊ±±¥d¤ùª¬ºAªº§ïÅÜªº¡C

¦pªG±zµLªk§ä¨ì¥i¥¿±`¤u§@ªº´¡Â_¸¹½X¡AÁÙ¦³¤@­Ó²¼¿ïª¬ºA¼Ò¦¡¥i¥Î¡G¤£½×
¬O {\ttfamily i82365} ©Î {\ttfamily tcic} ³£±µ¨ü {\ttfamily poll\_interval=100} ³o¿ï¶µ¡A
¥Î¨Ó²¼¿ï¥d¤ùªº¨C¬íªº§ïÅÜª¬ºA¡C¦pªG±zªº¨t²Î¤wµu¯Ê¥i³Q PCMCIA ¥d¨Ï¥Î
ªº´¡Â_®É³o­Ó¿ï¶µ¤]¥i¥H³Q¨Ï¥Î¡C¯S§O¬O¦b¨t²Î¤º¦³¤@ºØ¥H¤Wªº PCMCIA ±±
¨î¾¹®É´N¥²¶·ª`·N³oÂI¤F¡C

©Ò¦³ªº³o¨Ç¿ï¶µ¥²¶·¦b {\ttfamily PCIC\_OPTS=} ³o¦æ¨Ó³]©w¡A ¬Ý±zªº¨t²Î¬O³]¦b
{\ttfamily /etc/rc.d/rc.pcmcia} ùØ©Î¬O {\ttfamily /etc/sysconfig/pcmcia}
¡C




\subsection{¨â±i¥d¤§¶¡ªº¸ê·½¬Û½Ä¬ð}



Symptoms:
\begin{itemize}
\item ¨â±i¥d¤ù¦b¦U¦Û¿W¦Û¨Ï¥Î®É¥i¥H¤u§@¡A
\item ¦ý·í¨â±i¥d¤@°_³Q´¡µÛ®É¡A«o¥u¦³¤@­Ó¥i¥H¥¿±`¤u§@¡C
\end{itemize}


³q±`³o´Nªí¥Ü¤w¸g©M¬Y­Ó Linux ¤£ª¾¹Dªº¨t²Î³]³Æ¬Û½Ä¬ð¤F¡CPCMCIA ³]³Æ
¬O³Q°ÊºA«Øºcªº¡A©Ò¥H¡A¨Ò¦p¡A´¡Â_¬O¦b³Q»Ý­n®É³Q¤À°tªº¡A¦Ó¤£¬O¯S§O³Q
«ü©w¨ì¯S§Oªº¥d¤ù©Î¬O´¡¼Ñªº¡C²{¦b¦³¤@­Ó¥i¥Î¸ê·½ªº²M³æ¡A¥d¤ù·|¦b¥L­Ì
³Q«Øºc®É¨Ì§Ç¦a³Q«ü¬£µ¹¸ê·½ªº¡C¦b³oºØª¬ªp¤U¡A³Ì«á³Q«Øºcªº¥d¤ù·|³Q«ü
¬£¨ì¤@­Ó¨Ã«D¬OªÅ¶¢µÛªº¸ê·½¤W¤F¡C

±z¥iÀË¬d¨t²Î¤é»x¦³­þ¨Ç¸ê·½³Q«D¥¿¦b¤u§@ªº¥d¤ù©Ò¦û¥ÎµÛ¡C¦b
{\ttfamily /etc/pcmcia/config.opts}   ùØ§â³o¨Ç±Æ°£¦b¥~¡A   ¦A­«·s±Ò°Ê
{\ttfamily cardmgr} ºëÆF¨Ó¦A¸ü¤J¸ê·½¸ê®Æ®w¡C




\subsection{³]³Æ«Øºc¨Ã¨S¦³§¹¦¨}

¯gª¬¡G
\begin{itemize}
\item ·í¤@­Ó¥d¤ù³Q´¡¤J®É¡A½T¹ê¥iÅ¥¨ì¤@­Ó°ª­µªº¹ÍÁnÅT¡C
\item ±µ¤U¨Óªº¥d¤ù¤£ºÞ¬O´¡¤J©Î²¾¥X³£¤£³Q²z¸B¡C
\end{itemize}


³oªí¥Ü¥d¤ù¤w³Q¦¨¥\¦a¿ëµø¤F¡C¦ý¬O {\ttfamily cardmgr} ¦]¬Y¨Ç­ì¦]¤wµLªk§¹¦¨
«Øºcµ{§Ç¡C³Ì¦³¥i¯àªº­ì¦]¬O¦b¥d¤ù³]©w¤â½Zªº¬Y¤@¨BÆJ³Q§x¦í¤F¡C·í¤@­Ó
ºô¸ô¥d³Q´¡¤J®É¨Ã¨S¦³±µ¤W¤@­Ó¥¿¬¡°Ê¤¤ªººô¸ô¤W®É¡Aºô¸ô¤â½Z³Q§x¦í¤F¡A
³o´N¬O³Ì¦nªº¨Ò¤l¡C

­n§ä¥X°ÝÃD¥X¦b­þùØ¡A§A¥i¥H¤â°Ê°õ¦æ¤@­Ó³]©w¤â½Z¨Ó¬Ý¬Ý¥¦¬O³Q§x¦b­þ¨à
ªº¡C³o­Ó¤â½Z´N©ñ¦b {\ttfamily /etc/pcmcia} ¥Ø¿ý¤º¡C¥L­Ì·|¨Ï¥Î¤G­Ó°Ñ¼Æ
¡G³]³Æ¦WºÙ¤Î°Ê¥ó¡C {\ttfamily cardmgr} ºë·|§â°O¿ý«Øºcªº©R¥O°O¿ý¦b¨t²Î¤é»x
¤º¡C ¨Ò¦p¡A ¦b¨t²Î¤é»x¤¤Åã¥Ü¥X  `./network  ©R¥O¶}©l¤F eth0'' ¬O³Q
{\ttfamily cardmgr} ³Ì«á¤@­Ó°õ¦æªº©R¥O¡A¥H¤Uªº©R¥O·|°lÂÜ³o­Ó¤â½Z¡G

\begin{tscreen}
\begin{verbatim}
cd /etc/pcmcia
sh -x ./network start eth0
\end{verbatim}
\end{tscreen}





\section{¨Ï¥Î¤èªk¥H¤Î¯S¦â}


\subsection{¥Î¨Ó«Øºc¥H¤ÎºÊ±±  PCMCIA ³]³Æªº¤u¨ã}

¦pªG©Ò¦³ªº¼Ò²Õ³£³Q¥¿½T¦a¸ü¤J¤F¡A¦b¨S¦³¥d¤ù³Q´¡¤Jªºª¬ºA¤U¡A {\ttfamily lsmod}
©R¥Oªº¿é¥X·|¬Ý°_¨Ó¹³¥H¦Cªº¼Ë¤l¡C

\begin{tscreen}
\begin{verbatim}
Module                  Size  Used by
ds                      5640   2 
i82365                 15452   2 
pcmcia_core            30012   3  [ds i82365]
\end{verbatim}
\end{tscreen}


¨t²Î¤é»x¤]À³¸Ó¥]§t´¡¼ÑÅX°Êµ{¦¡¹ï©ó­þ¨Ç¥D±±¨î¾¹³Qµo²{¤F¡B¦³´X­Ó´¡¼Ñ
³Q°»´ú¨ì¤Fªº¿é¥X¡C




\subsubsection{cardmgr«ØºcºëÆF}

{\ttfamily \cdx{cardmgr}} ºëÆF­t³dºÊ±± PCMCIA ´¡¼Ñ¡A¦³»Ý­n®É¸ü¤J
¨ä¥LªºÅX°Êµ{¦¡¡A¨Ã¥B°õ¦æ¨Ï¥ÎªÌ¶¥¼hªº¤â½Z¨Ó¤ÏÀ³¥d¤ùªº´¡¤J»P²¾¥X¡C¥¦
·|§â¥¦ªº°Ê§@°O¿ý¦b¨t²Î¤é»x¤º¨Ã¥Î¹ÍÁn¨Ó¦^À³¥d¤ùª¬ºAªº§ïÅÜ¡C¹ÍÁnªº­µ
½Õªí¥Ü«Øºc¨BÆJ¬O¦¨¥\ÁÙ¬O¥¢±Ñ¡C¨â­Ó°ª­µÁnÅTªí¥Ü¨B¤ù¤w³Q¦¨¥\¦a¿ëµø»P
«Øºc¤F¡C¤@°ª­µ¤@§C­µÁnÅTªí¥Ü¥d¤ù³Q¿ëµø¡A¦ý¦]¬Y¨Ç­ì¦]µLªk³Q«Øºc¡C¤@
§C­µ¹ÍÁnªí¥Ü¥d¤ùµLªk³Q¿ëµø¡C

{\ttfamily Cardmgr} ·|§â¨C¤@­Ó´¡¼Ñªº³]³Æ¸ê°T°O¿ý¦b {\ttfamily /var/run/stab}
ùØ¡C¥H¤U¬O {\ttfamily /var/run/stab} ªº¦Cªí¨Ò¤l¡G

\begin{tscreen}
\begin{verbatim}
Socket 0: Adaptec APA-1460 SlimSCSI
0       scsi    aha152x_cs      0       sda     8       0
0       scsi    aha152x_cs      1       scd0    11      0
Socket 1: Serial or Modem Card
1       serial  serial_cs       0       ttyS1   5       65
\end{verbatim}
\end{tscreen}


¦b³o´X¦æ©Ò´y­zªº³]³Æ¤¤¡A²Ä¤@­ÓÄæ¦ìªí¥Ü´¡¼Ñ¡B²Ä¤G¬°³]³ÆÃþ§O¡B²Ä¤T¬°
ÅX°Êµ{¦¡¦WºÙ¡B²Ä¥|³Q¥Î¨Ó«ü©w¦b¦P¤@ÅX°Êµ{¦¡¤U¨Ï¥Îªº¨C­Ó³]³Æ¨ú¸¹½X¡B
²Ä¤­­Ó¬O³]³Æ¦WºÙ¡B³Ì«á¨â­ÓÄæ¦ì¬O³o­Ó³]³Æªº¥D­n¤Î¦¸­n¸¹½X¡C¡]¦pªG¥i
§ä¨ìªº¸Ü¡^

{\ttfamily cardmgr} ºëÆF¨Ì¾Ú³Q¦s¦b {\ttfamily /etc/pcmcia/config} ¤ºªº¤wª¾¤§
¥d¤ù¸ê®Æ®w¨Ó«Øºc³o¨Ç¥d¤ù¡C³o­ÓÀÉ®×´y­z¤F³\¦h­Ó§OªºÅX°Êµ{¦¡¡A¥H¤Î¦p
¦ó¿ëµø³\¦hªº¥d¤ù¡AÁÙ¦³­þ­ÓÅX°Êµ{¦¡ÄÝ©ó­þ­Ó¥d¤ùªº¡C³o­ÓÀÉ®×ªº®æ¦¡¦b
{\ttfamily pcmcia(5)} ªº man ­¶ùØ¦³¸Ô²Óªº¸ê®Æ¡C




\subsubsection{cardctl ¤Î cardinfo ¤½¥Îµ{¦¡ }



{\ttfamily cardctl} ©R¥O¥i¥H¥Î¨ÓÀË¬d´¡¼Ñªºª¬ºA¡A ©Î¬Ý¥¦­Ì¬O¦p¦ó³Q«Øºcªº¡C
¥¦¤]¥i¥H³Q¥Î¨ÓÄµ¥Ü¤@­Ó¥d¤ùªº«Øºcª¬ºA¡C   ³o¨à¦³­Ó    ``{\ttfamily cardctl
config}'' ©R¥Oªº¿é¥X¨Ò¤l¡G

\begin{tscreen}
\begin{verbatim}
Socket 0:
Socket 1:
  Vcc = 5.0, Vpp1 = 0.0, Vpp2 = 0.0
  Card type is memory and I/O
  IRQ 3 is dynamic shared, level mode, enabled
  Speaker output is enabled
  Function 0:
    Config register base = 0x0800
      Option = 0x63, status = 0x08
    I/O window 1: 0x0280 to 0x02bf, auto sized
    I/O window 2: 0x02f8 to 0x02ff, 8 bit
\end{verbatim}
\end{tscreen}


``{\ttfamily cardctl suspend}'' ©M ``{\ttfamily cardctl resume}'' ¨â­Ó©R¥O¥i¥H¥Î
¨Ó¦b¤£»Ý¨ø¤U¥¦ªº¬ÛÃöÅX°Êµ{¦¡ªºª¬ªp¤UÃö³¬¥d¤ù¡C``{\ttfamily cardctl
reset}''  ©R¥O·|­«·s³]©w¤Î«Øºc¥d¤ù¡C  ``{\ttfamily cardctl  insert}''  ©M
``{\ttfamily cardctl  eject}'' ºNÀÀ·í¤@­Ó¹êÅéªº¥d¤ù´¡¤J©Î©â¥X®É©Ò°µªº°Ê§@
¡A³o¥]§t¸ü¤J©Î¨ø¤UÅX°Êµ{¦¡¥H¤Î«Øºc©ÎÃö³¬³]³Æ¡C

¦pªG±z¥¿°õ¦æ X¡A {\ttfamily \cdx{cardinfo}} ¤½¥Îµ{¦¡·|²£¥Í¤@­Ó¹Ï
¥Ü¨ÓÅã¥Ü©Ò¦³ªº   PCMCIA   ´¡¼Ñªº²{ªp¡A  ¤º®e©M°õ¦æ   ``{\ttfamily cardctl
config}'' Ãþ¦ü¡C¥¦ÁÙ´£¨Ñ¨ä¥L {\ttfamily cardctl} ¥\¯àªº¹Ï§Î¤Æ¥\¯à¡C




\subsubsection{´¡¤J»P©â¥X¥d¤ù}

¦b²z½×¤W¡A§A¥i¥H¦b¥ô¦ó®É¶¡´¡¤J©Î²¾¥X PCMCIA ¥d¤ù¡CµM¦Ó¡A§â¥¿¦b³Q¨ä
¥Lµ{¦¡¨Ï¥Î¤¤ªº¥d¤ù²¾¥X¨Ó¨Ã¤£¬O­Ó¦n¥D·N¡C¦b®Ö¤ß 1.1.77 ª©¥H«eªº¨t²Î
±`·|¦b¦ê¦C¡þ¼Æ¾Ú¾÷¥d¤ù³Q²¾¥X®É³y¦¨·í¾÷¡A¦ý²{¦b¤w¦³­×¥¿¤èªk¤F¡C




\subsubsection{¥d¤ùªA°Èµ{¦¡»P¶i¶¥¯à·½ºÞ²z}

¥d¤ùªA°Èµ{¦¡¥i¥H½sÄ¶¦¨¤ä´©   \idx{APM}   (\idx{  ¶i¶¥¯à·½ºÞ²z})  ¡A  ¦pªG§A¤w¦w¸Ë¤F³o­Ó®M¥ó¨ì§Aªº¨t²Î¤ºªº¸Ü¡C  APM  ¦b®Ö¤ß
1.3.46     ¡]§t¡^¥H«á´N³Q¾ã¦X¤F¡C    ²{¦b³o®M¥ó³Q    Rick    Faith
(faith@cs.unc.edu)      ©ÒºûÅ@¡A     APM      ¤u¨ã¥i¥H¥Ñ      \nameurl{ftp://ftp.cs.unc.edu/pub/users/faith/linux}{} ®³¨ì¡C¦pªG§Aªº¨t
²Î³Q°»´ú¥X¦³­Ó¬Û®eªºª©¥»¦bªº¸Ü¡A  PCMCIA  ¼Ò²Õ·|³Q¦Û°Ê¦a«Øºc¦¨¤ä´©
APMM ¥\¯à¡C

¦pªG¨S¦³ÂÇµÛ  APM¡A  §A¥i¥H¦bÄa¸m§Aªºµ§°O¹q¸£«e°õ¦æ  ``{\ttfamily cardctl
suspend}''¡A¥H¤Î¦b¦^ÂÐ«á°õ¦æ ``{\ttfamily cardctl resume}''¡A¤~¯à¾A·í¦aÃö
¤W©Î­«±Ò§Aªº  PCMCIA  ¥d¡C ³o¹ï¥¿¦b¨Ï¥Î¤¤ªº¼Æ¾Ú¾÷¨Ã¤£¾A¥Î¡A ¥Ð¦]§Ç
¦CÅX°Êµ{¦¡¨ÃµLªkÀx¦s»P¦^À³¼Æ¾Ú¾÷ªº¹B§@°Ñ¼Æ¡C

APM ¦b¦³¨Ç¨t²Î¤W¦ü¥G¦³ÂI¤£¤ÓÃ­©w¡C ¦pªG§A¹J¨ì APM ©M PCMCIA ¦@¥Î®É
¦³¥ô¦ó°ÝÃD¡A½Ð±z¦b´£¥Xµ{¦¡¤p¦ä³ø§i«e¥ý¸ÕµÛ§â°ÝÃDÂ²¤Æ¡C

¦³¨ÇÅX°Êµ{¦¡¡A ¤ñ¦p»¡ PCMCIA SCSI ÅX°Êµ{¦¡¡AµLªk±qÄa¸m¡þ­«·s°Ê§@¶g
´Á¤U¦^ÂÐ¹L¨Ó¡C ¦b¨Ï¥Î  PCMCIA  SCSI  ¥d®É¡A ¦bÄa¸m¨t²Î«e¥ý°õ¦æ
``{\ttfamily cardctl eject}''¡C




\subsubsection{Ãö³¬ PCMCIA ¨t²Î}

­n¨ø¤U¾ã­Óªº PCMCIA ®M¥ó¡A invoke {\ttfamily rc.pcmcia} with:

\begin{tscreen}
\begin{verbatim}
/etc/rc.d/rc.pcmcia stop
\end{verbatim}
\end{tscreen}


³o­Ó¤â½Z·|ªá´X¬íÄÁ¨Ó°õ¦æ¡Aµ¹¥þ³¡ªº«È¤á¦Û­qÅX°Êµ{¦¡¨Ó§¹¬ü¦aÃö³¬
¡C¦pªG¦³­Ó PCMCIA ³]³Æ¥¿³Q¨Ï¥Î¤¤¡A³o¼ËÃö¥i¯à¤£·|«Ü§¹¾ã¦aÃö³¬¡A¦³¨Ç
®Ö¤ß¼Ò²Õ¥i¯à¤£·|³Q¨ø¤U¡C       ­n¨¾¤îµo¥Í³oºØª¬ªp¡A       ½Ð¦b°õ¦æ
{\ttfamily rc.pcmcia}  ¤§«e¨Ï¥Î ``{\ttfamily cardctl eject}'' ¨ÓÃö³¬©Ò¦³ªº´¡¼Ñ¡C
{\ttfamily cardctl} ©R¥OªºÂ÷¶}ª¬ºA·|Åã¥Ü¦pªG¦³¥ô¦óªº´¡¼Ñ¤£¯à³QÃö³¬ªº¡C




\subsection{PCMCIA«Øºc¤â½Zªº·§­n}

¨C¤@­Ó PCMCIA ³]³Æ³£·|¦³­Ó¬Û¹ïÀ³ªº `` Ãþ§O '' ¨Ó´y­z¥¦À³¸Ó¦p¦ó³Q«Ø
ºc»PºÞ²zªº¡C³o¨ÇÃþ§O»P³]³ÆÅX°Êµ{¦¡³£³Q²ÕÂ´¦b
{\ttfamily /etc/pcmcia/config} ¤º¡C¥Ø«e¦@¦³¤­ºØ¿é¥X¿é¤J³]³ÆªºÃþ§O (ºô
¸ô¡B SCSI¡B cdrom¡BµwºÐ¥H¤Î¦ê¦C ) ¥H¤Î¤GºØ°O¾ÐÅé³]³ÆÃþ§O (°O¾ÐÅé»P
FTL)¡C¦b¨C¤@­ÓÃþ§O¤¤¡A³£¦³¤G­Ó¤â½Z©ñ¦b {\ttfamily /etc/pcmcia/config}
¤º¡G¤@­Ó¥D­n«Øºc¤â½Z (¨Ò¦p¡A  {\ttfamily /etc/pcmcia/scsi} ¬O SCSI ³]
³Æªº )¡A¥H¤Î¤@­Ó¿ï¶µ¤â½Z (¨Ò¦p¡A {\ttfamily /etc/pcmcia/scsi.opts})¡C
¥D¤â½Z¦b¥d¤ù³Q´¡¤J®É·|³Q±Ò¥Î¨Ó«Øºc¸Ó³]³Æ¡A·í¥d¤ù³Q©â¥X®ÉÃö±¼¸Ó³]³Æ
¡C¹ï©ó¤ä´©¦hºØ³]³Æªº¥d¤ù¡A°w¹ï¦U§O¤£¦Pªº³]³Æªº¤â½Z³£·|³Q±Ò¥Î¡C

³o config ¤â½Z·|±q {\ttfamily /var/run/stab} ùØ¸Ñ¥X¤@¨Ç¦³Ãö©ó³]³Æ¤Wªº
¸ê®Æ¶}©l¡C ¨C¤@­Ó¤â½Z·|ºc¿v¤@­Ó `` ³]³Æ¦ì§} ''¡A¥¦¬O¿W¤@µL¤Gªº¦ì§}
¥Î¨Ó´y­z¸Ó³]³Æ¦b {\ttfamily ADDRESS} shell ÅÜ¼Æ¤º³Q­n¨D³Q«Øºcªº¤è¦¡¡C¥¦·|
³Q¶Ç»¼¨ì {\ttfamily *.opts} ¤â½Z¤W¡A ¸Ó¤â½Z¦A¦^À³¦³Ãö©ó¦b³o¦ì§}¤Wªº³]³ÆÀ³
¸Ó­n«ç¼Ë¦a«Øºc¤~¥i¥Hªº¸ê°T¡C ¦³¨Ç³]³Æ¡A ¥¦ªº³]³Æ¦ì§}´N¬O´¡¼Ñ¸¹½X¡C
ÁÙ¦³¨ä¥Lªº³]³Æ¡A¥¦·|¥]§t¥t¥~ªº¦³¥Î¸ê°T¥i¥H¥Î¨Ó¨M©w¦p¦ó¨Ó«Øºc¸Ó³]³Æ
¡C¨Ò¦p¡Aºô¸ô³]³Æ·|¶Ç»¼¥L­ÌªºµwºÐ¤A¤Óºô¸ô¦ì§}°µ¬°³]³Æ¦ì§}ªº¤@³¡¥÷¡A
¨ÓÅý {\ttfamily network.opts}  ¤â½Z¯à°÷¨Ï¥Î³o¶µ¸ê°T¨Ó±q³\¦h¤£¦Pªº«Øºc¤¤°µ
¥¿½Tªº¿ï¾Ü¡C

©Ò¦³ªº³]³Æ¦ì§}ªº­º­n³¡¥÷¬O¥Ø«eªº PCMCIA ``scheme''¡C³o­Ó°Ñ¼Æ¬O³Q¥Î
¦b¥u¦³¤@­Ó¥~³¡¨Ï¥ÎªÌ«ü©wÅÜ¼Æ®É¥Î¨Ó¹ï³]³Æ«Øºc¤§¦hºØ³]©wªº¡C¹ï©ó¥¦ªº
À³¥Î¡A ¨Ò¦p§Ú­Ì¥i¥H¦³­Ó ``home'' scheme ¥H¤Î¤@­Ó ``work'' scheme¡A
¥¦­Ì¥]¬A¤F¤£¦Pªººô¸ô«Øºc°Ñ¼Æªº²Õ¦X¡C   ¥Ø«eªº   scheme    ¥i¥H¨Ï¥Î
``{\ttfamily cardctl scheme}'' ©R¥O¨Ó°µ¿ï¾Ü¡C¦pªG¨S¦³ scheme ³Q«ü©wªº¸Ü´N
¥H¤º©w­È¨Ó³]©w¡C

¤@¯ë­ì«h¤W¡A·í­n«Øºc Linux ¦bµ§°O«¬¹q¸£¤W®É¡APCMCIA ªº³]³Æ¥u¯à³Q¸g
¥Ñ  PCMCIA  ³]³Æ¤â½Z¨Ó«Øºc¡C  ½Ð¤£¥H¸ÕµÛ¥H«Øºc©T©w³]³Æªº¤è¦¡¨Ó«Øºc
PCMCIA ³]³Æ¡CµM¦Ó¡A¦³¨Ç Linux ¨ÑÀ³ª©°Ó´£¨Ñ¤w±µ¦b¥L­Ì¦Û¤wªº³]³Æ«Øºc
¤u¨ã¤Wªº PCMCIA ®M¥ó¡C¦b³oºØ±¡ªp¤U¡A¥H¤Uªº´X­Ó¥DÃD¥i¯àµLªk¨Ï¥Î¡A¦Ó
¨ÑÀ³ª©°ÓÀ³¸Ó·|¦³¥L­Ì¦Û¤vªº³oÃþ¤å¥ó¡C




\subsection{PCMCIA ºô¸ô¥d}

Linux ªº¤A¤Ó«¬ºô¸ô¥d¤¶­±³q±`³QºÙ°µ {\ttfamily eth0}¡B{\ttfamily eth1} µ¥µ¥¡CÀô§Î
¥d¥ç¦P¼Ë¦a³Q¬Ý«Ý¡C  µM¦Ó¥¦­Ì³QºÙ°µ   {\ttfamily tr0}¡B  {\ttfamily tr1}   µ¥µ¥¡C
{\ttfamily ifconfig} ©R¥O¬O³Q¥Î¨ÓÆ[¬Ý¤Î­×§ïºô¸ô¤¶­±ª¬ºAªº¡CLinux ªº¥t¤@¯S
ÂI¬Oºô¸ô¤¶­±¨Ã¤£·|¹³¨ä¥L³]³Æ¤@¼Ë¦a³Q¬Ý¦¨¬O¤@­Ó¦b  {\ttfamily /dev} ùØ
ÀYªºÀÉ®×¡C©Ò¥H¦pªG±z¦b /dev ¤º§ä¤£¨ì¥¦­Ì®É½Ð¤£­nÄ±±oÅå³Y¡C

·í¤@­Ó PCMCIA ¤A¤Óºô¸ô¥d³Q°»´ú¨ì®É¡A¥¦·|³Q«ü©w¬°²Ä¤@­Ó¥i¥Îªº¤¶­±¥d
¦W¦r¡A     ³q±`¬°     {\ttfamily eth0}¡C     {\ttfamily Cardmgr}      ©R¥O·|°õ¦æ
{\ttfamily /etc/pcmcia/network} ¤â½Z¨Ó«Øºc¥¦ªº¤¶­±¡C

½Ð¤Å±N±zªº PCMCIA ¤A¤Óºô¸ô¥d«Øºc¦b {\ttfamily /etc/rc.d/rc.inet1}  ¤º
¡A¦]¬°·í³o­Ó¤â½Z³Q°õ¦æ®É¤]³\¥d¤ù¨Ã¤£¦b´¡¼ÑùØ¡C ¦b {\ttfamily rc.inet1} ¤º
°£¤F¦^Âkªº¶µ¥Ø¤§¥~¡A    ¨ä¥¦ªº©R¥O¦C½Ð±N¥L­Ìµù¸Ñ±¼¡C    ¦Ó¥t¥~­×§ï
{\ttfamily /etc/pcmcia/network.opts}         ¨Ó°t¦X±zªº¥»¦aºô¸ô³]©w¡C
{\ttfamily network} ©M {\ttfamily network.opts} ¤â½Z¥u¦³¦b±zªº¤A¤Óºô¸ô¥d¦s¦b®É¤~
·|³Q°õ¦æ¡C    ¦pªG±zªº¨t²Î¦³¦Û°Êºô¸ô«Øºcµ{¦¡¡A    ¥¦¤]³\¬O¤]³\¤£¬O
PCMCIA-aware¡C ½Ð±q±zªº Linux ¨ÑÀ³ª©¥»ªº¤å¥ó¤¤¬d¬Ý¬Ý¬O§_ PCMCIA ºô
¸ô³]³Æ¬O§_»Ý­n¨Ï¥Î¦Û°Ê¤Æ¤u¨ã¨Ó«Øºc©Î¥u»Ý½s¿è  {\ttfamily network.opts} §Y
¥i¡C

¶Ç¨ì {\ttfamily network.opts}  ªº³]³Æ¦ì§}¤¤¥]§t¤F¥|­Ó¥H³r¸¹¨Ó¤À¶}ªºÄæ¦ì¡G
scheme¡B´¡¼Ñ¸¹½X¡B³]³Æ´£Ä³¤Î¥d¤ùµwÅéªº¤A¤Óºô¸ô¦ì§}¡C³]³Æ´£Ä³¬O¥Î¨Ó
µ¹¦³³\¦hºô¸ô¤¶­±ªº¥d¤ù¨ú¸¹½X¤§¥Î¡A³q±`¬° 0¡C¦pªG±z¦³³\¦h¤£¦P¨Ï¥Î¥Ø
¦aªº¥d¤ù®É¡A¥t¤@«ö·Ó´¡¼Ñ¦ì¸m¦Ó«Øºcªº¿ï¶µÀ³¸Ó³Q³]©w¡A¦p¦P¦b¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,0,*,*)
    # definitions for network card in socket 0
    ;;
*,1,*,*)
    # definitions for network card in socket 1
    ;;
esac
\end{verbatim}
\end{tscreen}


©Î¬O¡A¥¦­Ì¥i¯à³Q¥H¦Û¤vªºµwÅé¦ì§}³Q«Øºc¡A¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,*,*,00:80:C8:76:00:B1)
    # definitions for a D-Link card
    ;;
*,*,*,08:00:5A:44:80:01)
    # definitions for an IBM card
esac
\end{verbatim}
\end{tscreen}





\subsubsection{ºô¸ô³]³Æ°Ñ¼Æ}

 ¥H¤Uªº°Ñ¼Æ¥i¦b {\ttfamily network.opts}¤º³Q¨Ï¥Î¡G

\begin{description}
\item[{\ttfamily IF\_PORT}] \mbox{}

«ü©w¤A¤Óºô¸ô¦¬µo¾¹Ãþ«¬¡A  ³o¬O°w¹ï¨º¨ÇµLªk¦Û°Ê°»´úªº¥d¨Ï¥Î¡C  ½Ð¬Ý
``{\ttfamily man ifport}'' ¤º¦³¦¬µo¾¹¦WºÙ¡C

\item[{\ttfamily BOOTP}] \mbox{}

¥¬ªL  (y/n)  ³]©w¡G ªí¥Ü¬O§_¥D¾÷ªº  IP  ¦ì§}©M¤À¸ô¸ê°T¬O§_¥i¥H¸g¥Ñ
BOOTP ¨ó©w¨ÓÀò¨ú¡C

\item[{\ttfamily IPADDR}] \mbox{}

«ü©wIP¦ì§}¡C

\item[{\ttfamily NETMASK}, {\ttfamily BROADCAST}, {\ttfamily NETWORK}] \mbox{}

°ò¥»ºô¸ô°Ñ¼Æ¡G ½Ð°Ñ¾\ networking HOWTO

\item[{\ttfamily GATEWAY}] \mbox{}

µ¹¥D¾÷ªº¤lºô¸ô¨Ï¥Îªº³q°T¹h IP ¦ì§}¡C¥u­n¬O¦b³o­Ó¤lºô¸ô¥H¥~ªº«Ê¥]³£
·|³QÂà¨ì³o­Ó¹h¹D¡C

\item[{\ttfamily DOMAIN}] \mbox{}

µ¹¥D¾÷ªººô¸ô domain name¡A³Q¥Î¨Ó«Ø¥ß {\ttfamily /etc/resolv.conf}¡C

\item[{\ttfamily DNS\_1}, {\ttfamily DNS\_2}, {\ttfamily DNS\_3}] \mbox{}

¥D¾÷¦WºÙ©Î¬O    IP    ¦ì§}µ¹³o­Ó¤¶­±ªº     nameservers¡A    ³Q¥[¨ì
{\ttfamily /etc/resolv.conf}¤º¡C

\item[{\ttfamily MOUNTS}] \mbox{}

A
µ¹³o­Ó¤¶­±¨Ï¥Î¨Ó°µ  NFS ±¾¤JÂIªº¦Cªí¡C

\item[{\ttfamily IPX\_FRAME}, {\ttfamily IPX\_NETNUM}] \mbox{}

¹ï IPX ºô¸ô: frame  type  ¤Îºô¸ô¸¹½X±N³Q¶Ç¿é¨ì  {\ttfamily ipx\_interface}
©R¥O¤W¡C

\end{description}


¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,*,*,*)
    IF_PORT="10base2"
    BOOTP="n"
    IPADDR="10.0.0.1"
    NETMASK="255.255.255.0"
    NETWORK="10.0.0.0"
    BROADCAST="10.0.0.255"
    GATEWAY="10.0.0.1"
    DOMAIN="domain.org"
    DNS_1="dns1.domain.org"
    ;;
esac
\end{verbatim}
\end{tscreen}


­Y·Q¦Û°Ê±¾¤W©Î¨ø¤Uºô¸ôÀÉ®×¨t²Î¡A­º¥ý±NÀÉ®×¨t²Î¥[¨ì {\ttfamily /etc/fstab}
¤º¡A¦b±¾¤W¿ï¶µ¤W¥[¤W {\ttfamily noauto}¡C ¦b {\ttfamily network.opts} ¤º
¨Ï¥Î  {\ttfamily MOUNTS}   ÅÜ¼Æ¦C©úÀÉ®×¨t²Îªº±¾¤JÂI¡C  ³o¯S§O¬O¦b¨Ï¥Î
{\ttfamily cardctl} ©Î {\ttfamily cardinfo} ©R¥O¨ÓÃö³¬·íºô¸ôÀÉ®×¨t²Î¬O¥Î³o­Ó¤èªk
«Øºc¦Ó±¾¤Wªººô¸ô¥d®É¡C¦pªG¦b¨S¹wÄµ¤Uºô¸ô¥d³Q²¾¥X®É¡A¬OµLªk§¹¥þ¦a¨ø
¤Uºô¸ôÀÉ®×¨t²Îªº¡C

°£¤F¤@¯ëªººô¸ô«Øºc°Ñ¼Æ¤§¥~¡A{\ttfamily network.opts} ¤â½Z¥i¥Î¨Ó¦b¤¶­±¤w¸g
³Q«Øºc°_«á©Î³QÃö³¬«á°µ¥t¥~ªº°Ê§@®É¨Ï¥Î¡C ¦pªG {\ttfamily network.opts} ©w
¸q¤F¤@­Ó¥s {\ttfamily start\_fn} ªº©R¥O¼h¥\¯à©I¥s¡A ·í¤¶­±³Q«Øºc«á¥¦·|³Qºô
¸ô¤â½Z©Ò±Ò¥Î¡A¦Ó¤¶­±¦WºÙ±N·|³Q¶Ç°e¨ì³o­Ó¥\¯à¨ç¼Æ°µ¬°²Ä¤@­Ó°Ñ¼Æ¡]¤]
¥u¦³³o­Ó¡^¡C¬Û¦P¦a¡A¦pªG {\ttfamily stop\_fn} ³Q©w¸q¤F¡A¨º»ò¥¦·|¦bÃö³¬¤@­Ó
¤¶­±«e³Q±Ò¥Î¡C

¦¬µo¾¹Ãþ«¬¥i¥H¥Î {\ttfamily IF\_PORT} ¨Ó³]©w¡C¥¦¥i¥H¬O PCMCIA ¤§«eª©¥»ªº¼Æ
­Èªí¥Ü©Î¬OÃÑ§O¦¬µo¾¹ªºÃöÁä¦r¡C©Ò¦³ªººô¸ôÅX°Êµ{¦¡¾¨¥i¯à±N¥¦³]©w¬°¦Û
°Ê°»´ú¡]¦pªG¥i¯àªº¸Ü¡^¤¶­±©Î¬O 10baseT ªº¡C {\ttfamily ifport} ©R¥O¥i¥Î¨Ó
ÀË¬d©Î³]©w¥Ø«eªº¦¬µo¾¹Ãþ«¬¡A¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
# ifport eth0 10base2
# 
# ifport eth0
eth0    2 (10base2)
\end{verbatim}
\end{tscreen}


¥Ø«eªº 3c589 ÅX°Êµ{¦¡ª©¥»·|¦Û°Ê°»´úºô¸ôªº³sµ²¡A ¦ýÁÙµLªk§¹¥þµo´§¥¦
ªº¥\¯à¡C­Y·Q¥H¦Û°Ê°»´ú¨Ó¤u§@¡A¦bºô¸ô¥d³Q«Øºc«eºô¸ô½uÀ³¸Ó¬O¤w³s±µµÛ
ºô¸ô¥d¤Wªº¡C­n¤£µM¡Aµ¥ºô¸ô±µ¦n«á¡A±z¥i¥H¤U¦C©R¥O­¢¨ÏÅX°Êµ{¦¡ÀË¬d³s
µ²¡G

\begin{tscreen}
\begin{verbatim}
ifconfig eth0 down up
\end{verbatim}
\end{tscreen}





\subsubsection{¯S©w¥d¤ùªºµû»y}



\begin{itemize}
\item ¨Ï¥Î IBM CCAE ©M Socket EA ¥d¦bºô¸ô³]³Æ³Q«Øºc®É¡A ±z»Ý¬D­Ó±µ¦¬¾¹Ãþ
«¬ (10base2¡B10baseT¡BAUI)¡A¨Ã½T»{¦b±zªº¨t²Î¤é»x¤W©Ò°O¿ýªº±µ¦¬¾¹»P
±z©Ò³sµ²ªº¬Û¦P¡C
\item µ¹ SMC¡BMegahertz¡B Ositech ¤Î 3Com ¥d¤ùªºÅX°Êµ{¦¡À³¸Ó·|¦Û°Ê°»´ú³s
±µµÛªººô¸ôÃþ«¬  (10base2   ©Î  10baseT) ¡C  ·íÅX°Êµ{¦¡³Q¸ü¤J®É·|³]
©w¦¬µo¾¹Ãþ«¬¨Ó­q©w¸q¥d¤ùªº ``²Ä¤@¦¸²q·Q''¡C
\item Farallon EtherWave ¨Æ¹ê¤W¬O©M 3Com 3c589 ¬Û¦Pªº¡A ¦ý¦³­Ó¯S®íªº¦¬µo
¾¹¡C ÁöµM EtherWave ¨Ï¥Î 10baseT Ãþªº³s±µ¤è¦¡¡A ¦ý¥¦ªº¦¬µo¾¹»Ý­n§â
3c589 «Øºc¦¨ 10base2 ¼Ò¦¡¡C
\item ¦pªG±z¨Ï¥Î IBM CCAE¡BNE4100¡B Thomas Conrad ©Î Kingston ¤¶­±¥d®É¹J
¨ì°ÝÃD¡A ½Ð¸ÕµÛ¦b {\ttfamily pcnet\_cs} ¼Ò²Õ¤ºªº {\ttfamily mem\_speed=\#} ¿ï¶µ
¼W¥[°O¾ÐÅé¦s¨ú®É¶¡¡C¦b¼Ð·Çªº {\ttfamily config.opts} ÀÉ®×¤º¦³­Ó±Ð§A¦p¦ó°µ
ªº½d¨Ò¡C½Ð¸Õ¬Ý¬Ý³t«×¦b 1000 ns(©`¬í)¥H¤W¡C
\item New Media ¤A¤Óºô¸ô¥d¦b±µ¨ì¬Y¨Ç¨t²Î¤W®É¡A¥i¯à»Ý­n¦b {\ttfamily pcmcia\_core}
¼Ò²Õ³Q¸ü¤J®É¡A ¥H {\ttfamily io\_speed=\#} ¿ï¶µ¨Ó¼W¥[ IO °ðªº¦s¨ú®É¶¡¡C
¦b±Ò°Ê¤â½Zªº {\ttfamily CORE\_OPTS}  ¿ï¶µ¥i¥H³]©w¥¦¡C
\item New Media ¤A¤Óºô¸ô¥dÅX°Êµ{¦¡ªº¦h¤u¶Ç¼½¤ä´©¨Ã¤£§¹¾ã¡C³Ì·sªºÅX°Êµ{¦¡
ª©¥»¥i»P¦h¤u¶Ç¼½®Ö¤ß¤@°_¨Ï¥Î¡A¦ý·|²¤¹L¦h¤u¶Ç¼½«Ê¥]¡C¤£³W«h¼Ò¦¡À³¸Ó
¥i¥H¤u§@¥¿±`¤F¡C
\item µ¹ IBM ¤Î 3Com token ring ¥dªºÅX°Êµ{¦¡¦b¥d¤ù©|¥¼±µ¤W¤@­Ó ring ¤W®É
´N°µªì©l¤Æ¬O·|¦³ÂI°ÝÃD¡C©Ò¥H½Ð¤@©w°O±o¦b¶}¾÷«e¤@©w­n§â³o¨Ç¥d¤ù©M
ºô¸ô³s±µ¦b¤@°_¡C ³o­ÓÅX°Êµ{¦¡¤]»Ý­nªÅ¸mªº IO °ð¦b 0xa20-0xa27 ½d³ò
¤º¡C¦b¦³¨Ç¨t²Î¤W¡A¦Û°Ê IO °ð½Ä¬ðÀË¬d¾¹·|¿ù»~¦a§P©w»¡³o­Ó°ð½d³ò¨Ã¤£
¬OªÅ¸mªº¡C   ¹J¨ì³oºØ±¡ªp¡A  §Ú­Ì¥i¥H§â°ðÀË¬d¾¹µ¹Ãö³¬±¼¡C   ¥u­n¦b
¸ü¤J {\ttfamily pcmcia\_core} ¼Ò²Õ®É³]©w {\ttfamily probe\_io=0}§Y¥i¡C
\item Newer Linksys ¤Î D-Link ªº¥d¤ù¦³­Ó¯S®íªº¿ï¾Ü¦¬µo¾¹¤è¦¡¡A¥Ø«eÁÙ¤£³Q
Linux ªºÅX°Êµ{¦¡©Ò¯à±±¨î¡C ¥u¦³¤@­ÓÅÜ³qªº¤èªk¬O¥H DOS ¶}¾÷¨Ã¨Ï¥Î¼t
°Ó©Ò¥Iªº¤½¥Îµ{¦¡¨Ó¿ï¾Ü¦¬µo¾¹«á¡A¦A·x¶}¾÷¶i¨ì Linux ùØ¡C §Ú²{¦b¤]¥¿
¦b´M§ä­º¦¸ªº´ú¸ÕªÌ¨Ï¥Î Linux ªº¤½¥Îµ{¦¡¨Ó°µ¨ì³o¨Ç¥\¯à¡C
\item ¹ï WaveLAN µL½uºô¸ô¥d¨Ó»¡¡AJean Tourrilhes ({\ttfamily jt@hplb.hpl.hp.com})
¼g¤F¤@½gµL½uªº  (³]³Æ  )  wireless   HOWTO  ©ñ¦b  \nameurl{http: //www-uk.hpl.hp.com/people/jt/Linux/Wavelan.html}{} ¤º¡C
\end{itemize}





\subsubsection{¶EÂ_ºô¸ô¥dªº°ÝÃD}



\begin{itemize}
\item ±zªº¥d¤ù¦³³Q¿ëµø¦¨¤A¤Óºô¸ô¥d¶Ü? ½Ð¬d¬Ý¨t²Î¤é»x¨Ã½T»{  {\ttfamily cardmgr}
¤w¥¿½T¦a¿ëµø¤F³o±i¥d¡A¦Ó¥B¤w±Ò°Ê¤F¤@ºØºô¸ôÅX°Êµ{¦¡¤F¡C¦pªG¨S¦³¡A±z
ªº¥d¤ù¤]¥i¯àÁÙ¬O¥i¥H¨Ï¥Î¡A¥u­n¥¦»P¥ô¤@ºØ³Q¤ä´©ªº¥d¤ù¬Û®eªº¸Ü¡C¥u­n
¬O³o¥d¤ù¬O»P NE2000 ¬Û®eªº¥d¤ù³£¥i¥H°µ¨ì¡C
\item ¥d¤ù¦³§´·í¦a³Q«Øºc¤F¶Ü?   ¦pªG§A¨Ï¥Îªº¬O³Q¤ä´©ªº¥d¤ù¡A  ¦Ó¥B¥¦¤w³Q
{\ttfamily cardmgr}©Ò¿ëµø¤F¡A¦ý¥¦ÁÙ¬OµLªk¤u§@¡A³o¥i¯à¬O¦]¬°¥¦»P¨ä¥Lªº³]³Æ
µo¥Í´¡Â_©Î°ðªº½Ä¬ð¤F¡C½Ð¬d©ú³o±i¥d¤ù¨Ï¥Î¤F¶Ü¨Ç¸ê·½ (±q¨t²Î¤é»xùØ§ä
)¡A µM«á¸ÕµÛ¦b {\ttfamily /etc/pcmcia/config.opts} ¤º§â³o¨Çµ¹±Æ°£±¼¨Ó
­¢¨Ï¥d¤ù¨Ï¥Î¨ä¥Lªº¸ê·½¡C
\item ¦pªG§Aªº¥d¤ù¦ü¥G¤w§´·í¦a«Øºc¤F¡A¦ý¦³®É­ÔÁÙ¬O·|Âê¦º¤£¯à°Ê¡A¤×¨ä¬O¦b
°ª­t¸ü®É¡A§A¥i¯à»Ý­n¸ÕµÛ§ïÅÜ§Aªº´¡¼ÑÅX°Êµ{¦¡ªº¤À®É°Ñ¼Æ¡C¸Ô²Ó¸ê®Æ½Ð
¬Ý \ref{timing} {(2.3)} ³o³¹¡C
\item ·í§A¦b¦s¨úºô¸ô¨Ï¹J¨ì¹³ ``network unreachable'' ³oÃþªº°T®§¡A ¥i¯à¬O
§A¦b {\ttfamily /etc/pcmcia/network.opts} ¦³³]©w¿ù»~ªº¦a¤è¡C ¥t¥~¡A¿ù
»~¦a«Øºcªº¥d¤ù³q±`·|¦wÀR¦aµo¥Í°ÝÃD¡C
\item ­n¶E¬d¦b {\ttfamily /etc/pcmcia/network.opts} ¤ºªº¿ù»~¡A ¶}©l½Ð¥ý¸ÕµÛ
¥H¥¦­Ìªº IP ¦ì§}¨Ó ping ¦P¤@¦¸ºô¸ôªº¨ä¥L¨t²Î¡CµM«á¸ÕµÛ ping §Aªº¹h
¹D¡AµM«á¨ä¥L¦¸ºô¸ô¤º¾÷¾¹¡C¦b¸Õ§¹³o¨Ç¸ûÂ²³æªº´ú¸Õ«á¡A¦A¥H¾÷¾¹ªº¦W¦r
¨Ó Ping¡C
\item ½Ð­n½T»{§Aªº°ÝÃD¯uªº­Ó  PCMCIA  ªº°ÝÃD¡C §A¥i¥H¦b DOS ¤U¥H¼t°Ó¨ÑÀ³
ªºÅX°Êµ{¦¡¨ÓÅX°Ê¬Ý¬Ý¬O§_¥i¥H¤u§@¡A³o¼Ë±N¦³§U©ó§PÂ_¡C¨Ã¦A¦¸½ÆÀË§A¹ï
{\ttfamily /etc/pcmcia/network.opts} ¤â½Z¤ºªº¥ô¦ó­×§ï¡C¨Ã½T»{§AªºÆl½u
¡B``T'' ±µÀY¡B²×ºÝ¹qªý¾¹µ¥µ¥ªº¤¸¥ó³£¥i¥¿±`¤u§@¡C
\end{itemize}





\subsection{PCMCIA ¦ê¦C»P¼Æ¾Ú¾÷³]³Æ}

Linux ªº¦ê¦C³]³Æ³£¬O³Q¸g¥Ñ {\ttfamily /dev/cua*} ©M {\ttfamily /dev/ttyS*}
¯S®í³]³ÆÀÉ®×¨Ó°µ¨ú¥Î¡C {\ttfamily ttyS*} ªº³]³Æ³Q¨Ï¥Î¦b¶i¨Óªº³s±µ¡A¨Ò¦pª½
±µ¦a³s±µ²×ºÝ¾÷¡C{\ttfamily cua*} ªº³]³Æ³Q¨Ï¥Î¦b©¹¥~ªº³s±µ¡A¤ñ¦p»¡¼Æ¾Ú¾÷¡C
¦Ó¨C¤@­Ó¹êÅé¦ê¦C°ð³£¦U¦³ {\ttfamily ttyS} ©M {\ttfamily cua} ¨â­Ó³]³ÆÀÉ¡G ­n¨Ï¥Î
­þ­Ó¾A·íªº³]³Æ¨ì§AªºÀ³¥Î¤W³£¥Ñ±z¨Ó¨M©w¡C

¹ï©ó¦ê¦C³]³Æªº«Øºc¡A±z¥i¨Ï¥Î {\ttfamily setserial} ©R¥O¨ÓÀË¬d»P­×§ï¡C

·í¤@­Ó PCMCIA ¦ê¦C¥d©Î¼Æ¾Ú¥d³Q°»´ú¨ì®É¡A¥¦·|³Q«ü©w¦¨¬°²Ä¤@­Ó¥i¥Îªº
¦ê¦C³]³Æ¡C³q±`¬O {\ttfamily /dev/ttyS1} ({\ttfamily cua1}) ©Î {\ttfamily /dev/ttyS2}
({\ttfamily cua2}) ¡A³o§¹¦¨¬Ý­ì¤w¤º«Øªº¦ê¦C°ð¼Æ¥Ø¡C  {\ttfamily ttyS*} ³]³Æ·|³Q
³ø§i¦b   {\ttfamily /var/run/stab}    ¤º¡C   ­ì¤º©wªº¦ê¦C³]³Æ¿ï¶µ¤â½Z
{\ttfamily /etc/pcmcia/serial.opts} ·|±N¤§³sµ²¨ì¬Û¹ïÀ³ªº {\ttfamily cua*} ³]
³ÆÀÉ®×¦¨¬° {\ttfamily /dev/modem}¡C³o¼Ë´N«Ü«K§Q¤F¡C

½Ð¤Å¨Ï¥Î {\ttfamily /etc/rc.d/rc.serial} ¨Ó«Øºc PCMCIA ¼Æ¾Ú¾÷¡C³o­Ó¤â
½ZÀ³¸Ó¥u¯à³Q¥Î¨Ó«Øºc¨º¨Ç«D¥i²¾°Êªº³]³Æ¡C¦pªG§A·Q­n³]©w§Aªº¼Æ¾Ú¾÷¨Ó
°µ¥ô¦ó¯S§Oªº°Ê§@®É¡A½Ð­×§ï {\ttfamily /etc/pcmcia/serial.opts} ³o­Ó¤â
½Z¡C ¥t¥~¡A ¤]½Ð¤Å¨Ï¥Î {\ttfamily setserial} ¨Ó§ïÅÜ PCMCIA ¦ê¦C³]³Æªº³]³Æ
IO °ð©M´¡Â_³]©w¡C ³o¼Ë°µ¥u·|§i¶D¦ê¦CÅX°Êµ{¦¡¨ì¤£¹ïªº¦a¤è´M§ä¦ê¦C³]
³Æ¡A¦ý¤£·|§ïÅÜ¥d¤ùµwÅé¤è­±¯u¥¿³Q«Øºcªº¨Æ¹ê¡C¦ê¦C«Øºc¤â½Z¤¹³\±z«ü©w
¨ä¥Lªº {\ttfamily setserial}  ¿ï¶µ¡A ¥H¤Î¬O§_±z¸Ó¦b {\ttfamily /etc/inittab}
¤º¬°³o­Ó°ð¥[¤@¦æ³]©w¡C

§Ö¶Ç°e¨ì {\ttfamily serial.opts} ªº³]³Æ¦ì§}¦@¦³¤T­Ó¥Ñ³rÂI©Ò¤À¶}ªºÄæ¦ì¡G²Ä
¤@¬O scheme¡B ²Ä¤G¬O´¡¼Ñ¸¹½X¥H¤Î²Ä¬O  device instance¡C The device
instance ·|¬°¤ä´©¦h¦ê¦C°ðªº¥d¿ï¥Î¦h­Ó¼Æ¾Ú¡A¦ý¹ï©ó³æ¤@°ð¥d¨Ó»¡¡A ¥¦
¥Ã»·³£¬O¹s¡C ¦pªG§A±`¨Ï¥Î¤£¥u¤@­Óªº PCMCIAl ¼Æ¾Ú¾÷¡A§A¥i¯à»Ý­n°w¹ï
¦U§O´¡¼Ñ¤ºªº¼Æ¾Ú¾÷°µ¤£¦Pªº³]©w¡C¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,0,*)
    # Options for modem in socket 0
    LINK=/dev/modem0
    ;;
*,1,*)
    # Options for modem in socket 1
    LINK=/dev/modem1
    ;;
esac
\end{verbatim}
\end{tscreen}


¦pªG PCMCIA ¼Æ¾Ú¥d¦b Linux ±Ò°Ê®É§Y³Q«Øºc¦n¤F¡A ¨º¥¦¥i¯à¤w³Q¿ù»~¦a
³Q¿ëÃÑ¦¨¬°¤@¯ëªº¤º«Ø¦ê¦C°ð¤F¡C³oÁöµMµL®`³B¡A¦ý¬O¡A·í PCMCIA ÅX°Êµ{
¦¡±µ¤â¨Ó±±¨î¼Æ¾Ú¾÷®É¡A ¥¦·|³Q«ü¬£¦¨¤£¤@¼Ëªº³]³Æ´¡¤Õ¡C ³Ì¦n¬O parse
{\ttfamily /var/run/stab}   ©Î¨Ï¥Î  {\ttfamily /dev/modem}¡A  ¦Ó¤£¬O´Á±æ
PCMCIA ¼Æ¾Ú¾÷Á`¬O³Q«ü¬£¦¨¬Û¦Pªº³]³Æ¡C

¦pªG§A«Øºc§Aªº®Ö¤ß¨Ó¸ü¤J°ò¥»ªº  Linux ¦ê¦C°ðÅX°Êµ{¦¡¦¨¬°¤@­Ó¼Ò²Õ¡A
§A¥²¶·½s­× {\ttfamily /etc/pcmcia/config} ¨Ó«ü¥X¸Ó¼Ò²Õ¥²¶·³Q¸ü¤J¡C ½s
­×¦ê¦C³]³Æ¨º¦C¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
device "serial_cs"
  class "serial" module "misc/serial", "serial_cs"
\end{verbatim}
\end{tscreen}





\subsubsection{¦ê¦C¸Ë¸m°Ñ¼Æ}

¥H¤Uªº°Ñ¼Æ¥i¥HÓ³ {\ttfamily serial.opts}¤º³Q©w¸q¡G
\begin{description}
\item[{\ttfamily LINK}] \mbox{}

¬°²Å¸¹³sµ² (symbolic  link)«ü©w­Ó­n³Q«Ø¥ßªº¸ô®|  ``dialout''  ©Î¬O
{\ttfamily /dev/cua*} ³]³Æ¡C

\item[{\ttfamily SERIAL\_OPTS}] \mbox{}

«ü©w¦³­þ¨Ç¿ï¶µ±N³Q¶Ç°e¨ì {\ttfamily setserial} ©R¥O¡C

\item[{\ttfamily INITTAB}] \mbox{}

¦pªG¦³«ü©wªº¸Ü¡A¥¦±N³Q¥Î¨Ó¦b {\ttfamily inittab} ¤¤¬°¸Ó³]³Æ«Ø¥ß¤@­Ó±ø¥Ø¡C

\end{description}


¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,*,*,*)
    LINK="/dev/modem"
    SERIAL_OPTS=""
    INITTAB="/sbin/getty"
\end{verbatim}
\end{tscreen}





\subsubsection{¶EÂ_¦ê¦C³]³Æªº°ÝÃD}



\begin{itemize}
\item ±zªº¥d³Q»{¬°¬O­Ó¼Æ¾Ú¾÷¶Ü? ½ÐÀË¬d¨t²Î¤é»x¨Ã½T»{ {\ttfamily cardmgr} ¦³¥¿½T
¦a¿ëÃÑ¤F³o±i¥d¡A¨Ã¥B±Ò°Ê¤F {\ttfamily serial\_cs} ÅX°Êµ{¦¡¡C¦pªG¨S¦³¡A§A¥i
¯à»Ý­n¦b§Aªº {\ttfamily /etc/pcmcia/config}  ÀÉ®×¤¤¥[¤J¤@±øÀ³¸Ó³Q¾A·í
¦a¿ëÃÑªº±ø¥Ø¡C²Ó¸`½Ð¬Ý³¹¸` \ref{new-card} {(3.6)}¡C
\item ¼Æ¾Ú¥d¦¨¥\¦a³Q serial\_cs ©Ò«Øºc¤F¶Ü? ¦A¨Ó¤@¦¸¡A ½ÐÀË¬d¨t²Î¤é»x¡A¦A
¬Ý¬Ý±q      serial\_cs       ÅX°Êµ{¦¡©Ò¥X¨Óªº°T®§¡C      ¦pªG§A¬Ý¨ì
``register\_serial() failed''¡A §A¥i¯à¹J¨ì¤F I/O °ð»P¨ä¥L³]³Æ¬Û½Ä¬ð
¤F¡C ¥t¥~¤@­Ó±¡³ø¬O¡A ¦pªG³o­Ó³]³Æ³Q³ø§i»¡¬O­Ó 8250;  ¤j³¡¥÷²{¦bªº
PCMCIA ¼Æ¾Ú¥dÀ³¸Ó¬O³Q¿ëµø¦¨ 16550A UART Ãþ«¬ªº¡C¦pªG±zÄ±±o¹J¤W¤F¤@
­Ó°ð½Ä¬ð¤F¡A½Ð½s­× {\ttfamily /etc/pcmcia/config.opts} §â³Q°t¸mµ¹¼Æ¾Ú
¥dªº°ð½d³òµ¹±Æ°£¡C
\item ¹J¤W¤F´¡Â_½Ä¬ð¶Ü? ¦pªG¨t²Î¤é»x¬Ý¦ü«Ü¦n¡A¦ý¼Æ¾Ú¥d´N¬O¦n¹³¤£¯à¤u§@¡A
½Ð¸Õ¸Õ¥Î {\ttfamily setserial} ¨Ó§â irq §ï¦¨ 0¡A ¦A¬Ý¬Ý¼Æ¾Ú¾÷¬O§_¥i¥H¤u§@
¤F¡C³o¼Ë·|Åý¦ê¦CÅX°Êµ{¦¡¨Ï¥Î¤@­ÓºC¤@¨Çªº²¼¿ï¼Ò¦¡¦Ó¤£¨Ï¥Î´¡Â_¨Ó¤u§@
¡C¦pªG³o¼Ë¥i¥H­×¥¿³o­Ó°ÝÃD¡A¨º´N¬O¦b§Aªº¨t²Î¤¤¦³¬Y­Ó¨ä¥Lªº³]³Æ¨Ï¥Î
¤F³Q serial\_cs ©Ò¿ï¥Îªº´¡Â_¦b¤u§@µÛ¡C§AÀ³¸Ó¦b {\ttfamily /etc/pcmcia/config.opts}
¤¤¥[¤@¦æ©R¥O±N³o­Ó´¡Â_µ¹±Æ°£±¼¡C
\item ¦pªG¼Æ¾Ú¾÷¦n¹³¥u¯àºCºC¦a¤u§@¡A³o´N«Ü©úÅã¦a¬O­Ó´¡Â_½Ä¬ðªº°ÝÃD¤F¡C
\item ½Ð½T»{§A©Ò¹J¨ìªº°ÝÃD¯uªº¬O­Ó PCMCIA ªº°ÝÃD¡C¨Ï¥Î­ì¼t°ÓªºÅX°Êµ{¦¡¦b
DOS ¤U¬Ý¬Ý¬O§_¥i¥H¥¿±`¤u§@§Y¥iª¾¹D¡C¥t¥~¡A¦b§A¤w½T©w§A¥i¥H°µÂ²³æªº
³s±µ«e¡A½Ð¤£­n¨Ï¥Î§ó½ÆÂøªº¤è¦¡¨Ó´ú¸Õ¡A¤ñ¦p»¡ SLIP ©Î PPP¡C¦pªGÂ²³æ
ªº³s±µ¥¿±`¦ý¨Ï¥Î SLIP ®É«o¤£¬O¡A§Aªº°ÝÃDÀ³¸Ó´N¬O¥X¦b SLIP ¤W¡A¦Ó¤£
¬O PCMCIA¡C
\item ¦pªG§A±o¨ìµo¦Û®Ö¤ßªº°T®§«ü¥X serial\_cs ¼Ò²ÕµLªk³Q¸ü¤J¡C ¨º´Nªí¥Ü§A
ªº®Ö¤ß¨Ã¤£¤ä´©¦ê¦C³]³Æ¡C¦pªG§A¤w±N¦ê¦CÅX°Êµ{¦¡½sÄ¶¦¨¤@­Ó¼Ò²Õ¤F¡A§A
¥²¶·­×§ï {\ttfamily /etc/pcmcia/config} ¨ÓÅý {\ttfamily serial} ¼Ò²ÕÀ³¸Ó
¦b¸ü¤J {\ttfamily serial\_cs} «e´N³Q¸ü¤J¤F¡C
\end{itemize}





\subsection{PCMCIA SCSI¥d}

¥Ø«e©Ò¦³³Q¤ä´©ªº PCMCIA SCSI ¥d³£¤u§@ªº¹³¤U¦Cªº ISA ¶×¬y±Æ¥dªº¼Ë¤l
¡G Qlogic¡BAdaptec AHA-152X ©Î¬O Future Domain TMC-16x0¡CPCMCIA ÅX
°Êµ{¦¡³Q«Ø¥ß¦¨»P  PCMCIA  ¯S§Oµ{¦¡½X¬Û³sµ²  (¦p {\ttfamily qlogic\_cs.c}¡B
{\ttfamily toaster\_cs.c} ©Î {\ttfamily fdomain\_cs.c}) ¥H¤Î¥¿±`ªº Linux SCSI ÅX°Ê
µ{¦¡¡C

·í¤@­Ó·sªº SCSI ¥D¥d³Q°»´ú¨ì®É¡A SCSI ÅX°Êµ{¦¡·|´M§ä³s±µµÛªº³]³Æ¡C
½ÐÀË¬d¨t²Î¤é»x§Aªº³]³Æ³Q¥¿½T¦a°»´ú¨ì¤F¡C·sªº SCSI ³]³Æ·|³Q«ü©w¬°²Ä
¤@­Ó¥i¥Îªº SCSI ³]³ÆÀÉ¡C²Ä¤@­Ó SCSI µwºÐ¬O {\ttfamily /dev/sda}¡A²Ä¤@
­Ó SCSI  ºÏ±a¾÷¬O  {\ttfamily /dev/st0}¡A ÁÙ¦³¡A ²Ä¤@­Ó  CD-ROM  ·|¬O
{\ttfamily /dev/scd0}¡C

¦b 1.3.X (§t ) ¥H«áªº®Ö¤ßùØ¡APCMCIA ®Ö¤ßÅX°Êµ{¦¡¥i¥H±q¨t²Î®Ö¤ß¤¤§ä
¥X¦³­þ¨Ç SCSI ³]³Æ¦³³s±µ¦b¤¶­±¥d¤W¡C¥¦­Ì·|³Q¦Cªí¦b {\ttfamily /var/run/stab}
¡A ¦Ó SCSI ºc«Ø¤â½Z {\ttfamily /etc/pcmcia/scsi} ¤]·|³Q¨C¤@­Ó³s±µµÛªº
³]³Æ©Ò©I¥s¨Ó«Øºc©ÎÃö³¬¸Ó³]³Æ¡C¤º©wªº¤â½Z¨Ã¤£·|°µ¥ô¦ó«Øºc SCSI ³]³Æ
ªº°Ê§@¡A¦ý¥¦·|§´·í¦a¦b¤¶­±¥d³Q²¾¨«®É¨ø¤U¦b SCSI ³]³Æ¤WÀÉ®×¨t²Î¡C

¦b 1.2.X ®Ö¤ßùØ¡APCMCIA ÅX°Êµ{¦¡µLªk¦Û°Ê¦a±À´ú­þ­Ó³]³Æ³Q¦w¸Ë¦b­þ­Ó
¯S©wªº SCSI ¤¶­±¥d¤W¡CµM¦Ó¡A¦pªG§A¦³¤@­Ó¥¿±`ªº SCSI ³]³Æ¤§«Øºc¡A§A
¥i¥H±N³o¨Ç³]³Æ¦C©ú¦b {\ttfamily /etc/pcmcia/scsi.opts} ¤¤¡C¨Ò¦p¡A¦pªG
§A¥¿±`³£¦³­Ó SCSI ºÏºÐ¥H¤Î¤@­Ó CD-ROM¡A§A¥i¥H¨Ï¥Î¥H¤U¡G

\begin{tscreen}
\begin{verbatim}
# For 1.2 kernels: list of attached devices
SCSI_DEVICES="sda scd0"
\end{verbatim}
\end{tscreen}


³Q¶Ç¨ì {$<$}{\ttfamily scsi.opts} ªº³]³Æ¦ì§}¦³ÂI½ÆÂø¡A ¨º¬O¦]¬°¦³³\¦hºØÃþªºªF
¦è¥i¥H³Q³s±µ¨ì SCSI ¤¶­±¥d¤W¡C³o¨Ç¦ì§}¥]§t¤F¤£¬O 6 ­Ó´N¬O 7 ­Ó¥H³r
¸¹¨Ó¤À¶}ªºÄæ¦ì¸ê®Æ¡G ²{¦bªº¬[ºc¡B³]³ÆºØÃþ¡B´¡¼Ñ¸¹½X¡BSCSI ÀW¹D¡BÃÑ
§O¸¹¡BÅÞ¿è³æ¦ì¸¹½X¡A¥H¤Î¿ï¾Ü©Êªº¤À³Î¸¹½X¡C³]³ÆºØ³Æ¬° ``sd'' «üºÏºÐ
¡B``st'' «üºÏ±a¡B``sr'' «ü CD-ROM ³]³Æ¡A ÁÙ¦³ ``sg'' «ü¤@¯ëªº SCSI
³]³Æ¡C ¤j³¡¥÷ªº³]©w¤¤¡ASCSI ÀW¹DÁÙ¦³ÅÞ¿è³æ¦ì¸¹½X³£³]¬° 0¡C¹ï©ó¦³³\
¦hºÏºÐ¤À³Î°ÏªººÏºÐ³]³Æ¡A{\ttfamily scsi.opts} ·|¥ý³Q¥H 5 ­ÓÄæ¦ìªº¦ì§}©Ò©I
¥s¡C  ³o¤â½ZÀ³¸Ó­n³]¤@­Ó  {\ttfamily PARTS}  ÅÜ¼Æ¨Ó¦C©ú³o¨Ç¤À³Î¡C  µM«á¡A
{\ttfamily scsi.opts} ·|³Q¨C¤@­ÓºÏ°Ï¥H¸ûªøªº 7 Äæ¦ì¦ì§}©Ò©I¥s¨Ï¥Î¡C

¦pªG§Aªº®Ö¤ß¨S¦³°w¹ï¯S©wªº SCSI ³]³Æµ¹¤W¼hÅX°Êµ{¦¡ (ºÏºÐ¡BºÏ±aµ¥ )
¡A¨º»ò³o¨Ç³]³Æ´N¤£·|³Q¡@ PCMCIA ÅX°Êµ{¦¡©Ò«Øºc¡C¦ý¦³­ÓÃä»Ú®ÄÀ³¬O¡A
¸Ó³]³Æªº¦W¦r¦b  {\ttfamily /var/run/stab}  ¤º·|ÅÜ¬°¹³ ``sd\#nnnn''
ªº¦W¦r¡C³o ``nnnn'' ¬O­Ó 4 ­Ó¼Æ¦rªº¤Q¤»¶i¦ì¸¹½X¡C¥u­n {\ttfamily cardmgr}
µLªkÂàÄ¶¤@­Ó SCSI ³]³ÆªºÃÑ§O¸¹½X¨ì¬Û¹ïÀ³ªº  Linux ³]³Æ¦W¦r®É³£·|µo
¥Í³oºØ¨Æ¡C

­n±N¤W¼hªº SCSI ÅX°Êµ{¦¡¼Ò²Õ¤Æ¦¨¥u¦³·í  PCMCIA SCSI ¥d³Q°»´ú¨ì®É¥¦
­Ì¤~·|³Q¸ü¤J¬O¦³¥i¯àªº¡C­n³o»ò°µ¡A§A»Ý­n½s­× {\ttfamily /etc/pcmcia/config}
¨Ó§i¶D {\ttfamily cardmgr} ¦³­þ­Ó¥t¥~ªº¼Ò²Õ¦b¤¶­±¥d³Q«Øºc®É¤]­n±N¥¦¸ü¤J¡C
¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
device "aha152x_cs"
  class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs"
\end{verbatim}
\end{tscreen}


·|¦b¸ü¤J¤@¯ëªº PCMCIA ÅX°Êµ{¦¡¼Ò²Õ«e±N¥D­nªº SCSI ¼Ò²Õ©M¤W¼hªººÏºÐ
ÅX°Êµ{¦¡¼Ò²Õµ¹¸ü¤J¡CPCMCIA «Øºc¤â½Z¤£·|¦Û°Ê¦a°»´ú³Q¼Ò²Õ¤Æ¤Fªº SCSI
¼Ò²Õ¡A©Ò¥H§A¥²»Ý¤â°Ê«Øºc¿ï¶µ¨Ó±N SCSI ¤ä´©ªº¥\¯à¥´¶}¡C

¨C¦¸¦b¶}¾÷±zªºµ§°O«¬¹q¸£«e¥ý±N SCSI ³]³Æ¶}¾÷¡A©Î¬O¦b´¡¤J±±¨î¥d«e¡A
³o¼Ë¤l SCSI ¶×¬y±Æ·|¦b±±¨î¥d³Q«Øºc«á¥¿½T¦a³Q²×¤î¡C¥t¥~ÁÙ­nª`·N©â¥X
SCSI ±±¨î¥d¡C °O±o­n½T»{¦b©â¥X±±¨î¥d«e³Q³s±µµÛªº SCSI ³]³Æ³£³Q¥¿½T
¦a¨ø¤U»PÃö³¬¤F¡C ³Ì¦nªº½T»{¤èªk¬O¦b¹êÅé©â¥X¥d¤ù«e¨Ï¥Î {\ttfamily cardctl}
©Î {\ttfamily cardinfo} ¨Ó­n¨D¥d¤ùªº²¾¥X°Ê§@¡C ´N³o¼Ë¡A©Ò¦³ªº SCSI ³]³Æ¥²
¶·¦b´¡¤W SCSI ±±¨î¥d«e¤w¶}±Ò¤F¹q·½¡A¦Ó¦b§A©â¥X±±¨î¥d©M¡þ©ÎÃö¾÷µ§°O
¹q¸£«e³£¶·­n«O«ùµÛ¥¦­Ì¬O³s±µµÛªº¡C

¨Ï¥Î¤@¯ëªº ISA ¶×¬y±Æ¤¶­±¥d®É¥i¯à·|¦³¼ç¦bªº½ÆÂø©Ê¡A ¤×¨ä¬OµLªk±Ò°Ê
¡C  SCSI ¶×¬y±Æ·f¸ü¤@­Ó¬°¤F¾A·í¦a¨Ï¥Î³Q°Ê¦¡ SCSI ²×ºÝ¾¹©Ò¥²¶·ªº ``
²×ºÝ¹q·½ '' «H¸¹¡CPCMCIA SCSI ¥d¨Ã¤£¨ÑÀ³²×ºÝ¹q·½¡A©Ò¥H¦pªG»Ý­n¸Ó¹q
·½ªº¸Ü¡A´N¥²¶·¥Ñ¥~±µªº³]³Æ¨Ó¨ÑÀ³¥¦¡C¦³¨Ç¥~±µªº SCSI ³]³Æ¥i¥H³Q«Øºc
¦¨¨ÑÀ³³o­Ó²×ºÝ¹q·½¡C¨ä¥Lªº¡A¦p Zip ºÏºÐ¥H¤Î Syquest EZ-Drive¡A¥¦­Ì
¨Ï¥Î¥D°Ê¦¡²×ºÝ¹qªý´N¤£»Ý­n¦p¦¹¤F¡C¦³®É­Ô¡A¥i¯à»Ý­n¨Ï¥Î¤@­Ó¯S§Oªº²×
ºÝ¹qªý¾¹¦p APS SCSI Sentry 2¡A¥¦¦³­Ó¥~±µªº¹q·½¨ÑÀ³¡C ·í±z«Øºc SCSI
³]³Æ¦ê±µ®É¡A½Ðª`·N¬O§_¨ä¤¤¦³¥ô¦óªº³]³Æ»Ý­n©Î¥i¥H´£¨Ñ²×ºÝ¹qªý¹q·½ªº
¡C

Adaptec APA-460 SlimSCSI ¥d¨Ã¤£³Q¤ä´©¡C³o±i¥d­ì¥»¬O¥H Trantor ªº¦W
ºÙ³Q³c½æªº¡A ·í Adaptec ¨ÖÁÊ¤F Trantor «á¡A¥L­Ì¤´Ä~Äò¥H Adaptec ªº
°Ó¼Ð¨Ó½æ Trantor ªº¥d¡A¤Ï¥¿¡AAPA-460 ¤£³Q²{¦³ªº¥ô¦ó¤@ Linux ÅX°Êµ{
¦¡©Ò¬Û®e¡C

§Ú¤£½T©w­n¼g­ÓÅX°Êµ{¦¡·|¦³¦hÃø¡A §Ú¤£»{¬°¦³¥ô¦ó¤H¥i¥H±q Adaptec ¨º
¨à®³¨ì§Þ³N¸ê°T¡C

(¥¼³Q¤ä´©ªº ) Trantor SlimSCSI ¥i¥Î¥H¤U¤èªk³QÃÑ§O¡G

\begin{tscreen}
\begin{verbatim}
Trantor / Adaptec APA-460 SlimSCSI
FCC ID: IE8T460
Shipped with SCSIworks! driver software
\end{verbatim}
\end{tscreen}


(¥¼³Q¤ä´©ªº) Adaptec SlimSCSI ¥i¥Î¥H¤U¤èªk³QÃÑ§O¡G

\begin{tscreen}
\begin{verbatim}
Adaptec APA-1460 SlimSCSI
FCC ID: FGT1460
P/N: 900100
Shipped with EZ-SCSI driver software
\end{verbatim}
\end{tscreen}





\subsubsection{SCSI  ³]³Æªº°Ñ¼Æ}

¥H¤Uªº°Ñ¼Æ¥i¥H³Q©w¸q¦b {\ttfamily scsi.opts}¤º¡G
\begin{description}
\item[{\ttfamily DO\_FSTAB}] \mbox{}

¥¬ªL (y/n) ³]©w¡G«ü©w¬O§_³o­Ó³]³ÆÀ³¸Ó¦b {\ttfamily /etc/fstab} ¤º¥[­Ó
±ø¥Ø¡C

\item[{\ttfamily DO\_FSCK}] \mbox{}

¥¬ªL (y/n) ³]©w¡G«ü©w¬O§_ÀÉ®×¨t²ÎÀ³¸Ó¦b³Q±¾¤W«e¥H ``{\ttfamily fsck -Ta}''
¨ÓÀË¬d¤@¤U¡C

\item[{\ttfamily DO\_MOUNT}] \mbox{}

¥¬ªL (y/n) ³]©w¡G «ü©w¬O§_³o­Ó³]³ÆÀ³¸Ó¦b¥d¤ù³Q´¡¤Jªº¦P®É³Q¦Û°Ê¦a³Q
±¾¤W¡C

\item[{\ttfamily FSTYPE}, {\ttfamily OPTS}, {\ttfamily MOUNTPT}] \mbox{}

ÀÉ®×¨t²Î«¬ºA¡B ±¾¤W¿ï¶µ¡B¥H¤Î³Q¥Î¨Ó°µ¬° fstab ªº¶µ¥Ø¤Î¡þ©Î±¾¤W¸Ó³]
³Æªº±¾¤WÂI¡C

\end{description}


¨Ò¦p¡A¥H¤U¬O¤@­Ó«Øºc¤@­Ó SCSI ID ¬° 3¡B¦³ 2 ­Ó¤À³Î°ÏªººÏºÐ³]³ÆÁÙ¦³
¤@­Ó SCSI ID ¬° 6 ªº CD-ROM ¤§¤â½Z¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,sd,*,0,3,0)
    # This device has two partitions...
    PARTS="1 2"
    ;;
*,sd,*,0,3,0,1)
    # Options for partition 1:
    #  update /etc/fstab, and mount an ext2 fs on /usr1
    DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
    FSTYPE="ext2"
    OPTS=""
    MOUNTPT="/usr1"
    ;;
*,sd,*,0,3,0,2)
    # Options for partition 2:
    #  update /etc/fstab, and mount an MS-DOS fs on /usr2
    DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
    FSTYPE="msdos"
    OPTS=""
    MOUNTPT="/usr2"
    ;;
*,sr,*,0,6,0)
    # Options for CD-ROM at SCSI ID 6
    PARTS=""
    DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y"
    FSTYPE="iso9660"
    OPTS="ro"
    MOUNTPT="/cdrom"
    ;;
esac
\end{verbatim}
\end{tscreen}





\subsubsection{¶EÂ_SCSI¥dªº°ÝÃD}

\begin{itemize}
\item ¨Ï¥Î {\ttfamily aha152x\_cs} ÅX°Êµ{¦¡ (³Q Adaptec¡B New Media ¥H¤Î¦³¨ÇµP¤l
©Ò¨Ï¥Î )¡A¦ü¥G¦b SCSI ²æÂ÷³s±µ¡þ¦A³s±µ¤ä´©®É¨Ï¥ÎºÏ±a¾÷®É±`·|¦³°ÝÃD
¡C­n±N³o­Ó°ÝÃD¸Ñ°£¡A½Ð¦b {\ttfamily /etc/pcmcia/config.opts} ¤¤¥[¤J¤U
¦C³o¦æ¡G
\begin{tscreen}
\begin{verbatim}
module "aha152x_cs" opts "reconnect=0"
\end{verbatim}
\end{tscreen}
\item ¦pªG§A±N SCSI ¤ä´©½sÄ¶¦¨¼Ò²Õ¤F ({\ttfamily CONFIG\_SCSI} is ``m'')¡A¦b
«Øºc  PCMCIA  ®É¡A §A¥²¶·«ü©w­n§â«Ø¥ß  SCSI  ÅX°Êµ{¦¡¡C §A¤]­n­×§ï
{\ttfamily /etc/pcmcia/config}  ¦b¾A¦Xªº {\ttfamily *\_cs} ÅX°Êµ{¦¡³Q¸ü¤J
«e¸ü¤J SCSI ¼Ò²Õ¡C
\item ¦pªG¦b  SCSI  ¶×¬y±Æ³Q±´´ú¨ì®É¬Ý¨ì   ``aborting   command  due  to
timeout'' °T®§®É¡A¤j³¡¥÷¬O§A¦³­Ó´¡Â_½Ä¬ð¤F¡C
\end{itemize}





\subsection{PCMCIA °O¾Ð¥d}

1tt/memory\_cs/ ÅX°Êµ{¦¡­t³d©Ò¦³«¬ºAªº³]¾Ð¥d¡A ¨Ã¥BÁÙ´£¨Ñ¹ï©ó¨º¨Ç¦³
¨ä¥L¥\¯àªº¥dªº PCMCIA °O¾ÐÅé¦ì§}ªÅ¶¡ª½±µ¦s¨ú¥\¯à¡C·í³Q¸ü¤J®É¡A¥¦«Ø
¥ß¤F¤@­Ó¦r¤¸»P°Ï¶ô³]³Æªº²Õ¦XÅé¡C ½Ð¬Ý³o¼Ò²Õªº man ­¶¤¤¦³­Ó§¹¾ãªº³]
³Æ¨ú¦W³W«hªº´y­z¡C°Ï¶ô³]³Æ³Q¥Î¨Ó°µºÏºÐÃþ«¬ªº¦s¨ú («Ø¥ß©M±¾¤WÀÉ®×¨t
²Îµ¥µ¥ )¡C¦Ó¦r¤¸³]³Æ³Q¥Î¨Ó°µ " ¥¼¥[¤u " ªº¥¼³Q½w½Ä¤§ÀH·N¦ì¸m¤WÅª»P
¼g¡C

³Q¶Ç°e¨ì {\ttfamily memory.opts} ªº³]³Æ¦ì§}¥]§t¤F 2 ­ÓÄæ¦ì¡G ¬[ºc©M´¡¼Ñ¸¹
½X¡C³o­Ó¿ï¶µ³Q©ñ¦b¬Û¹ïÀ³ªº°O¾Ð¥d¤ºªº²Ä¤@­Ó¦@¦P°O¾Ð¤À³Î°Ï¤¤¡C

¦³¨ÇÂÂ«¬ªº°O¾Ð¥d¡A ÁÙ¦³¤j³¡¥÷ªºÂ²³æÀRºA RAM ¥d¡A³£¯Ê¤Ö `` ¥d¤ù¸ê°T
¬[ºc '' (CIS)¡Ae PCMCIA ¥d¥Î¨Ó¿ëµø¥¦­Ì¦Û¤wªº¤@ºØ scheme¡C ¤@¯ë¨Ó»¡
¡A {\ttfamily cardmgr} ·|±N¥ô¦ó¯Ê¤Ö CIS ªº¥d¤ùµø¬°¤@­ÓÂ²³æ°O¾Ð¥d¡A ¨Ã¸ü¤J
{\ttfamily memory\_cs} ÅX°Êµ{¦¡¡C ¦]¦¹¡A¦³­ÓÃä»Ú®ÄÀ³¬O¡A¤@¯ëªºÃÑ§O°ÝÃD¬O¨ä
¥L«¬¦¡ªº¥d¤ù¥i¯à·|¿ù»~¦a³Q°»´ú¬°°O¾Ð¥d¤F¡C

{\ttfamily memory\_cs}   ÅX°Êµ{¦¡¨Ï¥Î¤F  heuristic  ¨Ó²q´ú³o¨Ç¥d¤ùªº®e¶q¡C
heuristic   ¦b¼g¤J«OÅ@ªº¥d¤ù¤W¨ÃµLªk¤u§@¡A  ¦³®ÉÁÙ¦³¥i¯à·|¥X¿ù»~¡C
¦pªG¥d¤ù³Q»~§P¤F¡A·í§A¦b¨Ï¥Î¹³ {\ttfamily dd} ©Î {\ttfamily mkfs} ³o¼Ëªº©R¥O®É¡A
¥¦ªº®e¶qÀ³­n©ú½T¦a³Q«ü©w¡C




\subsubsection{°O¾Ð³]³Æ°Ñ¼Æ}



¤U¦C°Ñ¼Æ¥i¥H©ñ¦b {\ttfamily memory.opts}¤º¡G

\begin{description}
\item[{\ttfamily DO\_FSTAB}] \mbox{}

¥¬ªL (y/n) ³]©w¡G«ü©w¬O§_³o­Ó³]³ÆÀ³¸Ó¦b {\ttfamily /etc/fstab} ¤º¥[­Ó
±ø¥Ø¡C

\item[{\ttfamily DO\_FSCK}] \mbox{}

¥¬ªL  (y/n)  ³]©w¡G  «ü©w¬O§_ÀÉ®×¨t²ÎÀ³¸Ó¦b³Q±¾¤W«e¥H   ``{\ttfamily fsck
-Ta}'' ¨ÓÀË¬d¤@¤U¡C

\item[{\ttfamily DO\_MOUNT}] \mbox{}

¥¬ªL (y/n) ³]©w¡G «ü©w¬O§_³o­Ó³]³ÆÀ³¸Ó¦b¥d¤ù³Q´¡¤Jªº¦P®É³Q¦Û°Ê¦a³Q
±¾¤W¡C

\item[{\ttfamily FSTYPE}, {\ttfamily OPTS}, {\ttfamily MOUNTPT}] \mbox{}

ÀÉ®×¨t²Î«¬ºA¡B ±¾¤W¿ï¶µ¡B¥H¤Î³Q¥Î¨Ó°µ¬° fstab ªº¶µ¥Ø¤Î¡þ©Î±¾¤W¸Ó³]
³Æªº±¾¤WÂI¡C

\end{description}


¥H¤U½d¨Ò·|°w¹ï´¡¤W¥ô¤@´¡¼Ñªº°O¾Ð¥d°µ¦Û°Ê±¾¤W°Ê§@ªº¤â½Z¡G

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,0,0)
    # Mount filesystem, but don't update /etc/fstab
    DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
    FSTYPE="ext2" ; OPTS=""
    MOUNTPT="/mem0"
    ;;
*,1,0)
    # Mount filesystem, but don't update /etc/fstab
    DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
    FSTYPE="ext2" ; OPTS=""
    MOUNTPT="/mem1"
    ;;
esac
\end{verbatim}
\end{tscreen}





\subsubsection{¨Ï¥Î§Ö°{°O¾Ð¥d}

¶Ç¨ì {\ttfamily ftl.opts} ¤ºªº³]³Æ¦ì§}¦³ 3 ©Î 4 ­ÓÄæ¦ì¡G the scheme¡B´¡¼Ñ
¸¹½X¡B°Ï¸¹½X¥H¤Î¥t¥~ªº¿ï¶µ¡A¤À³Î¸¹½X¡C¤j³¡¥÷ªº§Ö°{¥d¥u¦³¤@­Ó§Ö°{°O
¾ÐÅé°Ï¡A©Ò¥H¤j³¡¥÷ªº°Ï¸¹½X³£¬O 0 ªº¡C

­n±N§Ö°{°O¾Ð¥d·í¦¨¤@¯ëªººÏºÐ¨Ó¨Ï¥Î¡A ­º¥ý­n«Ø¥ß \idx{FTL}¡A©Î
``\idx{ §Ö°{ÂàÄ¶¼h¯Å (flash translation layer)}''¡A¥¦¬O¤@­Ó¨Ï
¥Î {\ttfamily ftl\_format} ©R¥O¦b³]³Æ¤W°µ¦¨ªº¤@­Ó¤À³Î¡C ³o¼h¸ê®ÆÁôÂÃ¤F§Ö°{
°O¾ÐÅéµ{¦¡ªº³]³Æ«ü©w²Ó¸`¡A¨ÃÅý¥d¤ù¬Ý°_¨Ó´N¹³¬O­ÓÂ²³æªº°Ï¶ô³]³Æ¡C¨Ò
¦p¡G

\begin{tscreen}
\begin{verbatim}
ftl_format -i /dev/mem0c0c
\end{verbatim}
\end{tscreen}


°O±o³o­Ó©R¥O¬O¸g¥Ñ `` ¥¼¥[¤uªº '' °O¾ÐÅé¥d¤ù¤¶­±¨Ó¦s¨ú¥d¤ùªº¡C¤@¸g
®æ¦¡¤Æ«á¡A ³o­Ó¥d´N¥i¥H¸g¥Ñ {\ttfamily ftl\_cs} ÅX°Êµ{¦¡±N¥¦·í¦¨¤@¯ëªº°Ï¶ô
³]³Æ¨º¼Ë¦a°µ¦s¨ú¤F¡C¨Ò¦p¡G

\begin{tscreen}
\begin{verbatim}
mke2fs /dev/ftl0c0
mount -t ext2 /dev/ftl0c0 /mnt
\end{verbatim}
\end{tscreen}


³Q©R¦W¦¨ FTL Ãþªº³]³Æ³£¦³ÂI©Ç©Çªº¡CMinor device numbers ¦³¤T­Ó³¡¥÷
: ¥d¤ù¸¹½X¡B¥d¤ù¤ºªº°Ï°ì¸¹½X¥H¤Î¿ï¶µ¡Ð¦b°Ï°ì¸¹½X¤ºªº¤À³Î¡C³o¨àªº°Ï
°ì¥i¥H³Q¬Ý¦¨¬°¨S¦³¤À³Îªí®æªº³æ¤@°Ï¶ô³]³Æ  (´N¹³³nÅé¤ù¤@¼Ë ) ©ÎªÌ¥¦
¤]¥i¥H³Q¤À³Î¡A´N¹³¬O­ÓµwºÐ³]³Æ¤@¼Ë¡C ``ftl0c0'' ³]³Æ¬O¥d¤ù 0¡A¦@¦P
°O¾ÐÅé°Ï°ì¬°   0¡A  ¾ã­Ó°Ï°ì¡C   ¦pªG³o­Ó°Ï°ì¤w³Q¤À³Î¤F¡A   ¨º»ò±q
``ftl0c0p1'' ¨ì ``ftl0c0p4'' ªº³]³Æ¬O¥D¤ÀÃB°Ï 1 ¨ì 4 ¤F¡C

§Ö°{°O¾ÐÅé¥d¤ù¦³¨âºØ¥D­nªº®æ¦¡:   FTL    «¬¦¡¡A   ¥H¤Î   Microsoft
ªº§Ö°{ÀÉ®×¨t²Î \idx{ Flash File System}¡CFTL ®æ¦¡¬O³Ì¦³¼u©Êªº
¡A¦]¬°¥¦¤¹³\¤@¯ëªº¥ô¦ó°ª¶¥ÀÉ®×¨t²Î (ext2¡Bms-dos µ¥µ¥ ) ³£¥iµø¬°¤@
¯ëºÏºÐ³]³Æ¯ë¦a¨Ó¨Ï¥Î¡CFFS «h§¹¥þ¬O­Ó¤£¦PªºÀÉ®×¨t²ÎÃþ«¬¤F¡CLinux ¥Ø
«eµLªk³B²z¥Î FFS ®æ¦¡¤Æªº¥d¤ù¡C




\subsection{PCMCIA ATA/IDE ¥d¦¡µwºÐ¾÷}

¹ï ATA/IDE  ºÏºÐ¾÷ªº¤ä´©»Ý­n  1.3.72 ©Î§ó·sªº®Ö¤ßª©¥»¡C ÅX°Êµ{¦¡¤º
«ü©w PCMCIA ªº³¡¥÷¬O {\ttfamily fixed\_cs}¡C ½Ð°O±o¦b©â¥X ATA/IDE ¥d«e½Ð¨Ï
¥Î {\ttfamily cardctl} ©Î {\ttfamily cardinfo} µ{¦¡§â¥¦¥ýÃö³¬¡A ¦]¬°³o­ÓÅX°Êµ{¦¡
¨Ã¨S¦³³Q³]­p¦¨¥i ``¨¾¤î¼ö¸m´«ªº''¡C

¶Ç°e¨ì   {\ttfamily fixed.opts}    ¤ºªº³]³Æ¦ì¸m¥]§t¤T©Î¥|­ÓÄæ¦ì:   ¥Ø«eªº
scheme¡B´¡¼Ñ¸¹½X¡BºÏºÐªº§Ç¸¹¥H¤Î¿ï¶µªº¤À³Î¸¹½X¡C{\ttfamily ide\_info} ¥i¥H
³Q¥Î¨ÓÀò±o IDE ºÏºÐªº§Ç¸¹¡C ¨Ï¥Î SCSI ³]³Æ®É¡A{\ttfamily fixed.opts} ·|¦b
²Ä¤@¦¸³Q©I¥sµ¹¾ã­Ó³]³Æ°µ³]©w¡C ¦pªG  {\ttfamily fixed.opts}  ¦^À³¤F¤@­Ó¦b
{\ttfamily PARTS} ÅÜ¼Æ¤ºªº¤@¦ê¤À³Î¸ê°T¡A ©R¥O¤â½Z±µµÛ´N·|¬°¨C¤@­Ó¤À³Î°µ³]
©w¡C




\subsubsection{ATA/IDE ©T©wºÏºÐ³]³Æ°Ñ¼Æ}



¥H¤Uªº°Ñ¼Æ¥i¥H³Q©w¸q¦b {\ttfamily fixed.opts}¤º¡G

\begin{description}
\item[{\ttfamily DO\_FSTAB}] \mbox{}

¥¬ªL (y/n) ³]©w¡G«ü©w¬O§_³o­Ó³]³ÆÀ³¸Ó¦b {\ttfamily /etc/fstab} ¤º¥[­Ó
±ø¥Ø¡C

\item[{\ttfamily DO\_FSCK}] \mbox{}

¥¬ªL (y/n) ³]©w¡G«ü©w¬O§_ÀÉ®×¨t²ÎÀ³¸Ó¦b³Q±¾¤W«e¥H ``{\ttfamily fsck -Ta}''
¨ÓÀË¬d¤@¤U¡C

\item[{\ttfamily DO\_MOUNT}] \mbox{}

¥¬ªL (y/n) ³]©w¡G «ü©w¬O§_³o­Ó³]³ÆÀ³¸Ó¦b¥d¤ù³Q´¡¤Jªº¦P®É³Q¦Û°Ê¦a³Q
±¾¤W¡C

\item[{\ttfamily FSTYPE}, {\ttfamily OPTS}, {\ttfamily MOUNTPT}] \mbox{}

ÀÉ®×¨t²Î«¬ºA¡B ±¾¤W¿ï¶µ¡B¥H¤Î³Q¥Î¨Ó°µ¬° fstab ªº¶µ¥Ø¤Î¡þ©Î±¾¤W¸Ó³]
³Æªº±¾¤WÂI¡C

\end{description}


¥H¤U¬O­Ó {\ttfamily fixed.opts} ÀÉ®×ªº¨Ò¤l¥Î¨Ó±¾¤W¥ô¤@­Ó ATA/IDE ¥dªº²Ä¤@
­Ó¤À³Î¨ì {\ttfamily /mnt} ¥Ø¿ý¤W¡C

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
*,*,*)
    PARTS="1"
    ;;
*,*,*,1)
    DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
    FSTYPE="msdos"
    OPTS=""
    MOUNTPT="/mnt"
    ;;
esac
\end{verbatim}
\end{tscreen}





\subsubsection{¶EÂ_ ATA/IDE ¥dªº°ÝÃD}

\begin{itemize}
\item ¦³¨Ç IDE ºÏºÐ¤¹³\ PCMCIA  ªº³W®æ¨Ï¥Î¤ñ³Ì¤j¥i¤¹³\¥d¤ù³]©w°_¨Óªº®É¶¡
§óªøªº®É¶¡¨Ó°_°Ê¡C­n¨Ï¥Î³o¨Ç¥d¤ù¡A½Ð¸ü¤J {\ttfamily pcmcia\_core} ¼Ò²Õ°t¦X
¤U­±ªº³]©w:
\begin{tscreen}
\begin{verbatim}
CORE_OPTS="unreset_delay=400"
\end{verbatim}
\end{tscreen}
\item ­n¨Ï¤ë ATA/IDE CD-ROM ³]³Æ¡A§Aªº®Ö¤ß¥²¶·±N {\ttfamily CONFIG\_BLK\_DEV\_IDECD}
¥\¯à¥´¶}¥B½sÄ¶¶i¥h¡C³q±`¼Ð·Çªº®Ö¤ß³£¤w¤ä´©¤F¡AµM¦Ó¦pªG§A·Q½sÄ¶­Ó¦Û
©wªº®Ö¤ß½Ð°O±o­nÂÔ·V¨Ç¡C
\end{itemize}





\subsection{¦h¥\¯à¥d}

±q 1.3.73 Linux ®Ö¤ß¶}©l¡A´X­ÓÅX°Êµ{¦¡¥i¥H¦@¥Î³æ¤@­Ó´¡Â_¡A¹³¦ê¦C°ð
ÅX°Êµ{¦¡»P¤@­Ó¤A¤Óºô¸ôÅX°Êµ{¦¡¡C¦b·sªº®Ö¤ß¤U¨Ï¥Î¦h¥\¯à¥d¤ù®É¡A©Ò¦³
ªº¥d¤ù¥i¥H¤£¥Î¦b¸ü¤J©Î±s¤UÅX°Êµ{¦¡ªºª¬ªp¤U¨Ï¥Î¥d¤ùªº©Ò¦³¥\¯à¡C

«Ü¦hªºµwÅé¼t°Ó¦Û¤w°µ¤F¤£¤Ó¯à¤¬¬Û¬Û®eªº  (¦³¨Ç¥i»¡¬O¿W¥ßªº ) ´¡Â_¦@
¨É¤èªk¨Ó¼ÒÀÀ¨Ï¥Î¤G­Ó¥dªº¥\¯à¡C¦³¨Ç¥d¤ù (Diamonds ªº Ositech Jack¡B
¡B3Com ªº 3c562¡BLinksys) ªºÅX°Êµ{¦¡¥i¥H¥¿½T¦a¤ä´©³o¼Ëªº¼ÒÀÀ¦s¨ú¡A
¦ý¬O¦³¨Ç¥d (¯S§O¬O Megahertz) «h¤£¯à¡C

¦­´Áªº®Ö¤ß¨Ã¤£¤ä´©´¡Â_¤À¨Éµ¹¤£¦Pªº³]³ÆÅX°Êµ{¦¡¡C©Ò­n PCMCIA ÅX°Êµ{
¦¡¤£¥i¯à«Øºc¦¹¥d¤ùÅý¥¦¥i¼ÒÀÀ¤A¤Óºô¸ô¥d»P¼Æ¾Ú¥dªº¦s¨ú¡C¤A¤Óºô¸ô¥d»P
¦ê¦C°ðÅX°Êµ{¦¡·|³Q¦Û°Ê¦a¸ü¤J¡CµM¦Ó¡A¤º©w¤W¬O¤A¤Óºô¸ôÅX°Êµ{¦¡ `` ¾Ö
¦³ '' ³o±i¥d¤ùªº´¡Â_¡C­n¨Ï¥Î¼Æ¾Ú¾÷¡A§A¥i¥H¨ø¤U¤A¤Óºô¸ôÅX°Êµ{¦¡¡AµM
«á¨Ï¥Î¥H¦C¤èªk­«·s«Øºc¦ê¦C°ð:

\begin{tscreen}
\begin{verbatim}
ifconfig eth0 down
rmmod 3c589_cs
setserial /dev/modem autoconfig auto_irq
setserial /dev/modem
\end{verbatim}
\end{tscreen}


²Ä¤G­Ó {\ttfamily setserial} ·|¬dµý¥X¸Ó°ð¦b¥ý«e¬O¥Ñ¤A¤Óºô¸ôÅX°Êµ{¦¡©Ò¨Ï¥Î
ªº´¡Â_¡C




\section{¶i¶¥ªº¥DÃD}






\subsection{PCMCIA ³]³Æªº¸ê·½¤À°t}

²z½×¤W¡A ­þ¤@­Ó´¡Â_³Q¨Ï¥Î¨ì­þ­Ó³]³Æ¤W³£¨SÃö«Y¡C ¥u­n¨â­Ó (©Î¥H¤W )
³]³Æ¤£³Q«Øºc¦¨¨Ï¥Î¬Û¦Pªº´¡Â_§Y¥i¡C¦b {\ttfamily /etc/pcmcia/config.opts}
ùØ§A¥i¥Hµo²{¦³­Ó¦a¤è¥Î¨Ó±Æ°£¨º¨Ç³Q«D PCMCIA ³]³Æ©Ò¨Ï¥ÎµÛªº´¡Â_¡C

¦P¼Ë¦a¡A¤]¨S¦³¿ìªk¥i¥Hª½±µ«ü©w I/O ¦ì§}µ¹¤@­Ó PCMCIA ¥d¨Ó¨Ï¥Î¡C
{\ttfamily /etc/pcmcia/config.opts}  ÀÉ®×¤¹³\§A«ü©w¥i³Q©Ò¦³ªº  PCMCIA
³]³Æ©Ò¨Ï¥Îªº°ð½d³ò¡A ©Î¬O±Æ°£¨º¨Ç·|©M¨ä¥L³]³Æ¬Û½Ä¬ðªº°ð½d³ò¡C

¦b­×§ï¤F  {\ttfamily /etc/pcmcia/config.opts}«á¡A§A¥i¥H¨Ï¥Î ``{\ttfamily kill -HUP}''
¨Ó­«·s±Ò°Ê {\ttfamily cardmgr}¡C

³Q¥Î¨ÓºÊµø¥d¤ùª¬ºAªº´¡Â_¬O¦b {\ttfamily cardmgr} ³B²z {\ttfamily /etc/pcmcia/config}
ÀÉ®×¤§«e¥Ñ§C¶¥ªº´¡¼ÑÅX°Êµ{¦¡¼Ò²Õ ({\ttfamily i82365} ©Î {\ttfamily tcic}) ©Ò¿ï¾Ü
ªº¡C¦]¦¹§ïÅÜ³o­ÓÀÉ®×¨Ã¤£·|¦³¤°»ò¼vÅT¡C­n³]©w³o­Ó´¡Â_¡A¦b´¡¼ÑÅX°Êµ{
¦¡³Q¸ü¤J®É¡A³]©w¦b {\ttfamily /etc/rc.d/rc.pcmcia} ¤ºªº {\ttfamily PCIC\_OPTS}
ÅÜ¼Æ¨Ï¥Î {\ttfamily cs\_irq=} ¿ï¶µ¡C

©Ò¦³ªº«È¤áºÝ¥d¤ùÅX°Êµ{¦¡³£¦³­Ó¥s°µ {\ttfamily irq\_list} ªº°Ñ¼Æ¡C ³Q¥Î¨Ó«ü
©w­þ¨Ç´¡Â_¥i¥Î¸ÕµÛ¥Î¨Ó°t¸mµ¹¥L­Ìªº¡C³o¨ÇÅX°Êµ{¦¡¿ï¶µÀ³¸Ó³Q³]©w¦b§A
ªº {\ttfamily /etc/pcmcia/config} ÀÉ®×ùØ¡C¨Ò¦p:

\begin{tscreen}
\begin{verbatim}
device "serial_cs"
  module "serial_cs" opts "irq_list=8,12"
  ...
\end{verbatim}
\end{tscreen}


·|«ü©w¦ê¦C°ðÅX°Êµ{¦¡¥u¨Ï¥Î  irq  8 ©Î irq  12¡C ¤£ºÞ {\ttfamily irq\_list}
ªº³]©w¦p¦ó¡A ¥d¤ùªA°Èµ{¦¡ Card Services µ´¤£·|¤À°t¤w³Q¨ä¥L³]³Æ©Ò¨Ï
¥Î¤Fªº´¡Â_¡A©Î¬O¦b«ØºcÀÉùØ³Q±Æ°£ªº´¡Â_¡C




\subsection{§Ú«ç¼Ë¤~¯à¬°®a®x¤Î¤u§@ªº¨Ï¥Î°µ¦U§Oªº³]³Æ³]©w©O?}

§Ú­Ì¥i¥H«ÜÂ²³æ¦a¨Ï¥Î PCMCIA ``scheme'' ¤ä´©¨Ó¹F¦¨¡C ¨Ï¥Î¨âºØ¤£¦Pªº
«Øºc schemes¡A¤À§O¥s ``home'' ¤Î ``work''¡C ¥H¤U¬O­Ó¦³ scheme «ü©w
ªº³]©wªº {\ttfamily network.opts} ¤â½Z½d¨Ò:

\begin{tscreen}
\begin{verbatim}
case "$ADDRESS" in
work,*,*,*)
    # definitions for network card in work scheme
    ...
    ;;
home,*,*,*|default,*,*,*)
    # definitions for network card in home scheme
    ...
    ;;
esac
\end{verbatim}
\end{tscreen}


PCMCIA  ³]³Æ¦ì§}ªº­º­n³¡¥÷³£¬O«Øºc  scheme¡C ¦b³o­Ó¨Ò¤l¤¤¡A ²Ä¤G­Ó
``case'' ¥y¤l·|±q ``homee'' ©M ``default'' schemes ¤¤¬D¿ï¤@­Ó¡C ¦]
¦¹¡A¤£ºÞ¥ô¦ó²z¥Ñ scheme ¨Ã¨S³Q³]©w¤F¡A¤º©w­È¬O ``home'' ³]©w¡C

²{¦b¡A­n¦b¤G­Ó³]©w¶°ùØÀY¬D¿ï¤@­Ó¡A¥i°õ¦æ:

\begin{tscreen}
\begin{verbatim}
cardctl scheme home
\end{verbatim}
\end{tscreen}


©ÎªÌ¬O

\begin{tscreen}
\begin{verbatim}
cardctl scheme work
\end{verbatim}
\end{tscreen}


{\ttfamily cardctl}  ©R¥O¬Û·í©óÃö±¼©Ò¦³ªº¥d¤ù«á¦A­«±Ò°Ê¥¦­Ì¡C ¤£ºÞ PCMCIA
¨t²Î¬O§_³Q¸ü¤J¡A³o­Ó©R¥O³£¥i¦w¥þ¦a³Q°õ¦æ¡C¦ý¬O¦pªG§A¦b·í®É¥¿¦b¨Ï¥Î
¨ä¥Lªº PCMCIA ³]³Æ®É³o­Ó©R¥O¥i¯à·|¥¢±Ñ¡C (ÁöµM¥L­Ìªº«Øºc¨Ã¤£§¹¥þ¨Ì
¾a scheme ªº³]©w¡C )¡C

­nª¾¹D¥Ø«e PCMCIA scheme ªº³]©w¡A°õ¦æ:

\begin{tscreen}
\begin{verbatim}
cardctl scheme
\end{verbatim}
\end{tscreen}





\subsection{±q PCMCIA ³]³Æ¶}¾÷}



­n¦b¤@­Ó PCMCIA  ³]³Æ¤W°µ­ÓÀÉ®×¨t²Î»Ý­n­A­Ó¤p§âÀ¸¥i¦æ¡A ¦]¬° Linux
ªº PCMCIA ¨t²Î¨Ã¨S¦³³]­p¦¨³s±µ¨ì®Ö¤ßµ{¦¡¤W¡C¥¦ªº¥D­n¤¸¥ó¡A¥i¸ü¤J¦¡
®Ö¤ß¼Ò²Õ¥H¤Î¨Ï¥ÎªÌ¼Ò¦¡ªº  cardmgr ºëÆF¬O¥õ¿à¦b¤@­Ó¤w¸g¦b°õ¦æªº¨t²Î
¤W¡C®Ö¤ßªº ``\idx{initrd}'' ¥H¤¹³\ Linux ¨Ï¥Î¤@­Ó¦³³Ì¤p¤Æªº®Ú
¬M¹³ÀÉ¡B¸ü¤JÅX°Êµ{¦¡ªº¼È®É©Êªº°ÊºA°O¾ÐÅéºÏºÐ¨Ó¶}¾÷¡AµM«á¦A­«·s±¾¤W
¤@­Ó¤£¦Pªº®ÚÀÉ®×¨t²Î¡C³o­Ó¼È®Éªº®Ú¨t²Î¥i¥H«Øºc PCMCIA ³]³Æ¡AµM«á¦A
§â¥¦­«·s±¾¦¨¤@­Ó®Ú¨t²Î¡C

initrd  ¬M¹³ÀÉµ´¹ï¥²¶·¦s©ñ¦b¤@­Ó¥i¶}¾÷ªº³]³Æ¤W: ¤@¯ë¨Ó»¡³o´NµLªk©ñ
¨ì PCMCIA ³]³Æ¤W¤F¡C³o¬O¦]¬° BIOS ªº­­¨î¡A¥i¤£¬O®Ö¤ßªº­­¨î¡C¦b³oùØ
¡A ¯à°÷¤À¿ë¥X `` ¥i¶}¾÷ªº (boot-able)'' ³]³Æ (¨Ò¦p¡A¥ô¦ó¥i¥H°µ¶}¾÷
¨Ï¥Îªº³]³Æ ) »P `` ¥i°µ®Ú¨t²Îªº (root-able)'' ³]³Æ (¨Ò¦p¡A¥i¥H³Q±¾
¤J¦¨¬°®Ú¨t²Îªº³]³Æ    )    ªº¤£¦P³B¤]¬O«Ü­«­nªº¡C   ``    ¥i¶}¾÷ªº
(Boot-able) '' ³]³Æ¬O¥Ñ BIOS ©Ò¨M©wªº¡A ³q±`¬O¤º³¡³nºÐ¾÷©Mµw¦¡ºÏºÐ
¾÷¡C`` ¥i°µ®Ú¨t²Îªº (root-able)'' ³]³Æ¬O¥ô¦ó¥i¥H¦b³Q¸ü¤J§Y§Y³Q®Ö¤ß
©Ò¤ä´©ªº°Ï¶ô³]³Æ¡C initrd ªº¥\¯à¥i¨Ï§ó¦hªº³]³ÆÅÜ¦¨ `` ¥i°µ®Ú¨t²Îªº
(root-able)''¡A¦Ó«D ``¥i¶}¾÷ªº (boot-able)''¡C

¦³¨Ç Linux ¨ÑÀ³ª©¥»¤¹³\¦w¸Ë¨ì PCMCIA SCSI ¥d±µµÛªº³]³Æ¤W¡C¨Ï±o¥¦­Ì
µL·N¦a¦h¥X¤F¥i¤ä´©±q  PCMCIA  SCSI  CD-ROM  ³]³Æ¨Ó¦w¸ËªºÃä»Ú®ÄÀ³¡C
µM¦Ó¡A  ¨ì¥Ø«e¬°¤î¡A ¨Ã¨S¦³¥ô¦ó  Linux  ¦w¸Ë¤u¨ã¤ä´©«Øºc¤@­Ó¥i¥H±q
PCMCIA  ®ÚÀÉ®×¨t²Î¤W¶}¾÷¨ì  Linux  ªº¦X¾A  ``initrd''¡C ³]¥ß¤@­Ó¥H
PCMCIA  ®ÚÀÉ®×ªº Linux ¨t²Î»Ý­n±z¨Ï¥Î¨ä¥Lªº  Linux  ¨t²Î¨Ó²£¥Í¤@­Ó
``initrd'' ¬M¹³ÀÉ®×¡C¦pªG¨S¦³¥i¥Îªº¨ä¥L Linux ¨t²Î¡A¥t¤@­Ó´À¥N¤èªk
¬O°µ³Ì¤p¦w¸Ë¨ì«D PCMCIA ºÏºÐ¤W¡A«Ø¥ß¤@­Ó initrd ¬M¹³ÀÉ¡AµM«á¦A­«·s
¦w¸Ë¨ì PCMCIA ¥Ø¦a³]³Æ¤W¡C

¦b Linux Bootdisk-HOWTO ùØ¦³¤@¨ÇÃö©ó³]©w¶}¾÷ºÏºÐ¤ùªº¤@¯ë¸ê°T¡A¦ý«o
¨S¦³¥ô¦ó¦³Ãö©ó initrd ªº¸ê°T¡C initrd ªº¥D­n¤å¥ó³Q©ñ¦b³Ì·sªº®Ö¤ßµ{
¦¡½X¨ÑÀ³ª©¥»ùØÀY¡A  ¦b   {\ttfamily linux/Documentation/initrd.txt}¡C
¦b¶}©l«e¡A§AÀ³¸Ó­n¥ýÅª¤@¤U³o¥÷¤å¥ó¡C ¹ï©ó {\ttfamily lilo} ªº¼ô±x¤]¬O¦³§U
¯qªº¡C ­n¨Ï¥Î initrd ¤]»Ý­n§A¤w¦³­Ó±N  {\ttfamily CONFIG\_BLK\_DEV\_RAM}  ©M
{\ttfamily CONFIG\_BLK\_DEV\_INITRD} ¥\¯à¥´¶}«á©Ò½sÄ¶¥X¨Óªº®Ö¤ß¡C

³o¬O­Ó°ªµ¥«Øºc§Þ³N¡A »Ý­n±z¹ï Linux ¥H¤Î PCMCIA ¨t²Î¦³¤@©wµ{«×ªº¼ô
±x«×¡C½Ð½T»{¦b±z¾\Åª§¹©Ò¦³¬ÛÃöªº¤å¥ó«á¦A¶}©l¡C¤U­±ªº `` ­¹ÃÐ '' À³
¸Ó¬O¥i¦æªº¡A ¦ý¬O¤@¥¹¤£¨Ì·Ó½d¨Ò¨Ó°µªº¸Ü¡A ´N·|«Ü§Ö¦a±N§A±À¦V¥¼ª¾¤Î
`` ¤£³Q¤ä´©ªº '' ¦a¤è¡A¨º§A´N±o¦Û¤v¨Óªº¡C

³o¤èªk»Ý­n§A¤@©w­n¨Ï¥Î PCMCIA ÅX°Êµ{¦¡ 2.9.5 ©Î³Ì·sªºª©¥»¤~¥i¥H¡C
ÂÂªº PCMCIA ®M¥ó©Î¬O­Ó§Oªº¤¸¥ó¨Ã¤£¯à¦b initrd ùØ¨Ï¥Î¡C½Ð¤£­n±N¤£¦P
ªºª©¥»ªº¤¸¥ó²V¦X¤F¡C




\subsubsection{pcinitrd »²§U­û¤â½Z}

{\ttfamily pcinitrd}  ¤â½Z¥Î¨Ó«Ø¥ß¤@­Ó¨Ï¥Î  PCMCIA ®ÚºÏ°Ï¤À³Î¨Ó±Ò°Ê Linux
ªº°ò¥»   initrd    ¬M¹³ÀÉ¡C   ¸Ó¬M¹³ÀÉùØ¥]§t¤@­Ó³Ì¤pªº¥Ø¿ý¼h¯Åµ²ºc
¡B ¥H¤Î¦³¥Îªº³]³ÆÀÉ®×¡B¤@¨Ç¤G¶i¦ìÀÉ®×¡B¦@¥Îµ{¦¡®wÀÉ¥H¤Î¤@®M PCMCIA
ÅX°Êµ{¦¡¼Ò²Õ¡C ·í§A°õ¦æ {\ttfamily pcinitrd} ®É¡A­n«ü©w­n­n¥]§t¶i¥h¬M¹³ÀÉ
ùØ­±ªºÅX°Êµ{¦¡¼Ò²Õ¦WºÙ¡C ¦Ó¥D­n PCMCIA  ®Ö¤ß¤¸¥ó  {\ttfamily pcmcia\_core}
¤Î {\ttfamily ds}·|³Q¦Û°Ê¦a¥]§t¶i¥h¡C

¨Ò¦p¡A°²³]§Aªºµ§°O¹q¸£¨Ï¥Î¤@­Ó i82365 ¦P®eªº PCMCIA ¥D±±¨î¾¹¡A¦Ó§A
·Q±q¤@­Ó±µµÛ Adaptec SlimSCSI ¥d¦Ó¸Ë¦³®ÚÀÉ®×¨t²ÎªºµwºÐ¤W±Ò°Ê Linux
¡C§A¥i¥H«Ø¥ß¤@­Ó¦X¾Aªº initrd ¬M¹³ÀÉ¡A¤èªk¦p¤U:

\begin{tscreen}
\begin{verbatim}
pcinitrd -v initrd pcmcia/i82365.o pcmcia/aha152x_cs.o
\end{verbatim}
\end{tscreen}


¨Ó¦Û­q initrd ±Ò¨Ï±Æµ{¡A§A¥i¥H¥Î¤U­±ªº©R¥O¨Ó¨Ï¥Î ``loopback'' ³]³Æ
¨Ó±¾¤W¸Ó¬M¹³ÀÉ®×:

\begin{tscreen}
\begin{verbatim}
mount -o loop -t ext2 initrd /mnt
\end{verbatim}
\end{tscreen}


µM«á½s­× {\ttfamily linuxrc} ¤â½Z¡C PCMCIA «ØºcªºÀÉ®×·|³Q¦w¸Ë¨ì¬M¹³ÀÉ®×ùØ
ÀYªº    {\ttfamily /etc}    ¤º¡A   ·íµM§A¤]¥i¥H¦Û¤w³]©w¡C    ²Ó¸`½Ð¬Ý
{\ttfamily pcinitrd} ªº man ­¶¡C




\subsubsection{«Ø¥ß¤@­Ó initrd ¶}¾÷³nºÐ¤ù}



¦b«Ø¥ß¤F {\ttfamily pcinitrd} ¬M¹³ÀÉ«á¡A §A¥i¥H§Q¥Î«þ¨©®Ö¤ßªº¤è¦¡¨Ó°µ¤@¤ù
¥i¶}¾÷ªººÏºÐ¤ù¡A ¨Ã§â³QÀ£ÁYªº initrd ¬M¹³ÀÉ¡B¤ä´©µ¹ {\ttfamily lilo} ¨Ï¥Î
ªºÀÉ®×¨ì¤@±iªÅ¥ÕºÏºÐ¤ù¤W¡C ¤U­±ªº¦C¤l¡A §Ú­Ì°²³]§Ú­Ì»Ý­nªº  PCMCIA
®Ú³]³Æ¬O {\ttfamily /dev/sda1}:

\begin{tscreen}
\begin{verbatim}
mke2fs /dev/fd0
mount /dev/fd0 /mnt
mkdir /mnt/etc /mnt/boot /mnt/dev
cp -a /dev/fd0 /dev/sda1 /mnt/dev
cp [kernel-image] /mnt/vmlinuz
gzip < [initrd-image] > /mnt/initrd
\end{verbatim}
\end{tscreen}


«Ø¥ß¤@­Ó¥]§t¤U­±¤º®eªº {\ttfamily /mnt/etc/lilo.conf} ÀÉ®×:

\begin{tscreen}
\begin{verbatim}
boot=/dev/fd0
compact
image=/vmlinuz
    label=linux
    initrd=/initrd
    read-only
    root=/dev/sda1
\end{verbatim}
\end{tscreen}


³Ì«á¡A°õ¦æ lilo ¦p¤U:

\begin{tscreen}
\begin{verbatim}
lilo -r /mnt
\end{verbatim}
\end{tscreen}


·í {\ttfamily lilo} ³Q°õ¦æ®É°t¦X¨Ï¥Î {\ttfamily -r} ¿ï¶µ¡A¥¦·|°µ©Ò¦³»P³Q«ü©wªº®Ú
¥Ø¿ýªº¬ÛÃö°Ê§@¡C  ¦b  {\ttfamily /mnt/dev}   ùØ«Ø¥ß³]³ÆÀÉ®×ªº²z¥Ñ¬O¡A
·í¥¦¬O¦b´À¥Nªº®Ú¥Ø¿ý¼Ò¦¡¤U {\ttfamily lilo} ¨ÃµLªk¨Ï¥Î¦b {\ttfamily /dev} ¤º
ªºÀÉ®×¡C




\subsubsection{¦w¸Ë initrd ¬M¶HÀÉ¨ì«DLinux ºÏºÐ¤º}

initrd  ¥\¯à¤@¯ë³£¨Ï¥Î¦b·í¤º³¡ªºµwºÐ¾÷³Q¤À¬£µ¹¨ä¥Lªº§@·~¨t²Î¨Ï¥Î®É
¡C Linux ®Ö¤ß¥H¤Î initrd  ¬M¹³ÀÉ¥i¥H³Q©ñ¦b«D  Linux ªººÏ°Ï¤À³Î¤º¡A
¦Ó¥B  {\ttfamily lilo}  ©Î¬O  {\ttfamily LOADLIN}   ¥i¥H³Q³]©w¥Ñ³o¨Ç¬M¹³ÀÉ¨Ó¶}±Ò
Linux ¨t²Î¡C

°²³]§A¦³­Ó¤w³Q«Øºc¦n¦X¾Aªº®Ú³]³Æ¡A¥B initrd ¬M¹³ÀÉ³Q«Ø¥ß¦b¥t¥~ªº¨t
²Î¤W¤F¡A±Ò°Ê Linux ¨t²Îªº³Ì®e©ö¤èªk¬O¨Ï¥Î {\ttfamily LOADLIN}¡A¦p¤U:

\begin{tscreen}
\begin{verbatim}
LOADLIN <kernel> initrd=<initrd-image>
\end{verbatim}
\end{tscreen}


¤@¥¹§A¥i¥H¦b§Aªº¥Ø¼Ð¾÷¾¹¤W±Ò°Ê Linux¡A §A´N¥i¥H¦w¸Ë {\ttfamily lilo} ¨Ó¤¹
³\ª½±µ¦a±Ò°Ê Linux ¤F¡C ¨Ò¦p¡A°²³] {\ttfamily /dev/hda1} ¬O­Ó«D Linux
ªº¥Ø¼ÐºÏ°Ï¤À³Î¡A¥B {\ttfamily /mnt} ¥i¥H³Q¥Î°µ¬°±¾¤JÂI¡C ­º¥ý¡A¦b¥Ø¼Ð
ºÏ°Ï¤À³Î¤W«Ø¥ß¤@­Ó©ñ Linux ÀÉ®×ªº¤l¥Ø¿ý:

\begin{tscreen}
\begin{verbatim}
mount /dev/hda1 /mnt
mkdir /mnt/linux
cp [kernel-image] /mnt/linux/vmlinuz
cp [initrd-image] /mnt/linux/initrd
\end{verbatim}
\end{tscreen}


¦b³o­Ó¨Ò¤l¤¤¡A °²³] {\ttfamily /dev/sda1} ¬O§Ú­Ì­n°µ¬° Linux ®Ú¤À³Îªº
ºÏºÐ¡A ¥¦¬O­Ó¸g¥Ñ  PCMCIA  SCSI  ¥d©Ò±¾¤Wªº  SCSI  µwºÐ¾÷¡C ­n¦w¸Ë
{\ttfamily lilo}¡A½Ð«Ø¥ß¤@­Ó¦³¥H¤U¤º®eªº {\ttfamily lilo.conf} ÀÉ:

\begin{tscreen}
\begin{verbatim}
boot=/dev/hda
map=/mnt/linux/map
compact
image=/mnt/linux/vmlinuz
        label=linux
        root=/dev/sda1
        initrd=/mnt/linux/initrd
        read-only
other=/dev/hda1
        table=/dev/hda
        label=windows
\end{verbatim}
\end{tscreen}


¦b {\ttfamily boot=} ³o¦æùØ»¡­n¦b«ü©wªº³]³Æ¤§¥D¶}¾÷°O¿ý  MBR( master boot
record) ùØ¦w¸Ë¶}¾÷¸ü¤Jµ{¦¡¡C {\ttfamily root=} ³o¦æ«ü¥X¦b¸ü¤J initrd ¬M¹³
ÀÉ«á»Ý­n¨Ï¥Îªº®ÚÀÉ®×¨t²Î¡A¦pªG®Ö¤ß¬M¹³ÀÉùØ¤w³o»ò«Øºc¤F¨º´N¤£»Ý³o»ò
°µ¤F¡C  ¦b  {\ttfamily other=}   ¨º¦æ¬O¥Î¨Ó´y­z»¡¦³¨ä¥Lªº§@·~¨t²Î³Q¦w¸Ë¦b
{\ttfamily /dev/hda1} ùØ¡C

­n¦w¸Ë³o­Ó¨Ò¤lùØªº {\ttfamily lilo} ¡A¨Ï¥Î:

\begin{tscreen}
\begin{verbatim}
lilo -C lilo.conf
\end{verbatim}
\end{tscreen}


°O±o¦b³o­Ó®×¤lùØ¡A{\ttfamily lilo.conf} ÀÉ®×¨Ï¥Î¤F¥]¬A {\ttfamily /mnt} ¦b¤º
ªºµ´¹ï¦ì§}¡C§Ú¥Î³o­Ó¨Ò¤lªº­ì¦]¬O¥Ø¼ÐÀÉ®×¨t²Î¨Ã¤£¤@©w¤ä´©¨Ï¥Î {\ttfamily boot=}
©M {\ttfamily root=} ¿ï¶µ¨Ó«Ø¥ß Linux ³]³ÆÀÉ®×ªº«Ø¥ß¡C




\section{¨Ï¥Î¥¼³Q¤ä´©ªº¥d¤ù}






\subsection{«ØºcµLªk³Q¿ëµøªº¥d¤ù\label{new-card}}



²{¦b§Ú­Ì°²³]§Aªº¥d¤ù¤w³Q²{¦³ªºÅX°Êµ{¦¡©Ò¤ä´©¡A§Ú­Ì©Ò»Ý­n°µªº¬O¦b
{\ttfamily /etc/pcmcia/config} ¤¤¥[¤J¤@­Ó±ø¥Ø¨Ó§i¶D {\ttfamily cardmgr} ¦p¦ó
¨Ó¿ëµø³o±i¥d¡A­þ¨ÇÅX°Êµ{¦¡»Ý­n³sµ²¨ì³o±i¥d¤ù¤W¡C«ØºcÀÉ®×ªº®æ¦¡²Ó¸`
½Ð¬d¬Ý  {\ttfamily pcmcia}  ªº  man  ­¶¡C  ¦pªG§A´¡¤J¤@±i¤£³Q»{±oªº¥d¤ù¡A
{\ttfamily cardmgr} ¥¿±`¨Ó»¡·|°O¿ý¤@¨Ç¿ëµø¸ê°T¨ì¨t²Î¤é»x¤W¡A §Ú­Ì¥i¥H§Q¥Î
³o¨Ç¸ê°T¨Ó«Ø³y¥¦ªº«Øºc±ø¥Ø¡C

¥H¤U¬O­Ó cardmgr ¦p¦ó±N¥¼¤ä´©¥dªº³ø§i¨ì {\ttfamily /usr/adm/messages}
¤ºªº¨Ò¤l¡C

\begin{tscreen}
\begin{verbatim}
cardmgr[460]: unsupported card in socket 1
cardmgr[460]: version info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
\end{verbatim}
\end{tscreen}


¬Û¹ïÀ³¨ì{\ttfamily /etc/pcmcia/config} ªº±ø¥Ø¥i¥H¬O:

\begin{tscreen}
\begin{verbatim}
card "Megahertz XJ2288 V.34 Fax Modem"
  version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
  bind "serial_cs"
\end{verbatim}
\end{tscreen}


§A¥i¥H¨Ï¥Î ``*'' ¨Ó¥N´À¤£¾å±oªº¦r¦ê¡A¹³ª©¥»¸¹½X°Õ¡C ·í§A¼g·sªº«Øºc
±ø¥Ø®É¡A½Ð¤p¤ß¦a§â§¹¾ãªº¦r¦ê«þ¨©¹L¥h¡A«O«ù­ì¦³ªº¤j¤p¼gÅé¥H¤ÎªÅ¥Õ¦r
¤¸¡CÁÙ¦³¡A½Ð½T»{«Øºc±ø¥Ø»P³Q³ø§i¨ì¤é»xÀÉ®×ùØªº¸ê®Æ¦³¦P¼Ë¼Æ¥Øªº¦r¦ê
¡C

½Ð¨c°O±z´X¥G¥i¥H«ü©w¥ô¦óªºÅX°Êµ{¦¡µ¹¤@±i¥d¨Ï¥Î¡A¦ý¦pªG§A¥u¬O­J¶Ã¦a
¶Ã§Ë¡A¨Ã¤£¬O­Ó«Ü¦³¥Í²£®Ä²vªº§@ªk¡C§A¤]¥i¯à«Ü©¯¹B¦aµo²{²{¦³ªºÅX°Êµ{
¦¡¤w¤ä´©¤F§Aªº¥d¤ù¡CµM¦Ó¡A¤j³¡¥÷ªºµ²ªG¬O¨º¨ÇÅX°Êµ{¦¡¨ÃµLªk¤u§@¡A¤]
¦³¥i¯à·|²£¥ÍÃä»Ú®ÄÀ³¹³Âê¦º§Aªº¨t²Î¤F¡C¤£¹³¤@¯ëªº³]³ÆÅX°Êµ{¦¡¥u±´´ú
¾A·íªº¥d¤ù¡A±´´ú PCMCIA ³]³Æªº¤u§@¬O¥Ñ {\ttfamily cardmgr} ©Ò°õ¦æ¡AÅX°Êµ{
¦¡¥»¨­¦b¸ÕµÛ»P³]³Æ·¾³q«e¨Ã¤£·|°µÔ£»ò½T»{°Ê§@ªº¡C

¦b½s­× {\ttfamily /etc/pcmcia/config}  ¤§«á¡A §A¥i¥H·t¥Ü {\ttfamily cardmgr}
­«·s¸ü¤J¸ÓÀÉ®×¡A¨Ï¥Î:

\begin{tscreen}
\begin{verbatim}
kill -HUP `cat /var/run/cardmgr.pid`
\end{verbatim}
\end{tscreen}


¦pªG§A³]©w¦n¤F¤@±i·sªº¥d¤ù¡A½Ð±H¤@¥÷³]©wµ¹§Ú¡A³o¼Ë¤l§Ú´N¥i¥H§â¥¦¥]
§t¶i¼Ð·Ç«ØºcÀÉ®×ùØ¡C




\subsection{¼W¦C¹ï NE2000¬Û®e¤A¤Óºô¸ô¥dªº¤ä´©}

­º¥ý¡A ¥ý¬d¬Ý¬Ý³o±i¥d¬O§_¤w³Q {\ttfamily cardmgr} ©Ò¿ëÃÑ¡C ¦³¨Ç¨S¦³³Q¦C¦b
{\ttfamily SUPPORTED.CARDS} ¤ºªº¥d¤ù¨Æ¹ê¤W¬O¦³¨Ç³Q¤ä´©ªº¥dªº OEM ª©¥»¡C¦p
ªG§Aµo²{¤F¹³³o¼Ëªº¥d¤ù¡A½ÐÅý§Úª¾¹D¡A³o¼Ë¤~¯à§â¥¦¥[¨ì¦Cªí¤º¡C

¦pªG§Aªº¥d¤ù¨S³Q¿ë§O¨ì¡A ½Ð¨Ì·Ó \ref{new-card} {(3.6)} ¤º
ªº¨BÆJ¬°§Aªº¥d¤ù«Ø¥ß¤@­Ó«Øºc±ø¥Ø¡A¨Ã§â³o±i¥d¤ù³sÃ´¤W {\ttfamily pcnet\_cs}
ÅX°Êµ{¦¡¡C ­«·s°õ¦æ {\ttfamily cardmgr} §Y¥i¨Ï¥Î³Q§ó·sªº«ØºcÀÉ®×¤F¡C

¦pªG {\ttfamily pcnet\_cs}  ÅX°Êµ{¦¡»¡¥¦µLªk¨M©w§Aªº¥d¤ù¤§µwÅé¤A¤Óºô¸ô¦ì§}
¡A¨º»ò½Ð½s­×§Aªº·s«Øºc±ø¥Ø±N³o±i¥d¤ù³sÃ´¤W°O¾ÐÅé¥d¤ùÅX°Êµ{¦¡
{\ttfamily memory\_cs} ¤W¡C ­«·s°õ¦æ {\ttfamily cardmgr} §Y¥i¨Ï¥Î³Q§ó·sªº«ØºcÀÉ®×
¤F¡C§A»Ý­nª¾¹D§Aªº¥d¤ùªºµwÅé¤A¤Óºô¸ô¦ì§}ªº­È¡C³o­Ó¦ì§}¬O­Ó¥H¤G­Ó¤Q
¤»¦ì¤¸¦r¤¸¸¹½X©Ò±Æ¦¨ªº¤»­Ó¼Æ¦r¡A³q±`¥¦·|³Q¦L¦b¥d¤ù¤W¡C¦pªG¥¦¨S¦³¦L
¦b¥d¤ù¤W¡A§A¥i¥H¨Ï¥Î DOS ªºÅX°Êµ{¦¡¨ÓÅã¥Ü³o­Ó¦ì§}¡C ¥u­n§A¤@ª¾¹D³o
­Ó­È¡A½Ð°õ¦æ:

\begin{tscreen}
\begin{verbatim}
dd if=/dev/mem0a count=20 | od -Ax -t x1
\end{verbatim}
\end{tscreen}


µM«á´M§ä§Aªº¦ì§}¤§¿é¥X¡C¥u¦³°¸¼Æ¦ì¤¸²Õ³Q©w¸q¤F¡A¦]¦¹¥i¥H©¿²¤¶É¦L¸ê
®Æ¤ºªº©_¼Æ¦ì¤¸²Õ¡C°O¤U¦ì§}ªº²Ä¤@­Ó¦ì¤¸²Õªº¤Q¤»¦ì¤¸¦ì²¾¡C²{¦b¡A½s­×
{\ttfamily modules/pcnet\_cs.c} ¨Ã´M§ä {\ttfamily hw\_info} ºc³y¡C§A»Ý­n¬°§Aªº
¥d¤ù«Ø¥ß¤@­Ó·sªº±ø¥Ø¡C²Ä¤@­ÓÄæ¦ì´N¬O°O¾ÐÅé¦ì²¾¡C±µµÛªº¤T­ÓÄæ¦ì´N²Ä
µwÅé¦ì§}ªº«e¤T­Ó¦ì¤¸²Õ¡C³Ì«á¤@Äæ¦ì§t¦³¥d¤ùªº¯S§O¥\¯àªººX¼Ð; ¶}©l®É
½Ð¸ÕµÛ±N¥¦³]¬° 0¡C

½s­×§¹   {\ttfamily pcnet\_cs.c}    «á¡A   ½sÄ¶»P¦w¸Ë·sªº¼Ò²Õ¡C   ¦A¦¸­×§ï
{\ttfamily /etc/pcmcia/config}¡A µM«á§ïÅÜ¥d¤ùªº³sÃ´±q  {\ttfamily memory\_cs}
´«¦¨ {\ttfamily pcnet\_cs}¡C¶¶µÛ«ü¥Ü­«·s¸ü¤J«ØºcÀÉ®×«á´N§¹¦¨¤F¡C½Ð±z±Hµ¹§Ú
¤@¥÷§Aªº·s{\ttfamily hw\_info} ÀÉ®×¥H¤Î«Øºcªº±ø¥Ø¤º®e¡C

¦pªG§A¨S¦³¦b¤Q¤»¶i¦ì¶É¦L¤º§ä¨ì§Aªº¥d¤ùªºµwÅé¦ì§}¡C³Ì«áªº¤@­Ó¤èªk¡A
·í {\ttfamily pcnet\_cs} ¼Ò²Õªì©l¤Æ®É·Q­n ``hard-wire( µwÅé±µ¦X )'' ¬O¦³¥i
¯àªº¡C½Ð½s­× {\ttfamily /etc/pcmcia/config.opts} ¨Ã¥[¤J {\ttfamily hw\_addr=}
¿ï¶µ¡A¹³³o¼Ë:

\begin{tscreen}
\begin{verbatim}
module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"
\end{verbatim}
\end{tscreen}


¦b¾A©yªº¦a¤è¥N´«±¼§A¦Û¤vªº¥d¤ù¤§µwÅé¦ì§}¡C·íµM¡A½Ð¤p¤ß¦pªG§A¤w¸g°µ
¤F¨º»ò¦h¤F¡A¨º§Aªº¥d¤ù´N¤£¤Ó¹³¬O­Ó NE2000 ¬Û®e¥d¤F¡C¨Æ¹ê¤W¡A§Ú¨Ã¤£
½T©w¬O§_¦³  {\itshape  ¥ô¦ó \/} ¥d¤ù¦b¸g¹L¤F«e­±¨âºØ¤èªk¤§¤@«áÁÙ¤£¯à¥Îªº¤F
¡C




\subsection{PCMCIA ³nºÐ¾÷¤¶­±¥d}

¦b Compaq Aero ¤Î¤Ö¼Æ¤@¨Çµ§°O«¬¹q¸£©Ò¨Ï¥Îªº  PCMCIA ³nºÐ¾÷¤¶­±¥d¥Ø
«e©|¥¼³Q¤ä´©¡C ¥D­n»ÙÃª¦b©ó Aero ¦ü¥G¨Ï¥Î¦Û­qªº  PCMCIA ±±¨î¾¹¨Ó¨Ï
DMA ¤ä´©³nºÐ¾÷¡C¦b¤£¾å±o³o¬O¦p¦ó¿ì¨ìªº±¡ªp¤U¡A§Ú­Ì´NµLªk§ä¥X¸Ñ¨Mªº
¤èªk¡C

¦pªG¦b Aero ³Q¶}±Ò®É³nºÐ¾÷¤¶­±¥d¬O´¡µÛªº¡A Aero ªº BIOS ´N·|«Øºc¸Ó
¥d¡A¦¹®É Linux ·|§â¥¦µø¬°¤@¯ëªº³nºÐ¾÷¡C·í Linux ªº PCMCIA ÅX°Êµ{¦¡
³Q¸ü¤J®É¡A ¥¦­Ì·|¬d¹î¨ì³o¥d¤w³Q«Øºc¨Ã¤wªþµÛ¦b Linux ªºÅX°Êµ{¦¡¤W¡A
¦Ó³o´¡¼Ñ¤]·|³Q©¿²¤¤£ºÞ¤F¡C©Ò¥H¡A¦pªG¦b¶}¾÷®É¥d¤ù§Y´¡µÛ¤F¨º´N¥i¥H¨Ï
¥Î¡A¦ý¥¦¤£¨ã³Æ¼ö¾÷¥æ´«ªº¥\¯à¡C




\subsection{¤ä´© Xircom ¥d¨ì©³«ç»ò¤F¡H}

¦b¥Ø«eªº PCMCIA ®M¥ó¤¤¦³§t¤F¤@­Ó¥j´©  Xircom ¤A¤Óºô¸ô¤Î¤A¤Óºô¸ô  /
¼Æ¾Ú¾÷ªºÅX°Êµ{¦¡¡C ³o­n·PÁÂ Werner Koch ¥ý¥Í¡C§Ú¦³³]¥ß¤@­Ó±Mªù°Q½×
Xircom ÅX°Êµ{¦¡½×ôÎªº¶W´CÅé·s»D¡A¦b \nameurl{http://hyper.stanford.edu/hypernews/get/pcmcia/xircom.html}{}¡C

¥H«e Xircom ¥d¨Ã¨S³Q¤ä´©¬O¦]¬° Xircom ¤½¥q¦³¤£¯à¬ªÅS¥L­Ìªº¥d¤ù¤§§Þ
³N¸ê°T¡C«á¨Ó¡A¥L­Ì©ñÃP³o¨Ç³W©w¡A²{¦b¥D°Ê´£¨ÑÅX°Êµ{¦¡ªº¸ê°T¡C




\section{°£¿ù¤p§Þ¥©¤Îµ{¦¡³]­p¸ê°T}


\subsection{´£¥X¦³¥Îªº¤p¦ä³ø§i}

´£¥X¤p¦ä³ø§iªº³Ì¦nªº¤èªk¬O¨Ï¥Î¦b Linux PCMCIA ¸ê°T¯¸ªº¶W´CÅé·s»D°T
®§¦Cªí¡C³o¼Ë¥iÅý¨ä¥L¤Hª¾¹D³Ì·sªº°ÝÃD¦³­þ¨Ç (¨Ã­×§ï©Î§ïÅÜ¤èªk )¡C³o
¨à¬O¤p¦ä³ø§i¤ºÀ³Åý¦³ªº¸ê®Æ¡G

\begin{itemize}
\item ±zªº¨t²ÎÃþ«¬¡A¥H¤Î {\ttfamily probe} ©R¥Oªº¿é¥X°T®§¡C
\item ±z¨Ï¥Î­þ¨Ç PCMCIA ¥d¡C
\item ±zªº Linux ®Ö¤ßµ{¦¡ª©¥»¤Î PCMCIA ÅX°Êµ{¦¡ª©¥»¡C
\item ±z¹ï {\ttfamily /etc/pcmcia} ÀÉ©Î PCMCIA ±Ò°Ê¤â½Z©Ò°µªº§ïÅÜ¡C
\item  ¦b¨t²Î¤é»xÀÉ¤º©Ò¦³»P PCMCIA ¦³Ãöªº°T®§¡C
\end{itemize}


©Ò¦³ªº PCMCIA µ{¦¡¼Ò²Õ©M {\ttfamily cardmgr} ºëÆF©Ò¶Ç¨ì¨t²Î¤é»xÀÉªº°T®§¡C
³q±`¬° {\ttfamily /var/log/messages}  ©Î {\ttfamily /usr/adm/messages}¡C
·í°lÂÜ¤@­Ó°ÝÃD®É³oÀ³¸Ó®É²Ä¤@­Ó­n¹î¬Ýªº¦a¤è¡C·í±z´£¥X¤p¦ä³ø§i®É½Ð³s
¦P¥]¬A³o­ÓÀÉ®×¡C      ¦pªG±z¦b§ä¨t²Î°T®§¦³¥ô¦ó°ÝÃD®É¡A      ½ÐÀË¬d
{\ttfamily /etc/syslogd.conf} ¨Ó¬Ý¦³­þ¨Ç¤£¦Pªº°T®§Ãþ§O³Q³B²z¤F¡C

¦b´£¥X¤p¦ä³ø§i«e¡A½Ð±zÀË¬d¤@¤U½T»{±z¨Ï¥Îªº¬O³Ì·sª©ªºÅX°Êµ{¦¡®M¥ó¡C
¦pªG¯à¥ý¬Ý¤w³Q§Ú§ï¥¿°£¿ù«áªº³ø§iªº¸Ü·|Åý¤Hµyµy°ª¿³¤@¤U¡A¤£µM´N¦³ÂI
¨S«Ø³]©Ê¦a¶d­t§Úªº¤ß¦å¤F¡C

¦pªG§Aªº°ÝÃD¬O®Ö¤ßªº³¡¥÷¡A±q¿ù»~ªº¦a¤è¤§¿ù»~¶É¦L¥u¦³§A¯à°÷°lÁa¿ù»~
¦ì§}¡Ð EIP ¤~¦³¥Î¡C ¦pªG¿ù»~¬O¦b¥D­n®Ö¤ß¤º¡A¬Ý¬Ý¦b {\ttfamily System.map}
¤ºªº¦ì§}¡A§ä¥X¿ù»~ªº¥\¯à¨ç¼Æ¡C¦pªG¥X¿ùªº¦a¤è¬O¦b¥i¸ü¤J¦¡¼Ò²Õ¤º¡A¨º
»ò´N«ÜÃø°lÁa¤F¡C ¨Ï¥Î¥Ø«eªº¼Ò²Õ¤u¨ã ``{\ttfamily ksyms -m}'' ·|´£¥X¤@¥÷¨C
¤@­Ó¥i¸ü¤J¼Ò²Õªº°ò¦ì§}¡C¿ï¨ú¥]§t¤F EIP ¦ì§}ªº¼Ò²Õ¡AµM«á§â EIP ´î±¼
°ò¦ì§}§Y¥iÀò±o¼Ò²Õ¤ºªº¦ì²¾¡C µM«á¡A °õ¦æ {\ttfamily gdb} ¦b¸Ó¼Ò²Õ¤W¡A¨Ï¥Î
{\ttfamily list} ©R¥O§ä¨ì¦ì²¾¡C ³o¶µ¥\¯à¥u¦³¦b§A¦³¨Ï¥Î {\ttfamily -g} ¿ï¶µ¦b½sÄ¶
¸Ó¼Ò²Õ®É¥[¤J¤F°£¿ù¸ê°Tªº¥\¯à¡C

¦pªG§A¨S¦³¨Ï¥Îºô¸ô¡A¤p¦ä³ø§i¤]¥i¥H±H¨ì {\ttfamily dhinds@hyper.stanford.edu}
¨Óµ¹§Ú¡A§Ú¸û§Æ±æ§A¯à§â¤p¦ä³ø§i¶K¨ì§Úªººô¯¸¤W¡A³o¼Ë¤l¨ä¥L¤H¤]³£¥i¥H
¬Ý¨ì¡C




\subsection{§C¶¥ PCMCIA °£¿ù»²§U}

PCMCIA ¼Ò²Õ§t¦³³\¦h±ø¥ó½sÄ¶ªº°£¿ù½X¡C ¤j³¡¥÷ªº³o¨Ç½X³£¦b«e¸m³B²z¾¹
{\ttfamily PCMCIA\_DEBUG} ©w¸qªº±±¨î¤U¡C¦pªG¥¦¨S³Q©w¸q¡A°£¿ù½X´N¤£·|³Q½sÄ¶
¡C¦pªG³]©w¦ì 0¡A±±¨î½X·|³Q½sÄ¶¶i¤J¦ý¤£·|³Q±Ò¥Î¡C·U¤jªº¼Æ¦r«ü©w·|ÅÜ
±o§ó¤¾ªø¤F¡C ¥H {\ttfamily PCMCIA\_DEBUG} ©w¸q¨Ó«Ø¥ßªº¼Ò²Õ³£·|¦³­Ó¾ã¼Æ°Ñ¼Æ
{\ttfamily pc\_debug}¡A¥¦·|±±¨î¥¦ªº¿é¥X¤§¦h¹è¡C ³o¥i¥H¦b¼Ò²Õ³Q¸ü¤J®É¥[¥H½Õ
¾ã¡A¦b¤£»Ý­«·s½sÄ¶¤U¨Ï±o¿é¥X¥i¥H³Q±±¨î¦¨¥H¨C­Ó¼Ò²Õ¬°³æ¦ì¤F¡C

¦b PCMCIA ¨ÑÀ³ª©¤ºªº {\ttfamily debug\_tools/}  ¤l¥Ø¿ý¤º¦³¤@¨Ç°£¿ùªº¤u
¨ã¡C {\ttfamily dump\_tcic} ©M {\ttfamily dump\_i365} ¨â­Ó¤½¥Îµ{¦¡·|²£¥Í PCMCIA ±±
¨î¾¹ªº§¹¾ã¼È¦s¾¹ªº¶É¦L¡A¨Ã¥B±N³\¦h¼È¦s¾¹¸ê°Tªº¸Ñ½X¡C¦pªG§A¦³¹ï¬ÛÃö
ªº±±¨î´¹¤ù°µ¦s¨úªº¸Ü¡A   ³o¨Ç¸ê°T³Ì³Ì¦³¥Îªº¤F¡C   {\ttfamily dump\_tuples}
¤½¥Îµ{¦¡¦C¥X¤F¥d¤ùªº CIS (¥d¤ù¸ê°Tµ²ºc )¡A¨Ã±N¤@¨Ç¸û­«­nªº¸ê®Æ¸Ñ½X
¥X¨Ó¡C  {\ttfamily dump\_cisreg}  ¤½¥Îµ{¦¡Åã¥Ü¥d¤ùªº¥»¦aºÝ«Øºc¼È¦s¾¹(local
configuration registers)¸ê®Æ¡C

¦³®É­Ô {\ttfamily memory\_cs} °O¾ÐÅé¥dÅX°Êµ{¦¡¥Î¨Ó°£¿ù«Ü¦n¥Î¡C¥¦¥i¥H»P¥ô¦ó
ªº PCMCIA ¥d¬Û³s±µ¡A¦Ó¥B¤£·|¤zÂZ¨ì¨ä¥LªºÅX°Êµ{¦¡¡C¥¦¥i¥H³Q¥Î¨Ó¹ï¥ô
¦ó¥d¤ùªºÄÝ©Ê°O¾ÐÅé©Î³q¥Î°O¾ÐÅéªºª½±µ¦s¨ú¡C




\subsection{¬°·s¥d¤ù¼g¥d¤ùªA°ÈÅX°Êµ{¦¡}

Linux PCMCIA µ{¦¡³]­p®v«ü¤Þ¬O Linux PCMCIA ¤¶­±ªº³Ì¦n¤å¥ó¡C ³Ì·sªº
ª©¥»§A³£¥i¥H±q {\ttfamily hyper.stanford.edu} ªº {\ttfamily /pub/pcmcia/doc}
¥Ø¿ý¤º©Î¬O¦bºô¯¸ \nameurl{http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html}{}
¤º§ä¨ì¡C

¹ï©ó¨º¨Ç±µªñ©ó¤@¯ëªº   ISA  ¤¶­±³]³Æ¨Ó»¡¡A  §A¤]³\¥i¥H¨Ï¥Î¤w¦s¦bªº
Linux ÅX°Êµ{¦¡¨ÓÅX°Ê¡C¦³®É­Ô¡A³Ì¤jªº»ÙÃª¬O­×§ï¤@­Ó¤w¦s¦bªºÅX°Êµ{¦¡
¨Ï¥¦¥i¥H¦b¶}¾÷«á³B²z¥[¤J©Î²¾¥X³]³Æ¡C¦b²{¦æªºÅX°Êµ{¦¡¤¤¡A¥u¦³°O¾ÐÅé
¥d¬O°ß¤@ `` ¦Û§Ú¥]§tªº '' ÅX°Êµ{¦¡¡Ð¨Ã¤£¨Ì¿à  Linux ªº®Ö¤ßªº¨ä¥L³¡
¥÷¨Ó°µ­W¤u¡C

¦b«Ü¦h¨Ò¤l¤¤¡A­n¤ä´©¤@±i·s¥dªº³Ì¤j»ÙÃª¦b©ó±q¥¦ªº»s³yª©¨º¨à±o¨ì§Þ³N
¸ê°T¡C    ­nª¾¹D°Ý½Ö¤~¹ï©Î¬O¸ÑÄÀ­þ¨Ç¸ê°T¬O¥²»Ýªº¤]«ÜÃø¡C    µM¦Ó¡A
¥u¦³¤Ö¼Æ¨Ò¤l¥~¡A¦b¨S¦³±q»s³y¼t±o¨ì§Þ³N¸ê°Tªº±¡ªp¤U­n¼g­Ó¸Ó¥dªºÅX°Ê
µ{¦¡´X¥G«ÜÃø¡C

§Ú¼g¤F¤@­Ó§t¤F³Æµù¨Ó¸Ñ»¡³\¦h¦³Ãö¤@­ÓÅX°Êµ{¦¡¦p¦ó»P Card ªA°Èµ{¦¡¬Û
Äé³qªº¬[ºcÅX°Êµ{¦¡¡C       §A¥i¥H¦b       PCMCIA        ­ì©lÀÉ®×ªº
{\ttfamily modules/skeleton.c} ¤º§ä¨ì¡C




\subsection{µ¹ PCMCIA «È¤á¦Û©wÅX°Êµ{¦¡ªº§@ªÌªº«ü¤Þ}



§Ú¨M©w­Y­n¨ÑÀ³©Ò¦³ªº PCMCIA «È¤áºÝÅX°Êµ{¦¡¨Ó¦¨¬° PCMCIA ®M¥óªº¤@³¡
¥÷ªº¸Ü¡A³o¼Ë¨Ã¤£¾A¦X§Ú¡C¨C¤@­Ó·sªºÅX°Êµ{¦¡³£·|Åý¥D­n®M¥óº¥º¥¦aÃø¥H
¨ÓºûÅ@¡C¦Ó¥B¥]§tªº³o¨ÇÅX°Êµ{¦¡¤]·|¤£½Ð¦Û¨Ó¦a±NºûÅ@ªº¤u§@±q§@ªÌ¨º¨à
Âà²¾¨ì§Úªº¨­¤W¡C¦]¦¹¡A§Ú·|°ò©ó¨Ï¥ÎªÌªº»Ý¨D¥H¤Î¥iºûÅ@©Ê¨Ó¥H­Ó®×ªº¤è
¦¡¨M©w¬O§_­n¥]§t­þ¨Ç¨ÑÀ³ªºÅX°Êµ{¦¡¡C¹ï©ó¨º¨Ç¤£³Q¥]§t¦b®Ö¤ß®M¸ËªºÅX
°Êµ{¦¡¡A§Ú«ØÄ³³o¨ÇÅX°Êµ{¦¡ªº§@ªÌ¥i¥H¨Ï¥Î¤U­±ªº¤è®×¨Ó¥´¥]±zªºÅX°Êµ{
¦¡§@¬°¨ÑÀ³¥Î¡C

ÅX°Êµ{¦¡ªºÀÉ®×À³¸Ó³Q¦w±Æ©ñ¦b»P PCMCIA ¨Ó·½¨ÑÀ³ª©°Óªº¬Û¦P¥Ø¿ýµ²ºc¤U
¡A¦p¦¹¡AÅX°Êµ{¦¡´N¥i³Q¸Ñ¶}¨ì§¹¾ãªº PCMCIA ­ì©lµ{¦¡¾ðªº¤W­±¤F¡C¤@­Ó
ÅX°Êµ{¦¡À³¸Ó¥]§t­ì©lµ{¦¡ÀÉ®× (¦b {\ttfamily ./modules/})¡A man ­¶ (¦b
{\ttfamily ./man/})¡A«ØºcÀÉ®× (¦b {\ttfamily ./etc/})¡C ¦b³Ì¤W¼hªº¥Ø¿ý¤º
¤]À³¸Ó¦³­Ó README Åª§ÚÀÉ®×¡C

³Ì¤W¼h¥Ø¿ý¤]À³¸Ó¥]§t¤@­Ó makefile¡A¥¦¬O¤@­Ó²Õ¦X¥Î¨Ó°õ¦æ ``{\ttfamily make
-f ...} all'' ¥H¤Î ``{\ttfamily make -f...  install}'' ½sÄ¶ÅX°Êµ{¦¡¨Ã¦w¸Ë
¾A·íªºÀÉ®×¡C¦pªG³o­Ó makefile ¦³­Ó {\ttfamily .mk} ªþ¥[ÀÉ¦W¡A¨º»ò¥¦·|¦Û°Ê
¦a³Q¤W¼hªº {\ttfamily Makefile}  ©R¥O¥[¤W {\ttfamily all} ¥H¤Î {\ttfamily install} ¥Ø¼Ð
¦a®É¨Ó°õ¦æ¡C

¥H¤U¬O¤@­Ó   makefile   ¦p¦ó³Q«Ø¥ßªº¨Ò¤l¡G

\begin{tscreen}
\begin{verbatim}
# Sample Makefile for contributed client driver
FILES = sample_cs.mk README.sample_cs \
        modules/sample_cs.c modules/sample_cs.h \
        etc/sample etc/sample.opts man/sample_cs.4
all:
        $(MAKE) -C modules MODULES=sample_cs.o
install:
        $(MAKE) -C modules install-modules MODULES=sample_cs.o
        $(MAKE) -C etc install-clients CLIENTS=sample
        $(MAKE) -C man install-man4 MAN4=sample_cs.4
dist:
        tar czvf sample_cs.tar.gz $(FILES)
\end{verbatim}
\end{tscreen}


³o­Ó makefile ¨Ï¥Î 2.9.10 ª©¥»¡]§t¡^¥H«áªº PCMCIA ®M¸Ëµ{¦¡©Ò©w¸qªº
¦w¸Ë¥Ø¼Ð¦a¡C¥¦ÁÙ¥]§t¤F¤@­Ó ``dist'' ¥Ø¼Ð¦a¨Óµ¹ÅX°Êµ{¦¡ªº§@ªÌ¤è«K©Ê
¡C        §A¤]³\·Q­n¥[¤Wª©¥»½s¸¹¨ì³Ì«áªº®M¸ËÀÉ¦W¤W¡C       (¨Ò¦p¡A
{\ttfamily sample\_cs-1.5.tar.gz})¡C¤@­Ó§¹¾ã¨ÑÀ³ª©¥i¥H¦p¤U¡G

\begin{tscreen}
\begin{verbatim}
sample_cs.mk
README.sample_cs
modules/sample_cs.c
modules/sample_cs.h
etc/sample
etc/sample.opts
man/sample_cs.4
\end{verbatim}
\end{tscreen}


¥H³o¼Ëªº¦w±Æ¡A·í¨ÑÀ³ª©¥»ÅX°Êµ{¦¡³Q¸Ñ¶}®É¡A¥¦·|ÅÜ¬° PCMCIA ­ì©lµ{¦¡
¾ðªº¥²­n¦¨­û¡C³o¼Ë¥¦´N¥i¥H¨Ï¥Î PCMCIA ÀÉÀYÀÉ®×¥H¤ÎÀË¬d¨Ï¥ÎªÌ¨t²Î«Ø
ºcªº¾÷¯à¡B¦Û°Ê¬ÛÃö©ÊÀË¬d¡A´N¹³¬O­Ó `` ¤@¯ëªº '' «È¤áºÝÅX°Êµ{¦¡¤@¼Ë
¡C

§Ú±µ¨ü¨º¨Ç¨Ì·Ó³o­Ó³W®æ©Ò·Ç³Æªº«È¤áºÝÅX°Êµ{¦¡±N¥¦­Ì©ñ¦b§Úªº  FTP ÀÉ
®×¶Ç¿é¯¸  {\ttfamily hyper.stanford.edu}  ªº {\ttfamily /pub/pcmcia/contrib}
¥Ø¿ý¤º¡C¦b³o­Ó¥Ø¿ý¤ºªº README ÀÉ®×·|­z©ú¦p¦ó¸Ñ¶}¨ÑÀ³ªºÅX°Êµ{¦¡¡C

PCMCIA «È¤áºÝÅX°Êµ{¦¡¤¶­±¤@ª½¥H¨Ó³£¨S¦³ÅÜ°Ê«Ü¦h¡A ¨Ã¥BÁÙ³£¦³«O¯d¦V
«á¬Û®eªº¥\¯à¡C¤@«È¤áºÝÅX°Êµ{¦¡¨Ã¤£»Ý¦b¥D­nªº PCMCIA ®M¥ó¤p³¡¥÷ªº§ï
ª©®É´N±o¤É¯Å¤@¦¸¡C§Ú¤]·|¸ÕµÛ³qª¾¨º¨Ç¨ÑÀ³ÅX°Êµ{¦¡ªº§@ªÌ¹ï©ó¥L­ÌªºÅX
°Êµ{¦¡»Ý­n§ó°Êªº¦a¤è¡C




\subsection{µ¹ Linux ¨ÑÀ³ª©¥»ºûÅ@¤H­ûªº¾É¤Þ }



¦pªG±z¨Ï¥Îªº¨ÑÀ³°Óª©¥»´£¨Ñ¨t²Î«Øºc¤u¨ãµ{¦¡¨Ï±z¶·ª`·N PCMCIA ³¡¥÷¡A
½Ð¨Ï¥Î¦b {\ttfamily /etc/pcmcia}  ¤ºªº {\ttfamily *.opts} ÀÉ®×¨Ó¡¨±¾¤W¡¨
¨º¨Ç¥\¯à¡C¦pªG¨Ï¥ÎªÌ½sÄ¶¤Î¦w¸Ë·sª©ªº PCMCIA ®M¥ó®É¥¦­Ì±N¤£·|³Q§ó°Ê
¡C¦pªG±z­×§ï¤F¥D«Øºc¤â½Z«á¦A¦w¸Ë­Ó·sªº PCMCIA ®M¥ó®É¡A³o±N·|®¨®¨¦a
§â±z¤w¦Û­qªº¤â½Zµ¹ÂÐ»\¦Ó¤¤Â_±z¤§«e»P«Øºc¤u¨ã¶¡ªº³s±µ¡C¦pªG±z¤£¾å±o
«ç»ò¨Ó¼g­Ó¦X¾Aªº¿ï¶µ¤â½Z¡A±z¥i¥H»P§Ú³sµ¸¡C

¦pªG±z¯à±N±z¨Ï¥Îªº¨ÑÀ³°Óª©¥»¤¤¦³Ãö PCMCIA ®M¥óªº¨Ï¥Î»P¥»¤å¥ó¤§¤£¦P
ªº¦a¤è¼g¦¨¤å¥ó±N¹ï¨ä¥Lªº¨Ï¥ÎªÌ¥H¤Î§Ú¥»¤H¦³§U¯qªº¡C¯S§O¬O¡A½Ð¦b¤å¥ó
¤W¥I¤W±Ò°Ê¤â½Z¤Î«Øºc¤âºcªº¤£¦P³B¡C

¦pªG±z·Q°µ Linux ¨ÑÀ³ª©ªº PCMCIA¡A³Ì¦n¤]§â«D PCMCIA ¥D­nµ{¦¡ªº¨ä¥L
¤À¨ÉÅX°Êµ{¦¡¤@°_¥]¬A¶i¥h¡C¬°¤F¤è«KºûÅ@¡A§Ú·|ºÉ¤O¦a±N®Ö¤ß®M¥óªº¤j¤p
­­¨î¦b¤@©w½d³ò¤º¡A°£«D¦³§ÚÄ±±o·|³Q¤j®a·P¿³½ìªº³¡¥÷¤~·|¦A¥[¶i¥h¡C¦p
«e­±©Ò»¡¡A¨ä¥LªºÅX°Êµ{¦¡·|³Q¤À¶}¦a¨ÑÀ³¡C¹ï©ó³Q¾ã¦X©M¤À¶}©ó®Ö¤ß³¡¥÷
ªºÅX°Êµ{¦¡¤§¬É©w¬OÀH·N¥B¦³¨Ç¬O¦³¨ä¾ú¥v©Êªº¡A¦]¦¹§Ú­Ì¤£¯à¥H¬°¥¦­Ì¦b
«~½è¤W¦³¥ô¦óªº¤£¦P¡C



«á°O:

Ä¶ªÌ«ö: ¦bÂ½Ä¶¥»½g¤å³¹ªº¹Lµ{¤¤¡A¦@¹J¨ì¤G¦¸Â½Ä¶¨ì¤@¥b¦Ó­ì§@ªÌ­×¥¿¤å
¥ó¤Î­«·s½s±Æªºª¬ªp¡C¦]¦¹¡A¥»Ä¶¤å¥i¯à¦³Â½Ä¶¤£©P©µ©Î¿ù¦r¤§³B¡A·Ð½Ðµo
²{¿ù»~¦a¤èªºªB¤Í¨Ó«H¨ì {\ttfamily \onlynameurl{linuxer.bbs@cis.nctu.edu.tw}}
µ¹§Ú¡A¥H«K­×¥¿¡AÁÂÁÂ±z!



\end{document}
