Linux PCMCIA HOWTO David Hinds, dhinds@pcmcia.sourceforge.org v2.46, 1 December 1999 ±¶ÜÝÂÐë Æ JF vWFNg v2.46j, 18 December 1999 ±Ì¶Í Linux É PCMCIA J[hT[rXðCXg[µÄg¤½ßÌ û@É¢ÄÜÆß½àÌÅ·BܽAµÎµÎqËçêé¿â(FAQ)Éà ¦Ä¢Ü·B±Ì¶ÌÅVÅÍ <ftp://sourceforge.org/pcmcia/doc> É èÜ·B HTML ÅÍ <ftp://hyper.stanford.edu/pub/pcmcia/doc> Å·B ______________________________________________________________________ Ú 1. TªÆKvÈn[hEFA 1.1 Cg_NV 1.2 ì \¦ÆÆÓ 1.3 ÅVÌo[WÍ¢ÂÅ·©? DZÅèÉüèÜ·©? 1.4 T|[gµÄ¢éVXeÍ? 1.5 T|[gµÄ¢éJ[hÍ? 1.6 ¢ÂÉÈÁ½ç̨CÉüèÌ(¢T|[g)J[hªT|[g³êéñŵå¤? 1.7 [OXgƻ̼Ìîñ¹ 1.8 Ⱥ PCMCIA ÌoCiðzzµÈ¢Ì? 1.9 Ⱥ PCMCIA pbP[WͱñÈÉå«¢Ì? 2. RpCÆCXg[ 2.1 KvÈt@CÆJ[lÌÝè 2.2 CXg[ 2.3 N®IvV 2.4 VXe\[XÌÝè 2.5 ÂÊfBXgr [VÉÖ·éÓ 2.5.1 Debian 2.5.2 RedHat, Caldera, Mandrake 2.5.3 Slackware 2.5.4 SuSE 3. CXg[ÆÝèɨ¯éâèÌð 3.1 x[XÆÈé PCMCIA J[lW [ª[h³êܹñ 3.2 [hÅ«È¢NCAghCoW [ª èÜ· 3.3 èÝÌXLɸsµÜ· 3.4 I/O |[gÌXLɸsµÜ· 3.5 ÌoɸsµÜ· 3.6 J[h̲«}µðoūܹñ 3.7 VXe\[XÌs« 3.8 2 ÌJ[hð}üµ½¾¯\[XªÕ˵ܷ 3.9 foCXÌÝèªIíèܹñ 4. g¢ûÆ@\ 4.1 PCMCIA foCXÌÝèÆÄ̽ßÌc[ 4.1.1 Ýèpf[ `cardmgr' 4.1.2 \PbgÌóÔt@CÆX^u 4.1.3 cardctl, cardinfo [eBeB 4.1.4 J[h̲«}µ 4.1.5 J[hT[rXÆ APM(Advanced Power Management) 4.1.6 PCMCIA VXeÌI¹ 4.2 PCMCIA ÝèXNvgÌTv 4.3 PCMCIA lbg[NA_v^ 4.3.1 lbg[NfoCXÌp[^ 4.3.2 ÂÊÌJ[hÉÖ·éRg 4.3.3 lbg[NA_v^ÉÜÂíéâèÌff 4.4 PCMCIA ÌVAfoCXÆffoCX 4.4.1 VAfoCXÌp[^ 4.4.2 ÁèÌJ[hÉ¢ÄÌRg 4.4.3 VAfoCXÉÜÂíéâèÌff 4.5 PCMCIA p|[gfoCX 4.5.1 pfoCXÌp[^ 4.5.2 p|[gfoCXÅN±éâèÌff 4.6 PCMCIA SCSI A_v^ 4.6.1 SCSI foCXÌp[^ 4.6.2 ÂÊJ[hÉÖ·éRg 4.6.3 SCSI A_v^ÉÜÂíéâèÌff 4.7 PCMCIA J[h 4.7.1 foCXÌp[^ 4.7.2 jAtbV J[hÌg¢û 4.8 PCMCIA ATA/IDE J[hhCu 4.8.1 ATA/IDE ÅèfBXNfoCXÌp[^ 4.8.2 ATA/IDE A_v^ÉÜÂíéâèÌff 4.9 }`t@NVJ[h 5. xÈbè 5.1 PCMCIA foCXÖÌ\[XèÄ 5.2 ÆÆïÐÅÊXÌÝèðg¢ª¯é±ÆªÅ«Ü·©? 5.3 PCMCIA foCX©çÌN® 5.3.1 âXNvg ``pcinitrd'' 5.3.2 initrd N®fBXNÌì¬ 5.3.3 Linux pÅÈ¢hCuãÉ é initrd C[WÌCXg[ 6. T|[g³êĢȢJ[h̵¢ 6.1 ¯Ê³êÈ¢J[hÌÝè 6.2 NE2000 Ý·C[TlbgJ[hÖÌÎ 6.3 PCMCIA tbs[C^tF[XJ[h 7. fobOÌqgÆvOîñ 7.1 LvÈoO|[gÌèû 7.2 J[lÌgbvÊmÌðß 7.3 PCMCIA ÌáxÌfobOðs¤½ßÌîñ 7.4 /proc/bus/pccard 7.5 o½Î©èÌJ[hü¯É PCMCIA J[hT[rXÌhCoðÉÍ 7.6 PCMCIA NCAghCoðl̽ßÌèø« 7.7 Linux fBXgr [VÌei̽ßÌèø« 8. ú{êóÉ墀 ______________________________________________________________________ 1. TªÆKvÈn[hEFA 1.1. Cg_NV Linux pÌ PCMCIA J[hT[rXÍAPCMCIA é¢ÍuPC J[hvðT| [g·é½ßÌ\tgEFAê®Å·B±ÌpbP[WÉÍA éo[W ÌJ[hT[rX API ðÀµ½J[lW [A»ê¼êÌJ[h² ÆÌNCAghCoAJ[hÌ EðĵAKvɶÄhCoð [hµ½èOµ½è·éJ[h}l[W[f[ªÜÜêĢܷBÙ ÆñÇÌíÞÌJ[hÌuü}²vÉàεĢéÌÅA¢ÂÅàÀSÉ J[hð E·é±ÆªÂ\Å·B ±Ì\tgEFAÍܾJÌàÌÅ·B½ªoOª éŵ夵AÓ µÄg¤Kvª èÜ·BñµÄ¢½¾¢½oOÍÂ\ÈÀèC³·éÂà èÅ·ªAñªÈ¢ÆÍ»ÌoOÉCéȢ©àµêܹñBàµ±Ì vOðgÁÄàç¦éÈçÎAÇ¢±ÆÅà«¢±ÆÅࢢŷ©ç o±kðÁÄ¢½¾¯Ü·æ¤ó]µÜ·B ±Ì¶É¢ÄÌñÄâüP_É¢Äà¥ñ³¦Ä¾³¢ (dhinds@pcmcia.sourceforge.org ÜÅ)B [ó: |óÉÖ·é±ÆÍ JF vWFNg (<JF@linux.or.jp>)ÜÅ¨è¢ µÜ·] 1.2. ì \¦ÆÆÓ Copyright (c) 1998 David A. Hinds This document may be reproduced or distributed in any form without my prior permission. Modified versions of this document, including translations into other languages, may be freely distributed, provided that they are clearly identified as such, and this copyright is included intact. This document may be included in commercial distributions without my prior consent. While it is not required, I would like to be informed of such usage. If you intend to incorporate this document in a published work, please contact me to make sure you have the latest available version. This document is provided ``AS IS'', with no express or implied warranties. Use the information in this document at your own risk. ±Ì¶ðRs[µ½èÄzz·éÌÉÌOÌÂÍKv èܹñB¼ ̾êÖÌ|óðÜޱ̶ÌC³ÅàA»êªC³ÅÅ é±Æª¾mÉ ¦³êĨèA±Ìì ðª»ÌÜÜÜÜêÄ¢éÀèA©RÉÄzz \Å·B ±Ì¶ÍÌOÌÂȤÆIÈpbP[WÉÜßé±ÆàÂ\Å· ªA»Ìæ¤ÈgpÉÛµÄÍAµÄ¢½¾±Æðó]µÜ·BoÅ¨É ÜßéêÍÅVÅÅ é±ÆðmF·é½ßÉ¥ñÜÅAµÄ¾³ ¢B ±Ì¶Íu»ÌÜÜ(as is)vÌ`Åñ³êAêØÌÛØÍ èܹñB ±Ì¶ÉLÚ³êÄ¢éîñðp³êéÛÍ©çÌÓCŨ袵ܷB 1.3. ÅVÌo[WÍ¢ÂÅ·©? DZÅèÉüèÜ·©? PCMCIA J[hT[rXÌÅVÌW[[XÍo[WÍ 3.1 ÅA ¿åÁƵ½ÏXâoOÌC³É¶Ä 3.1.1, 3.1.2 Ìæ¤Èo[WÔ ªUçêĢܷB ÅVo[WÌ\[XR[hÍ sourceforge.org Ì /pcmcia fBNg É pcmcia-cs-3.1.?.tar.gz Æ¢¤¼OÅu¢Ä èÜ·BÊÍ¡Ìo[ Wª¯êÌfBNgÉ èÜ·BÊÍW[o[WÊÉAÅ VÅÌ}Ci[o[W¾¯ªu©êĢܷBVµ¢W[o[W ÉÍeXgªs\ªÈR[hªüÁÄ¢éÌÅAärIÀSµÄg¦é\õÆ µÄAÈOÌo[WÌÅIÅàc·æ¤ÉµÄ¢Ü·B»ÝÌ\õÌo[ WÍ 3.0.14 Å·BÇÌo[Wðp·é©»f·éÌÍÇÒÌF³ ñÅ·ªAdvÈá¢Í CHANGES t@CÉÜÆßĨ¢½ÌÅQlÉµÄ ¾³¢B sourceforge.org Í sunsite.unc.edu (»µÄ sunsite Ì~[TCgS Ä)Ì /pub/Linux/kernel/pcmcia É~[³êĢܷB PCMCIA hCoðÅ©çRpCµÈÄàAÅßÌåv Linux fBX gr [VÌÙÆñÇÉÍRpCÏÝÌhCoªüÁĢܷB ±Ìæ¤ÈfBXgr [VÉÍASlackware, Debian, RedHat, Caldera, SuSE, Yggdrasil ÈǪ èÜ·B [ó: YfBXgr [VÌåªàÜÜêÜ·] 1.4. T|[gµÄ¢éVXeÍ? ±ÌpbP[WÍ Linux ª®ì·é Intel x[XÌ PC ÌÙÆñÇÅ®ì· é͸ŷBAlpha x[XÌvbgtH[(ÂÜè DEC Multia)Åà®ì µÜ·BÇ¿çÌGfBAÅà®SÉ®æ¤É·é½ßÌìÆð»Ý sÁĨèA±êÉæÁÄ PowerPC x[XÌvbgtH[(ÂÜè Apple Powerbook)Åà®ì·éæ¤ÉÈéŵå¤BêÊIÈ\PbgRg[ ÌÙÆñÇðT|[gµÄ¢Ü·BT|[g³êÄ¢éRg[ðgÁÄ ¨èASCSI-PCMCIA A_v^â IDE-PCMCIA A_v^ðgí¸ÉRg[ ð¼Ú ISA oXâ PCI oXÉ}µÄ¢éÀèAfXNgbv@pÌJ[h hbNÅà®ì·é͸ŷBȺɰéRg[ÍApbP[Wt® Ì\PbghCoªF¯·éàÌÅ·: o Cirrus Logic PD6710, PD6720, PD6722, PD6729, PD6730, PD6732, PD6832 o Intel i82365sl B, C, and DF steps, 82092AA o O2Micro OZ6729, OZ6730, OZ6832, OZ6833, OZ6836, OZ6860, OZ6812 o Omega Micro 82C365G, 82C092G o Ricoh RF5C296, RF5C396, RL5C465, RL5C466, RL5C475, RL5C476, RL5C478 o SMC 34C90 o Texas Instruments PCI1130, PCI1131, PCI1210, PCI1220, PCI1221, PCI1225, PCI1250A, PCI1251A, PCI1251B, PCI1450 o Å ToPIC95, ToPIC97 (±IÉÎBs®SÅ·) o Vadem VG465, VG468, VG469 o VLSI Technologies 82C146, VCF94365 o VIA VT83C469 o Databook DB86082, DB86082A, DB86084, DB86084A, DB86072, DB86082B êÊIÉÍAi82365sl ÆWX^Ý·Å é¼ÌRg[à®ìµÜ ·B 32 rbg CardBus ÖÌÎÍAܾ¢ç©±IÈàÌÅ·Bo[W 3.0 æèOÌhCoÍACardBus \PbgàÌ 16 rbgJ[hµ©T|[ gµÄ¢Ü¹ñBbvgbv@ÌZpÌÏ»Ìy[Xª¢½ßAVµ¢R g[ªpÉÉoêµÜ·µAVµsêÉo½fÉhCoªÎ ·é̪xêé±Æª èÜ·B ÅÍ ToPIC95, ToPIC97 `bvZbgÉÖ·éhL gð¢Â©öJ µÜµ½ªAñ³ê½îñÍ\ªÅÍ èܹñB½·éµµ½ñª oÄ¢éÉà©©íç¸AÅͱÌóµðð·éLøÈæègÝðµÄ¢ ܹñB Linx Ì ToPIC `bvZbgÌT|[gÉÍdåÈoOª èÜ· ªA±êÍÅ©çàÁÆÜÆàȶªoé©AÅ©ç̪¾çêÈ ¢ÀèÍðµÈ¢Åµå¤B»_ÅÍAÅÌbvgbv@ðgíÈ¢ ±Æð¨©ßµÜ·B16 rbgJ[hÌêÍABIOS ÌÝèÅ ``PCIC'' Ö ÌubW[hðÝè·é±Æð¨©ßµÜ·BCardBus J[hÌêÉ ÍA©ÍŽƩµÄ¾³¢B Hyundai(»ã)»Ìbvgbv@̢©ªÌpµÄ¢é Motorola Ì 6AHC05GA Rg[ÍT|[gµÄ¢Ü¹ñBHP Omnibook 600 Ågíê Ä¢éêpÌ PCMCIA R[àT|[gµÄ¢Ü¹ñB 1.5. T|[gµÄ¢éJ[hÍ? ÅVÅÉÍA³Ü´ÜÈC[TlbgJ[hpÌhCoAfJ[hâV A|[gJ[hpÌhCoA¢Â©Ì SCSI A_v^pÌhCoA ATA/IDE hCuJ[hAÙÆñÇ ÌSRAM J[hÆ¢Â©Ì Flash J[ hÅg¦éhCoªüÁĢܷBe[XÌ PCMCIA J[hT[rXÉ t®Ì SUPPORTED.CARDS t@CÉÍAÈÆàêÂÌÀVXeÅÌ ÀѪ éJ[hªSÄLÚ³êĢܷB XgÉÈ¢J[hª®©Ç¤©ÍJ[hÌíÞÉ˶µÜ·BÙÆñÇÌ fJ[hͱÌhCoŮ͸ŷBlbg[NJ[hÍAT|[ g³êÄ¢éJ[hÌ OEM ÅÈ箩àµêܹñB»Ì¼Ì^CvÌ I/O J[h(t[obt@ATEhJ[h)ÍN©ªêpÌhCoð ©È¢À让Ȣŵå¤B 1.6. ¢ÂÉÈÁ½ç̨CÉüèÌ(¢T|[g)J[hªT|[g³êé ñŵå¤? cOȪçAªfoCXhCoð¢Äàê¶Ì¾ÉàÈèܹñBÅ· ©çAൠȽÌg¢½¢J[hpÌhCoª~µ¯êÎA½ª Ƚ© gª½©µçÌìÆðs¤Kvª éŵå¤Bzð¾¦ÎAÍ Linux J[lÌæ¤ÈfÅìÆðµ½¢ÆvÁĢܷBÂÜèAªåÉ uRA(SIÈ)vhCoÌR[hðSµA¼ÌìÒÌûXªÁèJ[h ü¯ÌNCAghCoðñEÇ·éÌÅ·BSUPPORTED.CARDS Å ÍA»ÝJªisÌJ[hÉ¢ÄàGêĢܷBàū马èÌ ¨è`¢Í·éÂàèÅ·ªAJ[lÌfoCXhCoÌfobOðdq [ÅsÁÄàA Üèø¦ÍãªçÈ¢±Æð¾ÁĨ«Ü·B ©Ð»iÌ Linux ÎÖÌxðl¦Ä¢é[J[ª êÎAkÌæè ÜÆßðµÜ·ÌÅÉAðæÁľ³¢B 1.7. [OXgƻ̼Ìîñ¹ Í Linux PCMCIA [U̽ßÌf[^x[XÆ[OXgð^cµ ĢܷBͲÅßA Linux Ì PCMCIA îñpÌ WWW y[Wð uHyperNewsvTCgÉڵܵ½B±±ÉÍ Linux Ì PCMCIA ÉÖ·ébè ðµ¤bZ[WXgð¢Â©pӵĢܷBbZ[WXgÉÍA CXg[ÆÝèÌbèðµ¤àÌAFXÈíÞÌJ[hÉÖ·éàÌAv O~OÆfobOÌbèðµ¤à̪ èÜ·BLinux Ì PCMCIA îñ Ìy[WÍ <http://pcmcia.sourceforge.org> É èÜ·B[UÍÁèÌ ¿âÉηéVµ¢Ôª éÆdq[ÅÊmðó¯é±ÆªÅ«Ü· µAÁè̪ìÅVµ¢bZ[Wªe³ê½êÉàÊmðó¯é±Æª Å«Ü·BÍ±Ì HOWTO ÌÍÍð´¦éæ¤È¿âÉεÄA±Ìy[W ªÖÈîñûWÌêÉÈé±ÆðúҵĢܷB bvgbv@Ìbè𵤠Linux ü¯[OXgª èÜ·B ``linux-laptop'' [OXgÅ·BÚµ¢îñÉ¢ÄÍA{¶É ``help'' ƾ¯¢½[ð majordomo@vger.rutgers.edu ¶ÉÁÄ ¾³¢B±Ì[OXgðwÇ·éÉÍA¯¶AhXÉ ``subscribe linux-laptop'' Æ¢½[ðèÜ·B±Ì[OXgÍ Linux Ì PCMCIA ÉÖ·ébèðc_·é½ßÌÇ¢ê¾Æv¢Ü·B uLinux Laptop Home Page( <http://www.cs.utexas.edu/users/kharker/linux-laptop>)vÉÍAÂÊÌ bvgbv@ð Linux ÅÝè·é½ßÌîñª©ê½y[WÖÌN ª½³ñ èÜ·BVXeÝèîñðõÅ«éf[^x[Xà èÜ ·B 1.8. Ⱥ PCMCIA ÌoCiðzzµÈ¢Ì? ÉÆÁÄAPCMCIA ÌoCiðzz·éÌÍÆÄàåϾ©çÅ·B±Ì ìÆÍÊ|ÈÌÅ·BÆ¢¤ÌàARpCɵ©ÝèÅ«È¢@\à èÜ·µAPCMCIA ÌW [ÞÍu³µ¢vJ[lÌÝèÉ˶µÄ¢ Ü·B»Ì½ßAàµRpCÏÝÌW [ðzzµæ¤Æ·êÎAÎ ·éJ[lðYt·éÍßÉÈéŵå¤B±Ì¼ÉRpCÏÝÌ PCMCIA W [ªKvƳêéêƵÄAVµ¢}VÉ Linux ðC Xg[·éª èÜ·B±ÌêÍÊAÁèÌ Linux fBXgr [VÌCXg[Éí¹ÄhCoðÝè·éKvª èÜ·B »ê¼êÌ Linux fBXgr [VÉÍÆ©ÌCXg[@ª èAêÊIÈhCoÆfBXgr [VðgÝ í¹½ boot/root fBXNðpÓ·é±ÆÍÉÍsÂ\Å·B PCMCIA Í RedHat, Caldera, Slackware, Yggdrasil, Craftworks, Nascent Technology Æ¢Á½ Linux ÌåvfBXgr [VÉÜÜêéæ¤É Èèܵ½B 1.9. Ⱥ PCMCIA pbP[WͱñÈÉå«¢Ì? ÅÉÙðµÄ¨«Ü·ªAÀÛÌƱë»ñÈÉå«¢í¯ÅÍȢŷ æBSÄÌhCoW [ðí¹ÄàfBXNð 500k ÙÇH¤¾¯Å ·BeíÌ[eBeBުठ70k A/etc/pcmcia ª 50 k ÙÇÅ·B ®¢Ä¢éÍ PCMCIA W [Ì core ̪ªVXeð 55k ÙÇæèÜ·Bcardmgr f[ÍÊíAJ[hª²«}µ³ê½ÈOÍX bvAEg³êÄ¢é͸ŷBpbP[WSÌÌKÍƵÄÍ DOS ÌJ [hT[rXÆ»êÙÇÏíèܹñB PCMCIA ÌÁ¥IÈ@\A·Èí¿ÈdÍâü}²ðKvƵȢlX©ç ©éÆADOS Ì ``point enabler'' Éä×ÄAܾ©ÈèÌI[o[wbh ª éæ¤Év¦é©àµêܹñB``point enabler'' Ím©É¬³¢v OÅ·ªA²Àçê½J[hµ©T|[gµÄ¢Ü¹ñµAg¦é PCMCIA Rg[àÀçêĢܷBµÉ{ÉuÄpvÈfÌC l[uð¢ÄÝêÎA½Ìx_[©ç[X³êÄ¢éJ[hðT |[gµAPCMCIA Rg[Ìá¢Éàηé½ßÉÍAÇJ[hT [rXÌ@\ÌÙÆñÇðT|[gµÈ¯êÎÈçÈ¢±Æªª©éÅµå ¤B 2. RpCÆCXg[ 2.1. KvÈt@CÆJ[lÌÝè RpCð·éOÉA{É©ª©gÅ PCMCIA pbP[WðRpCµ ȯêÎÈçȢ̩Ǥ©ðl¦ÄÝľ³¢BêÊIÈ Linux fBX gr [VÌSÄÉÍARpCÏÝÌhCopbP[Wªt®µ ĢܷBêÊIÉAÅ©çhCoðCXg[·éKvª éÌÍA ÅVhCoÌV@\ªKvÈê©AJ[lÌXVâÄÝèðsÁÄ Linux fBXgr [Vt®ÌhCoÆÌÝ·«ªÈÈÁ½ê¾ ¯Å·BpbP[WÌRpCÍZpIÉÍïµ èܹñªA Linux SÊɵêÄ¢éKvª èÜ·B ìÆðnßéOÉÍȺÌc[ªCXg[³êĢȯêÎÈèܹ ñ: o 2.0.*, 2.1.*, 2.2.* Ì¢¸ê©ÌnñÌJ[lÌ\[Xc[ o KØÈW [[eBeBQ o (ÈÄà\¢Ü¹ñ) ``XForms'' ÆÄÎêé X11 pÌC^tF[Xc [Lbg ÅVÌJ[lC[W¾¯ÅÈAJ[lÌ\[Xc[S̪KvÅ ·B PCMCIA ÌvOÌÉÍAJ[lÌ\[XðQƵĢ骪 é©çÅ·BsvÈhCoð¢½Vµ¢J[lðRpCµ½È é©àµêܹñªAPCMCIA J[hT[rXðCXg[·é½ßÉJ[ lðÄ\z·éKvÍ èܹñB ÅVÌuÀèÅvÌJ[lÌ\[XÆpb`ÍA <ftp://sunsite.unc.edu/pub/Linux/kernel/v2.0> â <ftp://tsx-11.mit.edu/pub/linux/sources/system/v2.0> ©çüèÅ«Ü ·BJÅÌJ[lͯ¶êÌ v2.1 fBNgÉ èÜ·BÅVÌ W [[eBeB௶êÉ èÜ·B [ó: |óÌ_ÅÍÀèÅJ[lÌÅVÍ 2.2.xAJÅÌÅVÍ 2.3.x Å·] Linux J[lÌ\[Xc[ÉüÁÄ¢é Documentation/Changest@CÉÍA»Ìo[WÌJ[lÅKvÆÈ éSÄÌíÞÌVXeR|[lgÌo[Wª©êĢܷB±Ì t@Cð²×ÄAVXeðÅVÌóÔÉ·éÆæ¢Åµå¤BÁÉJ[l ðXVµ½êÉÍ»¤·×«Å·BJÅÌJ[lðgÁÄ¢éêÉ ÍA¤LCuÆW [[eBeBÌg¹ª³µ¢©Ç¤©ð mFµÄ¾³¢B J[lðÝè·éÛAPCMCIA ÌC[TlbgJ[hðg¤ÂàèÈçA ``networking support'' ð [Y] ɵÄA``pocket and portable adapters'' ðÜÞêÊÌ Linux pÌlbg[NJ[hpÌhCoÍSÄgíÈ¢æ ¤ÉÝèµÜ·BPCMCIA lbg[NJ[hpÌhCoÍKvÈÆ«É [h³êéW [ƵÄñ³êĢܷÌÅAJ[lÉhCoðg ݱÞÌÍ̳Êŵ© èܹñB SLIP â PPP, PLIP ðg¤êÉÍAJ[lÌÝèɱêçðg¤æ¤É wè·é©A±êçÌhCoÌ[_uW [Åðg¤Kvª èÜ ·BcOȪçJ[l 1.2.X ÅÍÝèÌèÉâèª èA[_u W [pÌשÈÝè(á¦Î SLIP ̳kÌL³)ªÅ«Ü¹ñB»Ì½ ßASLIP ªKvÈçÎ(W [ƵÄg¤ÌÅÍÈ)J[lÉgÝ Þûª¢¢Åµå¤B PCMCIA g[NOA_v^ðg¤êA``Token Ring driver support''(CONFIG_TR) ðÝèµÜ·ªACONFIG_IBMTR ÍgíÈ¢æ¤ÉµÜ ·B PCMCIA IDE A_v^ðg¢½¢êAJ[l 2.0.* ©ç 2.1.7 ÅÍA CONFIG_BLK_DEV_IDE_PCMCIA ðLøɵȯêÎÈèܹñBâJ[lÍ [ou IDE foCXðT|[gµÄ¢Ü¹ñBVµ¢J[lÅÍA ÁÊÈÝèÍKv èܹñB ൠPCMCIA SCSI A_v^ðg¤ÈçAJ[lÌÝèÉ CONFIG_SCSI ð ÝèµÜ·Bg¤fBA²ÆÌ SCSI hCo(fBXNAe[vACD- ROMA ÄphCo)àÝèµÜ·BÁèÌzXgA_v^pÌn[hEFA xÌhCoÍgíÈ¢æ¤ÉÝèµÜ·B»êçðgݱñÅà ̳ÊÅ·B PCMCIA foCXªKvÆ·éhCoðW [»·éêA /etc/pcmcia/config ðC³µÄAJ[hÌíÞÉÁ½W [ð[h ·éæ¤ÉÝèµÜ·Bá¦ÎAVAhCoªW [»³êÄ¢é êA/etc/pcmcia/configÌVAfoCXÌÝèð device "serial_cs" class "serial" module "misc/serial", "serial_cs" Ìæ¤ÉµÜ·B ±ÌpbP[WÉÍ cardinfo Æ¢¤ X ãÅJ[hÌóÔð\¦·é½ßÌ [eBeBvOªüÁĢܷBcardinfo ðg¤½ßÉ ÍAXForms Library Æ¢¤©RÉzzÅ«é[UC^tF[Xpc[ LbgªKvÅ·BÙÆñÇÌ Linux fBXgr [VÅÍA±Ì CuÍ PCMCIA ÆÊÌpbP[WƵÄg¤±ÆªÅ«Ü·B cardinfo ðRpCµ½¯êÎAPCMCIA pbP[WÌÝèðs¤OÉ XForms Æ X11 Ìwb_t@CÆCuðCXg[·éKvª èÜ·B 2.2. CXg[ ȺªÈPÈCXg[ÌèÅ·: o /usr/src Å pcmcia-cs-3.1.?.tgz t@CðWJ·é o pcmcia-cs-3.1.? fBNgÅ ``make config'' ðÀs·é o ``make all'', ``make install'' ðÉÀs·éB o KvÈçÎA/etc/pcmcia fBNgÉ éIvVwèpt@C ð«Éí¹ÄÝè·éB î{Ì PCMCIA zz¨ÉÜÜêĢȢA¼Ìûªì¬µ½NCAgh CoðCXg[·éÂàèÅ êÎA±êçð PCMCIA \[Xc[Ì gbvfBNgÅWJµÄ¾³¢B»ÌãÍÊíÌCXg[èÉ ]¢Ü·BÇÁÌhCoÍA©®IÉRpCECXg[³êÜ·B ``make config'' Æ·éÆAvOª¢Â©Ýè̽ßÌIvVð qËAPCMCIA J[hT[rXðCXg[·é«ª®ÁÄ¢é©Ç¤© ð`FbNµÜ·B½ÌêAftHgÌÝèIvVÌÜÜÅåäv È͸ŷªAൽ©âèªN±êÎA±ÌR}hÌoÍðÓ[ `FbNµÄÝľ³¢BȺÌIvVªg¦Ü·: Alternate target install directory?(CXg[æÌfBNgð ÏX·é©?) ÊÌ}VÉCXg[·é½ßÌpbP[WpÉRpC·éê Aualternate target directory(ÊÌCXg[æ)vðwèµÄ ¾³¢B±ÌfBNg¼ÍâÎpXÅwè·éKvª èÜ ·BPCMCIA pÌc[ÞÍSıÌfBNgɳɵ½ÎIÈ fBNgÉCXg[³êÜ·ÌÅA»ÌfBNgȺð tar ÅÜÆßÄAÚIÆ·é}VÉRs[µAKØÈêÉWJµÄ ¾³¢B Build 'trusting' versions of card utilities?(uM·év`®ÌJ[ h[eBeBðìé©?) T|[gp[eBeBÌê(cardctl Æ cardinfo)ÍAuÀS È(safe)v`®Ü½ÍuM·é(trusting)v`®ÌÇ¿ç©ÅRp C·é±ÆªÅ«Ü·BuÀSÈv`®ÅÍAroot ÈOÌ[Uª J[hÌÝèðÏX·é±ÆÍÖ~³êÜ·BuM·év`®ÅÍA J[hÌTXyhÆW [AJ[hÌZbgA»ÝÌÝèXL [ÌÏXðs¤R}hðêÊ[Uªs·é±Æð³êÜ ·BftHgÅÍuÀSvÈ`®ðìèÜ·B Include 32-bit (CardBus) card support?(32 rbg(CardBus) ðT|[ g·é©?) 32 rbgÌ CardBus J[hðg¢½¯êÎA±ÌIvVðIðµ ȯêÎÈèܹñB 16 rbgÌ PC J[hµ©g¤\èªÈ¯ê ÎACardBus ubWÌT|[gÍKv èܹñB Include PnP BIOS resource checking?(PnP BIOS Éæé\[XÌ`Fb Nðs¤©?) ±ÌIvVðIÔÆAÇÁÌR[hª PCMCIA ÌRAW [à ÉüèÜ·B±ÌR[hÍVXeÌ PnP BIOS ÆÊMµÄgÝÝÌ u}U[{[hvfoCX(VA|[gAp|[gATE h)Ì\[Xîñðæ¾µA\[XÌÕËðð¯éðɧ¿Ü ·B±ÌIvVðLøÉ·éÆA¢Â©ÌÇÁÌ\[Xt@C ª /proc/bus/pccard ̺ÉìçêA lspnp c[Æ setpnp c[ ðgÁÄ PnP BIOS foCXÌQÆÆìðs¦Ü·Bµ©µA±Ì ÝèÍêÌbvgbv@ÅâèðN±·ÌÅAftHgÅÍLø ÉÈÁĢܹñB How to set kernel-specific options?(J[lÅLÌIvVÌÝè û@Í?) PCMCIA Ìeíc[Ée¿ð^¦éJ[lÌÝèIvVࢠ© èÜ·B½¢Ä¢ÌêAÝèpÌXNvgͱêçÌIv VðÒÌJ[l©çèµÜ·(ftHg®ìÅ èAÅ àêÊIÈP[XÅ·)BÊÌ}VpÉRpC·éêÈÇÉÍ ±êðsíÈ¢ÅAJ[lÌ\[XR[h©çÝèIvVðÇÝ Þ±ÆàÅ«Ü·µA»ê¼êÌIvVðÎbIÉÝè·é±Æ àÂ\Å·B Configure XNvgÍA©®IÉ\z·é½ßâJ[lÌXVãÉf ÄÝè·é½ßÉñÎbIÉÀs·é±ÆàÅ«Ü·B ÜègíêÈ¢Iv V̢©ÍAR}hCŵ©wèūܹñBpÂ\ÈSÄ ÌIvVð©éÉÍA``Configure --help'' ðÀsµÄ¾³¢B ``make all'' µÄ ``make install'' ·éÆAvOðRpCµA J[lpW [Æ[eBeBvOðKØÈêÉCXg[ ³êÜ·BJ[lpÌW [Í /lib/modules/<version>/pcmcia fBNgÉCXg[³êÜ·B [ó: version ̪ÉÍAgÁÄ ¢éJ[lÌo[WÔ (2.0.36, 2.2.8 )ªüèÜ·] vO cardmgr Æ cardctl Í /sbin ÉACXg[³êÜ·Bcardinfo ðìÁ Ä¢êÎA±êÍ /usr/X11R6/bin ÉCXg[³êÜ·B ÝèpÌt@CÍ /etc/pcmcia fBNgÉCXg[³êÜ·Bà µÃ¢o[WÉ㫵ÄCXg[·éÆAâÝèt@CÍob NAbvãÉu«·¦çêÜ·BÛ¶³ê½XNvgÉÍ *.O Æ¢¤g£ qªt¯çêÜ·B àµÇÌæ¤È PCMCIA Rg[`bvªgíêÄ¢é©í©çȯê ÎA cardmgr/ TufBNgÉ é probe R}hŲ×é±ÆªÅ« Ü·BRg[ÉÍ嫪¯Ä Databook TCIC-2 Æ Intel i82365SL Ý·`bvÌ 2 ÂÌíÞª èÜ·B ½ÜÉ probe R}hÅ©®IÉRg[ðÝèÅ«È¢±Æª èÜ ·BHalikan NBD 486 VXeÅÍ TCIC-2 Rg[ªÏíÁ½AhX É èÜ·Bµ½ªÁÄArc.pcmcia ðÒWµÄ tici W [ð[h· éæ¤ÉµAPCIC_OPTS Ìp[^É``tcic_base=0x02c0''ðwè·éKv ª èÜ·B Cirrus »ÌRg[ðgÁÄ¢éêÌVXe(NEC Versa M )Å ÍAVXeÌN®É BIOS ªRg[ÉÁêÈTXyhóÔðÝè µÜ·B±Ìæ¤ÈVXeÅÍAprobe R}hÍεĢÄàzXgR g[ÌoɸsµÜ·B±ÌêÉÍArc.pcmcia ðÒWµÄAPCIC É i82365 ðÝèµAPCIC_OPTS É ``wakeup=1'' ðÝèµÄ¾³¢B 2.3. N®IvV PCMCIA ÌN®XNvgÍA½íÞ©ÌO[vÌN®IvVðF¯µ Ü·B±êÍ«ÏðgÁÄÝèµÜ·BIvVª¡ÂÉÈéê ÍAóÅæØèASÌðNH[gµÈ¯êÎÈèܹñBN®IvVð êÍfBXgr [VÉæÁÄá¢Ü·B¼ÚN®XNvgÉ ¢Äà\¢Ü¹ñµAƧµ½IvVpt@CÉ¢Äà¢¢Åµå ¤BfBXgr [VÅLÌîÉ¢ÄÍA ``ÂÊfBXgr [VÉÖ·éÓ'' Ìßð²¾³¢B PCMCIA ±ÌÏÍAPCMCIA T|[gðN®·é©Ç¤©ðwèµÜ ·B``yes'' ÈOªÝè³êéÆAN®XNvgͳøÉÈèÜ·B PCIC ±ÌIvVÍ PC J[hRg[hCoW [ðwèµ Ü·BIðÍ 2 Â(``tcic'' Ü½Í ``i82365'')Å·BÀãA» ÝpÂ\ÈhCoÍSÄ ``i82365'' É®µÄ¢Ü·B±êÍBê K{ÈIvVÝèÅ·B PCIC_OPTS ±ÌIvVÍAPCIC W [pÌIvVðwèµÜ·Bz XgRg[ÉæÁÄÍAÀÛÌVXeÅÍÀ³êÄ¢é±Æ à³êĢȢ±Æà éIvV@\ª èÜ·BêÉæÁÄ ÍA±Ì@\ªÀ³êÄ¢é©Ç¤©ð\PbghCoªoÅ« È¢±Æª èÜ·BwèÅ«éIvVÌÚµ¢à¾É¢ÄÍA Y·éIC}j Að²¾³¢B CORE_OPTS ±ÌIvVÍApcmcia_core W [pÌIvVðwèµÜ ·B±ÌW [ÍAPC J[hhCoT[rXÌSªðÀ µ½àÌÅ·BÚµÍ ``man pcmcia_core'' ð©Ä¾³¢B CARDMGR_OPTS ±ÌIvVÍAcardmgr f[Én·IvVðwèµÜ·B ÚµÍ ``man cardmgr'' ð²¾³¢B SCHEME ±ÌIvVªÝè³êÄ¢éÆA»ÌàeªhCoÌN®Ì PC J[hÌÝèXL[ƵÄú»³êÜ·BXL[É¢ÄÌ à¾ÍA ``PCMCIA ÝèXNvgÌTv''Ìßð²¾³¢B n[hEFAxÌ\PbghCo(tcic Æ i82365)ÍoX^C~Oð §ä·é½ßÌp[^ð½ÁĨèAoXNbNªÊíÆÍÙÈé VXeÅÍ»êçð²®·éKvª é©àµêܹñBoX^C~OÉ Nö·éâèƵÄÍAJ[hªF¯³êÈ¢Aת¢ÆnOAbv· éAG[ªæN«éAfoCXÌ«\ªoÈ¢ª èÜ·B^C~O ²®Ìp[^ðÁÄ¢éÌÍÁèÌzXgubW¾¯Å·B¨g¢Ì Rg[ÉεÄwèÅ«éIvVÉ¢ÄÍY·éIC} j Að©Äà礱ÆƵÄA±±ÅÍTv¾¯ðྵܷ: o Cirrus »ÌRg[[ÉÍ^C~OðÝè·é½ßÌp[^[ ª½pÓ³êĢܷB»Ì¤¿AÅàdvÈàÌÍ cmd_time tO ŵå¤B±ÌtOÍ PCMCIA ÌoXTCN·ðÝèµÜ·B¬È 486 VXe(ÂÜè DX4-100)ÅÍA±Ìlð 6 (ftHgl)©ç 12 Ü½Í 16 Éâ·Æøʪ éæ¤Å·B o Cirrus PD6729 PCI Rg[[ÉÍ fast_pci Æ¢¤tOª èÜ ·BൠPCI oXÌXs[hª 25MHz ÈãÌêA±ÌtOðZbg ·éKvª èÜ·B o Vadem VG-468 Rg[Æ Databook TCIC-2 Rg[[ÉÍ async_clock tOª èAPCMCIA ÌoXNbNÆzXgÌoXNb NÌÎIÈ^C~OðÏXµÜ·B±ÌtOðZbg·êÎA¢ ©Ìì¢Ä]ªÌEFCgTCNªüéæ¤ÉÈèÜ·B½¾µ ÍA±ÌtOªKvÈbvgbv@ð·¢½±ÆÍܾ èܹ ñB o pcmcia_core W [ÉÍ cis_speed Æ¢¤p[^ª èA PCMCIA J[hÌJ[hîñÌæ(CIS:Card Information Structure)ÉAN ZX·é¬xðÏ»³¹Ü·BoXNbN̬¢VXeÅͱÌp [^ðå«·é(·Èí¿AJ[hÖÌANZX¬xðx·é)ÆJ [hF¯Ìâèªð·é©àµêܹñB o ±êÍ^C~OÌâèÅÍ èܹñªAVXeÉ¡Ì ISA-PCMCIA Rg[ª éêâAhbLOXe[VÉÇÁÌ\Pbgª éêÉÍAi82365 W [Í extra_sockets p[^ð 1 ɵ Ä[hµÈ¯êÎÈèܹñB±ÌÝèÍA PCI-PCMCIA â PCI- CardBus ubWÌoÅÍKvȢ͸ŷB ÂÊVXeÅÌ^C~OÌÝèáð¢Â©ÐîµÜ·: o ARM Pentium-90 â Midwest Micro Soundbook Plus ÅÍ ``freq_bypass=1 cmd_time=8'' ÆÝèµÜ·B o Midwest Micro Soundbook Elite ÅÍ ``cmd_time=12'' ðwèµÜ·B o Gateway Liberty ÅÍ ``cmd_time=16'' ðµÄ¾³¢B o Samsung SENS 810 ÅÍ ``fast_pci=1'' ðwèµÜ·B 2.4. VXe\[XÌÝè J[hT[rXEVXeͼÌWIÈfoCXªùÉgÁÄ¢é I/O | [gâ IRQ Í©®IÉñðµæ¤ÆµÜ·BñWIÈfoCXÆÔ©Á Ä¢é±ÆðmµÄà©®IÉÊÌ\[Xðg¨¤ÆµÜ·ªA±Ì@\ Íܾ®àøÅÍ èܹñBêÉæÁÄÍAgíÈ¢\[Xð /etc/pcmcia/config.opts ž¦IÉwè·éKvª é©àµêܹñB ȺÍAÁèÌbvgbv@ÅKvÈ\[XÌÝèÅ·B±ÌXgðM pµ·¬È¢Å¾³¢B±ÌXgÍâèð̽ßÌqgÉÈé©àµ êܹñªAǤµÄààeÍÃÈÁĵܢܷµA«ÁÆÔá¢à é ŵå¤Bù³EÇÁͽ}Å·B o AMS Soundpro ÌêAirq 10 ðgíÈ¢æ¤ÉÝèµÜ·B o AMS TravelPro 5300 ÌêÌfÅÍA0xc8000-0xcffff ÌÌæ ðg¤æ¤ÉÝèµÜ·B o BMX 486DX2-66 ÌêAirq 5 Æ 9 ðgíÈ¢æ¤ÉÝèµÜ·B o Chicony NB5 ÅÍ 0xda000-0xdffff ÌÌæðg¤æ¤ÉÝèµÜ ·B o Compaq Presario 1020 ÅÍ 0x2f8-0x2ff Ì|[gÆ irq 3, 5 ðgíÈ ¢æ¤ÉÝèµÜ·B o HP Omnibook 4000C ÅÍ 0x300-0x30f Ì|[gðgíÈ¢æ¤ÉÝèµÜ ·B o IBM ThinkPad 380 ¨æÑA½Ôñ 385, 600 V[YÅÍ 0x230-0x233 Ì|[gÆ irq 5 ðgíÈ¢æ¤ÉÝèµÜ·B o à ft«Ì IBM ThinkPad 600 Æ 770 ÅÍA|[g 0x2f8-0x2ff ðgíÈ¢æ¤ÉÝèµÜ·B o IBM ThinkPad 600E Æ 770Z ÅÍAnCEBhEð 0x60000000-0x60ffffff ÉÏXµÜ·B o Micron Millenia Transport ÅÍ irq 5, 9 ðgíÈ¢æ¤ÉÝèµÜ ·B o NEC Versa M ÅÍ irq 9 Æ 0x2e0-2ff Ì|[gðgíÈ¢æ¤ÉµÜ ·B o NEC Versa P/75 ÅÍ irq 5 Æ irq 9 ðgíÈ¢æ¤ÉµÜ·B o NEC Versa S ÅÍ irq 9 Æ 12 ðgíÈ¢æ¤ÉµÜ·B o NEC Versa 6000 V[YÅÍA0x2f8-0x33f Ì|[gÆ irq 9, 10 ðg íÈ¢æ¤ÉµÜ·B o ProStar 9200, Altima Virage, Acquiline Hurricane DX4-100 ÅÍ irq 5Æ I/O |[gÌ 0x330-0x35f ðgíÈ¢æ¤ÉÝèµÜ·Bͽ ªA 0xd8000-0xdffff ðg¤æ¤Éwè·éKvª éŵå¤B o Siemens Nixdorf SIMATIC PG 720C ÅÍA 0xc0000-0xcffff, |[ g 0x300-0x3bf ðg¤æ¤ÉÝèµÜ·B o TI TravelMate 5000 ÅÍ 0xd4000-0xdffff ÌÌæðg¤æ¤ÉµÜ·B o Å T4900 CT ÅÍ irq 5 Æ I/O |[g 0x2e0-0x2e8, 0x330-0x338 ð gpµÈ¢æ¤ÉÝèµÜ·B o Å Tecra 8000 ÅÍAirq 3, irq 5, irq 9 ðgíÈ¢æ¤ÉÝèµÜ ·B o Twinhead 5100, HP 4000, Sharp PC-8700, PC-8900 ÅÍ irq 9(TEh p)Æ irq 12 ðgíÈ¢æ¤ÉÝèµÜ·B o MPC 800 V[YÅÍ CD-ROM pÉ irq 5 Æ 0x300-0x30f ðgíÈ¢æ ¤ÉÝèµÜ·B [ó: VAIO PCG-C1R ÉÖ·éîñª JF ¶Ì VAIO PCG-C1R Å LinuxÉ èÜ·] 2.5. ÂÊfBXgr [VÉÖ·éÓ ±ÌßÍ¢®¬Å·Bù³EÇÁðæ뵨袵ܷB 2.5.1. Debian Debian ÅÍAVXeÌN®XNvgÌzuÍ System V ÉÈÁÄ¢Ü ·BPCMCIA ÌN®XNvgÍ /etc/init.d/pcmcia ÉCXg[³êA N®IvVÍ /etc/pcmcia.conf Åwè³êÜ·B Debian ɨ¯é syslog ÌÝèÅÍAJ[l©çÌbZ[WÍ /var/log/messages É« ÜêAcardmgr ©çÌbZ[WÍ /var/log/daemon.log É«ÜêÜ ·B Debian ÍAPCMCIA VXeð 2 ÂÌpbP[WÅzzµÄ¢Ü·B·Èí ¿Acardmgr âIC}j AAÝèXNvgðÜÞ ``pcmcia-cs'' pbP[WÆAJ[lhCoW [ðÜÞ ``pcmcia-modules'' pb P[WÅ·B 2.5.2. RedHat, Caldera, Mandrake [ó: ú{ê RedHat Linux, LASER5 Linux, Vine Linux ðÜÝÜ·] ±êçÌfBXgr [VÌN®XNvgÌzuÍ System V `®Å ·BPCMCIA ÌN®XNvgÍ /etc/rc.d/init.d/pcmcia ÉCXg[³ êAN®IvVÍ /etc/sysconfig/pcmcia É©êÜ·BRedHat Ìf tHgÌCXg[ÅÍAPCMCIA ð³øɵ½óÔÌN®IvV t@CªCXg[³êéÌÅӵľ³¢B PCMCIA ðLøÉ·é ÉÍAÂ«Ï ``PCMCIA'' É ``yes'' ðÝèµÜ·BRedHat ÌftHg Ì syslogd ÌÝèÅÍAÖAbZ[WÍSÄ /var/log/messages ÉL^³ êÜ·B RedHat Ì PCMCIA pbP[WÉÍAlbg[NÝèXNvg (/etc/pcmcia/network)ðu«·¦ét@CªüÁĢܷB»Ì½ ßARedHat Ì linuxconf ÝèVXeƤÜgÝí¹Äg¦Ü·B±ê Í 1 ¾¯Ìlbg[NA_v^ð 1 gÌlbg[NÝèÅgÁÄ¢é ÉÍÖÅ·ªAÊíÌ PCMCIA lbg[NXNvgÌæ¤È_î«Í èܹñBPCMCIA ÌfÌ\[Xzz¨©çRpCÆCXg[ðs ¤ÆARedHat Ìc[QÖÌNªóêĵܢܷB RedHat ÌXN vgðg¢½¯êÎARedHat Ì RPM ¾¯ðg¤©AȺÌàeÌ /etc/pcmcia/network.opts ðìéæ¤ÉµÄ¾³¢: if [ -f /etc/sysconfig/network-scripts/ifcfg-eth0 ] ; then start_fn () { /sbin/ifup $1 } stop_fn () { /sbin/ifdown $1 } fi linuxconf (Ü½Í netconf)ðgÁÄlbg[NC^tF[XðÝè·é êÍA``kernel module'', ``I/O port'', `irq'' p[^ÍóÌÜÜÉ µÄ¾³¢B±êçÌp[^ðÝè·éÆAPCMCIA TuVXeÌK ØÈ®ìÌ×ÉÈé©àµêܹñB }VÌN®Élbg[NTuVXeª§¿ãªéÛÉ ``Delaying eth0 initialization'' Æ ``[FAILED]'' Æoͳêé©àµêܹñB±ê ÍÀÛÉÍâè èܹñ: ±êÍAPCMCIA Ìlbg[NfoCXªÝè ³êéÜÅÍlbg[NC^tF[Xªú»³êȢƢ¤Ó¡Å·B RedHat ÅÍA½C³ªüÁ½ PCMCIA Ì\[Xzz¨ªJ[lÌ SRPM Ét¢Ä¢Ü·BPÆÌ\[XpbP[WÅÍzz³êĢܹñB 2.5.3. Slackware [ó: Plamo Linux ðÜÝÜ·] Slackware ÌN®XNvgzuÍ BSD Å·BPCMCIA N®XNvgÍ /etc/rc.d/rc.pcmcia ÉCXg[³êAN®IvVÍ rc.pcmcia Å ¼Úwè³êÜ·BPCMCIA N®XNvgÍ /etc/rc.d/rc.S ©çÄÑo³ êÜ·B 2.5.4. SuSE SuSE ÌN®XNvgÍ System V `®Å·BN®XNvgÍ /sbin/init.d Éu©êÜ·BPCMCIA ÌN®XNvgÍ /sbin/init.d/pcmcia ÉCXg[³êAN®IvVÍ /etc/rc.config É©êÜ·BSuSE ÌN®XNvgÉͽ̧Àª èAlilo ÌN®vvg©ç PCMCIA ÌN®Ïðã«·é±ÆªÅ« ܹñB 3. CXg[ÆÝèɨ¯éâèÌð ±ÌÍÅÍAPCMCIA TuVXeÅN±µâ·¢âèð¢Â©à¾µÜ ·B»íê½ÇóðáÆä×ÄÝľ³¢B±ÌÍÅÍAÁèÌNCA ghCoâJ[hÉÅLÅÈ¢êÊIÈâ辯ðྵܷB âèðªÍ·éOÉÍAVXeOªL^³êéêðmÁĨ¢Ä¾³ ¢(``ÂÊfBXgr [VÉÖ·éÓ'' ðQÆ)BܽAdmesg â lsmod Ìæ¤ÈAî{IÈffc[ÉàµêĨ¢Ä¾³¢B»ê©çA ÙÆñÇÌhCoR|[lg (J[lW [SÄðÜÝÜ·)É ÍêpÌIC}j Aªt¢Ä¢é±ÆàYêȢž³¢B âèðū龯ièÝܵå¤B¡ÌJ[hðgÁÄ¢éêÍA»ê ¼êðPÆÅgÁÄݽèAFXÈg¹ðµÄÝܵå¤B Linux ðR [hu[gµ½ÊÆ Windows ©çEH[u[gµ½Êðä×ÄÝÜ µå¤BJ[hð}üµ½ÜÜN®µ½ÊÆN®ãÉJ[hð}üµ½Ê ðä×ÄÝܵå¤BÊíÍbvgbv@ðhbNÉÚ±µÄ¢éÌÅ ê ÎAhbN©çØ裵ÄÝܵå¤BܽA2 ÂÌ\PbgÌ®ìªÙÈé êà èÜ·B Linux ð PCMCIA oRÅCXg[µÄ¢éÉöµ½hCoÌâèð fobO·éÌÍÙÆñÇsÂ\Å·BÇóÉîâÄâèðÁèµÄàAC Xg[pfBXNðC³·éÌÍ¢ïŵå¤(ÁÉA®ìµÄ¢é Linux VXeªÈ¢ê)BCXg[pfBXNÌC³û@ÍIñ¾ fBXgr [VÉæÁÄSá¢A±êÍ{¶Åµ¤ÍÍð´¦Ä ¢Ü·BêÊIÉͱ¤¢¤êÌÅPÌôÍAÊÌèiÅ Linux ðCX g[·é±ÆAÅVÌhCoðüè·é±ÆA»êÅǤµæ¤àȯê ÎâèðfobO·é±ÆÅ·B 3.1. x[XÆÈé PCMCIA J[lW [ª[h³êܹñ Çó: o PCMCIA ÌN®XNvgÌÀsÉAJ[lo[WÌs®ÉÖ· éG[ªoéB o N®ãÉ lsmod ðÀsµÄà PCMCIA W [ª\¦³êÈ¢B o cardmgr ªVXeOÉ ``no pcmcia driver in /proc/devices'' Æñ ðo·B J[lW [ÉÍo[Wîñª«ÜêĨèA±êÍW [ Ì[hɻݮìÌJ[lÌo[WÆä×çêÜ·B±Ì `FbNÌíÞÍAJ[lÌIvVÅ é CONFIG_MODVERSIONS ÌÝè ÉæÁÄÏíèÜ·B±êª No ÈçÎAJ[lÌo[WÔÍRp CÉeW [É«ÜêAinsmod ͱÌlªÀsÌJ[lÆ êv·é©ð`FbNµÜ·BCONFIG_MODVERSIONS ª Yes ÈçÎAJ[l ªGNX|[gµ½»ê¼êÌV{ÉÍA éíÌ`FbNTª^¦ç êÜ·B±êçÌR[hÍSÄAW [ÉgÝÜêÄ¢éYR[hÆ är³êÜ·B±ÌÚIÍAW [ðū龯o[WÉ˶µÈ¢ æ¤É·é±ÆÅ·BÆ¢¤ÌàA`FbNTªÏíéÌÍJ[lÌC ^tF[XªÏí龯ŠèAêÊIÉÍJ[lÌ}Ci[o[W ªãªÁÄàÏíçÈ¢©çÅ·BÀÛÉÍA`FbNŢÀ͵µ¢± ƪª©ÁĢܷBȺÈçA½ÌJ[lC^tF[XÍRpC ÌJ[lÌIvVÝèÉ˶·é©çÅ·BܽA`FbNTÉæ éÝ·«Ì»èÍñíɵµ¢±Æªª©ÁĢܷB ÀÛÌ_ƵÄÍAJ[lW [ÍJ[lÌo[WƽÌJ [lÝèIvVÌÝèl̼ûɧÚÉÖWµÄ¢Ü·BêÊIÉÍA o[W 2.0.31 ÌJ[lpÉÝèµ½W [QÍA¯¶æ¤ÈÝè ÉÈéæ¤ÉÓµÄ\zµÄ¢È¯êÎAo[W 2.0.31 ÌÊÌJ[l ÅÍ[hÅ«È¢±Æª èÜ·B»Ì½ßARpCÏÝÌJ[l W [ðzz·éÌÍñíÉâèÉ¢ìÆÅ·B Ið͢© èÜ·: o RpCÏÝÌhCoð Linux fBXgr [VÌêÆµÄ üèµ½êÉÍA»ÌfBXgr [VÉt®µÄ¢éAÏX³ êĢȢJ[lðgÁÄ¢é±Æðm©ßľ³¢BRpCÏ ÝÌW [ðg¤ÂàèÅ êÎÊA±êÉηéJ[lðg ¢±¯È¯êÎÈèܹñB o J[lÌÄÝèâo[WAbvðsÁÄ¢éêÉÍAPCMCIA pb P[WÌRpCÆCXg[ðÅ©çsíȯêÎÈçȢŠµå¤BJ[lÌ\[XªCXg[µÄ êÎA±ÌìÆÍÈPÅ ·BÚµ¢èÉ¢ÄÍA``RpCÆCXg['' ÌÍð©Ä ¾³¢B o êÉæÁÄÍA¼ÌVXeR|[lgÆÝ·«ªÈ¢½ßÉAJ [lW [ð³µ[hÅ«È¢±Æª èÜ·BJ[lÌo [WAbvðµÄ¢éêÉÍAJ[lÌ\[XR[hÉüÁÄ¢ é Documentation/Changes t@CÉ©êÄ¢éAW [[eB eBÆ binutils ÌuÅáðvðm©ßľ³¢B 3.2. [hÅ«È¢NCAghCoW [ª èÜ· Çó: o î{W [ (pcmcia_core, ds, i82365) ͳµ[h³êÄ¢éB o J[hð}µ½É¢r[v¹ + á¢r[v¹ªÂéB o cardmgr ªVXeOÉo[Ws®ÌG[ðc·B êÌhCoW [ÍJ[lÌT[rXðKvƵܷªA±êÍJ [lÌÝèÉæè Á½èÈ©Á½èµÜ·Bá¦ÎASCSI J[hhC oÍJ[lª SCSI ðT|[g·éÝèÉÈÁÄ¢é±ÆðKvƵAlb g[NhCoÍlbg[NÎÌJ[lðKvƵܷBàµJ[l ªKvÈ@\ðÁĢȯêÎAinsmod Íuundefined symbolsvÆ¢¤ G[ðoµA»ÌW [Ì[hð۵ܷBinsmod ÌG[Å ÍAo[Ws®ÌG[ÆV{s«ÌG[ªæÊÅ«È¢±ÆÉ ÓµÄ¾³¢B àÁƳmÉÆȺÌæ¤ÉÈèÜ·: o VApÌNCAghCoÅ é serial_cs ðg¤ÉÍA CONFIG_SERIAL ÉæÁÄJ[lÌVAhCoðLø·éKvª èÜ·B±ÌhCoÍW [ƵÄìçêÜ·B o }`|[gVAJ[hâAVAfoCXâffoCXðÜ Þ}`t@NVJ[hðT|[g·éÉÍA CONFIG_SERIAL_SHARE_IRQ ðLøÉ·éKvª èÜ·B o SCSI pÌNCAghCoðg¤ÉÍACONFIG_SCSI ðLøÉ·éK vª èÜ·BܽAKØÈgbvxhCoIvVðÝè·é Kvª èÜ·(o[W 2.1 ÌJ[lÅÍ CONFIG_BLK_DEV_SD, CONFIG_BLK_DEV_SR )B±êçÍW [ƵÄ\z³êÜ·B o lbg[NpÌNCAghCoðg¤ÉÍACONFIG_INET ðLø É·éKvª èÜ·BJ[lÌlbg[NT|[gÍAW [ ƵÄgÝÞ±ÆÍūܹñB o g[NOpÌNCAghCoðg¤ÉÍACONFIG_TR ðLø É·éKvª èÜ·B ðû@Í 2 Êè èÜ·: o KvÈ@\ðLøɵÄJ[lðÄ\zµÜ·B o ±Ì@\ªW [ƵÄRpC³êÄ¢êÎA /etc/pcmcia/config ðC³µÄAKvÈW [ð\ß[hµÄ¨ æ¤ÉµÜ·B /etc/pcmcia/config ÅÍAÁèÌNCAgpÉ[h·éKvª éÇ ÁÌW [ðwè·é±ÆªÅ«Ü·Bá¦ÎVAhCoðwè· éÉÍȺÌæ¤ÉÝèµÜ·: device "serial_cs" class "serial" module "misc/serial", "serial_cs" ¡ÌpXðA»ÝÌJ[lÌo[WÉηéW [Ìgbv xfBNg©çÌÎpXÅwèµÜ·BÎpXªS^¦çêȯ êÎApXÌftHglÍ pcmcia TufBNgÉÈèÜ·B 3.3. èÝÌXLɸsµÜ· Çó: o PCMCIA hCoª[h³êéÆAJ[hª}³ÁÄ¢ÈÄàVXe ªÅÜÁĵܤB o VXeOÉÍAVXeªÅÜé¼OÉ¿áñÆzXgRg[ ªoµ½±ÆªL^³êÄ¢éªAèÝÌoÌÊÍL^³êÄ ¢È¢B zXgRg[ÌíÞð¯Êµ½ãA\PbghCoÍó¢Ä¢éè ÝðT¸µÜ·B±ÌT¸ÅÍAó¢Ä¢éæ¤É©¦éèÝ»ê¼ê ÉηéRg[ÌvO~OªsíêA»ÌãÉÍu\tgvÈ èÝ̶¬ªsíêÜ·B±êÍèݪ³µo³ê½©Ç¤©ð² ×é½ßÉsíêÜ·BêÉæÁÄÍAÁèÌèÝðT¸·éƼÌV XefoCXÆÌÕ˪N±é±Æª èÜ·B T¸ðs¤RÍAó¢Ä¢é(ÂÜèALinux ̼ÌfoCXhCoÉ\ ñ³êĢȢ)ÆvíêéèÝÅAܾzXgRg[ɨIÉ Ú±³êĢȢ©AܽÍhCoðÁĢȢ¼ÌfoCXÉÚ±³ê Ä¢éàÌð¯Ê·é±ÆÅ·B T¸ª¬÷·éÆAVXeOÉÍȺÌæ¤ÈL^ªcèÜ·: Intel PCIC probe: TI 1130 CardBus at mem 0x10211000, 2 sockets ... ISA irqs (scanned) = 5,7,9,10 status change on irq 10 æÉiÞû@Í 2  èÜ·: o èÝÌT¸ÍA\PbghCoÉηé irq_list p[^ð gÁ½èÝÌXgÉæÁħÀ³êÜ·Bá¦Î ``irq_list=5,9,10'' ðwè·éÆAT¸Í 3 ÂÌèÝÉεĵ© síêܹñBSÄÌ PCMCIA foCXÍA±êçÌèÝðg¤æ¤ ɧÀ³êÜ·(T¸Í¤Ü¢àÌƵܷ)BÀSÉoÅ«éè Ýð©Â¯éÉÍAsöëªKv©àµêܹñB o ``do_scan=0'' IvVðt¯Ä\PbghCoð[h·éÆA èÝÌT¸ÍSsíêÈÈèÜ·B±ÌêAftHgÌè ÝXgªgíêéÌÅAùɼÌfoCXÉèÄçê½èÝð ð¯é±ÆªÅ«Ü·B ¢¸êÌêàAT¸pÌIvVÌwèÉÍ PCMCIA N®XNvgàÌ PCIC_OPTS Ìè`ðp¢Ü·BÝèáðȺɦµÜ·: PCIC_OPTS="irq_list=5,9,10" èÝT¸ÅâèªN±Á½ÉÍA/proc/interrupts ð²×ÄàSð ɧ½È¢±ÆÍÌɽ¶Ä¨¢Ä¾³¢B±ÌT¸ÍALinux ̼Ìh CoªùÉgÁÄ¢éèÝðgíÈ¢æ¤É·éöxÉÍ«¢ÌÅ·BÅ ·©çAPCMCIA ÌhCoÍùÉ /proc/interrupts ÌSÄÌîñðgÁÄ ¢Ü·BVXeÌÝvÉæÁÄÍA®ìÅÈ¢foCXÅàèÝðè LµAPCMCIA ªT¸ðsÁ½ÉâèðN±·±Æª èÜ·B 3.4. I/O |[gÌXLɸsµÜ· Çó: o J[hª}³ÁÄ¢ÈÄàAcardmgr ðÅÉN®µ½ÉVXeª ÅÜÁĵܤB o VXeOÉÍAèÝT¸ÌÊàÜßÄzXgRg[ÌT ¸ª¬÷µ½ÆL^³êéªAI/O T¸ÌÊÍL^³êÈ¢B o I/O T¸Í³íI¹·éªAŽçßÈAhXª½³ñO³êéÆ ¢¤Çóªoé±Æà éB /etc/pcmcia/config.opts É°çêÄ¢é I/O |[gÌæð cardmgr ª ·éAJ[lͱêçÌÍÍðT¸µAI/O óÔðèLµÄ¢é¯êÇ Linux ÌhCoÉÍèÄçêĢȢBê½foCXðoµÜ·BT ¸ÅÍÇÝæ赩síêܹñªAfoCX©çÌÇÝoµªdvÈVXe ÖÆÕ˵A»ÌÊVXeªÅÜé±ÆªHÉN±èÜ·B ¨g¢ÌVXeÌ[UKChð©êÎAVXefoCXÌèÄ\ª ÚÁĨèAI/O ÌæÆÌæÌÍͪí©é©àµêܹñB»¤·é ÆAconfig.opts űêçÌÌæð¾¦IÉO·é±ÆªÅ«Ü·B ÊÌû@ƵÄAVXeÌT¸ªMÅ«È¢êÉÍACORE_OPTS ÌÝè ð``probe_io=0'' Æ·é±ÆÅT¸ð³øÉ·é±ÆªÅ«Ü·B±Ìê ÉÍftHgÌÝèðgíÈ¢ÅA¿áñÆg¦é|[gÌÍ;¯ðÓ [ config.opts ÉÝèµÈ¯êÎÈèܹñB 3.5. ÌoɸsµÜ· Çó: o J[hª}³ÁĢȢÉÍRAhCoª³íÉ[h³êAVXe OÉàG[ªcçÈ¢B o J[hð}·ÆAr[v¹ª·é±ÆÈA¦ÀÉVXeªÅÜÁ½è u[g·éB ȺÌæ¤ÈÇóªoéêà èÜ·: o ÇñÈJ[hð}µÄàK¸u¢r[v¹ + á¢r[v¹vªÂéB o ÇñÈJ[hà ``anonymous memory cards(¢mÌJ[h)'' ÆF ¯³êéB o ¿±¿ÌÌæªO³êÄ¢é±ÆªVXeOÉL^³ê éB RAW [ÍA16 rbgJ[hªßÄ}ü³ê½É¸ðÀ sµÜ·B±ÌìÍÉ}bv³êÄ¢é¼ÌfoCXÆÕË·éÂ\ «ª èÜ·Bܽo[W3.0.0 ÈOÌpbP[WÅÍAÅßÌhCo æèà«íÇ¢¸ðsÁĢܵ½BEBhEÍ /etc/pcmcia/config.opts Åè`³êĢܷBftHgÌEBhEÍå «¢ÌÅA¸ðàÁÆ·¢ÍÍɧÀ·êÎæ¢Åµå¤B·ÌÉ¿å¤ Çæ¢ÍÍÍ 0xd0000-0xdffff, 0xc0000-0xcffff, 0xc8000-0xcffff, 0xd8000-0xdffff ½èÅ·B DOS Ü½Í Windows Ì PCMCIA hCoª êÎA±êçÌhCoªgÁ Ä¢éÌæð²×Äࢢŵå¤BDOS ÌAhXͽÌê AuZOgvÌ`Åwè³êĨèAÅIIÈ 16 iAhXÆÍ£ê Ä¢é_Éӵľ³¢(âÎAhX 0xd0000 ª 0xd000 Æ^¦çê½ èµÜ·)Bconfig.opts ðÏX·éÉÍAÇÁÌ ðK¸«µßµÄ¾ ³¢B ÊÅÈ¢êƵÄAT¸Ì¸sªAzXgRg[ÉÖ·é^ C~OWX^ÌÝèÌâèÅ éÂ\«ª èÜ·BêÊIÈ^C~O Ìâè̵¢É¢ÄÍA``N®IvV''Ìßð²¾³¢B o cs: warning: no high memory space available! CardBus ubWÍAISA oXÌA[LeN`ɨ¯é 640KB-1MB Ìu ÌÔvÌOÉEBhEðèÄé±ÆªÅ«Ü·BÊÌ Ìæðg¤æ¤É CardBus ubWðÝè·éÌÍAêÊIÉÍÇ¢l ¦Å·BȺÈç¼ÌfoCXÆÕ˵ɢ©çÅ·BܽA CardBus Ì J[hÍå«ÈEBhEðKvƵܷªA±êðáÊÌÌæ ÉæéÌÍ¢ïÅ Á½èsÂ\¾Á½èµÜ·BJ[hT[rXª CardBus ubWÉεÄÍEBhEðèÄéÛÉÍA config.opts ÉÊÌ ÆáÊ̪¼ûè`³êÄ¢êÎAJ[hT[rXÍDæIÉ ÊÌðg¢Ü·B»ÝÌftHgÌ config.opts ÉÍÊAhX ÌEBhE 0xa0000000-0xa0ffffff ªÜÜêĢܷBÇÒÌF³ñª CardBus ubWðÁĨèA©Ââ PCMCIA hCo©çÌo[W AbvðsÁ½êÍA±ÌAhXªÜ¾è`³êĢȢÌÅ êÎA± êðÇÁµÜµå¤B êÉæÁÄÍAftHgÌÊEBhEªg¦È¢±Æª èÜ ·BIBM ThinkPad ÌêÌfÅÍAftHgÌEBhEÌãíèÉ 0x60000000-0x60ffffff ÌEBhEªg¦Ü·B 3.6. J[h̲«}µðoūܹñ Çó: o N®ÉJ[hª}µÄ êÎAJ[hÌoÆÝ誤ÜsíêéB o J[hÌ}üƲ«æèðsÁÄàhCoª½µÈ¢B·Èí¿AV XeOÉàL^ªcçÈ¢µAr[v¹àµÈ¢B åïÌêA\PbghCo(i82365 Ü½Í tcic)ÍKØÈèÝÌT¸ ÆIððs¢AJ[hÌóÔÏ»ðmç¹Ü·BèÝÌ©®IT¸Í Intel Ý·ÌêÌJ[hÅͤܮìµÜ¹ñB±Ìæ¤ÈJ[hÆµÄ Í Cirrus »Ì`bvª èÜ·ªA±êª IBM Ì ThinkPad ÌêÅgí êĢܷBT¸ÌA éfoCXª®ìµÄ¢È¯êÎA»ÌèÝÍ g¦éæ¤É©¦é©àµêܹñB±Ìæ¤ÈêÉÍA\PbghCo ͼÌfoCXªgÁÄ¢éèÝðIÔ©àµêܹñB i82365 hCoÆ tcic hCoÅÍAirq_list IvVðgÁIJ×é èÝð§À·é±ÆªÅ«Ü·B±ÌXgÍ PCMCIA J[hªg¦é èÝÌg¹ÆAJ[hÌóÔÏ»ðÄ·éèÝÌg¹ð§ÀµÜ ·Bcs_irq IvVðgÁÄAJ[hÌóÔÏ»ÌÄÉg¤èÝ𠾦IÉÝè·é±ÆàÅ«Ü·B g¦éèÝð©Â©çȯêÎAÄÑoµ[h(polled status mode)ð g¤±ÆàÅ«Ü·Bi82365 Æ tcic ÌÇ¿çÅà poll_interval=100 Æ ¢Á½IvVðÝè·é±ÆªÅ«Ü·B±ÌÝèðs¤ÆAJ[hÌó ÔÍ 1 bÔÉ 1 ñ síêéÄÑoµÅ²×çêÜ·B±ÌIvV ÍAPCMCIA J[hÅg¦éèݪ«èÈ¢êÉàg¤×«Å·BÁ ÉA¡ÌzXgRg[ðÂVXeÌêÉÍAJ[hÌóÔÌÄ ÉêpÌèÝðèÄÄࢢ±ÆÍ èܹñB ±êçÌIvVÍSÄA/etc/rc.d/rc.pcmcia Ü½Í /etc/sysconfig/pcmcia t@CàÌ PCIC_OPTS= sÅÝè·é±ÆÉÈÁÄ ¢é͸ŷBÇ¿çÌt@Cðg¤©ÍTCgÌÝèÉæÁÄÙÈèÜ ·B 3.7. VXe\[XÌs« Çó: o J[hð}ü·éÆA³µF¯³êéªÝèªÅ«È¢( ¢r[v¹ + á¢r[v¹ªÂèÜ·)B o ȺÌbZ[WÌ¢¸ê©ªVXeOÉoͳêé: RequestIO: Resource in use RequestIRQ: Resource in use RequestWindow: Resource in use GetNextTuple: No more items could not allocate nn IO ports for CardBus socket n could not allocate nnK memory for CardBus socket n could not allocate interrupt for CardBus socket n èݪs«·éêAèÝT¸Éâèª é±Æª½ èÜ·( ``èÝÌXLɸsµÜ·''ÌðQƵľ³¢)BêÉæÁ ÄÍAT¸Í¤ÜsíêÄ¢éæ¤É©¦é¯êÇApÅ«éèݪ 1  é¢Í 2 µ©ñ³êÈ¢±Æà èÜ·BVXeOð²× ÄAT¸Ìʪ»êçµ¢©Ç¤©ð©Ä¾³¢BT¸ðsí¸Aè Ýðè®ÅIñÅàâèªð·é±Æª èÜ·B èÝÌoª¤Ü®ìµÄ¢È¢êÍAèݪS«èÈÄJ [h}üÌÄpÉèÝðèÄé±ÆªDܵȢÌÉA\Pbg hCoªJ[h}üÌÄpÌèÝðèÄÄ¢éÌ©àµêܹ ñB±Ìæ¤ÈêÉÍAPCIC_OPTS É ``poll_interval=100' ðÝèµÄR g[ÌÝèðÄÑoµ[hÉØèÖ¦éÆ¢¢Åµå¤B é¢ ÍACardBus Rg[ÌêÉÍA ``pci_csc=1'' ðµÄ¾³¢B ±êÍJ[hÌóÔÏ»ÌÄÉ (pÂ\ÈçÎ) PCI èÝ ðg¤½ ßÌÝèÅ·B I/O |[gªs«·é±ÆÍÊÍ èܹñªAKvÆ·é I/O |[gó Ôªå©ÂA±ÅA®ñ³êÄȯêÎÈçÈ¢J[hðg¤êâAÁè ¬ÌÊuÌ I/O |[gµ©F¯µÈ¢J[hðg¤êÉÍAs«·é± Æà èÜ·BÊÍ /etc/pcmcia/config.opts ÉÝè³êÄ¢éftH gÌ I/O |[gÍÍÅ\ªÅ·ªA±êðL°é±ÆàÅ«Ü·BHɵ© N«Ü¹ñªAI/O |[gÌs«ª I/O |[gÌT¸Ì¸sÉæÁÄN±é ±Æª èÜ·( ``I/O |[gÌXLɸsµÜ·''ðQÆ)B Ìs«àAconfig.opts ÅÝè³êÄ¢éftHgÌEBh EÝèðgÁÄ¢êÎÊÍN±èܹñBCardBus J[hÍAT^IÈ 16 rbgJ[hæèàå«ÈÌæðKvÆ·é±Æª èÜ·BCardBus ÌEBhEÍ(PC VXeªÂ 640KB-1MB ÌÌæÌPÈéu ÔvÅÈ)zXgÌ PCI AhXóÔÌDZÉÅà}bv·é±ÆªÅ«é ÌÅAÊÌæ(0xa0000000-0xa0ffffff ÈÇ)Éå«ÈEBh EðæéÆâèªð·é±Æª èÜ·B 3.8. 2 ÌJ[hð}üµ½¾¯\[XªÕ˵ܷ Çó: o 2 ÌJ[hðÊXÉg¤Æ¤Ü®ì·éB o ¼ûÌJ[hð¯É}ü·éÆAÐûµ©®ìµÈ¢B ±êÍÊALinux ªF¯µÄ¢È¢VXefoCXÆ\[XªÕ赀 ¢éÌÇóÅ·BPCMCIA foCXÍ®IÉÝè³êéÌÅAá¦ÎAè ÝÍÁèÌJ[hâ\PbgɾmÉèÄçêéÌÅÍÈAKvÉ ¶½èĪsíêÜ·BpÂ\Ævíêé\[XÌXgð^¦é ÆAJ[hÉÍÝè³ê½É\[XªèÄçêÜ·B±ÌêAÅã ÉÝè³ê½J[hÉÍAÀÛÉÍó¢Ä¢È¢\[XªèÄçêÄ¢ Ü·B VXeOð²×ÄA®ìµÄ¢È¢J[hªgÁÄ¢é\[XðTµÜ µå¤B/etc/pcmcia/config.opts ðÒWµÄ±Ìæ¤È\[XðO·é ÝèɵAcardmgr f[ðÄN®µÄ\[Xf[^x[XðÄÇÝÝ ³¹Ä¾³¢B 3.9. foCXÌÝèªIíèܹñ Çó: o J[hð}ü·éÆA¢r[v¹ª 1 ñ¾¯ÂéB o »êÈ~ÍJ[h̲«}µðsÁÄà³³êéB ±ÌÇ󪦷ÌÍAJ[hͤÜF¯³êÄ¢éàÌÌA½ç©ÌRÅ cardmgr ªÝèðI¦çêȢƢ¤±ÆÅ·BàÁÆà 調ȴö ÍAJ[hÝèXNvgÌDZ©ÌªubN³êÄ¢é±ÆÅ·Bí ©èâ·¢áƵÄÍA¨IÉlbg[NÉqªÁĢȢÌÉlbg [NJ[hð}µÞÆlbg[NÝèXNvgªubN³êé±Æª °çêÜ·B ´öðÁè·é½ßÉÍAè®ÅÝèXNvgðÀsµADZÅubN³ êé©ð²×éÆæ¢Åµå¤BXNvgÍ /etc/pcmcia fBNgÉ èÜ·BXNvgÉ^¦éø«ÍAfoCX¼Æ®ìÌ 2 ÂÅ ·Bcardmgr f[ÍÝèR}hðVXeOÉL^µÜ·BᦠÎA``./network start eth0'' Æ¢¤R}hª cardmgr ªÀsµ½ÅãÌ vOÅ éÆ¢¤L^ªVXeOÉcÁÄ¢êÎAȺÌR}h ðÀs·éÆXNvgÌ®ìðg[X·é±ÆªÅ«Ü·: sh -x /etc/pcmcia/network start eth0 4. g¢ûÆ@\ 4.1. PCMCIA foCXÌÝèÆÄ̽ßÌc[ W [ªSijµ[h³êêÎAJ[hªS}ü³êÄ¢È¢Ì lsmod R}hÌoÍÍȺÌæ¤ÉÈèÜ·: Module Size Used by ds 5640 2 i82365 15452 2 pcmcia_core 30012 3 [ds i82365] VXeOÉÍA\PbghCoªoµ½zXgRg[Æ\Pb gÌàL^³êé͸ŷB 4.1.1. Ýèpf[ `cardmgr' cardmgr ÌdÍAPCMCIA \PbgÌÄðs¢AKvɶÄNCA ghCoð[hµA[UxÅ®ì·éXNvgðJ[h̲«} µÉ¶ÄÀs·é±ÆÅ·Bcardmgr Í©ª©gÌ®ìðVXeOÉL ^µÜ·ªAr[v¹ðgÁÄàJ[hÌóÔÏXðmç¹Ü·Br[v¹Ì ¹FÍAÁèÌÝèiKɨ¯é¬÷ܽ͸sð¦µÜ·B¢r[v¹ª ñxÂÁ½ÍAJ[hͳµF¯EÝè³ê½±Æª¦³êĢܷB ¢r[v¹ÌãÉá¢r[v¹ªÂÁ½ÍAJ[hÍF¯Í³ê½àÌ̽ ç©Ì´öÉæèÝèÅ«È©Á½±Æª¦³êĢܷBá¢r[v¹ªê x¾¯ÂÁ½ÍAJ[hªF¯Å«È©Á½±Æª¦³êĢܷB cardmgr f[ÍA/etc/pcmcia/config Éu©êÄ¢éùmÌ^CvÌJ [hÌf[^x[XÉîâÄJ[hðÝèµÜ·B±Ìt@CÍeíÌN CAghCoÉ¢ĩêĢܷB»ê©çAeíJ[h̯Êû @ÆAÇÌJ[hÉÇÌhCoðg¤©ª©êĢܷB±Ìt@CÌ ®Ìà¾ÍAIC}j AÌ pcmcia(5) É èÜ·B 4.1.2. \PbgÌóÔt@CÆX^u cardmgr Íe\PbgÉ¢ÄÌfoCXîñð /var/state/pcmcia/stab Ü ½Í /var/lib/pcmcia/stab ÉL^µÜ·(Ç¿çªgíêé©Ít@CV XeÌzuÉæèÜ·)B鼃 stab Ìáð¦µÜ·: 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 foCXÌóÔð¦µÄ¢ésÌÅ̪\PbgÔA2 ÂÚªfoCX NXA3 ÂÚªhCo¼A4 ÂÚª»ÌhCoªÖWµÄ¢éfoCX ÌA5 ÂÚÍfoCX¼AÅãÌ 2 ÂÍ»ÌfoCXÌW[foCX ÔÆ}Ci[foCXÔÅ·(gpÅ«éê)BÚµ¢îñÉ¢ÄÍ stab ÌIC}j Að©Ä¾³¢B 4.1.3. cardctl, cardinfo [eBeB cardctl R}hðg¤ÆA\PbgÌóÔð`FbN·é±ÆâA\Pbg ªÇÌæ¤ÉÝè³êÄ¢é©ð²×é±ÆªÅ«Ü·B±ÌR}hðgÁ ÄAJ[hÌÝèóÔðÏX·é±ÆàÅ«Ü·B ``cardctl config'' R} hÌoÍáðȺɦµÜ·: Socket 0: not configured 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 ``cardctl ident''ðÀs·é±ÆÉæèAJ[h̯Êîñð¾é±ÆàÅ «Ü·: Socket 0: no product info available Socket 1: product info: "LINKSYS", "PCMLM336", "A", "0040052D6400" manfid: 0x0143, 0xc0ab function: 0 (multifunction) ``cardctl suspend'' R}hÆ ``cardctl resume'' R}hðg¤ÆAÎ ·éhCoðæèO·±ÆÈJ[hðâ~³¹é±ÆªÅ«Ü ·B``cardctl reset'' R}hÍJ[hÌZbgÆÄÝèðs¨¤ÆµÜ ·B``cardctl insert'' R}hÆ ``cardctl eject'' R}hÍAJ[h ð¨Iɲ«}µµ½ÉÀs·é®ìð^IÉs¢Ü·B±Ì®ìÉÍ hCoÌ[hÆA[hAfoCXÌÝèÆâ~ªÜÜêÜ·B X ðÀsµÄ¢êÎAcardinfo ðgÁÄSÄÌ PCMCIA \PbgÌ»ÝÌó ÔðOtBJÉ\¦·é±ÆªÅ«Ü·B±ÌàeÍ ``cardctl config'' ÉĢܷBcardinfo ðg¤ÆA cardctl ̼Ì@\ÌÙÆñ ÇðOtBJÉì·é±ÆàÅ«Ü·B 4.1.4. J[h̲«}µ _IÉÍAPCMCIA J[hÍ¢ÂÅಫ}µ·é±ÆªÅ«Ü·Bµ© µAAvP[VªgÁÄ¢éÅÉJ[hð²ÌÍæ èܹ ñB1.1.77 æèâo[WÌJ[lÍAVA/fJ[hð² ÆÅÜé±Æª èܵ½ªA±ÌâèÍùÉC³³êĢܷB êÌJ[hÍÀSÉCWFNgūܹñBÁÉ ATA/IDE C^tF[X J[hÆ SCSI C^tF[XJ[hÍÀSÉzbgXbvūܹñB± Ìâèð®SÉð·éÉÍ Linux ÌubNfoCXÌfÌåÈÏ XªKvÈÌÅA±Ìâèͨ»çC³³êȢŵå¤BܽACardBus J[hÍÇñÈíÞÌàÌÅ êÀSÉzbgCWFNgūܹñB±¿ç ÌæÉüPµÄ¢Åµå¤BCardBus hCoÌzbgXbvÉÖ· éoOÌ©ÆC³ª»Ýsíê é©çÅ·B±êçÌíÞÌJ[hð g¤êÍAJ[hðCWFNg·éOÉK¸ ``cardctl eject'' ðÀs· é±Æð¨©ßµÜ·B 4.1.5. J[hT[rXÆ APM(Advanced Power Management) APM (Advanced Power Management) Éηéæ¤ÉJ[lðÝèµÄ ê ÎAJ[hT[rXÉ APM ÎðgÝޱƪūܷBAPM ÌJ[l hCoðǵĢéÌÍ Stephen Rothwell ³ñ (Stephen.Rothwell@canb.auug.org.au) Å·B apmd f[ðǵĢé ÌÍ Avery Pennarun ³ñ (apenwarr@worldvisions.ca) Å èAÚµ¢îñ Í <http://www.worldvisions.ca/~apenwarr/apmd/> ÅüèÅ«Ü·BVXe ãÅÝ·o[WÌ APM ªo³êêÎAPCMCIA W [Í©®IÉ APM pÉÝè³êÜ·B APM ªÝè³êÄ¢é©Ç¤©ÉÖíç¸Abvgbv@ðTXyh·é OÉ ``cardctl suspend'' ðg¢AW [ÌãÉ ``cardctl resume'' ðgÁÄAPCMCIA J[hÌâ~ÆÄN®ðÀSÉs¤±ÆªÅ«Ü·B±Ì ìÍgpÌfÉεÄÍs¦Ü¹ñBȺÈçAVAhCoÍ fÌ®ìp[^Ì۶Ƴðs¤±ÆªÅ«È¢©çÅ·B VXeÉæÁÄÍ APM ªsÀèȱƪ éæ¤Å·BAPM Æ PCMCIA ð gÝí¹éÆâèªN«éêÉÍAoOñðs¤OÉÇ¿çÌpbP[ WÉâèª é©ðiè±ñž³¢B êÌhCo(ÁÉ PCMCIA Ì SCSI hCo)ÍATXyh·éÆW [ðs¤±ÆªÅ«Ü¹ñBPCMCIA Ì SCSI J[hðg¤êÉÍAVX eðTXyh·éOÉÍK¸ ``cardctl eject'' ðÀsµÄ¾³¢B 4.1.6. PCMCIA VXeÌI¹ PCMCIA pbP[WSÌðA[h·éÉÍArc.pcmcia XNvgðȺ Ìæ¤ÉÀsµÜ·: /etc/rc.d/rc.pcmcia stop ±ÌXNvgÌÀsÉÍb©©èÜ·B±êÍASÄÌNCAgh Coª³íÉâ~·éÌðÒ½ßÅ·B éfoCXªgpÌêAâ~ ª®SÉÍsíê¸AJ[lW [ªA[h³êÈ¢±Æª èÜ ·B±êðð¯éÉÍArc.pcmcia XNvgðÀs·éOÉ ``cardctl eject'' ðÀsµÄSÄÌ\Pbgðâ~³¹Ä¾³¢B cardctl R} hÌI¹Xe[^XÍAâ~Å«È©Á½\Pbgª é©Ç¤©ð¦µÜ ·B 4.2. PCMCIA ÝèXNvgÌTv PCMCIA foCXÍÇÌæ¤ÉÝè³ê@\·é©É¢Ģ©ÌuN XvɪÞÅ«Ü·BNXÍ /etc/pcmcia/config ÌfoCXhCoÆÎ µÄ¢Ü·B»_ÅÍ I/O foCXÉ 5 ÂÌNX(network, SCSI, cdrom, fixed disk, serial)ª èAfoCXÉÍ 2 ÂÌN X(memory, FTL)ª èÜ·B»ê¼êÌNX²ÆÉ 2 ÂÌXNvgª /etc/pcmcia/config ÉpÓ³êĢܷ: êªÝèpÌCXNv g(á¦Î SCSI foCXpÈç /etc/pcmcia/scsi)ÅAà¤êÂÍÝèIv Vðwè·éXNvg(/etc/pcmcia/scsi.opts)Å·BfoCXðÝè ·éCXNvgÍAJ[hª}ü³ê½ÉfoCXðÝè·é½ßÉ N®³êAJ[hª²©ê½ÉÍfoCXðâ~³¹é½ßÉN®³êÜ ·B¡ÌfoCXÉεĢéJ[hª}ü³ê½êA±ÌXNvg ÍfoCX²ÆÉN®³êÜ·B ÝèpÌXNvgÍAfoCXÉ¢ÄÌîñ̢©ð stab t@C ©çæèoµÜ·BeXNvgÍufoCXAhXvð\zµA±êð ADDRESS Æ¢¤VFÏÉÝèµÜ·B±ÌufoCXAhXvÍAÄÑ o³ê½XNvgÌÝèÎÛÅ éfoCXðêÓÉLq·éàÌÅ·B± ÌufoCXAhXvÍ *.opts XNvgÉn³êA*.optsXNvg ÍA±ÌAhXÉ éfoCXðÇÌæ¤ÉÝè·×«©Ìîñð﵆ ·B¢Â©ÌfoCXÅÍfoCXAhXÍPÈé\PbgÔÅ·ªA »Ì¼ÌfoCXÅÍÝèÌdûðßéÌÉð§ÂîñªÜÜêÄ¢é±Æ à èÜ·Bá¦ÎAlbg[NpÌfoCXÍn[hEFAC[Tlbg AhXðfoCXAhXÌêÆµÄ network.opts XNvgÉn·Ì ÅAn[hEFAAhXÉæÁÄÙÈéÝèðs¤±ÆàÂ\Å·B foCXAhXÌÅ̪ÍAPCMCIA Ì»ÝÌuXL[(scheme)v𠦵ܷB±Ìp[^ðgÁÄAêÂÌO[U[ÏÉæÁÄ¡Ì foCXÝèðØèÖ¦é±ÆªÂ\Å·BXL[Ìg¢ûÌêÂÍA ``home'' XL[Æ ``work'' XL[Ì 2 íðpÓµÄA»ê¼êÉÙÈ élbg[Np[^ðÝè·é±ÆÅ·B»ÝgÁÄ¢éXL[Í ``cardctl XL['' R}hÅÏXÅ«Ü·BÁÉXL[ðÝèµÈ¢ êÍA``default'' XL[ªgíêÜ·B êÊ_ƵÄAbvgbv@Ì Linux ÌêAPCMCIA foCXÍ PCMCIA foCXpÌXNvgÅÌÝÝè·×«ÅAíÝÌfoCXƯ¶æ¤É [ó: /etc/rc.d/rc.inet* ÈÇÅ] ÝèµÄÍ¢¯Ü¹ñBµ©µ Linux fBXgr [VÉæÁÄÍAfBXgr [VÆ©ÌfoCX Ýèc[Å PCMCIA pbP[WÌÝèðs¤æ¤ÉÈÁĢܷB±Ìæ¤ ÈêÉÍA±êÈ~ÌÍÌàeªÄÍÜçÈ¢±Æª èÜ·Bzð¾ ¦ÎA»¤¢Á½ªÌðà¶ÍfBXgr [VÌÇÒªpÓ· ׫ŵå¤B 4.3. PCMCIA lbg[NA_v^ Linux ÅÍC[Tlbg^CvÌlbg[NC^tF[XÍ eth0, eth1 Æ¢Á½¼OÉÈÁĢܷBg[NOÌA_v^à¯lÅ·ªAC ^[tFCX¼Í tr0, tr1 ÆÈèÜ·Blbg[NC^tF[XÌóÔ Ì`FbNâÏXðs¤ÉÍ ifconfig R}hðg¢Ü·BLinux ÌÁ¥Æ µÄAlbg[NC^tF[XªÎ·éfoCXÍ /dev ̺Éͳ¢ ÌÅAfoCXt@Cª³ÄàÁ©È¢Å¾³¢B PCMCIA C[TlbgJ[hªo³êéÆAó¢Ä¢éÅÌC^[tF [X¼ªèÄçêÜ·B±êͽª eth0 ŵå¤B cardmgr ª©®I É /etc/pcmcia/network XNvgðÀsµÄC^[tF[XÉÖ·éÝ èðs¢Ü·ªAlbg[NÉÖ·éÝèÍ /etc/pcmcia/network ©çÇ ÝÜêÜ·Bnetwork XNvgÆ network.opts XNvgªÀs³êé ÌÍAC[TlbgJ[hªÀÛɶݷ龯ŷBlbg[NÌ©® Ýè@\ðVXeªõ¦Ä¢éêA±êª PCMCIA ÎÅ é±Æ໤ ÅÈ¢±Æà èÜ·B¨g¢Ì Linux fBXgr [V̶â ``ÂÊfBXgr [VÉÖ·éÓ'' Ìßð©ÄAPCMCIA Ìlbg [NfoCXÌÝèÍ©®»³ê½c[ªs¤Ì©A»êÆà network.opts ðèÅÒWµÄs¤Ì©ð²×ľ³¢B network.opts Én³êéfoCXAhXÍAR}ÅæØçê½ 4 ÂÌ tB[h©ç¬ÁĢܷB4 ÂÌtB[hÍAXL[A\PbgÔ AfoCXCX^XAJ[hÌn[hEFAAhXÅ·BfoCXC X^XÍ¡Ìlbg[NC^tF[XðÂæ¤ÈJ[hÌ(tÁ IÈ)foCXÔÈÌÅAÊíÍ 0 ÉÈèÜ·BàµÙÈéÚIÉg¤¡ Ìlbg[NJ[hðÁÄ¢éÈçA\PbgÔÉæÁÄÝèIvV ðϦé±ÆªÂ\ÅA»ÌêÌ network.opts ÍȺÌæ¤ÉÈèÜ ·: case "$ADDRESS" in *,0,*,*) # definitions for network card in socket 0 ;; *,1,*,*) # definitions for network card in socket 1 ;; esac é¢ÍA»ê¼êÌJ[hÌn[hEFAAhXðgÁÄȺÌæ¤ÉÝ è·é±ÆàÅ«Ü·: 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 4.3.1. lbg[NfoCXÌp[^ network.opts ÅÍȺÌp[^ðè`·é±ÆªÅ«Ü·: IF_PORT C[TlbgÌgV[oÌíÞð©®oÅ«È¢ÁèÌ 16 rb gJ[hÉεÄA±êðwèµÜ·BÚµÍ ``man ifport'' ð© Ä PUMP lÉÍ y © n ðwèµÜ·B±Ìp[^ÍARedHat Ì pump f [ðp¢ÄAzXgÌ IP AhXÆoHîñð BOOTP © DHCP ðgÁÄæ¾·é©Ç¤©ðwèµÜ·B BOOTP lÉÍ y © n ðwèµÜ·B±Ìp[^ÍAbootpc ðgÁÄA zXgÌ IP AhXÆoHîñð BOOTP vgRðgÁÄæ¾· é©Ç¤©ð¦µÜ·B DHCP lÉÍ y © n ðwèµÜ·B±Ìp[^ÍAzXgÌ IP Ah XÆoHîñð DHCP T[o©çæ¾·é©Ç¤©ð¦µÜ·Blbg [NXNvgÍÅÉ dhcpcd ðTµA»ÌÉ dhclient ðTµ Ü·B IPADDR ±ÌC^tF[XÉηé IP AhXB NETMASK, BROADCAST, NETWORK lbg[NÌî{IÈp[^Å·BÚµÍlbg[NÖAÌ HOWTO ¶ð²¾³¢B GATEWAY ±ÌzXgª®·éTulbgÌQ[gEFCÌ IP AhXÅ·B I_AhXª±ÌTulbgÌOÉÈÁÄ¢épPbgÍA±ÌQ [gEFCÉçêÜ·B DOMAIN ±ÌzXgÌ[JÌlbg[NhC¼Å·B±êÍ /etc/resolv.conf 𶬷éÛÉg¢Ü·B SEARCH zXg¼QÆÌõXgÅ èA/etc/resolv.conf ÉÇÁ³êÜ ·BDOMAIN Æ SEARCH ÍÝ¢Ér¼IÅ·BÚµÍ ``man resolver'' ð²¾³¢B DNS_1, DNS_2, DNS_3 ±ÌC^tF[Xªg¤l[T[oÌzXg¼Ü½Í IP Ah XB±êÍ /etc/resolv.conf ÉÇÁ³êÜ·B MOUNTS ±ÌC^tF[Xª}EgÉg¤ NFS }Eg|CgðóÅ æØÁÄÀ×½XgÅ·B IPX_FRAME, IPX_NETNUM IPX lbg[NpÌp[^Å·Bt[^CvÆlbg[N Ôð\µAipx_interface R}hÉn³êÜ·B wèáðȺɦµÜ·: 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 NFS t@CVXeÌ}EgâA}Egð©®IÉs¤ÉÍAܸ} Eg·ét@CVXeðSÄ /etc/fstab ÉLqµÜ·B½¾µA}E gpIvVÆµÄ noauto ðwèµÄ¾³¢B network.opts ÅÍA t@CVXeÌ}Eg|Cgð MOUNTS ÏÉñµÜ·BNFS }E gðsÁÄ¢éÅÍAlbg[Nðâ~³¹éÌÉ cardctl R}h â cardinfo R}hðg¤±ÆªÁÉdvÅ·Blbg[NJ[hª\ ³µÉ²©êéÆANFS t@CVXeª³íÉA}EgÅ«È¢©ç Å·B ÊíÌlbg[NÝèIvVÉÁ¦ÄAnetwork.opts ÅÍC^tF [XÌÝèªIíÁ½¼ãâC^tF[Xðâ~·é¼OÉs¤ÇÁÌ®ì ðwè·é±ÆªÅ«Ü·Bnetwork.opts Å start_fn Æ¢¤VFÖª è`³êÄ¢êÎAlbg[NXNvgÍC^tF[XðÝèµ½¼ã ɱÌÖðÄÑoµÜ·B±ÌÛÉÍAC^tF[X¼ªÅÌ(»µÄ BêÌ)ø«ÆµÄÖÉn³êÜ·B¯lÉAstop_fn Æ¢¤VFÖ ªè`³êÄ¢êÎA±ÌVFÖÍC^tF[Xªâ~·é¼OÉÄÑ o³êÜ·B êÌJ[hÅÍAgV[oÌíÞð IF_PORT ÌÝèÅI×Ü·B±ê ÍlÅIÔ©AgV[oÌíÞð\·L[[hÅIÑÜ·BSÄÌ lbg[NhCoÌftHg®ìÍAÂ\ÈçÎC^tF[XÍ©® oµAoªÅ«È¯êÎ 10BaseT ðg¤Æ¢¤àÌÅ·Bifport R} hðg¤ÆAgV[oÌíÞÌ»ÝlÌmFâÝèªÅ«Ü·BÀsáð ȺɦµÜ·: # ifport eth0 10base2 # # ifport eth0 eth0 2 (10base2) »Ý(3.0.10 È~)Ì 3c589 phCoÍAgV[oÌÏ»ð¢ÂÅঠÀÉ©®o·é͸ŷBÈOÌo[WÌ 3c589 pÌhCoÍAg V[oÌ©®oASYª¢ÔñxAâè_à èܵ½B± Ìæ¤Èo[WÅÍAJ[hªÝè³êÄ©çKØÈlbg[NP[u ðJ[hÉq®©AȺÌæ¤ÈR}hðÀsµÄ§IÉ©®oðÀ s³¹È¯êÎÈèܹñ: ifconfig eth0 down up 4.3.2. ÂÊÌJ[hÉÖ·éRg o IBM CCAE Æ Socket EA J[hÅÍlbg[NfoCXÌÝèÌÛÉg V[oÌíÞ(10base2, 10baseT, AUI)ðwè·éKvª èÜ·BV XeÌOt@Cð²×ÄAÝè³êÄ¢égV[oÌíÞªA ¨IÉÚ±µÄ¢éàÌÆêvµÄ¢é±ÆðmFµÄ¾³¢B o Farallon EtherWave ÍÀÍ 3Com 3c589 ðîɵĢܷªAÆ©Ìg V[oðgÁĢܷBEtherWave Í 10baseT ^CvÌRlN^ðgÁ ĢܷªAgV[oÍ 3c589 ª 10base2 [hÉÝè³êÄ¢È ¢Æ³µ®ìµÜ¹ñB o IBM CCAE, NE4100, Thomas Conrad, Kingston Æ¢Á½J[hÅgu ª¶¶éêÍApcnet_cs W [Ì mem_speed=# IvVðgÁ ÄÖANZX·éÔðâµÄÝľ³¢BwèáÍWÌ config.opts t@CÉ èÜ·B mem_speed=1000(imZRhPÊ)Ü Åã°ÄÝľ³¢B o New Media Ethernet A_v^ÈÇÌêAI/O |[gÉANZX·éÔ ð io_speed=# IvVÅwè·éKvª é©àµêܹñB±ÌI vVÍ pcmcia_core W [ð[h·éÛÉwèµÜ·BN®X NvgÌ CORE_OPTS ðÒWµÄA±ÌIvVðwèµÄ¾³ ¢B o New Media Ethernet hCoÌ}`LXgÎÍs®SÅ·BÅVÌ hCoÍ}`LXgÎÌJ[lÅ®ìµÜ·ªA}`LX gÌpPbgͳµÜ·B³·Ê[hͳµ®ì·é͸ŷB o IBM Æ 3Com Ìg[NOA_v^ªg¤hCoÍAú»ÌÛÉ J[hªOÉÚ±³êĢȯêÎAñíɨ©µÈ®ìðµÜ·B ±êçÌJ[hÍAK¸d¹ðüêéOÉlbg[NÉÚ±µÜµå ¤B ifconfig ªñ·én[hEFAAhXªSÄ 0 ÈçÎA½Ôñ EBhEÌÝèÉâèª èÜ·B o Linksys, D-Link, IC-Card »Ì 10baseT/10base2 J[hÍALinux ph CoÅ͵¦È¢ÆÁÌû@ÅgV[oÌíÞðoµÜ·Bñð û@Ì 1 ÂÍADOS ðN®µÄAx_[ªñµÄ¢é[eBeB ðgÁÄgV[oÌíÞðIðµA»ÌãÅ Linux ðEH[u[g ·é±ÆÅ·BÊÌû@ƵÄA±Ì@\ðÀs·é Linux pÌ[eB eBð <ftp://sourceforge.org/pcmcia/extras/dlport.c> ÅüèÅ« Ü·B o WaveLAN ³ülbg[NA_v^ü¯ÉAJean Tourrilhes ³ñ (jt@hpl.hp.com)ª wireless HOWTO ð¢Ä¢Ü·B±êÍ <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/> É èÜ ·B 4.3.3. lbg[NA_v^ÉÜÂíéâèÌff o ȽÌJ[hÍC[TlbgJ[hƵÄF¯³êĢܷ©? O t@Cð`FbNµÄAcardmgr ªJ[hð³µF¯µAlbg[ NhCoðN®µÄ¢é©mFµÄ¾³¢BൾßÈçÎAT|[ g³êÄ¢éJ[hÆuÝ·vÆ̵ĢÄà ȽÌJ[hÍܾg¦ È¢Ìŵå¤B±êÍAJ[hªuNE2000 Ý·vÆ̵ĢéÉæ N«éæ¤Å·B o J[hͳµÝè³êĢܷ©? àµT|[g³êÄ¢éJ[hðg ¢A cardmgr ɳµF¯³êÄéÌɤܮ©È¢Æ¢¤êÍA¼ ÌfoCXÆ IRQ â|[gªÕ˵ĢéÌ©àµêܹñBJ[hª gÁÄ¢é\[Xð`FbNµÄ(Ot@Cð²×Ä)AJ[hªÊ Ì IRQ â|[gðg¤æ¤É /etc/pcmcia/config.opts ðÝèµAâè ÆÈé IRQ â|[gðgíÈ¢æ¤ÉµÜ·B o J[hͳµÝè³êÄ¢éª(ÁÉת¢É)ÅÜÁĵܤ± ƪXN±éêA\PbghCoÌ^C~Oð§ä·ép[ ^ðϦéKvª é©àµêܹñBÚ×É¢ÄÍ ``N®IvV ''Ìßð©Ä¾³¢B o lbg[NÉANZXµæ¤Æ·éÆ ``network unreachable'' Æ¢¤ bZ[Wª\¦³êéêÍA/etc/pcmcia/network.opts ÅwèµÄ¢ éoHîñÉÔᢪ èÜ·B±ÌbZ[WÍǤl¦ÄàoHîñ G[ð¦µÄ¢éƵ©l¦çêܹñB±êÉεÄAJ[hÌÝè ~XÌêÍÊA¤Ü®ìÅ«ÈÄàG[ð\¦µÜ¹ñB o DHCP ðgÁÄlbg[NC^tF[XðÝèµæ¤ÆµÄ¢éê ÍA DHCP ÅÍÈÅèÌ IP AhXðgÁ½eXgðs¢ADHCP ÌÝ èÉæéâèðOµÜ·B o /etc/pcmcia/network.opts Ìâèð©Â¯é½ßÉÍAܸ¯¶Tulb gãÉ é¼Ì}VÉ ping ðÅÁÄÝܵå¤B}VÌwèÉÍ IP AhXðg¢Ü·BÉQ[gEFCÉ ping ðÅ¿A»ê©ç¼ÌT ulbgãÉ é}VÉ ping ðÅ¿Ü·BzXg¼ðgÁÄ ping ð ÅÂÌÍAÈãÌÈPÈeXgªIíÁÄ©çÅ·B o âèª{É PCMCIA ÉNö·é±ÆðmFµÄ¾³¢BDOS ãÅAx _[»ÌhCoÈ箩Ǥ©ðmF·éÌࢢŵå¤B /etc/pcmcia/network.opts XNvgðÏXµ½ªª êÎA»±ðJ èÔµ`FbNµÄ¾³¢BP[uâ ``T'' ^WbNA^[~l[ ^ª³µ®ìµÄ¢é©mFµÄ¾³¢B 4.4. PCMCIA ÌVAfoCXÆffoCX Linux ÌVAfoCXÍA/dev/ttyS* Æ /dev/cua* Æ¢¤ÁêÈfoC Xt@CðoRµÄANZXµÜ·Bo[W 2.2 æèOÌJ[lÅ ÍAttyS* foCXÍ[ÈÇð¼ÚÚ±·é½ßÌüÍpfoCXÅ èAcua* foCXÍfÅp·é½ßÌoÍpfoCXŵ½B»Ý ÌJ[lÅÍ cua* foCXðgíÈ¢±Æª§³êĨèASÄÌAv P[VÅ ttyS* ðg¢Ü·BVAfoCXÌÝèÍAsetserialR }hðgÁÄmFAÏXÅ«Ü·B VAJ[h é¢ÍfJ[hÌ}üªo³êéÆAÅÌó¢Ä¢ éVAfoCXÉ©®IÉèÄçêÜ·BÊíA±êÍVXeÉÅ ©çt¢Ä¢éVA|[gÌÉæÁÄ /dev/cua1 (/dev/ttyS1)© /dev/cua2(/dev/ttyS2)ÌÇ¿ç©ÉÈèÜ·B/dev/ttyS* foCXÍ stab ÉL^³êÜ·BfoCXðg¢â··é½ßÉAVAfoCXÝèp ÌftHgÌXNvg(/etc/pcmcia/serial.opts)ÍA /dev/modem ©ç KØÈfoCXt@CÉV{bNNð£èÜ·Bo[W 2.2 æèOÌJ[lÅÍA±ÌNÍ cua* foCXÉ£çêÜ·B PCMCIA fJ[hðÝè·éÌÉ /etc/rc.d/rc.serial ðgÁÄÍ¢¯Ü ¹ñB±ÌXNvgͲ«}µðµÈ¢VAfoCXðÝè·é½ßÌ àÌÅ·BfÉÌÝèðs¤êÉÍA /etc/rc.d/rc.serial ÅÍÈ /etc/pcmcia/serial.opt ÅÝèµÄ¾³¢BܽAVAfoCXÌ I/O |[gÆèÝÌÏXðs¤ÌÉ setserial ðgÁÄÍ¢¯Ü¹ñB ±ÌR}hÍÊÌAhXÉ éfoCXðVAhCoÉT³¹éà ÌÅAJ[hÌn[hEFAÉÀÛÉÝè³êÄ¢éîñðϦé±ÆÍÅ« È¢©çÅ·BVAÝèpÌXNvgðg¤ÆAsetserial ÌÊÌIv Vðwè·é±ÆªÅ«Ü·µA±Ì|[gpÉ /etc/inittab ÉsðÇ Á·é©Ç¤©ðwè·é±ÆàÅ«Ü·B serial.opts Én³êéfoCXAhXÍAR}ÅæØçê½ 3 ÂÌ tB[h©ç\¬³êĢܷBêÂÚÌtB[hÍXL[AñÂÚª \PbgÔAOÂÚªfoCXCX^XÅ·B¡ÌVA|[gð T|[gµÄ¢éJ[hÅÍfoCXCX^Xª¡Ìlð±ƪ èÜ·ªA|[gªêµ©È¢J[hÌêÉÍAfoCXCX^XÌ lÍK¸ 0 Å·Bi©ç¡Ì PCMCIA fJ[hðgÁÄ¢éÈçA }ü·é\PbgÉæÁÄÝèðϦé±ÆªÂ\Å·B»ÌêÌÝèÍÈ ºÌæ¤ÉµÜ·: case "$ADDRESS" in *,0,*) # Options for modem in socket 0 LINK=/dev/modem0 ;; *,1,*) # Options for modem in socket 1 LINK=/dev/modem1 ;; esac N®ÉùÉ PCMCIA fJ[hªÝè³êÄ¢éÆAn[hEFAÉÅ ©çt¢Ä¢éVA|[gÆëF³êéÂ\«ª èÜ·BÀQÍ èÜ ¹ñªAPCMCIA hCoªfð§ä·éêAfoCXªÙÈéXb gÉèÄçêéÂ\«ª èÜ·BæÁÄAAvP[V¤ÅÍ PCMCIA fªíɯ¶foCX(/dev/cua*)ÉèÄçêéÆ¼è¹ ¸Astab ððÍ·é©V{bNN /dev/modem ðg¤Ìª¢¢Å µå¤B î{ÌVA|[ghCoðW [ƵÄ[h·éæ¤ÉJ[l ÌÝèðsÁÄ¢éêA/etc/pcmcia/config ðC³µÄVA|[gh Coð\ß[h·éæ¤ÉµÜ·B /etc/pcmcia/configÌVAfo CXÌÚðȺÌæ¤ÉC³µÄ¾³¢: device "serial_cs" class "serial" module "misc/serial", "serial_cs" 4.4.1. VAfoCXÌp[^ ȺÌp[^ð serial.opts Åè`·é±ÆªÅ«Ü·: LINK uR[AEgpvfoCXÉεģçêéV{bNNÌp XðwèµÜ·(á: 2.2 æèOÌJ[lÅÍ /dev/cua*, 2.2 ÅÍ /dev/ttyS* Å·)B SERIAL_OPTS setserial R}hÉn·IvVðwèµÜ·B INITTAB ±Ìp[^ðwè·éÆA»ÌlðgÁÄAÎÛÆÈéfoCXÌ inittab pÌGgªìçêÜ·B wèáðȺɦµÜ·: case "$ADDRESS" in *,*,*,*) LINK="/dev/modem" SERIAL_OPTS="" INITTAB="/sbin/getty" 4.4.2. ÁèÌJ[hÉ¢ÄÌRg o Uniden Data 2000 Wireless CDPD J[hÉÍASLIP [hâ PPP [h ÅÊMðnßé½ßÌÁêÈ_CA¶ñª èÜ·BSLIP ÌêÉÍ ``ATDT2'' ðAPPP ÌêÉÍ ``ATDT0'' ðg¢Ü·B 4.4.3. VAfoCXÉÜÂíéâèÌff o ȽÌJ[hÍfƵÄF¯³êĢܷ©? /usr/adm/messages ð`FbNµÄ cardmgr ªJ[h𳵯ʵAserial_cs hCoð N®µÄ¢é±ÆðmFµÄ¾³¢B൳µ¯Ê³êĢȢê A/etc/pcmcia/config t@CÉVµ¢GgðÁ¦ÄA³µ¯Ê Å«éæ¤É·éKvª é©àµêܹñBÚµÍ ``¯Ê³êÈ¢J [hÌÝè''Ìßð©Ä¾³¢B o serial_cs hCoªfð³µÝèµÄ¢Ü·©? à¤êx /usr/adm/messages ð`FbNµÄAserial_cs hCoÌoÍð²×Ä ¾³¢Bൠ``register_serial() failed'' Æ¢¤bZ[WªoÍ ³êÄ¢êÎA¼ÌfoCXÆ I/O |[gªÕ˵ĢéÂ\«ª èÜ ·BfoCXª 8250 Å éƯʳêé±Æà I/O |[gªÕ˵Ģ é¥óÌêÂÅ·BÆ¢¤ÌàAÅßÌ PCMCIA fÍ 16550A UART Æ ¯Ê³êé͸¾©çÅ·BI/O |[gª¼ÌfoCXÆÕ˵Ģéê ÍA /etc/pcmcia/config.optsðC³µÄAfpÉèÄçêÄ ¢é|[gðgíÈ¢æ¤ÉµÄÝľ³¢B o IRQ ÍÕ˵Ģܹñ©? àµOt@Cͳµ¢æ¤¾ªfÍ ¤Ü®©È¢Æ¢¤êAsetserial R}hðgÁÄ irq ð 0 ɵ Ä®©Ç¤©mFµÄÝľ³¢Birq ð 0 ÉÝè·êÎAVA hCoÍèÝÌ©íèÉAæèx¢uÄÑoµ[h(polled mode)vðg¤æ¤ÉÈèÜ·B൱êŤÜsæ¤È çAserial_cs ÌIñ¾ IRQ ð½©ÊÌfoCXªgÁÄ¢éÂ\«ª èÜ·B±ÌèÝðgíÈ¢æ¤É /etc/pcmcia/config.opts ðÝè µÄ¾³¢B o f©ç̽ªÙlÉx¢Æ¢¤Ìà IRQ ªÕ˵Ģé¥óÌÐÆ ÂÅ·B o o âèª{É PCMCIA ÉR·éàÌ©mFµÄ¾³¢Bx_[»Ì hCoðgÁÄ DOS Å®©²×éÌࢢŵå¤BܽAPÈÚ ±ªÅ«éæ¤ÉÈéÜÅÍA SLIP â PPP Ìæ¤È¡GÈÝèÍ³È ¢Å¾³¢BàµPÈڱͤܢª SLIP ÍÊÚÆ¢¤êÌ ´öÍåï SLIP É èAPCMCIA ÉÍ èܹñB serial_cs W [ ª[hÅ«È¢±Æð¦·J[lbZ[WªcÁÄ¢êÎAJ[ lÉVAfoCXÌT|[gªgÝÜêĢȢƢ¤±ÆÅ ·BVAhCoðW [ƵÄìÁÄ¢êÎA /etc/pcmcia/config ðC³µÄAserial_cs ÌOÉ serial W [ð [h·éæ¤ÉÝèµÈ¯êÎÈèܹñB 4.5. PCMCIA p|[gfoCX Linux Ìp|[ghCoÍC»³êÄ¢éÌÅA¢Â©Ì^C vÌxfoCXÍA|[gpÌáxhCoÉ¢Äͯ¶àÌð ¤LÅ«Ü·Bv^foCXÍÁêfoCXt@C /dev/lp* oRÅA NZXÅ«Ü·Bv^foCXÌÝèÍA tunelp R}hűÆC³ ªÅ«Ü·B parport_cs W [Í parport hCoÆ parport_pc hCoÉ˶µ ĢܷB±êçÍJ[lÉgÝñÅàAW [ƵÄ쬵Äà\ ¢Ü¹ñBhCoÌ\¬ªC»³êÄ¢éÆ¢¤±ÆÍAgbvx ÌphCo(PLIP hCoâv^hCo) ÍSÄW [ ƵÄRpCµÈ¯êÎÈçȢƢ¤±ÆÅ·B±êçÌhCoÍ W [ÌN®µ©p|[gðF¯µÈ¢ÌÅA PC J[hpp foCXÌÝèðI¦½ãÉW [ð[hµÈ¯êÎÈèܹñB parport.opts Én³êéfoCXAhXÍAR}ÅæØçê½ 3 ÂÌ tB[h©ç\¬³êĢܷBêÂÚÌtB[hÍXL[AñÂÚÍ \PbgÔAOÂÚÍfoCXCX^XÅ·B¡Ìp|[gÉ ÎµÄ¢éJ[hÌêÍfoCXCX^Xª¡Ìlð±ƪ èÜ·ªA|[gªêµ©È¢J[hÌêÍfoCXCX^XÌlÍ K¸ 0 ÉÈèÜ·Bi©ç¡Ì PCMCIA p|[gJ[hðgÁÄ ¢éÈçA}ü·é\PbgÌÊuÉæÁÄÝèðϦé±ÆªÂ\Å·B» ÌêÌÝèÍȺÌæ¤ÉµÜ·: case "$ADDRESS" in *,0,*) # Options for card in socket 0 LINK=/dev/printer0 ;; *,1,*) # Options for card in socket 1 LINK=/dev/printer1 ;; esac Linux Ìî{Ìp|[ghCoðW [ƵÄ[h·éæ¤É J[lðÝèµÄ¢éÈçÎA/etc/pcmcia/config ðÒWµÄAKØÈ W [ªK¸[h³êéæ¤ÉµÈ¯êÎÈèܹñBÇÝÜêép foCXÌÚðÒWµÄ¾³¢: device "parport_cs" class "parport" module "misc/parport", "misc/parport_pc", "parport_cs" 4.5.1. pfoCXÌp[^ ȺÌp[^ð parport.opts Åè`Å«Ü·: LINK v^|[gÉεģçêéV{bNNÌpXðwèµÜ ·B LP_OPTS tunelp R}hÉn·IvVðwèµÜ·B áðȺɦµÜ·: case "$ADDRESS" in *,*,*,*) LINK="/dev/printer" LP_OPTS="" 4.5.2. p|[gfoCXÅN±éâèÌff o èÝÍÕ˵Ģܹñ©? VXeOÉâèªÈ¢¯êÇ|[g ª®ìµÄ¢éæ¤ÉÍ©¦È¢êÍAtunelp ðgÁÄ IRQ ð 0 ÉÏ XµA±êÅóµªüP·é©Ç¤©ð©Ä¾³¢B±ÌìÍhC oð|[O[hÉϦܷB±êÅâèªð·éæ¤Å êÎA parport_cs ªIñ¾èÝðVXeã̼̽ç©ÌfoCXªgÁ Ä¢éÆvíêÜ·B/etc/pcmcia/config.opts ÉÝèðÇÁµÄA±Ì èÝðOµÄ¾³¢B o parport_cs W [ª[hÅ«È¢±Æð¦·J[lbZ[Wª oÄ¢éêÍAJ[lªpfoCXðT|[gµÄ¢È¢Æ¢ ¤±ÆÅ·BphCoðW [ƵÄìÁ½ÌÅ êÎA /etc/pcmcia/config ðÒWµÄAparport W [Æ parport_pc W [ð parport_cs W [ÌOÉ[h·éæ¤ÉÝè·éKv ª éŵå¤B 4.6. PCMCIA SCSI A_v^ »_ÜÅÉT|[g³êÄ¢é PCMCIA SCSI J[hÍA Qlogic, Adaptec AHA-152X, Future Domain TMC-16x0 Æ¢Á½ ISA oXpÌJ[hÆ@\IÉ ¯È PCMCIA J[hÅ·B±êçÌJ[hpÌ PCMCIA hCoW [ Í PCMCIA Æ©ÌR[h(qlogic_cs.c, aha152x_cs.c, fdomain_cs.c)ÆLinux J[lÌ\[XR[h©çøÁ£ÁÄ«½ÊíÌ SCSI hCoðNµ Ä쬳êĢܷB Adaptec APA1480 CardBus hCoÍAJ[lÌ aic7xxx PCI hCoðx[XɵĢܷB Linux Ì SCSI hCoÌÝ vÉR·é§À̽ßAæèOµªÅ«éJ[hÍhCo²ÆÉ 1 ¸ µ©T|[gūܹñB Vµ SCSI J[hª}³ê½±Æðo·éÆASCSI hCoÍ»ÌJ[ hÉÚ±³êÄ¢éfoCXð²×Ü·BVXeOð`FbNµÄA}µ ½foCXª³µo³êÄ¢é©Ç¤©ðmFµÄ¾³¢Bo³ê½ SCSI foCXÍAó¢Ä¢éÅÌ SCSI foCXt@CÉ©®IÉè ÄçêÜ·B·Èí¿Åɩ©Á½ SCSI fBXNÍ /dev/sda ÉAÅ Ì SCSI e[vÍ /dev/st0 ÉA ÅÌ CD-ROM Í /dev/scd0 ÉÈèÜ ·B ±ÌzXgA_v^ÉÚ±³êÄ¢é SCSI foCXÌXgÍ stab ÉL^ ³êÜ·Bܽ SCSI ÝèXNvg (/etc/pcmcia/scsi)ªèÄçê½ foCXð²ÆÉêxÄÑo³êA»ÌfoCXÌÝèââ~ðs¢Ü·Bf tHgÌXNvgÍA SCSI foCXÌÝèÍSsí¸AJ[hª²© ê½É SCSI foCXãÌt@CVXeð³µA}Eg·é¾ ¯ðs¢Ü·B SCSI A_v^ÉÍFXÈ@íªÚ±Å«é½ßAscsi.opts Én·foCX AhXÍ©Èè¡GÅ·BtB[hÍR}ÅæØçê½ 6  é¢Í 7 ÂÌtB[h©çūĢܷF»ê¼êÌtB[hÍAXL[Af oCX^CvA\PbgÔASCSI `lAIDA_jbgÔA(± êÍȪÂ\Å·ª)p[eBVÔÅ·BfoCXÌíÞÍ ``sd'' ª fBXNA``st'' ªe[vA``sr'' ª CD-ROM Å ``sg'' ªWFlbN SCSI foCXÅ·BÙÆñÇÌÝèÅÍ SCSI `lÆ_jbgÔ Í 0 Å·B¡Ìp[eBVðÂfBXNfoCXÉ¢ÄÍAÜ ¸ scsi.opts XNvgªA5 ÂÌtB[hðÂfoCXAhXð gÁÄfoCXSÌÉεÄÄÎêÜ·Bscsi.opts XNvgÍp[eB VÌXgð PARTS ÏÉԵܷBÉ scsi.opts XNvgª»ê ¼êÌp[eBVÉ¢ÄA7 ÂSÄÌtB[hðÂAhXðgÁ ÄÄÑo³êÜ·B ¨g¢ÌJ[lÉA»ê¼êÌ SCSI foCXÉε½fBXNâe[v ðp·é½ßÌgbvxhCoªgݱÜêĢȢêAPCMCIA hCo©ç»êçÌfoCXðÝè·é±ÆÍūܹñB»ÌìpƵ ÄAstab Éc³êéfoCX¼Í "sd#nnnn" Ìæ¤È`ÉÈèÜ·B±±Å "nnnn"Í 4 Ì 16 iÅ·B±Ì»ÛÍA cardmgr ª SCSI foCX ID ð Linux ÌηéfoCX¼ÉÏ·Å«È©Á½ÛÉN«Ü·B gbvxÌ SCSI hCo(SCSI fBXNphCoASCSI e[vph CoÈÇ)ðW [»µÄAKvÈÉ[h·é±ÆàÂ\Å·B» ̽ßÉÍA/etc/pcmcia/config ðC³µÄAA_v^ðÝè·éÉ[ h·éKvª éÇÁÌW [ð cardmgr ɳ¦ÄâéKvª èÜ ·BÝèáðȺɦµÜ·: device "aha152x_cs" class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs" ±Ìæ¤É·éÆAjÆÈé SCSI W [Ægbvx SCSI fBXN hCopÌW [ªAÊíÌ PCMCIA hCoW [æèæÉ[ h³êÜ·BPCMCIA ÝèXNvgÍW [»³ê½ SCSI hCoð ©®oµÈ¢ÌÅASCSI ÌT|[gðLøÉ·é½ßÉÍè®ÅÝèðs ¤Kvª èÜ·B bvgbv@Ìd¹ðüêéOA é¢ÍA_v^J[hð}ü·éOÉ ÍAÚ±·éSÄÌ SCSI foCXÌd¹ðüêĨ«AA_v^ªÝè³ê éÉÍ«¿ñÆ SCSI oXª^[~l[g(I[)³êÄ¢éæ¤ÉµÜµå ¤BܽASCSI A_v^ð²ÉÍ×SÌÓð¥¢Üµå¤B±êðÅ àmÀÉs¤û@ÍAJ[hð¨IɲOÉ cardctl © cardinfo ð gÁÄJ[hð²«oµÌvðo·±ÆÅ·B»óÅÍAÚ±·éSÄÌ SCSI foCXÌd¹ð SCSI A_v^Ì}üOÉüêȯê΢¯Ü¹ñ µAA_v^J[hð²©bvgbv@Ìd¹ðÆ·ÜÅÍ SCSI fo CXÌd¹ðØÁÄÍ¢¯Ü¹ñB PCMCIA SCSI J[hðg¤êAÊíÌ ISA oXÉÚ±·é^CvÌA_v ^ÅÍN±çÈ¢â誶¶é±Æà èÜ·B½¢Ä¢ApbVu^Ì SCSI ^[~l[^ð³µì®³¹é½ßÉÍA SCSI oXÉ^[~l[^ pÌdͪKvÅ·APCMCIA ^CvÌ SCSI A_v^Í^[~l[^pÌd ÍðµÈ¢ÌÅA൱ÌdͪKvÈçÎAÚ±³êÄ¢éOfoC XªdÍðµÈ¯êÎÈèܹñBSCSI foCXÌÉÍ^[~l[^ pÌdÍð·éæ¤ÉÝèÅ«éàÌà èÜ·µAZip hCuâ Syquest ÐÌ EX-Drive Ìæ¤ÉANeBu^Ì^[~l[^ðgÁÄ¢é½ ßA^[~l[^pÌdÍÉÍ˶µÈ¢àÌà èÜ·BÉÍAAPS SCSI Sentry 2 Ìæ¤ÉO©çd¬ð·é^CvÌÁÊÈ^[~l[^ðg ¤Kvª é©àµêܹñBSCSI foCXð¢Âàq°ÄÚ±·éê ÉÍA^[~l[^pÌdÍðKvÆ·éfoCXâAdÍðÅ«éfo CXª é©Ç¤©Éӵľ³¢B 4.6.1. SCSI foCXÌp[^ ȺÌp[^ð scsi.opts Åè`·é±ÆªÅ«Ü·: DO_FSTAB lÉÍ y © n ðwèµÜ·B±ÌfoCX̽ßÉ /etc/fstab ÌÝ èðÇÁ·é©Ç¤©ðwèµÜ·B DO_FSCK lÉÍ y © n ðwèµÜ·B}Egðs¤OÉ ``fsck -Ta'' R} hðgÁÄt@CVXe̸ðs¤©Ç¤©ðwèµÜ·B DO_MOUNT lÉÍ y © n ðwèµÜ·BJ[hð}µ½É©®IÉ}Egð s¤©Ç¤©ðwèµÜ·B FSTYPE, OPTS, MOUNTPT fstab pÌGgâfoCXÌ}EgÉg¤t@CVXeÌ íÞA}EgÌIvVA}Eg|CgðwèµÜ·B áƵÄASCSI ID ª 3 Åp[eBVð 2 ÂÂfBXNÆ SCSI ID ª 6 Å é CD-ROM ðÝè·é½ßÌXNvgðȺɦµÜ·: 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 4.6.2. ÂÊJ[hÉÖ·éRg o Adaptec APA-1480 CardBus J[hÍåÈ I/O |[gEBhE(256  Ì|[g«EãÉzu³ê½ 256 ÂÌA±µ½|[g)ðKvƵܷB ±Ìæ¤ÉåÈEBhEðo·é½ßÉÍA /etc/pcmcia/config.opts Å I/O |[gÌæðL°éKvª é©àµê ܹñB o Adaptec APA-460 SlimSCSI A_v^ÍT|[g³êĢܹñB±ÌJ[ hͳX Trantor Щç³êÄ¢½àÌÅ·ªAAdaptec Ъ Trantor Ðð¹µÄ©çÍ Adaptec Ìxðt¯ÄÁÄ¢Ü ·BAPA-460 ÍÇÌ Linux pÌhCoÆàÝ·«ª èܹñB o New Media Bus Toaster Æ UMAX Astra 1200s XLiÉ¢ÄÍAÊM ª¤ÜūȢƢ¤ñð󯽱ƪ èÜ·BSCSI vgRÍ ¡GÈÌÅASCSI foCXÉÜÂíéâèð²×éÛÉÍA±Ìæ¤ÉÝ ·«ÌÈ¢g¹ª¶ÝµAµ©à¶»³êĢȢ©àµêÈ¢±Æ ðl¶·éKvª èÜ·B 4.6.3. SCSI A_v^ÉÜÂíéâèÌff o aha152x_cs hCo(Adaptec, New Media ÈÇÅgp)ÌêA SCSI Ø f/ÄÚ±ÌT|[gªe[vhCuɨ¢ÄæguÌ´öÉÈé æ¤Å·B±Ìu@\vð³øÉ·éÉÍA /etc/pcmcia/config.opts É ÈºÌsðÇÁµÜ·: module "aha152x_cs" opts "reconnect=0" o ܽ aha152x_cs hCoÌêAÁèÌfoCXÅN®ÌÒ¿Ôð ··éKvª éæ¤Å·B±êÍW [Ìp[^ reset_delay ŧäÅ«Ü·BYamaha Ì 4416S CD-R hCuÍA±Ìæ ¤ÈhCuÌêáÅ·BÒ¿Ôð·æçÈ¢ÆAfoCXÌF¯Í ¤Üs«Ü·ªA»ÌãÉVXeªnOµÄµÜ¢Ü·B±Ìæ¤ ÈêÉÍȺÌÝèðµÄ¾³¢: module "aha152x_cs" opts "reset_delay=500" o SCSI foCXÌT¸ÅN«éÂ\«ª éÊÌâèƵÄÍA¡ LUN ÌT¸ª èÜ·B éfoCXª¤Üo³ê½¯êÇA»ÌãÅ» ÌfoCXÌ LUN 1 ðo·éÉSCSI oXª^CAEg·éêÉ ÍAJ[lÌ CONFIG_SCSI_MULTI_LUN ð³øɵľ³¢B o SCSI T|[gðW [ƵÄgÝñ¾(CONFIG_SCSI ð ``m'' ÉÝ èµ½)êÉÍAgp·é *_cs hCoª[h³êéOÉ SCSI W [ª[h³êéæ¤É /etc/pcmcia/config ðC³µÈ¯êÎÈ èܹñB o SCSI oXðT¸µ½É ``aborting command due to timeout'' Æ¢¤ bZ[Wª\¦³êéêÍAÙÚmÀÉèÝÌÕ˪N±ÁÄ¢ Ü·B o zXghCoª ``no SCSI devices found'' Æ¢¤bZ[WðoÍ· éêÉÍAgÁÄ¢éfoCX(ÂÜèfBXNAe[vACD-ROM, WF lbNfoCX)pÌKØÈgbvx SCSI hCoªJ[lÉg ÝÜêÄ¢é±Æðm©ßľ³¢BgbvxhCoª³¯ê ÎA»ÌíÞÌfoCXͳ³êÜ·B 4.7. PCMCIA J[h memory_cs hCoÍSÄÌíÞÌJ[h𵤱ƪūܷBÊÌ @\ðÂJ[hÌ PCMCIA ÌAhXóÔɼÚANZX·é±Æà Å«Ü·B±ÌhCoð[h·éÉÍALN^foCXÆubN foCXÌgª¶¬³êÜ·BfoCX̽¼K¥ÌÚµ¢à¾É¢ÄÍA W [ÌIC}j Að©Ä¾³¢BubNfoCXÍfB XNÌæ¤ÈANZX(t@CVXeÌì¬â}Eg)ðs¤½ßÉg ¢Ü·BLN^foCXÍACÓÌÊuɨ¢Äobt@³µÌÇÝ« ðs¤ "raw" foCXƵÄp¢Ü·B memory.opts Én·foCXAhXÉÍ 2 ÂÌtB[hª èÜ·B· Èí¿XL[Æ\PbgÔÅ·BIvVÍAηéJ[hÌ Å̤Êp[eBVÉKp³êÜ·B êÌâJ[hâAÙÆñÇÌPÈÃI RAM J[hÉÍ CIS(Card Information Structure, J[hîñÌæ)ª èܹñBCIS Í PCMCIA ª© ª©gð¯Ê·é½ßÉg¢Ü·Bcardmgr ÍÊACIS ª³¢J[hÍSÄ PÈJ[hÆÝȵAmemory_cs hCoð[hµÜ·Bµ½ªÁ ÄAêÊÉJ[h̯ÊÌâèªN±Á½ÉÍA¼ÌíÞÌJ[hªÔáÁ ÄJ[hÆF¯³êéÆ¢¤ìpª èÜ·B memory_cs Ío±Iè@ðgÁÄJ[hÌ@\ðèµÜ·Bo±Iè@Í «ÝÖ~ÌJ[hÅÍ®ìµÜ¹ñµA¼ÉàÔáÁ½èðsÁĵܤ ±Æª èÜ·BJ[hªÔáÁÄF¯³ê½êÉÍAdd â mkfs Æ¢Á ½R}hðg¤ÉÍAÌ嫳ð¾¦IÉwèµÄ¾³¢B 4.7.1. foCXÌp[^ ȺÌp[^Í memory.opts Åwè·é±ÆªÅ«Ü·: DO_FSTAB lÉÍ y © n ðwèµÜ·B±ÌfoCXpÉ /etc/fstab ÌÝèð ÇÁ·é©Ç¤©ðwèµÜ·B DO_FSCK lÉÍ y © n ðwèµÜ·B}Egðs¤OÉ ``fsck -Ta'' R} hðgÁÄt@CVXe̸ðs¤©Ç¤©ðwèµÜ·B DO_MOUNT lÉÍ y © n ðwèµÜ·BJ[hð}µ½É©®IÉ}Egð s¤©Ç¤©ðwèµÜ·B FSTYPE, OPTS, MOUNTPT fstab pÌGgâfoCXÌ}EgÉg¤t@CVXeÌ íÞA}EgÌIvVA}Eg|CgðwèµÜ·B \PbgÉ}ü³ê½J[hÌ}Egð©®IÉs¤½ßÌXNv gÌáð¦µÜ·: 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 4.7.2. jAtbV J[hÌg¢û ȺÌîñÍ¢íäéujAtbV vJ[hɵ©ÄÍÜèÜ ¹ñBSmartMedia â CompactFlash ðÜÞ½ÌtbV J[hÍAÀÛ Í IDE fBXNfoCXðG~ [g·éñHðÁĢܷBµ½ªÁ ÄA±¤¢Á½J[hÍfoCXÅÍÈ IDE foCXƵĵíê Ü·B tbV J[hÉÍLÍÈtH[}bgªñ èÜ·: FTL ÂÜè ``flash translation layer'' `®Æ Microsoft Flash File System `®Å ·BêÊIÉÍAFTL `®Ìûª_î«ÉDêĢܷBÆ¢¤ÌàAFTL ` ®ÌtbV J[hãÉÍAÊíÌfBXNfoCXƯlÉCÓÌêÊI Èxt@CVXe (ext2, MS-DOS )ðìêé©çÅ·BFFS ÍS Æ©Ìt@CVXeÅ·B»_ÅÍALinux Í FFS ÅtH[}bg ³ê½J[hðµ¦Ü¹ñB tbV J[hðÊÌfBXNÌæ¤ÈubNfoCXƵÄg ¤ÉÍAܸ ftl_format R}hðgÁÄfoCXãÉ FTL p[eBV ð쬵ܷB±ÌCÍtbV ÌvO~Oɨ¯éf oCXÅLÌש¢ªðBµAJ[hªPÈéubNfoCXÉ©¦éæ ¤ÉµÜ·BȺÉR}hÌáð¦µÜ·: ftl_format -i /dev/mem0c0c ±ÌÍ ``raw'' J[hC^tF[XoRÅJ[hÉANZX µÜ·BêxtH[}bg·éÆA±ÌJ[hÍ ftl_cs hCooRÅÊí ÌubNfoCXƵÄANZX·é±ÆªÅ«Ü·BìáðȺɦµ Ü·: mke2fs /dev/ftl0c0 mount -t ext2 /dev/ftl0c0 /mnt FTL foCX̽¼K¥Í¿åÁÆÏíÁĢܷB}Ci[foCXÔª 3 Â̪ɪ©êĢܷB·Èí¿J[hÔA»ÌJ[hãÅÌÌæÔ A (ȪÂ\È)ÌæàÅÌp[eBVÔÅ·B éÌæÍp[eB Ve[uð½È¢PÆÌubNfoCXƵĵ¤±ÆàÅ«Ü· µ(tbs[ƯlÅ·)An[hfBXNfoCXÌæ¤Ép[eBV ðØé±ÆàÅ«Ü·B``ftl0c0'' foCXÍJ[h 0, ¤ÊÌæ 0, SÌæðg¤Æ¢¤Ó¡Å·BÌæªp[eBVª³êÄ¢ê ÎA``ftl0c0p1'' ©ç ``ftl0c0p4'' ªî{p[eBVÌ 1 Ô©ç 4 Ôð\µÜ·B FTL p[eBVÌÝèIvVÍ ftl.opts ÅwèÅ«Ü·B±Ìt@ CÌ\¬Í memory.opts ÉĢܷB ftl.opts Én·foCXAh XÍA3 ÂÜ½Í 4 ÂÌtB[h©ç\¬³êÜ·B·Èí¿XL[A \PbgÔAÌæÔA(ȪÂ\È) p[eBVÔÅ·BÙÆñÇ ÌtbV J[hÍtbV Ìæð 1 µ©ÁĢܹñBµ ½ªÁÄÌæÔÍíÉ 0 ÆÈèÜ·B Intel Series 100 tbV J[hÍAÅÌ 128K ÌtbV ubN ðgÁÄJ[hÌÝèîñði[µÄ¢Ü·B±ÌîñðëÁÄÁµÄµÜ¤ Ìðh®½ßAftl_format Í©®IɱêðoµAFTL p[eBVÌ ì¬ÉÍÅÌubNðXLbvµÜ·B 4.8. PCMCIA ATA/IDE J[hhCu ATA/IDE hCuÌT|[gÍAJ[lÌÊíÌ IDE hCoðîÉµÄ ¢Ü·BSmartMedia foCXÆ CompactFlash foCXàT|[gÎÛÉÜ ÜêĢܷ: ±¤¢Á½tbV J[hÍAIDE C^tF[Xð G~ [g·éæ¤ÉÝè³êĢܷB±ÌhCoÌ PCMCIA ÅLÌ ªª ide_cs Å·B ATA/IDE J[hð²OÉÍAcardctl â cardinfo ð gÁÄJ[hðâ~³¹Ä¾³¢BÆ¢¤ÌàA±ÌhCoÍzbgX bvÉεĢȢ©çÅ·B ide.opts Én·foCXAhXÍ 3 ÂÜ½Í 4 ÂÌtB[h©ç\¬ ³êÜ·B·Èí¿»ÝÌXL[A\PbgÔAfoCXÌVAÔ A (ȪÂ\È)p[eBVÔÅ·Bide_info R}hðg¤ÆA IDE foCXÌVAÔð¾é±ÆªÅ«Ü·BSCSI foCXƯl ÉA ide.opts ÍܸfoCXSÌÉεÄÄÑo³êÜ·B ide.opts ªp [eBVÌXgð PARTS ÏÉÔµ½êÍAɱÌXNvgª »ê¼êÌp[eBVÉεÄÄÑo³êÜ·B 4.8.1. ATA/IDE ÅèfBXNfoCXÌp[^ ȺÌp[^ð ide.opts Åwè·é±ÆªÅ«Ü·: DO_FSTAB lÉÍ y © n ðwèµÜ·B±ÌfoCXpÉ /etc/fstab ÌÝèð ÇÁ·é©Ç¤©ðwèµÜ·B DO_FSCK lÉÍ y © n ðwèµÜ·B}Egðs¤OÉ ``fsck -Ta'' R} hðgÁÄt@CVXe̸ðs¤©Ç¤©ðwèµÜ·B DO_MOUNT lÉÍ y © n ðwèµÜ·BJ[hð}µ½É©®IÉ}Egð s¤©Ç¤©ðwèµÜ·B FSTYPE, OPTS, MOUNTPT fstab pÌGgâfoCXÌ}EgÉg¤t@CVXeÌ íÞA}EgÌIvVA}Eg|CgðwèµÜ·B CÓÌ ATA/IDE J[hÌÅÌp[eBVð /mnt É}Eg·é½ß Ì ide.opts t@CÌáð¦µÜ·: case "$ADDRESS" in *,*,*,1) DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y" FSTYPE="msdos" OPTS="" MOUNTPT="/mnt" ;; *,*,*) PARTS="1" ;; esac 4.8.2. ATA/IDE A_v^ÉÜÂíéâèÌff o I/O |[gªÕ˵ĢéÆAIDE hCoªhCuÌWIgðë oµA``INVALID GEOMETRY: 0 PHYSICAL HEADS?'' Æñ·é©àµê ܹñB±êðC³·éÉÍA/etc/pcmcia/config.opts ðÒWµÄAÕ Ë·éÍÍÌ I/O |[gðgíÈ¢æ¤ÉµÜµå¤B o êÌ IDE J[hÍfBXNÌñ]ªnÜéÌÉÔª©©é½ ßAPCMCIA ÌdlÅJ[hÌÝè̽ßɳêÄ¢éÅåÔð´¦Ä µÜ¤±Æª èÜ·Bo[W 3.0.6 È~ÅÍAide_cs hCoÍ ©®IÉfoCXoÌgCðs¢A±Ìæ¤ÈfBXNhCuª ®«o·½ßÌÔð^¦Ü·BâhCoðgÁÄ¢éêÉ ÍApcmcia_core W [ðȺÌæ¤ÉµÄ[h·éKvª é© àµêܹñB CORE_OPTS="unreset_delay=400" o ATA/IDE CD-ROM foCXðg¤½ßÉÍAJ[lÍ CONFIG_BLK_DEV_IDECD IvVðLøɵÄ\zµÈ¯êÎÈèܹ ñBWÌJ[lÅͱÌIvVÍLøÉÈÁĢܷªAÆ©Ì J[lðìÁÄ¢éêÉÍÓªKvÅ·B o IDE hCuÌgpÉæN±éG[ÍAëÁ½foCXt@Cð }Egµæ¤Æ·é±ÆÅ·BÊÍAfoCXSÌÅÍÈfoCX Ìp[eBVÐÆÂð}EgµÜ·(ÂÜè /dev/hde ÅÍÈ /dev/hde1)B 4.9. }`t@NVJ[h êÂÌèÝð¡ÌhCo(á¦ÎVAhCoÆC[Tlbgh Co)ŤL·é±ÆªÅ«Ü·BÀÛAPCMCIA ÌdlÅÍAJ[hÌ@\ SĪ¯¶èÝð¤L·é±ÆðvµÄ¢Ü·BÊÍAJ[hÌ@\ ÍSÄhCoðØèÖ¦é±ÆÈpÅ«Ü·B éöxÅßÌ Linux J[l(ÂÜè 1.3.72 È~)ÍA±¤¢Á½íÞÌèÝ̤LðT|[ gµÄ¢Ü·B J[hÌ@\ð 2 ¯Ég¤ÉÍu×HvªKvÅAFXÈn[hEFA x_[ª»ê¼êÝ·«Ì³¢(êÉæÁÄÍÆ©Ì)û@ðgÁÄè Ý̤LðÀµÄ¢Ü·BêÌJ[h(Ositech Jack of Diamonds, 3Com 3c562 Æ»ÌÖAJ[hALinksys »J[h)pÌhCoͯANZXð ¤ÜT|[gµÄ¢Ü·ªAT|[gūĢȢJ[h(ÁÉâ Megahertz »J[h)à èÜ·B¼ûÌ@\ðLøɵÄJ[hðg¤Æâ èªN±éêÍA»ê¼êÌ@\ðØ裵ĵľ³¢B±êðs¤ ÉÍA¾¦IÉ ``ifconfig down'' ðÀsµÄlbg[NC^tF[X ðâ~³¹A»ê©ç¯¶J[hÌf@\ðg¤Kvª é©àµêܹ ñB 5. xÈbè 5.1. PCMCIA foCXÖÌ\[XèÄ _IÉÍA2 ÂÌfoCXª¯¶ IRQ ðgíÈ¢ÀèAÇÌ IRQ ªÇÌf oCXÉè ÄçêÄàâèÉÍÈçȢ͸ŷB /etc/pcmcia/config t@CÉÍAPCMCIA ÈOÌfoCXªp·é IRQ ð PCMCIA ÅÍgíÈ ¢æ¤ÉÝè·éªª èÜ·B ¯lÉA éJ[hªg¤ I/O AhXð¼Úwè·éû@Í èܹñB /etc/pcmcia/config.opts t@Cðg¤ÆAÇÌJ[hÅàg¦é I/O | [gÌÍÍðwè·é±ÆâA¼ÌfoCXÆÕË·éÍÍÌ I/O |[gð gíÈ¢æ¤Éwè·é±ÆªÅ«Ü·B /etc/pcmcia/config.opts ðC³µ½çA``kill -HUP'' ðgÁÄ cardmgr Ìú»ðâ輵ľ³¢B J[hóÔÌÏXðÄ·é½ßÌèÝÍAcardmgr ª /etc/pcmcia/config ðÇÝÞOÉáxÌ\PbghCoW [ (i82365 â tcic)ªßÜ·Bµ½ªÁÄA±Ìt@CðÏXµÄàe¿ Í èܹñB±ÌèÝðÝè·éÉÍA\PbghCoð[h·é É cs_irq= IvVÅÝèµÄ¾³¢B±ÌÝèÍ /etc/rc.d/rc.pcmcia Å PCIC_OPTS ÏðÝè·é±ÆÉæÁÄs¢Ü·B SÄÌNCAgJ[hhCoÉÍAèÄðÝéèÝðwè· é½ßÌ irq_list Æ¢¤p[^ª èÜ·B±Ìæ¤ÈhCoIv VÍ /etc/pcmcia/config t@CÅÝèµÜ·BwèáðȺɦµÜ ·: device "serial_cs" module "serial_cs" opts "irq_list=8,12" ... ±ÌwèÉæèAVAhCoÍ irq 8 © irq 12 µ©gíÈÈèÜ ·Birq_list ÌÝèÉÖWÈAJ[hT[rXVXeͼÌfoCXª ùÉgÁÄ¢éèÝâÝèt@CÅO³êÄ¢éèÝ굀 èÄܹñB 5.2. ÆÆïÐÅÊXÌÝèðg¢ª¯é±ÆªÅ«Ü·©? PCMCIA ÌuXL[vðg¦ÎÈPÅ·Bá¦Î ``home'' Æ ``work'' Æ ¢¤ 2 ÂÌXL[ÌÝèðl¦ÄÝܵå¤BXL[ð½fµ½ network.opts XNvgÌáðȺɦµÜ·: case "$ADDRESS" in work,*,*,*) # definitions for network card in work scheme ... ;; home,*,*,*|default,*,*,*) # definitions for network card in home scheme ... ;; esac PCMCIA foCXAhXÌÅ̪ÍíÉXL[ÌÝèÉÎµÄ¢Ü ·B±ÌáÅÍ 2 ÂßÌ ``case'' ̪ª ``home'' Æ ``default'' ÌX L[ÉÈÁĨèAXL[ªÝè³êĢȢêÍ ``home'' ÌÝèÅ N®³êé±ÆÉÈèÜ·B 2 ÂÌÝèðØ試éÉÍA cardctl scheme home é¢Í cardctl scheme work ðÀsµÜ·B cardctl ÍASÄÌJ[hÌâ~ÆÄN®É·éìðs¢Ü·B±ÌR }hÍ PCMCIA VXeª[h³êÄ¢é©Ç¤©ÉÖíç¸ÀSÉÀs ·é±ÆªÅ«Ü·ªA»ÌÉ¿å¤ÇÊÌ PCMCIA foCXðgÁÄ¢ê ÎAR}h͸s·é©àµêܹñ(½Æ¦AÝ誻ÌXL[ÝèÉ ¾¦IÉ˶µÄ¢ÈÄà)B »ÝÌXL[ÌÝèðméÉÍȺÌR}hðÀsµÜ·: cardctl scheme ftHgÅÍAXL[ÝèÍÄN®µÄàÏ»µÜ¹ñB»Ì½ßAÔ áÁ½Â«ü¯Élbg[Nªú»³êĵܤÆADܵȢÊÉ Èé©àµêܹñB±Ìæ¤ÈêÉÍAN®IvVÌ SCHEME ðgÁ ÄXL[ÌúlðÝè·é±ÆªÅ«Ü·(ÚµÍ ``N®IvV'' ðQÆ)Blilo ÌN®vvgðgÁÄXL[ðÝè·é±ÆàÅ«Ü ·Blilo ÍF¯Å«È¢IvVð«ÏÆµÄ init Én·ÌÅAN ®vvgÅ SCHEME( é¢ÍÊÌ PCMCIA N®IvV)ðÝè·é ÆA»Ìlª PCMCIA N®XNvgÉ`¦çêÜ·B L[ìð¸ç·ÉÍAXL[ð lilo ÌÝèt@CÅwè·éÆæ¢Å µå¤Bá¦ÎȺÌæ¤ÉÝèµÜ·: root = /dev/hda1 read-only image = /boot/vmlinuz label = home append = "SCHEME=home" image = /boot/vmlinuz label = work append = "SCHEME=work" N®vvgÅ ``home'' é¢Í ``work'' ÆüÍ·êÎAKØÈXL[ ÅVXeªN®µÜ·B 5.3. PCMCIA foCX©çÌN® [gt@CVXeð PCMCIA foCXãÉuÉÍ×HªKvÅ·BÆ ¢¤ÌàALinux Ì PCMCIA VXeÍJ[lÉN·éæ¤ÉÍÝv³ êĢȢ©çÅ·BSªÆÈé[_uJ[lW [ÆA[ U[hÅ®ì·é cardmgr f[ÍAùÉ®ìµÄ¢éVXeðOñ ɵĢéÌÅ·B±ÌvÍJ[lÌ ``initrd'' ðgÁÄñð·é±Æ ªÅ«Ü·B±Ì@\ÍêIÈ RAM fBXNð¬³È[gt@CVX eƵÄp¢ÄN®µAhCoð[hµA»ÌãÅÊÌ[gt@C VXeðüßÄ}Eg·éÆ¢¤àÌÅ·BêIÈ[gt@CVX eãÅ PCMCIA ÌfoCXðÝèµA»ê©ç PCMCIA foCXð[g t@CVXeƵÄ}Egµ¼·±ÆªÅ«Ü·B initrd C[WÍâÎÉN®foCXÈOÉu©È¯êÎÈèܹñBµ½ ªÁÄA±êð PCMCIA foCXÉu±ÆÍūܹñB±êÍ BIOS Éæ é§ÀÅ èAJ[ļÀÅÍ èܹñB±±ÅÍuN®Â\vfoC X (ÂÜèN®Å«éfoCX)Æu[gpÂ\vfoCX(ÂÜè[g t@CVXeƵÄ}EgÅ«éfoCX)ðæÊ·éÆÖÅµå ¤BuN®Â\vfoCXÍ BIOS ªßÜ·ªAêÊIÉÍà tbs[ Æn[hfBXNɧÀ³êĢܷBu[gpÂ\vfoCXÍAJ[ lª[h³ê½ãÉεĢéSÄÌubNfoCXÅ·B initrd @\ÍAæè½ÌfoCXðu[gpÂ\vɵܷBuN®Â\vÉ ÍµÜ¹ñB Linux fBXgr [VÉÍACXg[É PCMCIA SCSI A_v ^ðg¦éàÌà èÜ·B±êÍAPCMCIA SCSI CD-ROM foCX©çÌC Xg[Éε½ÊƵÄÌÓ}µÈ¢ìpÅ·Bµ©µ»óÅÍA ``initrd'' ðKØÉÝèµÄ PCMCIA foCXãÌ[gt@CVXe ðgÁÄN®·éCXg[pc[Í èܹñBµ½ªÁÄAPCMCIA foCXãÉ[gt@CVXeðuVXeðÝè·éÉÍAÊÌ Linux }VðgÁÄ ``initrd'' C[WðìçȯêÎÈèܹñBÊÌ Linux }Vª³¯êÎAŬ\¬Ì Linux ð PCMCIA ÅÈ¢foCXãÉ êIÉ\zµA»±Å initrd C[Wð쬵A»ê©çCXg[æ Ì PCMCIA ÉüßÄCXg[·é±ÆàÅ«Ü·B Linux Bootdisk-HOWTO ÉÍN®fBXNÌÝèÉÖ·éêÊIÈîñª© êĢܷªAinitrd ÅLÌîñÍÚÁĢܹñBinitrd ÉÖ·éÅàd vȶÍAÅßÌJ[l\[XÉÜÜêÄ¢é linux/Documentation/initrd.txt Å·BìÆðnßéOÉA±Ì¶ðK¸ Çñž³¢Blilo ÉàµêĨƢ¢Åµå¤B initrd ðg¤½ß ÉÍAJ[lÌ CONFIG_BLK_DEV_RAM IvVÆ CONFIG_BLK_DEV_INITRD IvVªLøÅȯêÎÈèܹñB ±êÍxÈÝèZpÅ èALinux Æ PCMCIA ÉÖ·éxÈZpªKvÅ ·BìÆÌOÉÍK¸ÖA¶ðSÄÇñž³¢BȺÌà¾ÌèŤ Üs͸ŷªAá©ç£êéÆ·®ÉÄàªÈ¢uT|[g³µvÌÌ æÉüéÌÅA©ªÅ½Æ©µÈÄÍÈçÈÈèÜ·B ±Ìû@ðg¤ÉÍo[W 2.9.5 È~Ì PCMCIA hCoªK¸KvÅ ·Bâ PCMCIA pbP[WâpbP[WàÌÂÊÌvfÍAinitrd ɨ¢ ÄͤܮìµÜ¹ñBÙÈéo[WÌàeð¬ºÄÍ¢¯Ü¹ñB 5.3.1. âXNvg ``pcinitrd'' pcinitrd XNvgÍAPCMCIA foCXãÌ[gp[eBVÅN®· é½ßÌî{IÈ initrd C[WðìèÜ·B±ÌC[WÉÍKvÅáÀ ÌfBNgKwÆí¸©ÌfoCXt@CAµÌÀst@CƤL CuAPCMCIA hCoW [Qµ©üÁĢܹñB pcinitrd ðÀs·éÉÍAC[WÉüê½¢hCoW [ðwèµÜ ·BPCMCIA VXeÌSªÅ é pcmcia_core Æ ds Í©®IÉüèÜ ·B áƵÄAi82365 Ý·ÌzXgRg[ðgÁÄ¢ébvgbv@ª èAAdaptec SlimSCSI A_v^ÉÚ±³êÄ¢én[hfBXNãÉ[ gt@CVXeðu¢Ä Linux ðN®µ½¢Æl¦Ä¢éàÌÆµÜ ·B±ÌêÌ initrd C[WÍȺÌæ¤ÉµÄ쬵ܷ: pcinitrd -v initrd pcmcia/i82365.o pcmcia/aha152x_cs.o initrd ÌN®V[PXÌJX^}CYÍA mount -o loop -t ext2 initrd /mnt Æ¢Á½R}hÅu[vobNfoCXvðpµÄC[Wð}Eg µÄA linuxrc XNvgðÒW·é±ÆÅs¦Ü·BÝèt@CÍC [WÌ /etc fBNgÉCXg[³êA±êàJX^}CYÅ«Ü ·BÚµÍ pcinitrd ÌIC}j Að©Ä¾³¢B 5.3.2. initrd N®fBXNÌì¬ pcinitrd ðgÁÄC[WðìÁ½ãÍAN®fBXNð쬵ܷB±ê ÍJ[lƳkµ½ initrd C[WAlilo pÌt@CÂðViÌt bs[ÉRs[·é±ÆÉæÁÄs¢Ü·BȺÌáÅÍAg¤\èÌ PCMCIA [gfoCXÍ /dev/sda1 Å éàÌƵܷ: 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 cp /boot/boot.b /mnt/boot/boot.b gzip < [initrd-image] > /mnt/initrd ȺÌàeð /mnt/etc/lilo.conf ð쬵ܷ: boot=/dev/fd0 compact image=/vmlinuz label=linux initrd=/initrd read-only root=/dev/sda1 ÅãÉ lilo ðȺÌæ¤ÉÀsµÜ·: lilo -r /mnt -r IvVðt¯Ä lilo ðÀs·éÆAlilo Íwè³ê½ãÖ[g fBNg©çÌÎÊuÉîâÄSÄÌ®ìðs¢Ü·B /mnt/dev fBNgÉfoCXt@Cð쬵½RÍA lilo ͱÌãÖ[g [hÅ®ìµÄ¢éÉÍA/dev fBNgÉ ét@Cðg¤±Æ ªÅ«È¢©çÅ·B 5.3.3. Linux pÅÈ¢hCuãÉ é initrd C[WÌCXg[ initrd @\ðg¤RƵÄæ éÌÍAà n[hfBXNª¼Ì OS êpÉÈÁÄ¢éVXeðg¤êŵå¤BLinux ÌJ[lÆ initrd C[Wð Linux pÅÈ¢p[eBVÉu«A lilo â LOADLIN ðgÁ ıêçÌC[W©ç Linux ðN®·éÝèÉ·é±ÆªÅ«Ü·B KØÈ[gfoCXpÌJ[lÌÝèªùÉūĨèA¼Ì OS ãÉ initrd C[WªìçêÄ¢éàÌÆ·éÆAèÁæè¢û@Í LOADLIN ðgÁÄ Linux ðN®·é±ÆÅ·B±êÍȺÌæ¤És¢Ü·: LOADLIN <kernel> initrd=<initrd-image> ÎÛÌ}VÅêx Linux ªN®Å«êÎAlilo ðCXg[µÄ¼Ú Linux ðN®·éæ¤ÉÅ«éŵå¤Bá¦Î /dev/hda1 ª Linux pÌ t@CVXeÅÈ¢ÎÛp[eBVÅ èA /mnt ª}Eg|C gƵÄg¦éàÌƵܷBÜ¸Í Linux ÖAt@CpÌTufBN gð쬵ܷ: mount /dev/hda1 /mnt mkdir /mnt/linux cp [kernel-image] /mnt/linux/vmlinuz cp [initrd-image] /mnt/linux/initrd ±ÌáÅÍ /dev/sda1 ªó]·é Linux Ì[gp[eBVÅ èASCSI n[hfBXNÍ PCMCIA Ì SCSI A_v^oRÅ}Eg³êé àÌƵܷBlilo ðCXg[·éÉÍAȺÌæ¤ÈàeÌ lilo.conf ðìèÜ·: 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 boot= sÍAwè³ê½foCXÌ MBR(Master Boot Record)Éu[g[_ ðCXg[·é±Æðw¦µÜ·Broot= ÍA initrd C[Wð[h µ½ãÉg¤[gt@CVXeðwèµÜ·B±ÌwèÍAJ[lC [WªùɱÌæ¤ÉÝè³êÄ¢éêÉÍKv èܹñBother= ÍA/dev/hda1 ÉCXg[³êÄ¢é¼Ì OS ðLq·é½ßÉg¢Ü ·B ±ÌêÉ lilo ðCXg[·éÉÍAȺÌR}hðg¢Ü·: lilo -C lilo.conf ¡ñÍAlilo.conf ÅÍ /mnt ÌâÎpXðgÁÄ¢é_Éӵľ³ ¢BªáűêðgÁ½ÌÍAÎÛÌt@CVXeÅÍ boot= Iv VÆ root= IvVÉεÄALinux ÌfoCXt@CªìêÈ¢ ©àµêÈ¢©çÅ·B 6. T|[g³êĢȢJ[h̵¢ 6.1. ¯Ê³êÈ¢J[hÌÝè ù¶ÌhCoª¨g¢ÌJ[hðT|[gµÄ¢éÆ·éÆAKvȱÆÍ /etc/pcmcia/config ÉGgðÇÁµÄAcardmgr ÉF¯ÌdûƱÌJ [hÉÍÇÌhCoðN·éKvª éÌ©ð³¦Äâé±Æ¾¯Å ·BÝèt@CÌtH[}bgÌÚ×É¢ÄÍ pcmcia ÌIC} j Að²¾³¢BmçÈ¢J[hª}ü³êéÆAcardmgr ÍÊíA ÝèGgÌì¬ÉpÅ«éæ¤È½ç©ÌFØîñðVXeOÉL ^µÜ·B±ÌîñÍ ``cardctl ident'' R}hÅà\¦·é±ÆªÅ« Ü·B ȺÌáÍAcardmgr ªT|[gµÄ¢È¢J[hÉ墀 /usr/adm/messages Écµ½L^Å·B cardmgr[460]: unsupported card in socket 1 cardmgr[460]: product info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM" cardmgr[460]: manfid: 0x0101, 0x1234 function: 2 (serial) /etc/pcmcia/config ÌYGgÍȺÌæ¤ÉÈÁÄ¢éÆv¢Ü·: card "Megahertz XJ2288 V.34 Fax Modem" version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM" bind "serial_cs" v_Ng ID R[hªàÁÆZÄȺÌæ¤ÉÈÁÄ¢é©àµêܹ ñ: card "Megahertz XJ2288 V.34 Fax Modem" manfid 0x0101, 0x1234 bind "serial_cs" o[WÔÌæ¤ÉA³mÉ}b`·éKvªÈ¢¶ñÉ¢ÄÍ ``*'' ðgÁ½}b`Oðs¤±ÆªÅ«Ü·BVµ¢ÝèGgðì¬ ·éÉÍAå¶E¬¶ÌæÊâó¶ÈÇðÜßĶñð³mÉR s[µÄ¾³¢BܽAÝèGg̶ñÌÍK¸AOt@CÉ L^³êé¶ñÌƯ¶ÉÈéæ¤ÉµÄ¾³¢B éJ[hÉεÄÇñÈhCoÅàwè·é±ÆÍÅ«Ü·ªA»êªÅ _ÉËÁñŢ龯ŠêÎA ÜèÓ¡ª éÆ;¦Ü¹ñB¨g¢ ÌJ[hðù¶ÌhCoªT|[gµÄ¢é±ÆÉ^ÇCéàµêÜ ¹ñBµ©µAàÁÆàN±è»¤ÈÊÍhCoª®ìµÈ¢±ÆÅA» ÌÛÉÍVXeªÅÜÁĵܤƢÁ½s^Ȩܯ຤©àµêܹ ñBKØÈJ[hÌT¸ðs¤ÊíÌhCoÌåªÆÍÙÈèA PCMCIA foCXÌT¸Í cardmgr ªs¢AhCo©ÌÍfoCXÆÊM·éOÉ »ÌfoCXª³µ¢©Ç¤©ÌmFð ÜèsíÈ¢±Æª èÜ·B /etc/pcmcia/config t@CðÒWµ½çAȺÌR}hðgÁÄ cardmgr Ét@CðÇÝݼ³¹é±ÆªÅ«Ü·: kill -HUP `cat /var/run/cardmgr.pid` Vµ¢J[hÌGgðÝèµ½çAª±êðWÌÝèt@CÉæè ßéæ¤ÉA»ÌRs[ðÜÅÁľ³¢B 6.2. NE2000 Ý·C[TlbgJ[hÖÌÎ nßéOÉ: ±Ì豫ªg¦éÌÍAPÈC[TlbgJ[hÌ꾯 Å·B}`t@NVJ[h(ÂÜèC[TlbgÆfÌR{J [h) ÉÍ 2 ÂÌ@\ðÜÆßé½ßÌ¡GÈÇÁÌCª é½ßAê ÊIÉÍJ[hÌx_[ªpÓµ½½ç©ÌÝèîñðg¤ÈOÉÍη éû@ª èܹñBȺÌ豫ð}`t@NVJ[hŵÄà Ó¡ªÈ¢Åµå¤B ܸAÎÛÌJ[hªùÉ cardmgr ÉF¯³êÄ¢é±Æðm©ßÜ·B SUPPORTED.CARDS É©êĢȢJ[hÅàAÀÛÉÍγêÄ¢éJ[ hÌ OEM iÆ¢¤±Æª èÜ·B±Ìæ¤ÈJ[hð©Â¯½çAÜÅ ¨mç¹¾³¢BSUPPORTED.CARDS ÌXgÉÇÁµÜ·B J[hªF¯³êĢȯêÎA ``¯Ê³êÈ¢J[hÌÝè''ÌßÌè É]ÁÄ»ÌJ[hpÌÝèGgðìèApcnet_cs hCoÉèÄ Ä¾³¢B»ê©ç cardmgr ðÄN®µAC³µ½Ýèt@Cðg¤æ ¤ÉµÜ·B pcnet_cs hCoªA¨g¢ÌJ[hÌn[hEFAC[TlbgAhX ð²×çêȢƢ¤bZ[Wðo͵½êÉÍAVµ¢ÝèGgð C³µÄA»ÌJ[hðJ[hÌhCo (memory_cs)ÉèÄÄ ¾³¢B»µÄ cardmgr ðÄN®µÄ«·¦½Ýèt@CðÇÝܹ Ü·B±±ÅmÁÄ¢éKvª éÌÍA¨g¢ÌJ[hÌn[hEFAC[ TlbgAhX¾¯Å·B±ÌAhXÍ 2 Ì 16 ið 6 ÂÀ×½à ÌÅA½ÌêAJ[h©gÉLÚ³êĢܷBJ[hÉLÚ³êÄ¢È ¯êÎADOS pÌhCoðgÁÄAhXð\¦³¹éÆæ¢Åµå¤B½ Æ©µÄ±ÌAhXð²×½çAÌR}hðÀsµÄ¾³¢: dd if=/dev/mem0a count=20 | od -Ax -t x1 »µÄA±Ì_voÍÌ©çAhXÉ·éªðTµÜ·BÓ¡ª éÌÍôoCg¾¯ÈÌÅA_vÌïoCgͳµÄ¾³¢B ±ÌAhXÌÅÌoCgÖÌItZbgð 16 ilÅL^µÄ¾³¢B ³ÄA±±Å clients/pcnet_cs.c t@CðÒWµA hw_info \¢ÌðT µÜ·B±Ì\¢ÌðgÁÄAÎÛÆÈéJ[hpÌVµ¢GgðìéK vª èÜ·BÅÌtB[hªÌItZbglÅ·BÌ 3 ÂÌ tB[hÍAn[hEFAAhXÌÅÌ 3 oCgÅ·BÅãÌtB[ hÍAJ[hÁLÌ@\ð\·½ç©ÌtOÅ·B±ÌtOÌlÍܸ Í 0 ɵĨ«Ü·B pcnet_cs.c ÌÒWªIíÁ½çAVµ¢W [ÌRpCÆCXg [ðs¢Ü·B»µÄÄÑ /etc/pcmcia/config ðÒWµAJ[hÌè Äð memory_cs ©ç pcnet_cs ÉÏXµÜ·BÅãÉÝèt@CÌÄÇÝ ÝðèÊèÉs¦ÎASÄÌÝèªsíêé͸ŷBVµì¬µ½ hw_info ÆÝèGgÍÜÅÁľ³¢B J[hÌn[hEFA_vª 16 i_voÍÌɳ©Á½êÍAÅã ÌèiƵÄApcnet_cs W [ªú»³êéÉu¼Évû@à èÜ·B/etc/pcmcia/config.opts ðÒWµÄAhw_addr= ðȺÌæ¤É ÇÁµÄ¾³¢: module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03" RȪçA Ƚ©gªgÁÄ¢éJ[hÌn[hEFAAhXðKØÈ Êuɢľ³¢B±êÅàÊÚ¾Á½çA»ÌJ[hª{É NE2000 Ý·Æ¢¤±ÆÍܸ èܹñBÀÛAÅÌ 2 ÂÌû@ŵ¦È¢J[ hðÍSmèܹñB 6.3. PCMCIA tbs[C^tF[XJ[h Compaq Aero ðÜß½¢Â©Ìbvgbv@ÅgíêÄ¢é PCMCIA t bs[C^tF[XÍA»ÝÌ PCMCIA J[hT[rXÅÍܾT|[g ³êĢܹñBAero Ìtbs[ÖÌÎÌáQÉÈÁÄ¢éÌÍAAero ÅÍtbs[Åà DMA ðg¦éæ¤Éü¢³ê½Æ©Ì PCMCIA Rg [ªgíêÄ¢é±ÆÅ·BDMA ̧äªÇÌæ¤ÉsíêÄ¢éÌ©ª³ mɪ©çÈ¢ÆALinux Åàγ¹æ¤ª èܹñB Aero ÌêAN®Étbs[A_v^J[hªÚ±³êÄ¢êÎ Aero Ì BIOS ªJ[hðÝèµALinux ©çÍÊíÌtbs[hCuÆµÄ pÅ«Ü·BPCMCIA hCoª[h³ê½A»ÌJ[hÍùÉÝèÏÝ Å èALinux Ìtbs[hCoÆÚ±³êÄ¢é±Æªª©é͸Š·Bµ½ªÁÄAJ[hª}³ÁÄ¢é\PbgÍgíê¸ÉúÁĨ©êÜ ·B·Èí¿AN®É FD J[hª}ü³êÄ¢êÎtbs[foCXÍ gpÂ\Å·ªA»ÌJ[hͲ«}µÅ«È¢±ÆÉӵľ³¢B 7. fobOÌqgÆvOîñ 7.1. LvÈoO|[gÌèû ÅàDܵ¢oO|[gÌèûÍALinux PCMCIA îñTCgÉ é HyperNews ÌbZ[WXgðg¤±ÆÅ·B±Ìû@ÈçA»óÌâè (»µÄAൠêÎC³û@âñðû@)ª¼ÌlÉ੦é©çÅ·BoO |[gÉK{ÌÚðȺɦµÜ·: o ¨g¢Ì}VÌi¼Æf o ¨g¢Ì PCMCIA J[h o Linux ÌJ[lÌo[W(``uname -rv'' ÌÀsÊ)Æ PCMCIA Ì hCoÌo[W(``cardctl -V'' ÌÀsÊ) o /etc/pcmcia É éN®t@Câ PCMCIA N®XNvgÉÁ¦ÄÏX SÄ o VXeÌOt@CÉL^³ê½ PCMCIA ÉÖíéàeSÄB±êÍ N®bZ[WÆJ[hÌÝèÉoͳê½bZ[WðÜÝÜ·B PCMCIA W [Æ cardmgr f[ÍXe[^XbZ[WðVXe OÉèÜ·BVXeOÍÊA /var/log/messages â /usr/adm/messages Æ¢Á½¼O¾Æv¢Ü·Bâèð²×éÆ«ÉÍA±Ì t@CðÅÉ©é׫ŷBoO|[gðéÉàA±Ìt@CÌ àeÍK¸üêľ³¢BVXeÌbZ[Wª©Â©çÈ¢êÉ ÍA/etc/syslog.conf ð©ÄA¼ÌNXÌbZ[WÌoÍæð²×Ä ¾³¢B oO|[gðéOÉÍAÅVÌhCoðgÁÄ¢é±ÆðK¸mFµÄ ¾³¢Bùɼµ½oOÌoO|[gðÇÞÌÍðµÈ¢±ÆÅàÈ¢ ÌÅ·ªA±êÍ ÜèLøÈÔÌg¢ûÅÍ èܹñ©çB WWW ÉANZXūȯêÎA¼Ú¶( dhinds@pcmcia.sourceforge.org) É[ÅÁľ³ÁÄà\¢Ü¹ñB½¾µAÅ«êÎoO|[gÍ ¼ÌlÉ੹çêéæ¤ÉAWWW TCgÌûÉÁÄ~µ¢ÆvÁÄ¢Ü ·B 7.2. J[lÌgbvÊmÌðß àµJ[l©gªtH[g·é(G[ðN·)êA ȽªâèÆÈé AhXAEIP ©ç½©Ó¡ðÇÝæêéƵÄàAWX^Ì_vîñ µ©ðɧ½È¢Åµå¤BÅßÌo[WÌ klogd ÍtH[gªN« ½AhXðA»ÝÌJ[lÌV{}bvÉîâÄÏ·µÜ·ªA tH[gªW [àÅN±Á½êââèª[Å klogd ªtH[ gÌîñðVXeOÉ«ßÈ¢êÉͱÌû@Íg¦Ü¹ñB tH[gªJ[l{ÌÅN±ÁÄ¢éêAtH[gªN«½AhX Í System.map t@CÉcèÜ·B±Ìt@CÍ /System.map © /boot/System.map É éÆv¢Ü·BtH[gªW [ÅN±ÁÄ¢ éêÉÍAnm R}hðg¦Î¯¶îñª¾çêÜ·ªAtH[gªN «½AhXÍW [ª[h³ê½AhXªîÉÈÁĢܷBá ¦ÎAJ[lªÈºÌæ¤ÈtH[gðN±µ½ÆµÜ·: Unable to handle kernel NULL pointer dereference current->tss.cr3 = 014c9000, %cr3 = 014c9000 *pde = 00000000 Oops: 0002 CPU: 0 EIP: 0010:[<c2026081>] EFLAGS: 00010282 tH[gªN«½AhXÍ 0xc2026081 Å·BSystem.map ð©éÆA± ÌAhXÍJ[lÌÅãÌAhXðz¦Ä¢éªª©éŵå¤BÂÜ èAtH[gÍJ[lW [ÅN«Ä¢éÌÅ·BÇÌW [Å tH[gªN«½Ì©ð²×é½ßÉA``ksyms -m | sort'' ÌoÍð²× ܵå¤: Address Symbol Defined by c200d000 (35k) [pcmcia_core] c200d10c register_ss_entry [pcmcia_core] c200d230 unregister_ss_entry [pcmcia_core] ... c2026000 (9k) [3c574_cs] c202a000 (4k) [serial_cs] µ½ªÁÄ 0xc2026081 Í 3c574_cs W [ÌàÅAW [Ìæª ©çÌItZbgª 0x0081 Å·B3c574_cs.o à̱ÌItZbgÊuð QÆ·éû@Í¡ÌƱë èܹñBJ[lªW [ð[hµ½ AJ[lÍW [ð[hµ½AhXÌæªÉwb_ðüêéÌ ÅAÀÛÉW [ªnÜéÊuÍ ksyms ª¦·AhX©çItZbg ðæÁ½ÊuÆÈèÜ·Bwb_Ì嫳ÍJ[lÌo[W²ÆÉÙÈ èÜ·B¨g¢ÌJ[lÅÌwb_Ì嫳ð²×éÉÍAV{ðGN X|[gµÄ¢éW [(OqÌ pcmcia_core )ð²×AV{¢¸ ê©ÌAhXð»ÌV{Éηé nm R}hÌoÍÆärµÜ·B± ÌáÅÍAregister_ss_entry Í 0xc200d10c - 0xc200d000 = 0x010c Æ¢¤ ItZbgÊuÉ[h³êĢܷB±±Å ``nm pcmcia_core.o'' Í 0x00c0 Æ¢¤ItZbgð¦µÄ¢Ü·©çAwb_Ìå«³Í 0x010c - 0x00c0 = 0x004c Æ¢¤±ÆÉÈèÜ·B 3c574_cs ÌbÉßéÆAtH[gªN«½ItZbgÊuÍ 0x0081 ÈÌ ÅA±ê©çwb_Ì嫳Šé 0x004c ðøÆAW [ÌÀÛÌÊ uÍ 0x0035 ÆÈèÜ·B±±Å ``nm 3c574_cs.o | sort'' ðÀs·éÆÈ ºÌæ¤ÈoÍÆÈèÜ·: 0000002c d if_names 0000002c t tc574_attach 00000040 d mii_preamble_required 00000041 d dev_info µ½ªÁÄAtH[gªN«½ÊuÍ tc574_attach() Å·B ±ÌáÅÍAtH[gÅVXeS̪ÅÜé±ÆÍÈ¢ÌÅAtH[g ªN«½ãÉ ksyms ðÀs·é±ÆàÅ«Ü·BêÉæÁÄÍAW [ ª[h³ê½ÊuðÔÚIɪ·éµ©È¢±Æà èÜ·B¯¶ Åì·êÎAÊÍW [௶ů¶ÊuÉ[h³êÜ·BÁ èÌJ[hð}üµ½ÉtH[gªN±éêÍA»ÌJ[hð}·¼O ©AãíèÉÊÌJ[hð}µ½Ì ksyms R}hÌoÍð²×Üµå ¤BJ[hð}·OÉè®Å insmod ÅJ[hÌhCoW [ð[h µAksyms R}hðÀs·éÆ¢¤û@à èÜ·B wiðÚµm软êÎ ``man insmod'', ``man ksyms'', ``man klogd'' ð©Ä¾³¢BJ[lÌ\[XR[hÉüÁÄ¢é Documentation/oops- tracing.txt àÖAª èÜ·BJ[lÌfobOÖAÌqgð¢Â© ÐîµÜ·: o tH[gÌíÞÉæÁÄÍAuÄÑoµg[XvÌAhXÉÏ·· éÌàð§¿Ü·BÏ·ÌèÍAÊÌtH[gAhXÌêƯ ¶Å·B o ½àbZ[Wðo³¸ÉVXeªÅÜÁĵܤêÉÍAX ðgí È¢óÔÅâèðÄ»µÄÝľ³¢BÆ¢¤ÌàAeLXgR\[ ÉçêéJ[lbZ[WÍ X ãÅÍÇßÈ¢©çÅ·B o klogd ðEµÄ éÆAÙÆñÇÌJ[lbZ[WͼÚeLXgR \[É\¦³êÜ·B±Ìû@ÍAklogd ©çVXeOÉ« ݪūÈÈÁĵܤâèªN«½Éð§¿Ü·B o J[lÌo[Wª 2.1 ÅA©Â /proc/sys/kernel/printk ª¶Ý ·éÈçÎAȺÌìÅSÄÌJ[lbZ[WðR\[Éé ±ÆªÅ«Ü·: echo 8 > /proc/sys/kernel/printk o <EAlt><ScrLk> Æ¢¤L[Ìg¹ÅAWX^Ì_vðR\[É oÍ·é±ÆªÅ«Ü·B±êÍVXeª®SɽµÈ¢óÔÅà® ì·é©àµêܹñBܽAEIP AhXÍJ[ltH[gpÌA hXÉÏ·³êÜ·B o o[W 2.1 ÌJ[lÅÍ[ó: 2.2 à¯lÅ·]A CONFIG_MAGIC_SYSRQ ðLøÉµÄ éÆAÁÊÈ <Alt><SysRq> Æ¢¤L [Ìg¹ÅlXÈÙ}p@\ðg¤±ÆªÅ«Ü·B±Ì@\É墀 ÍAJ[lÌ\[Xc[ÉüÁÄ¢é Documentation/sysrq.txt ð² ¾³¢B 7.3. PCMCIA ÌáxÌfobOðs¤½ßÌîñ PCMCIA W [ÉÍRpCÌIvVÅÜéfobOpR[h ª½³ñÜÜêĢܷB ±êçÌR[hÌåªÍvvZbTÌ PCMCIA_DEBUG Æ¢¤è`ŧä³êĢܷBൠPCMCIA_DEBUG ª¢è` ÈçÎAfobOpÌR[hÍRpC³êܹñBൠ0 Éè`³êÄ ¢êÎAR[hÍRpC³êéàÌÌAp³êܹñB±Ìðå« ·êÎfobObZ[WÍæèשÈèÜ·BPCMCIA_DEBUG ðè`µ ÄRpCµ½eW [ÉÍ®ðlÉ pc_debug Æ¢¤ÏªÝ è³êA±ÌÏÅfobOoÍÌÚµ³ð§äÅ«Ü·B±ÌÏÍW [ª[h³êéÛÉÝèÅ«éÌÅAÄRpCðsíÈÄàW [ÊÉfobOoÍð§ä·é±ÆªÅ«Ü·B syslogd ÌftHgÌÝèÍAJ[lÌfobObZ[Wð³·éæ ¤ÉÈÁÄ¢é©àµêܹñB±êðmÀÉL^·é½ßÉÍA /etc/syslog.conf ðÒWµÄA``kern.debug'' NXÌbZ[WªÇ±© ÉL^³êéæ¤ÉµÜ·BÚµÍ ``man syslog.conf'' ð²¾³ ¢B PCMCIA pbP[WÌ debug_tools/ fBNgÉÍAfobOpÌc[ ª¢Â©üÁĢܷBdump_tcic Æ dump_i365 R}hÍ PCMCIA R g[ÌWX^ðSÄ_vµA½ÌWX^îñðfR[hµÜ·B ±êçÌRg[`bvÌf[^V[gðQÆÅ«éÈçA±ÌîñÍñ íÉLøŵå¤B dump_cis(o[W 3.0.2 ÈOÍ dump_tuples)R} hÍAJ[hÌ CIS(Card Information Structure)ðo͵A¢Â©Ìdv ÈrbgðfR[hµÜ·Bdump_cisreg R}hÍJ[hÌ[JÈÝè WX^ðo͵ܷB J[hhCoÅ é pcmem_cs à 16 rbg PC J[hÌfobOÉ ð§Â±Æª èÜ·B±ÌhCoÍÇñÈ PCMCIA J[hÉεÄàp Å«A¼ÌhCoƱ·é±Æà èܹñB±ÌhCoðg¦ÎAÇ ñÈJ[hÌ®«â¤ÊÉà¼ÚANZXÅ«Ü·B CardBus J[hÌêà¯lÅAmemory_cb hCoÍÇñÈ 32 rbgJ[hÉε Äàg¤±ÆªÅ«AJ[hÌAhXóÔÉà¼ÚANZX·é±ÆªÅ« Ü·BÚµÍIC}j AðQƵľ³¢B 7.4. /proc/bus/pccard o[W 2.1.103 È~ÌJ[lÅÍAPCMCIA pbP[WÍXe[^Xî ñÌc[ð /proc/bus/pccard fBNgȺÉìèÜ·B±Ìîñ̽ ÍAPCMCIA zXgRg[Ìf[^V[gðgíÈ¢ÆÓ¡ªª©è ܹñB±ÌàeÍhCoÌÝèÉæèÜ·ªAȺÌîñÌSÄ é¢Í êðÜñÅ¢éÆv¢Ü·: /proc/bus/pccard/{irq,ioport,memory} ±êçÌt@Cª éêÉÍAJ[lÌÊíÌ\[Xe[u ð⤽ßÌ\[XÌèÄîñª©êĢܷBÅßÌo[ WÌ PCMCIA VXeÍA(ÝèªµÄ êÎ)ÇÁÌ\[Xîñ ðvO&vC BIOS ©çÅ«Ü·B /proc/bus/pccard/drivers ÅßÌ[XÅÍA±Ìt@CÉÍ»Ý[h³êÄ¢é PCMCIA NCAghCoªñ³êĢܷB/proc/modules ÆÙÈèA ±Ìt@CÍJ[làÉÃIÉN³êÄ¢é©àµêÈ¢h CoàñµÜ·B /proc/bus/pccard/*/info »ê¼êÌ\PbgÉ¢ÄA\PbgÌzXgRg[Æ»Ì@ \ð¦µÜ·B /proc/bus/pccard/*/exca ±Ìt@CÉÍARg[Ì ``ExCA'' Intel i82365sl Ý· WX^ZbgÌ_vªÜÜêĢܷB /proc/bus/pccard/*/{pci,cardbus} CardBus ubWÉ¢ÄÌAubWÌ PCI ÝèóÔÌ_vÆA ubWÌ CardBus ÝèWX^Ì_vªÜÜêĢܷB 7.5. o½Î©èÌJ[hü¯É PCMCIA J[hT[rXÌhCoðÉ Í ``Linux PCMCIA Programmer's Guide'' ªNCAghCoC^tF[ XÉÖ·éÅP̶ŷBÅVÅÍ sourceforge.org Ì /pub/pcmcia/doc fBNgÉ èÜ·BWWW ãÅÍ <http://pcmcia.sourceforge.org> © çüèÅ«Ü·B g¢½¢foCXªÊÌ ISA foCXÉæÄ¢êÎAù¶Ì Linux p ÌhCoÌêð¬p·é±ÆàÅ«éŵå¤BêÉæÁÄÍAù¶Ì hCoðC³µÄu[gãÉàfoCXðÇÁµ½èOµ½èÅ«éæ¤É ·é̪àÁÆàêJ·éƱëÅ·B¡ éhCoÌÅÍAJ[ hpÌhCoªA çäéíÞÌêdð·éÌÉJ[l̼̪ð pµÈ¢ABêÌu©È®µ½vhCoÅ·B ½ÌêAVµ¢íÞÌJ[hðT|[g·éÛÌÅåÌáQÍA[J[ ©çZpîñðüè·é±ÆÅ·BNÉßÎ梩઩èɢŷµA ÇñÈîñªKv©ð³mÉྷéÌà¢ïÅ·Bµ©µAêÌáOð ÆA[J[©çÌZpîñ³µÅhCoðÌÍsÂ\ÆÍs©È¢ ÜÅàñíÉ¢ïÅ·B hCoªJ[hT[rXVXeÆÇÌæ¤ÉÊM·é©ðྷé½ß ÉA½ÌRgðüê½_~[ÌhCoðpӵĢܷBPCMCIA pbP[WÌ\[XR[hÉüÁÄ¢é clients/dummy_cs.c ª»êÅ·B 7.6. PCMCIA NCAghCoðl̽ßÌèø« ÍASÄÌ PCMCIA NCAghCoð PCMCIA pbP[WÌêƵ Äzz·éÌÍ{ÍKØÅÈ¢Æl¦Ä¢Ü·BVµ¢hCoªÁíé½ ÑÉ{ÆÌpbP[WàiXeiXµÉÈèÜ·µAhCoðæ èÞÆeiXìÆÌêªhCoÌìÒ©çÖÚÁÄéÌྠç©Å·B»±ÅSÄÌhCoðæèÞãíèÉAñt³ê½hCoÍ P[XoCP[XÌ»fÅæèީǤ©ðßĢܷB»fÍ[UÌ v]âeiX«ÉîâÄsÁĢܷB{ÆÌpbP[WÉæèÜ È©Á½hCoÉ¢ÄÍAÍhCoÌìÒÉȺÌû@ÅzzpÌh CopbP[Wðìéæ¤É¨è¢µÄ¢Ü·B hCot@CÍAPCMCIA Ì\[Xzz¨ÅgíêÄ¢éÌƯ¶fB NgzuɵȯêÎÈèܹñB±êÍhCoð PCMCIA \[Xc[ ÌgbvfBNgÅWJÅ«éæ¤É·é½ßÅ·BhCoÉÍ\[X t@C(./modules/ fBNgà)AIC}j A(./man/ fB Ngà)AÝèt@C(./etc/)ªÜÜêĢȯêÎÈèܹñBgb vxfBNgÉÍ README t@CàȯêÎÈèܹñB gbvxfBNgÉÍ makefile ªKvÅA±êÍ ``make -f ... all'' ÅhCoðRpCÅ«A ``make -f ... install'' ÅKvÈ t@CðSÄCXg[Å«éæ¤ÉÝè³êĢȯêÎÈèܹñB ±Ì makefile É .mk Æ¢¤g£qªt¢Ä¢êÎA±Ìt@CÍgbv xÌ Makefile ©ç^[Qbg all Æ install É¢ĩ®IÉÄÑo ³êÜ·B±Ìæ¤È makefile ÌìèûÌáðȺɦµÜ·: # 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) ±Ì makefile ÅÍAo[W 2.9.10 È~Ì PCMCIA pbP[WÅè`³ êÄ¢éCXg[^[QbgðgÁĢܷB±Ì makefile ÉÍAh CoìÒÌÖ̽ßÌ ``dist'' ^[QbgàüÁĢܷBÅIIÈpb P[WÌt@C¼ÉÍo[WÔàüêéÆæ¢Åµå¤( sample_cs-1.5.tar.gz )B®¬iÌzzt@CÌàeÍȺÌæ¤ÉÈè Ü·: sample_cs.mk README.sample_cs modules/sample_cs.c modules/sample_cs.h etc/sample etc/sample.opts man/sample_cs.4 ±Ìt@CzuÅ êÎAñt³ê½hCoÌpbP[WðWJµ½ ÉAÀ¿IÉ PCMCIA Ì\[Xc[ÌêÆÈèÜ·BPCMCIA Ìwb_ t@Câ[UÌVXeÝèð²×édgÝÌpAt@CÌ˶ÖW Ì©®`FbNðuÊíÌvNCAghCoƯ¶æ¤És¤±ÆªÅ «Ü·B ͱÌdlɵĢéNCAghCoðó¯æêÎA sourceforge.org Ì /pcmcia/contrib fBNgÉu«Ü·B±ÌfB NgÉ é README t@CÉAñt³ê½hCoÌWJû@ª¢Ä èÜ·B NCAghCoÌC^tF[XÍÌ©ç ÜèÏíÁĢܹñµA ãûÝ·«ÍÙÚÛ½êĢܷB{ÆÌpbP[WÌ}Ci[o[Wª ãªÁÄàÊÍXVÌKvÍȢŵå¤BhCoÌXVªKvÆÈéæ ¤ÈÏXª êÎAhCoðñtµÄ¾³Á½ìÒÌûXÉÍū龯 ¨mç¹·éæ¤ÉµÜ·B 7.7. Linux fBXgr [VÌei̽ßÌèø« ȽªìÁÄ¢éfBXgr [VÌVXeÝèc[ð PCMCIA Îɵæ¤ÆµÄ¢éÌÈçA/etc/pcmcia É é *.opts t@Cðu~ ßïvƵÄgÁľ³¢B±êçÌt@CÍA[UªVµ¢o[W Ì PCMCIA pbP[WÌRpCÆCXg[ðsÁÄàÏX³êܹ ñBCÌÝèXNvgðC³·éÆAÅ©çÌCXg[ðsÁ½ ÉJX^}CYµ½XNvgªÙÁÄ㫳êAÝèc[ÆÌAWª rØêĵܢܷBKØÈIvVXNvgÌ«ûªª©çÈ¢ê âAÇÁÌ@\ªKvÈêÍAÉkµÄ¾³¢B ȽÌfBXgr [VƱ̶ÅྵĢé PCMCIA pbP[ WÌá_𶻵ľ³êÎA[UÉÆÁÄ(»µÄÉÆÁÄà)ð §Âŵå¤BÁÉAN®XNvgÆÝèXNvgÉÖ·éÏX_ͺР¶»µÄ¾³¢BKØÈîñðÜÅÁÄ¢½¾¯êÎA ``ÂÊfB Xgr [VÉÖ·éÓ'' ÌßÉÇÁ³¹Ä¢½¾«Ü·B fBXgr [VpÉ PCMCIA pbP[WðìéÛÉÍAñt³ê½h CoQÍ{ÆÌ PCMCIA pbP[WÌêÅÍÈ¢_ðo¦Ä¢Ä¾³ ¢BeiXãÌRÉæèSÆÈépbP[WÌTCYͧÀµæ¤ ƵĨèAVµ¢hCoðÇÁ·éÌÍÁÉùvª¢ÆvíêéÆ«¾ ¯Å·B»Ì¼ÌhCoÉ¢ÄÍOÌÍÅྵ½ÊèA{ÆÆÍÊÉz zµÄ¢Ü·B{ÆɳêÄ¢éhCoÆÊzzÉÈÁÄ¢éhCo Ìá¢Éͽ¢µ½Ó¡ÍÈAðjIoÜà éöxÜÜêĢܷBÜ ½Ai¿IÈᢪ éí¯Å굀 èܹñB 8. ú{êóÉ墀 ú{êóÍ Linux Japanese FAQ Project ªs¢Üµ½B|óÉÖ·é²Ó© Í JF vWFNg <JF@linux.or.jp> ¶ÉAµÄ¾³¢B üùððȺɦµÜ·B v1.84j, 10 June 1996 |ó: ¬ OO(kojima@linet.gr.jp), dû z ê(hariguti@lsidiv.kawasaki-steel.co.jp) v2.32j, 26 July 1999 XV: ¡´ PÃ(fujiwara@linux.or.jp), Z³: ä L õ(takei@cc.kochi-u.ac.jp) v2.46j, 18 December 1999 XV: ¡´ PÃ(fujiwara@linux.or.jp),