Linux Ethernet-Howto <author>by Paul Gortmaker <date>v2.7, 5 May 1999 <trans>¸ÍÁöÂù, <htmlurl url="mailto:jcmaeng@kldp.org" name="jcmaeng@kldp.org"> <tdate>2000³â 7¿ù 22ÀÏ <abstract> ÀÌ ¹®¼­´Â ¸®´ª½º¿¡¼­ »ç¿ëµÉ¼ö ÀÖ´Â ÀÌ´õ³Ý ÀåÄ¡µé°ú ±×µéÀ» ¾î¶»°Ô ¼³Ä¡ÇÏ´ÂÁö ¿¡ ´ëÇؼ­ ±â·ÏÇÑ Ethernet-HowtoÀÌ´Ù. ¾Ë¾ÆµÑ °ÍÀº ÀÌ ÇÏ¿ìÅõ°¡ ÀÌ´õ³Ý Ä«µåÀÇ Çϵå¿þ¾î¿Í ·Î¿ì ·¹º§ µå¶óÀ̹ö¿¡ °üÇؼ­ ´Ù·ç¸ç, <tt/ifconfig/³ª <tt/route/¿Í °°Àº ¼ÒÇÁÆ®¿þ¾îÀûÀÎ ¸éÀº ´Ù·çÁö ¾Ê´Â´Ù´Â Á¡ÀÌ´Ù. ±×·¯ÇÑ °ÍµéÀº Network Howto ¸¦ º¸±â ¹Ù¶õ´Ù. </abstract> <toc> <sect>¼Ò °³<label id="main-intro"> <p> Ethernet-Howto´Â ¿©·¯ºÐÀÌ ¾î¶² Ä«µå¸¦ »ç°Å³ª »çÁö ¸»¾Æ¾ß ÇÏ°í ¶Ç, ¾î¶»°Ô ±× µéÀ» ¼³Ä¡ÇÏ´ÂÁö, ¾î¶»°Ô ÇϳªÀÌ»ó ÀÛµ¿ÇÏ°Ô ÇÏ´ÂÁö¿Í ´Ù¸¥ ÀϹÝÀûÀÎ ¹®Á¦¿Í ´ä¿¡ ´ëÇØ ´Ù·ç°í ÀÖ´Ù. ÀÌ ¹®¼­´Â ÇöÀç Áö¿øµÇ´Â »ç¿ë°¡´ÉÇÑ ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ ÀÌ´õ ³Ý Ä«µåµé¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ¿©±â¼­´Â ¼ÒÇÁÆ®¿þ¾î ¸é¿¡ ´ëÇؼ­´Â <em/´Ù·çÁö ¾ÊÀ¸¸ç/, ±×·¯ÇÑ °ÍÀº NET-3 Howto¿¡¼­ ´Ù·ç°í ÀÖ´Ù. ¶ÇÇÑ ¿©±â¼­´Â ÀϹÝÀûÀÎ ¸®´ª½º ¿ÜÀûÀÎ ÀϹÝÀûÀÎ ÀÌ´õ³Ý¿¡ °üÇÑ Áú¹®µé¿¡ ´äÇÏÁö ¾Ê´Â´Ù´Â Á¡¿¡ ÁÖÀÇÇ϶ó. ±×·± Á¾·ùÀÇ Áú¹®µéÀº <em/comp.dcom.lans.ethernet/FAQ¿¡ ¼ö¸¹Àº ¾çÀÇ Á¤º¸°¡ ÀÖÀ¸´Ï º¸±æ ¹Ù¶õ´Ù. ÀÌ ¹®¼­µéÀº ´Ù¸¥ ¸ðµç ´º½º±×·ì FAQµé ó·³ <tt/rtmf.mit.edu/¿¡¼­ FTP¸¦ ÅëÇØ ¾òÀ»¼ö ÀÖ´Ù. ÇöÀç °³Á¤ÆÇÀº ¹èÆ÷ÆÇ Ä¿³ÎÀ» 2.2.7±îÁö ´Ù·é´Ù. Ethernet-Howto´Â <quote> Paul Gortmaker, <tt/p_gortmaker@yahoo.com/ </quote> °¡ ÀÛ¼ºÇß´Ù. Ãʱâ ASCII ¹öÀü¸¸ ÀÖ´Â Ethernet-Howto¿¡ ´ëÇÑ Á¤º¸ÀÇ ¿ø·¡ ÀÚ·á´Â <quote> Donald J. Becker, <tt/becker@cesdis.gsfc.nasa.gov/ </quote> ¿¡°Ô ÀÖ¾ú´Ù. ±×´Â ÇöÀç ¸®´ª½º¿¡¼­ »ç¿ëÇÒ¼ö ÀÖ´Â °ÅÀÇ ÁÖ¿äÇÑ ÀÌ´õ³Ý Ä«µåÀÇ µå¶óÀ̹ö¸¦ ¸¸µç »ç¶÷ÀÌ´Ù. ±×´Â ¶ÇÇÑ ¿À¸®Áö³¯ NFS ¼­¹öÀÇ ÀÛ¼ºÀÚÀ̱⵵ ÇÏ´Ù. °í¸¿½À´Ï´Ù, Donald! ÀÌ ¹®¼­´Â Paul Gortmaker¿¡°Ô ÀúÀÛ±ÇÀÌ ÀÖ´Ù.(Copyright (c) 1993-1999) ÀÌ ¹® ¼­ÀÇ Àç¹èÆ÷¿¡ °üÇÑ ³»¿ëÀº ÀϹÝÀûÀ¸·Î `¿©·¯ºÐ¿¡°Ô ¾î¶°ÇÑ ÀÏÀÌ À־ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù...'¶ó´Â ÇüÅÂÀÇ ¹ýÀû ±¸¹®À¸·Î µÇ¾îÀÖ´Â ¹®¼­ ³¡ °ÅºÎ¿Í ÀúÀÛ±Ç Á¤º¸(<ref id="copyright" name="copyright">)¸¦ º¸±â ¹Ù¶õ´Ù. <sect1>ÀÌ ¹®¼­ÀÇ »õ ¹öÀüµé<label id="new-doc"> <p> ÀÌ ¹®¼­ÀÇ »õ ¹öÀüµéÀº ´ÙÀ½ÀÇ Àå¼Ò¿¡¼­ °¡Á®¿Ã¼ö ÀÖ´Ù. <url url="http://metalab.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html" name="Ethernet-HOWTO"> ¶Ç>´Â FTP¸¦ »ç¿ëÇϰųª HTML ÀÌ¿ÜÀÇ Æ÷¸ËÀ» ¾òÀ¸·Á ÇÑ´Ù¸é ´ÙÀ½¿¡¼­ ¾òÀ»¼ö ÀÖ´Ù. <url url="ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/" name="Sunsite HOWTO Archive"> ÀÌ°Í>Àº `°ø½Ä' Àå¼ÒÀÌ´Ù - Áï, ´Ù¸¥ ¼ö¸¹Àº ¸®´ª½º WWW/ftp ¹Ì·¯ »çÀÌÆ®¿¡¼­µµ ã À»¼ö ÀÖ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â µå¶óÀ̹öµé¿¡ ´ëÇÑ »õ Á¤º¸µé·Î °»½ÅµÉ °ÍÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ º¸°íÀÖ´Â °ÍÀÌ 6°³¿ù ÀÌ»óµÈ °ÍÀ̶ó¸é »õ·Î °»½ÅµÈ ¹®¼­°¡ ÀÖ´ÂÁö È®ÀÎÇØ º¸±â ¹Ù¶õ´Ù. ÀÌ ¹®¼­´Â ´Ù¾çÇÑ Æ÷¸ËÀ¸·Î ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.(postscript, dvi, ASCII, HTML µîµî). ³ª´Â HTML(WWW ºê¶ó¿ìÀú¸¦ ÅëÇؼ­)À̳ª Postscript/dvi Æ÷¸ËÀ¸·Î º¸±â¸¦ ±ÇÇÑ´Ù. ÀÌ µÎ°¡Áö´Â ÀÏ¹Ý ÅؽºÆ® ASCII Æ÷¸ËÀÌ °¡ÁöÁö ¸øÇÑ »óÈ£ ÂüÁ¶¸¦ Æ÷ÇÔÇÏ°í Àֱ⠶§¹®ÀÌ´Ù. <sect1>Ethernet-HowtoÀÇ »ç¿ë<label id="using"> <p> ÀÌ ¾È³»¹®¼­ÀÇ ¾çÀÌ Á¡Á¡ ¸¹¾ÆÁö±â ¶§¹®¿¡, ÀüºÎ ´Ù Àбâ À§ÇØ ¿©·¯ºÐÀÇ ½Ã°£À» ³¶ºñÇÏ°í ½ÍÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×¸®°í ÀÌ ¹®¼­¸¦ ÀüºÎ ´Ù ÀÐÀ» ÇÊ¿äµµ ¾ø´Ù. HTML À̳ª Postscript/dvi ÆÇÀº ¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÑ °ÍÀ» ´õ »¡¸® ãÀ» ¼ö ÀÖµµ·Ï µµ¿Í ÁÖ´Â ¸ñÂ÷¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ ¹®¼­¸¦ Àд °ÍÀº ¹«¾ð°¡°¡ Àß ¾ÈµÇ°Å³ª ¹«¾ùÀ» ÇؾßÇÒÁö ¾ËÁö ¸øÇÒ °æ¿ìÀÌ´Ù. ´ÙÀ½ Àå(<ref id="#help" name="µµ¿ÍÁÖ¼¼¿ä - À߾ȵǿä!">) Àº ¸®´ª½º¸¦ óÀ½ Á¢ÇÏ´Â »ç¶÷µé¿¡°Ô ¿Ã¹Ù¸¥ ¹æÇâÀ» Á¦½ÃÇØ ÁÖ±â À§ÇÑ °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î °°Àº ¹®Á¦¿Í Áú¹®µéÀÌ ¿©·¯ »ç¶÷µé¿¡°Ô¼­ <EM>¹Ýº¹Çؼ­</EM> Á¦±âµÈ´Ù. ¿©·¯ºÐÀÇ ¹®Á¦³ª Áú¹®ÀÌ ÀÚÁÖ Á¦±âµÇ´Â Áú¹®µé ÁßÀÇ ÇϳªÀÏ °æ¿ì, ÀÌ ¹®¼­ÀÇ FAQ ºÎºÐ¿¡ ±× ´ë´äÀÌ ÀÖ´Ù. (<ref id="faq" name="FAQ Àå">). µµ¿òÀ» ¿äûÇϱâ Àü¿¡ ´©±¸µçÁö ÀÌ ÀåÀ» º¸±â ¹Ù¶õ´Ù. ¿©·¯ºÐÀÌ ÀÌ´õ³Ý Ä«µå¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é, ±×¸®°í Ä«µå¸¦ ¼±ÅÃÇÏ´Â °ÍºÎÅÍ ½Ã ÀÛÇÏ°í ½Í´Ù¸é. (<ref id="what-card" name="¹«½¼ Ä«µå¸¦ »ç¾ßÇϳª...">) ¸¸ÀÏ ÀÌ¹Ì ÀÌ´õ³Ý Ä«µå¸¦ °¡Áö°í ÀÖÁö¸¸, ±×°ÍÀÌ ¸®´ª½º¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÀ»Áö È®½ÅÇÒ¼ö ¾ø´Ù¸é, °¢°¢ÀÇ Á¦Á¶¾÷ü¿Í ±×µéÀÇ Ä«µå¿¡ ´ëÇÑ Á¤º¸¸¦ ´ã°í ÀÖ´Â ÀåÀ» Àо¸é µÈ´Ù. (<ref id="card-intro" name="ƯÁ¤ ¾÷ü...">) ¸®´ª½º µå¶óÀ̹öÀÇ ±â¼úÀûÀÎ ¸é¿¡ Á» °ü½ÉÀÌ ÀÖ´Ù¸é, ±×¿¡ °üÇÑ ºÎºÐÀ» º¼ ¼öµµ ÀÖ´Ù. (<ref id="tech-intro" name="±â¼ú Á¤º¸">) <sect1>µµ¿ÍÁÖ¼¼¿ä - À߾ȵǿä!<label id="help"> <p> ÀÚ, ´çȲÇÏÁö ¸»¶ó. ÀÌ ±ÛÀº ºñ·Ï ¿©·¯ºÐÀÌ ÀÌ´õ³Ý Çϵå¿þ¾î³ª ¸®´ª½º¿¡ °üÇÑ Æ¯ º°ÇÑ ¹è°æÁö½ÄÀÌ ¾ø¾îµµ, ±× °úÁ¤À» À̲ø¾î ÁÙ °ÍÀÌ´Ù. ¿ì¼± ¿©·¯ºÐÀÌ ÇÒ ÀÏÀº ¿©·¯ºÐÀÇ Ä«µå°¡ ¾î¶² ¸ðµ¨ÀÎÁö ¾Ë¾Æ³»¼­ ¸®´ª½º¿¡ ±× Ä« µåÀÇ µå¶óÀ̹ö°¡ ÀÖ´ÂÁö ã¾Æ³»´Â °ÍÀÌ´Ù. ´Ù¸¥ Á¾·ùÀÇ Ä«µå´Â È£½ºÆ®¿¡ ÀÇÇØ ¼­ ·Î ´Ù¸¥ ¹æ¹ýÀ¸·Î Á¦¾î°¡ µÈ´Ù. ¸®´ª½º µå¶óÀ̹ö´Â ¸®´ª½º¿¡¼­ ÀÌ Ä«µå¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀÏÁ¤ÇÑ Çü½ÄÀ¸·Î ±× Á¦¾î Á¤º¸¸¦ ´ã°í ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¾î¶² ¸Å´º ¾óÀ̳ª ´Ù¸¥ ¾î¶² Á¾·ùÀÇ Ä«µå ¸ðµ¨¿¡ ´ëÇÑ Á¤º¸µµ ¾ø´Ù¸é, ¾ËÁö ¸øÇÏ´Â Ä«µå¸¦ ã¾Æ³¾¼ö ÀÖµµ·Ï ½ÃµµÇÒ ¼ö ÀÖ´Ù. (Âü°í ºÎºÐ: <ref id="mystery" name="¾ËÁö ¸øÇÏ´Â Ä«µå ¾Ë¾Æ³»±â">). ÀÌÁ¦ ¿©·¯ºÐÀÌ °¡Áø Ä«µå°¡ ¾î¶² °ÍÀÎÁö ¾Ë¾ÒÀ¸¸é, ƯÁ¤ Ä«µå ºÎºÐ (Âü°í ºÎºÐ: <ref id="card-intro" name="ƯÁ¤ ¾÷ü...">) ¿¡¼­ ¿©·¯ºÐÀÇ Ä«µå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» Àо±â ¹Ù¶õ´Ù. ¿©±â¿¡´Â ¾ËÆĺª ¼ø¼­·Î, Ä«µå Á¦Á¶¾÷üµé, °¢ ¸ðµ¨¹øÈ£¿Í ±×µéÀÇ ¸®´ª½º µå¶óÀÌ ¹ö°¡ ÀÖ´ÂÁö ¾ø´ÂÁö°¡ ´ã°ÜÀÖ´Ù. ¸¸ÀÏ ÀÌ ¸ñ·Ï¿¡ `Áö¿øµÇÁö ¾ÊÀ½'À̶ó°í ³ª¿À¸é ¿©±â¼­ Æ÷±âÇضó. ¸¸ÀÏ ¿©·¯ºÐÀÇ Ä«µå¸¦ ÀÌ ¸ñ·Ï¿¡¼­ ãÁö ¸øÇÑ´Ù¸é, Ä«µå ¸Å´º ¾ó¿¡ ¾Ë·ÁÁø ´Ù¸¥ Ä«µå Á¾·ùÀÇ `ȣȯ'À̶ó°í ÀûÇôÀÖÁö ¾ÊÀºÁö È®ÀÎÇ϶ó. ¿¹¸¦ µé ¾î ¼ö¹éÀÇ, ÇÏÁö¸¸ ¼öõÀº ¾Æ´Ñ ¼ö¸¹Àº Ä«µåµéÀÌ ¿À¸®Áö³¯ ³ëº§ NE2000 ¸ðµ¨°ú ȣȯÁ¦Ç°À¸·Î ¸¸µé¾îÁø °ÍµéÀÌ´Ù. ¿©·¯ºÐÀÇ Ä«µå¿¡ ´ëÇÑ ¸®´ª½º µå¶óÀ̹ö°¡ ÀÖ´Ù´Â °ÍÀ» È®ÀÎÇß´Ù°í °¡Á¤ÇÏ°í, ÀÌ Á¦ ¿©·¯ºÐÀº ±×°ÍÀ» ã¾Æ¼­ »ç¿ëÇØ¾ß ÇÑ´Ù. ¿©·¯ºÐÀÇ Ä«µå¿¡ ´ëÇÑ ¸®´ª½º µå¶óÀÌ ¹ö°¡ ÀÖ´Ù´Â °ÍÀÌ ¸ðµç Ä¿³Î¿¡ ÀûÀçµÇ¾î ÀÖ´Ù´Â ¶æÀº <em/¾Æ´Ï±â ¶§¹®ÀÌ´Ù. (Ä¿³ÎÀº ºÎÆ®½Ã¿¡ °¡Àå ¸ÕÀú ÀûÀçµÇ´Â ¿î¿µÃ¼Á¦ ÇÙ½ÉÀ¸·Î, ¼ö¸¹Àº Á¾·ùÀÇ Çϵå¿þ¾î¿¡ ´ëÇÑ µå¶óÀ̹ö¿Í ´Ù¸¥ ¿©·¯°¡Áö¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù.) ¿©·¯ºÐÀÌ »ç¿ëÇÏ°í ÀÖ´Â ¸®´ª½º ¹èÆ÷ÆÇÀ» ¸¸µç ÀÌ¿¡ µû¶ó¼­, ±×¾È¿¡´Â ´ÜÁö ¾à°£ÀÇ ÀÌ¹Ì ¸¸µé¾îÁø Ä¿³Î°ú ´õ¿í ÀÛ°Ô ºÐ¸®µÈ ¸ðµâ·Î µÈ ¸ðµç µå¶óÀ̹öµéÀÌ Àְųª, ¼ö¸¹Àº Á¾·ùÀÇ µå¶óÀ̹ö°¡ ¾È ¿¡ ÀûÀçµÈ Å« Ä¿³ÎÀÌ µé¾îÀÖÀ»¼öµµ ÀÖ´Ù. ÇöÀç ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆǵéÀº ´Ù¾çÇÑ µå¶óÀ̹öµéÀ» ÀÛÀº ¸ðµâ·Î Çؼ­ ´ã°í ÀÖ´Ù. ÇÊ¿äÇÑ ¸ðµâµéÀº ºÎÆà °úÁ¤Áß¿¡ ´Ê°Ô ÀûÀçµÇ°Å³ª, ¾Æ´Ï¸é ƯÁ¤ÇÑ ÀåÄ¡¿¡ Á¢±ÙÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§ ÀûÀçÇÏ°Ô µÈ´Ù. ¿©·¯ºÐÀº ºÎÆÃÀÌ µÈ ÈÄ¿¡ Ä¿³Î¿¡ ¸ðµâÀ» ÀûÀçÇØ¾ß ÇÒ °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ¹èÆ÷ÆÇ¿¡ ¸ðµâÀ» ¼³Ä¡ÇÏ°í »ç¿ëÇÏ´Â °Í¿¡ ´ëÇÑ Á¤ º¸´Â ÀÌ ¹®¼­ÀÇ ¸ðµâ ºÎºÐÀ» º¸±â ¹Ù¶õ´Ù. (<ref id="modules" name="ÀÌ´õ³Ý µå¶óÀ̹ö¸¦ ¸ðµâ·Î »ç¿ëÇϱâ">) ¿©·¯ºÐÀÌ Ä¿³Î¿¡ ¹Ì¸® ¸¸µé¾îÁ®¼­ µé¾îÀÖ´Â Ä¿³ÎÀ̳ª ¸ðµâ·ÎµÈ µå¶óÀ̹ö¸¦ ãÁö ¸øÇß´Ù¸é, ¿©·¯ºÐÀº ÀϹÝÀûÀÌÁö ¾ÊÀº Ä«µå¸¦ °¡Áö°í ÀÖ´Â °ÍÀÌ°í, ±×·¯¹Ç·Î ÀÌÁ¦ ±× Ä«µåÀÇ µå¶óÀ̹ö¸¦ Æ÷ÇÔÇÑ ¿©·¯ºÐ ÀڽŸ¸ÀÇ Ä¿³ÎÀ» ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù. ¸®´ª ½º¸¦ ÀνºÅçÇß¾ú´Ù¸é, »ç¿ëÀÚ Ä¿³ÎÀ» ¸¸µå´Â ÀÏÀº ±×¸® ¾î·Á¿î ÀÏÀÌ ¾Æ´Ï´Ù. ¿© ·¯ºÐÀÌ Ä¿³Î¿¡ ³Ö°íÀÚ ÇÏ´Â °Í¿¡ ´ëÇؼ­, ¿¹ ¶Ç´Â ¾Æ´Ï¿À·Î È®½ÇÈ÷ ´äÇØÁÖ°í, ±× ´ë·Î ¸¸µé¶ó°í ¸»ÇØÁֱ⸸ ÇÏ¸é µÈ´Ù. ÀÌ ºÎºÐ¿¡¼­´Â Kernel-HowTo¿¡¼­ µµ¿òÀ» ¹ÞÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌÁ¦ ¿©·¯ºÐÀº µå¶óÀ̹ö°¡ Ä¿³Î¿¡ ÇÔ²² µé¾îÀְųª ¶Ç´Â ¸ðµâ·Î ÀûÀçµÈ Ä¿³Î·Î ºÎÆÃÀ» ÇßÀ» °ÍÀÌ´Ù. »ç¶÷µéÀÌ °¡Áø ¹®Á¦µéÁß Àý¹Ý°¡·®Àº ¾î¶²½ÄÀ¸·Îµç ÀûÀçµÈ µå¶óÀ̹ö¸¦ °¡ÁöÁö ¸øÇÏ´Â °ÍÀε¥, ÀÌÁ¦ ¿©·¯ºÐÀº ¿Ã¹Ù¸¥ °ÍÀ» ã¾ÒÀ» °ÍÀÌ´Ù. ¸¸ÀÏ ¾ÆÁ÷µµ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù¸é, ¿©·¯ºÐÀº Ä¿³ÎÀÌ Ä«µå¸¦ Á¦´ë·Î ã¾Æ³»´ÂÁö È® ÀÎÇغÁ¾ß ÇÑ´Ù. ÀÌ°ÍÀ» È®ÀÎÇϱâ À§Çؼ­´Â, ½Ã½ºÅÛÀÌ ºÎÆÃÇؼ­ ¸ðµç ¸ðµâµéÀÌ Àû ÀçµÈ ÈÄ¿¡ ·Î±×ÀÎÇؼ­ <tt>dmesg | more</tt> ¸í·ÉÀ» Ãĺ¸¸é µÈ´Ù. ÀÌ ¸í·ÉÀº Ä¿³ÎÀÇ ºÎÆà °úÁ¤Áß¿¡ ½ºÅ©¸°À» Áö³ª°¡´Â ºÎÆ® ¸Þ¼¼ÁöµéÀ» ´Ù½Ã º¸°Ô ÇØÁÖ´Â °ÍÀÌ´Ù. Ä«µå°¡ Á¦´ë·Î ¹ß°ßµÇ¸é, ¸Þ¼¼Áö °¡¿îµ¥ ¾îµò°¡¿¡¼­ <tt/eth0/À¸·Î ½ÃÀÛÇÏ°í, µå¶óÀ̹öÀÇ À̸§°ú Ä«µå°¡ ¼³Á¤µÇ¾î ÀÖ´Â Çϵå¿þ¾î ÀÎÀÚµé(ÀÎÅÍ·´Æ® ¼³Á¤, ÀÔÃâ·Â Æ÷Æ® ÁÖ¼Ò, µîµî)ÀÌ ÀÖ´Â °ÍÀ» º¼¼ö ÀÖÀ» °ÍÀÌ´Ù. (¾Ë¾ÆµÑ°Í: ºÎÆ®½Ã¿¡, ¸®´ª½º´Â ½Ã½ºÅÛ¿¡ ÀÖ´Â ¸ðµç PCIÄ«µåµéÀÇ ¸ñ·ÏÀ» º¸¿©Áִµ¥, ¾î¶² µå¶óÀ̹ö°¡ »ç¿ëµÉ¼ö ÀÖ´Â °ÍÀÎÁö´Â ½Å°æ¾²Áö ¸»¶ó - µå¶óÀ̹ö ã±â´Â ³ªÁß¿¡ ³ª¿À¹Ç·Î ÀÌ°ÍÀ» º¸°í ½Ç¼öÇÏÁö ¸»¶ó!) ¿©·¯ºÐÀÌ ÀÌ¿Í °°Àº µå¶óÀ̹ö È®ÀÎ ¸Þ¼¼Áö¸¦ º¸Áö ¸øÇß´Ù¸é, µå¶óÀ̹ö°¡ ¿©·¯ºÐ ÀÇ Ä«µå¸¦ ãÁö ¸øÇؼ­ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀº °ÍÀÌ´Ù. Ä«µå°¡ ¹ß°ßµÇÁö ¾ÊÀ» °æ ¿ì ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö´Â FAQ (<ref id="faq">FAQÀå</A>)À» º¸±â ¹Ù¶õ´Ù. ¿©·¯ºÐÀÌ NE2000 ȣȯīµå¸¦ °¡Áö°í ÀÖ´Ù¸é, ±×°Í ¶ÇÇÑ ¸î¸î NE2000¸¸ÀÇ Æ¯Á¤ÇÑ ÆÁµé·Î Ä«µå¸¦ ã¾Æ³»´Â ¹æ¹ýÀÌ FAQ Àå¿¡ Àß ³ª¿ÍÀÖ´Ù. ¿©·¯ºÐÀÇ Ä«µå°¡ ¹ß°ßµÇ¾úÁö¸¸, ¹ß°ß ¸Þ¼¼Áö°¡ ¸î¸î ¿¡·¯¸¦ ´ã°í ÀÖ´Ù¸é, ÀÚ¿øÃæ µ¹Ã³·³, µå¶óÀ̹ö°¡ Ä«µå¸¦ Á¦´ë·Î ÃʱâÈ­ÇÏÁö ¸øÇؼ­ ¾ÆÁ÷ »ç¿ëÇÒ¼ö ¾ø´Â °ÍÀÌ ´Ù. ÀÌ·± Á¾·ùÀÇ ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ ¸Þ¼¼Áöµµ, ±× ÇØ°á¹ý°ú ÇÔ²², FAQ Àå¿¡ ³ª¿Í ÀÖ´Ù. ¹ß°ß ¸Þ¼¼Áö°¡ Á¦´ë·Î µÈ°Í °°À¸¸é, µå¶óÀ̹ö°¡ º¸¿©ÁÖ´Â Ä«µåÀÇ ÀÚ¿ø°ú ½ÇÁ¦ Ä« µåÀÇ ¹°¸®ÀûÀÎ ¼³Á¤(Ä«µå»óÀÇ Á¶±×¸¶ÇÑ °ËÀº»ö Á¡ÆÛµéÀ̳ª Ä«µå Á¦Á¶»ç°¡ ÁÖ´Â ¼ÒÇÁÆ®¿þ¾î À¯Æ¿¸®Æ¼¿¡ ÀÇÇÑ°Í ¸ðµÎ)ÀÌ °°ÀºÁö¸¦ È®ÀÎÇضó. À̵éÀÌ Á¤È®È÷ °°¾Æ ¾ß¸¸ ÇÑ´Ù. ¿¹¸¦ µé¾î, ¿©·¯ºÐÀÇ Ä«µå°¡ IRQ 15·Î µÇ¾îÀִµ¥ µå¶óÀ̹ö´Â ºÎÆ® ¸Þ¼¼Áö¿¡ IRQ 10 À¸·Î º¸¿©Áشٸé, ÀÌ°ÍÀº Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. FAQÀåÀº ¼ö ¸¹Àº Ä«µåµéÀÇ ¼³Á¤ Á¤º¸¸¦ Á¦´ë·Î ãÁö ¸øÇÏ´Â µå¶óÀ̹ö¿¡ °üÇÑ ´ëºÎºÐÀÇ °æ¿ì ¿¡ ´ëÇÏ¿© ´Ù·ç°í ÀÖ´Ù. ÀÌÁ¦, ¿©·¯ºÐÀº ¸ðµÎ Á¦´ë·Î µÈ ÀÎÀÚµéÀ» °¡Áö°í ã¾ÆÁø, ¸ðµç°ÍÀÌ Á¦´ë·Î ÀÛµ¿ ÇÏ´Â Ä«µå¸¦ °¡Áö°í ÀÖ´Ù. ¸¸ÀÏ ¾Æ´Ï¶ó¸é, ¼ÒÇÁÆ®¿þ¾î³ª Çϵå¿þ¾î ¼³Á¤ ¿¡·¯°¡ ÀÖ´Â °ÍÀÌ´Ù. ¼ÒÇÁÆ®¿þ¾î ¼³Á¤ ¿¡·¯´Â <tt/ifconfig/¿Í <tt/route/ ¸í·ÉÀ¸·Î ¿Ã¹Ù¸¥ ³×Æ®¿öÅ© ÁÖ¼Ò¸¦ ¼³Á¤ÇØÁÖÁö ¾Ê¾Æ¼­ÀÌ´Ù. ÀÌ¿¡ °üÇÑ ³»¿ëÀº Network HowTo¿Í `³×Æ®¿öÅ© °ü¸®ÀÚ °¡À̵å'¿¡ ÀÚ¼¼ÇÏ°Ô ±â¼úµÇ¾î ÀÖ´Ù. µÎ ¹®¼­ ¸ðµÎ ¿©·¯ºÐÀÌ ¼³Ä¡Çß´ø CD-ROM¿¡ µé¾îÀÖÀ» °ÍÀÌ´Ù. Çϵå¿þ¾î ¼³Á¤ ¿¡·¯´Â ÀÚ¿øÀÇ Ãæµ¹À̳ª À߸øµÈ ¼³Á¤ (µå¶óÀ̹ö°¡ ºÎÆ®½Ã¿¡ ã¾Æ ³»Áö ¸øÇÏ´Â)ÀÌ Ä«µå°¡ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¸øÇÏ°í ¸ØÃß°Ô ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ÀÌ°Í Àº º¸Åë ¸î°¡Áö ´Ù¸¥ ¸éÀ¸·Î º¸¿©Áú ¼ö ÀÖ´Ù. (1) ¿©·¯ºÐÀÌ <tt/ifconfig/ ¸¦ »ç¿ëÇØ ÀåÄ¡¸¦ »ç¿ëÇϱâ À§ÇØ ¿­°íÀÚ ÇÒ¶§ ``SIOCSFFLAGS: ´Ù½Ã ½ÃµµÇϽÿÀ''°°Àº ¿¡·¯ ¸Þ¼¼Áö°¡ ¶á´Ù. (2) µå¶óÀ̹ö°¡ <tt/eth0/ ¿¡·¯ ¸Þ¼¼Áöµé( <tt>dmesg | more</tt>·Î º¼¼ö ÀÖ´Â)À» ³»º¸³»°Å³ª µ¥ÀÌŸ¸¦ º¸³»°Å³ª ¹ÞÀ»·Á ÇÒ¶§¸¶´Ù ÀßµÇÁö ¾Ê´Â´Ù. (3) <tt>cat /proc/net/dev</tt> ¶ó°í Ä¡¸é <tt/eth0/ÀÇ errs, drop, fifo, frame ¶Ç´Â carrier ¿­Áß ¿¡¼­ ¿µÀÌ¾Æ´Ñ ¼ýÀÚµéÀÌ º¸ÀδÙ. (4) <tt>cat /proc/interrupts</tt> ¶ó°í Ä¡¸é Ä«µåÀÇ ÀÎÅÍ·´Æ® Ä«¿îÆ®°¡ 0À¸·Î ³ª¿Â´Ù. ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ Çϵå¿þ¾î ¼³Á¤ ¿¡·¯µéµµ FAQ Àå¿¡¼­ ´Ù·ç°í ÀÖ´Ù. ÀÚ, ¾ÆÁ÷±îÁöµµ Á¦´ë·Î µÇÁö ¾Ê´Â´Ù¸é, ÀÌ ¹®¼­ÀÇ FAQ ÀåÀ» Àаí, ¿©·¯ºÐÀÇ Ä« µå¿¡ °üÇÑ Æ¯Á¤ ¾÷üÀÇ ºÎºÐÀ» Àоî¶ó. <em/±×¸®°í³ª¼­µµ ¾ÈµÇ¸é/, µµ¿òÀ» ¿äûÇÒ¼ö ÀÖ´Â ÀûÀýÇÑ ´º½º±×·ì¿¡ °Ô½ÃÇغ¸±æ ¹Ù¶õ´Ù. °Ô½ÃÇÒ¶§ °ü·ÃÀÖ´Â ¸ðµç Á¤º¸µé, Áï, Ä«µå »óÇ¥, Ä¿³Î ¹öÀü, µå¶óÀ̹ö ºÎÆ® ¸Þ¼¼Áö, <tt>cat /proc/net/dev</tt> Ãâ·Â°á°ú, ¹®Á¦¿¡ ´ëÇÑ ¸íÈ®ÇÑ ¼³¸í, ±×¸®°í ¿©·¯ºÐÀÌ ½ÃµµÇß´ø ¹æ¹ýµéÀÇ °úÁ¤°°Àº Á¤º¸¸¦ ÀÚ¼¼ÇÏ°Ô Àû¾î¾ß ÇÑ´Ù. ¿©·¯ºÐÀº ¾ó¸¶³ª ¸¹Àº »ç¶÷µéÀÌ ``´©±¸ µµ¿ÍÁÙ »ç¶÷ ¾ø³ª¿ä? ÀÌ´õ³ÝÀÌ µÇÁú ¾Ê ¾Æ¿ä.''°°Àº ¾µ¸ð¾ø´Â ±ÛÀ» °Ô½ÃÇÏ´ÂÁö ¾Ë¸é ³î¶ö°ÍÀÌ´Ù. ´º½º±×·ìÀ» Àд »ç¶÷ µéÀº ±×·¯ÇÑ °Ô½Ã¹°µéÀº ¹«½ÃÇÏ·ÁÇϹǷÎ, ÀÚ¼¼ÇÏ°í ¾µ¸ðÀÖ´Â Á¤º¸µéÀÌ ÀÖ´Â ¹® Á¦¼³¸íµé¸¸ÀÌ `¸®´ª½º µµ»ç'µéÀÇ ÁÖ¸ñÀ» ¹ÞÀ»¼ö ÀÖ´Ù. <sect>¸®´ª½º¿¡¼­ ¾²·Á¸é ¹«½¼ Ä«µå¸¦ »ç¾ßÇϳª?<label id="what-card"> <p> ÀÌ Áú¹®¿¡ ´ëÇÑ ´ë´äÀº ÀüÀûÀ¸·Î ¿©·¯ºÐÀÌ ³×Æ®¿öÅ© ¿¬°á·Î ÇÏ·Á´Â ÀÏ°ú ±×°ÍÀÌ ¾ó¸¶³ª ¸¹Àº Àü¼Û·®À» °®´ÂÁö¿¡ ´Þ·È´Ù. ¿©·¯ºÐÀÌ ´ÜÁö Àá±ñ¾¿ ftp¿Í WWW ¿¬°áÀ» ÇÏ·Á´Â ´ÜÀÏ »ç¿ëÀÚ¶ó¸é, ³°Àº 8 ºñÆ® ISA Ä«µå¸¸À¸·Îµµ ¸¸Á·ÇÒ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¼­¹ö¸¦ ¼³Ä¡ÇÏ°íÀÚ ÇÑ´Ù¸é, ÁÖ°í ¹Þ´Â ³×Æ®¿öÅ© µ¥ÀÌŸ·Î ÀÎÇÑ CPU ºÎÇϸ¦ ÃÖ¼Ò·Î À¯ÁöÇϴ°ÍÀÌ ÇÊ¿äÇϹǷÎ, DEC tulip (21xxx) ĨÀ̳ª AMD PCnet-PCI Ĩó·³ ¹ö½º ¸¶½ºÅ͸µ ±â´ÉÀÌ ÀÖ´Â PCI Ä«µåÁß¿¡ Çϳª¸¦ °í¸£¸é µÈ´Ù. ¿©·¯ºÐÀÌ À§ÀÇ Áß°£Á¤µµ¿¡ ÇØ´çµÈ´Ù¸é, ¾ÈÁ¤µÈ µå¶óÀ̹ö°¡ ÀÖ´Â Àú°¡ÀÇ PCI ³ª 16 ºñÆ® ISA Ä«µåÁß¿¡ Çϳª¸¦ °í¸£¸é µÉ °ÍÀÌ´Ù. <sect1>¾î¶² µå¶óÀ̹ö°¡ ¾ÈÁ¤µÈ°ÅÁö? <p> 16ºñÆ® ISA Ä«µåµé Áß¿¡¼­´Â, ´ÙÀ½ÀÇ µå¶óÀ̹öµéÀÌ ¸Å¿ì ¾ÈÁ¤µÇ¾î¼­, ¿©·¯ºÐÀÌ ÀÌ µå¶óÀ̹öµéÀ» »ç¿ëÇÏ´Â Ä«µå¸¦ »ê´Ù¸é ¾î¶°ÇÑ ¹®Á¦µµ ¹ß»ýÇÏÁö ¾ÊÀ»°ÍÀÌ´Ù. SMC-Ultra/EtherEZ, SMC-Elite (WD80x3), 3c509, Lance, NE2000. ¿©±â¼­ ¸»ÇÏ´Â °ÍÀÌ ´Ù¸¥ µå¶óÀ̹öµéÀÌ ºÒ¾ÈÁ¤ÇÏ´Ù´Â ¸»ÀÌ ¾Æ´Ï´Ù. ´ÜÁö À§ÀÇ °ÍµéÀÌ ¸ðµç ¸®´ª½º µå¶óÀ̹öµé Áß¿¡ °¡Àå ¿À·¡µÇ°í °¡Àå ¸¹ÀÌ »ç¿ëµÇ¾î¼­, °¡ Àå ¾ÈÀüÇÑ ¼±ÅÃÀÌ µÈ°ÍÀÌ´Ù. ÁÖÀÇÇÒ Á¡Àº ¸î¸î °ª½Ñ ¸¶´õº¸µåµéÀº ISA Lance Ä«µå°¡ »ç¿ëÇÏ´Â ¹ö½º¸¶½ºÅ͸µ °ú ¹®Á¦°¡ ÀÖÀ» ¼ö ÀÖ°í, ¸î¸î Àú°¡ÀÇ NE2000 ȣȯǰµéÀº ºÎÆÃÇÒ¶§ ¹ß°ßÇϱ⿡ ¾î·Á¿òÀÌ ÀÖÀ»¼ö ÀÖ´Ù. ¸®´ª½º¿¡¼­ °¡Àå ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â PCI µå¶óÀ̹ö´Â ¾Æ¸¶µµ 3Com Vortex/Boomerang (3c59x/3c9xx), DEC tulip (21xxx), ±×¸®°í Intel EtherExpressPro 100. ¼ö¸¹Àº PCI-NE2000 ȣȯīµåµéµµ ¾ÆÁÖ ¸¹ÀÌ ¾²ÀÌÁö¸¸, PCI-NE2000 ȣȯ Ä«µå¸¦ »ç´Â °ÍÀº ³·Àº °¡°ÝÀÌ ÇöÀçÀÇ °í¼º´É µðÀÚÀÎ Ä«µåº¸ ´Ù Áß¿äÇÏÁö ¾Ê´Ù¸é º°·Î ±ÇÀåÇÏÁö ¾Ê´Â´Ù. <sect1>8 bit ´ë 16 bit Ä«µå<label id="8-vs-16"> <p> ¿©·¯ºÐÀº ¾Æ¸¶µµ »õ 8 bit ISA ÀÌ´õ³Ý Ä«µå¸¦ »ç·Á°í ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯ ³ª ¿©·¯ºÐÀº ´ÙÀ½ ¸î³âµ¿¾È ÄÄÇ»Å͸¦ ¹Ù²Ü¶§±îÁö ¸Å¿ì ³·Àº °¡°ÝÀÇ ±×µéÀ» ¼ö ¾øÀÌ Ã£¾Æº¼¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº ±×µéÀ» ``È«-ÀÌ´õ³Ý'' ½Ã½ºÅÛÀÇ ÀαâÁ¦Ç° À¸·Î ¸¸µé°ÍÀÌ´Ù. Áö±ÝÀº PCI Ä«µåµéÀÌ ÀϹÝÀûÀ̱⠶§¹®¿¡, À§ÀÇ ³»¿ëÀº Áö±Ý ÀÇ 16 bit ISA Ä«µåµé¿¡°Ôµµ ±×·¸´Ù. ¸î¸î 8 ºñÆ® Ä«µåµéÀº ³·Àº °¡°Ý¿¡ Àû´çÇÑ ¼º´ÉÀ» º¸À̴µ¥, wd803, 3c503 ±× ¸®°í ne1000ÀÌ ±×·¸´Ù. 3c501Àº ³·Àº ¼º´ÉÀ» Á¦°øÇϸç, ÀÌ·¯ÇÑ 12³â ÀÌ»óµÈ XT½ÃÀýÀÇ °ÍµéÀº ÇÇÇØ¾ß ÇÑ´Ù. (±×µéÀ» Alan¿¡°Ô º¸³»ÁÖ±æ, ±×´Â ¼öÁýÇÑ´Ù..) 8 ºñÆ® wd8003 Ä«µå(fast ISA ¹ö½º »ó¿¡¼­)·Î ºü¸¥ È£½ºÆ®¿¡¼­ ´ë·« 500¿¡¼­ 800kB/sÀÇ ´Ù¿î·Îµå ¼Óµµ¸¦ ¾òÀ»¼ö ÀÖÀ¸¹Ç·Î, 8 ºñÆ® µ¥ÀÌŸ Æнº´Â ¼º´É¿¡ Çظ¦ ³¢Ä¡Áø ¾Ê´Â´Ù. ±×¸®°í ¸¸ÀÏ ¿©·¯ºÐÀÇ ½ÇÁ¦ Àü¼Û·®ÀÇ ´ëºÎºÐÀÌ ¿ø°Ý »ç ÀÌÆ®·Î °¡´Â °ÍÀ̶ó¸é, ¾îµò°¡¿¡ º´¸ñÇö»óÀÌ ÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é ¿©·¯ºÐ ÀÌ ½Å°æ¾µ ¼ÓµµÀÇ Â÷ÀÌ´Â ¿©·¯ºÐ ·ÎÄà ¼­ºê³Ý »ó¿¡¼­ ½ÇÁ¦ È°µ¿ÇÏ´Â µ¿¾ÈÀÏ °ÍÀÌ´Ù. <sect1>32 Bit (VLB/EISA/PCI) ÀÌ´õ³Ý Ä«µåµé <p> 10Mbs ³×Æ®¿öÅ©´Â ÀϹÝÀûÀ¸·Î ¹Ýµå½Ã 32 ºñÆ® ÀÎÅÍÆäÀ̽º¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ´Ù´Â °Í¿¡ ÁÖÀÇÇ϶ó. 8MHz ISA ¹ö½º»óÀÇ 10Mbps ÀÌ´õ³Ý Ä«µå°¡ ¿Ö Á¤¸»·Î º´ ¸ñÁöÁ¡ÀÌ ¾Æ´ÑÁö´Â <ref id="data-xfer" name="Programmed I/O vs. ...">¸¦ º¸¾Æ¶ó. ºü¸¥ ¹ö½º»ó¿¡ ÀÌ´õ³Ý Ä«µå°¡ À־ ±×°ÍÀÌ ´õ ºü¸¥ Àü¼ÛÀ» ÀǹÌÇÏ´Â °ÍÀº ¾Æ´Ï°í, ÀϹÝÀûÀ¸·Î ´ÙÁß»ç¿ëÀÚ ½Ã½ºÅÛ¿¡ ÁÁÀº, CPU ºÎÇÏÀÇ °¨¼Ò¸¦ ÀǹÌÇÑ´Ù. ¹°·Ð Áö±ÝÀº ÀϹÝÀûÀÎ 100Mbps ³×Æ®¿öÅ©¿¡¼­´Â 32 ºñÆ® ÀÎÅÍÆäÀ̽º°¡ Àüü ´ë ¿ªÆøÀ» »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. AMD´Â 32 ºñÆ® PCnet-VLB ¿Í PCnet-PCI Ĩµé À» °¡Áö°í ÀÖ´Ù. LANCE / PCnet-ISA ÀÇ 32 ºñÆ® ¹öÀü¿¡ °üÇÑ Á¤º¸´Â <ref id="pcnet-32" name="AMD PCnet-32">ºÎºÐÀ» º¸¶ó. DEC 21xxx PCI `tulip' ĨÀº ÆÄ¿öÀ¯ÀúµéÀÇ ¶Ç´Ù¸¥ ¼±ÅÃÀÌ´Ù.( <ref id="dec-21040" name="DEC 21040">À» º¸¶ó) ¼ö¸¹Àº Á¦Á¶¾÷üµéÀÌ ÀÌ Ä¨À» »ç¿ëÇؼ­ Ä«µå¸¦ »ý»êÇÏ°í, ±×·¯ÇÑ À̸§ ¾ø´Â Ä«µåµéÀÇ °¡°ÝÀº º¸Åë ¾ÆÁÖ Àú·ÅÇÏ´Ù. 3ComÀÇ `Vortex' ¿Í `Boomeran' PCI Ä«µå¶ÇÇÑ ´Ù¸¥ ¼±ÅÃÀ̸ç, ±×°ÍÀ» »ç¿ëÇÏ ´Â ±â°£¿¡ ºñ±³Çغ¼¶§ °¡°Ý´À ¸Å¿ì Àú·ÅÇÏ´Ù. ( <ref id="vortex" name="3c590/3c595">¸¦ º¸¶ó) IntelÀÇ EtherExpress Pro 10/100 PCI Ä«µå ¶ÇÇÑ ¸®´ª½º¿¡¼­ Àß µ¹¾Æ°£´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. (<ref id="eepro100" name="EtherExpress">¸¦ º¸¶ó) ¼ö¸¹Àº ȣȯǰ Á¦Á¶¾÷üµéÀº RealTek À̳ª Winbond Ĩ ±â¹ÝÀÇ PCI NE2000 È£ ȯǰÀ» ¸¸µé±â ½ÃÀÛÇß´Ù. ÀÌ Ä«µåµéµµ v2.0.31 ÀÌ»óÀÇ Ä¿³Î¿¡ ÀÖ´Â ¸®´ª½ºÀÇ ne2000 µå¶óÀ̹ö°¡ Àß Áö¿øÇÑ´Ù. ±×·¯³ª Ä«µå°¡ ½Ã´ë°¡ Áö³­ ne2000 µå¶óÀ̹ö ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϱ⠶§¹®¿¡, ´õ ºü¸¥ ¹ö½º ÀÎÅÍÆäÀ̽º·Î ÀÎÇÑ °Í ÀÌ¿Ü¿¡´Â ÀÌÁ¡ÀÌ ¾ø´Ù. v2.0.34 (±× ÀÌ»ó)¿¡¼­´Â ÀÌ Ä«µåµéÀ» À§ÇØ µ¶¸³µÈ PCIƯȭµÈ µå¶óÀ̹öÀÎ <tt/ne2k-pci.c/µµ »ç¿ëÇÒ¼ö Àִµ¥, ÀÌ°ÍÀº ISA <tt/ne.c/ µå¶óÀ̹öº¸´Ù ¾ÆÁÖ ¾à°£ÀÇ ¼º´É Çâ»óÀÌ ÀÖ´Ù. <sect1>»ç¿ëÇÒ¼ö ÀÖ´Â 100Mbs Ä«µå¿Í µå¶óÀ̹öµé <p> ÇöÀç Áö¿øµÇ´Â 100Mbs Çϵå¿þ¾îÀÇ ¸ñ·ÏÀº ´ÙÀ½°ú °°´Ù. DEC 21140 Ĩ ±â¹ÝÀÇ Ä«µåµé; 3c595/3c90x Vortex Ä«µåµé; EtherExpressPro10/100B; PCnet-FAST; SMC 83c170 (epic100) °ú HP 100VG ANY-LAN. °¢°¢¿¡ ´ëÇÑ Á¤º¸´Â ÀÌ ¹®¼­ÀÇ Æ¯Á¤ ¾÷ü¿¡ °üÇÑ Á¤º¸¸¦ º¸±â ¹Ù¶õ´Ù. ±×¸®°í ´ÙÀ½ÀÇ °÷µµ È®ÀÎÇغ¸¶ó. <!-- XXX - add links to the other 100Mbps cards or delete these... <ref id="vortex" name="3c595"> <ref id="dec-21040" name="DEC 21140"> --> <url url="http://cesdis.gsfc.nasa.gov/linux/misc/100mbs.html" name="Linux and 100Mbs Ethernet"> <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/100vg.html" name="Donald's 100VG Page"> <url url="http://alumni.caltech.edu/˜dank/fe/" name="Dan Kegel's Fast Ethernet Page"> <sect1>100VG ´ë 100BaseT <p> 100BaseT°¡ 100VGº¸´Ù ÈξÀ ´õ ¸¹ÀÌ ¾Ë·ÁÁ® ÀÖ°í, <tt/comp.os.linux/¿¡ °Ô½ÃÇÑ DonaldÀÇ ¿À·¡µÈ Á¤º¸¾ÈÀÇ ´ÙÀ½ ³»¿ëÀº ±× »óȲÀ» ¸Å¿ì Àß ¿ä¾àÇÏ°í ÀÖ´Ù. ``»çÁ¤À» Àß ¸ð¸£´Â À̵éÀ» À§ÇØ ¸»Çϸé, 100Mbs ÀÌ´õ³Ý Ç¥ÁØÀº µÎ°¡Áö°¡ °æÀïÇÏ °í ÀÖ´Ù. ±×°ÍÀº 100VG (100baseVG ¿Í 100VG-AnyLAN) °ú 100baseT (100baseTx, 100baseT4 ±×¸®°í 100baseFx ÄÉÀ̺í ŸÀÔ)ÀÌ´Ù. 100VG°¡ ¸ÕÀú ½ÃÀå¿¡ ¼±º¸¿´°í, ³»°¡ ´À³¢±â¿¡µµ ±×°ÍÀÌ 100baseTxº¸´Ù ´õ Àß ¸¸µé¾îÁø°Í °°´Ù. ³ª´Â ±×°¡ À̱â±æ ¹Ù¶óÁö¸¸, È®½ÇÈ÷ ±×·¸°Ô µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. HP et al. Àº ¸î°¡Áö ¾ÈÁÁÀº ¼±ÅÃÀ» Çß´Ù. 1) Ç¥ÁØÀ» Áö¿¬½ÃÅ°°í IBM°ú Çù·ÂÇÏ¿© ÅäÅ« ¸µ ÇÁ·¹ÀÓÀ» Áö¿øÇÑ´Ù. ÀÌ°ÍÀº ÅäÅ« ¸µ ¼¥À» ¾÷±×·¹À̵åÇÔÀ¸·Î½á °ü¸®ÀÚµéÀÌ ±×µéÀÌ ÀûÇÕÄ¡ ¾ÊÀº ±â¼ú¿¡ ÀÇÁ¸ÇÔÀ¸·Î½á ¾ÆÁÖ °ªºñ½Ñ ´ë°¡¸¦ Ä¡·ê ÇÊ¿ä°¡ ¾ø¾ú±â ¶§¹®¿¡ `±× ´ç½Ã¿¡´Â ÁÁÀº »ý°¢°°¾Æ º¸¿´´Ù' ±×·¯³ª ³×Æ®¿öÅ© »ó¿¡ µÎ°¡Áö ÇÁ·¹ÀÓ Å¸ÀÔÀÌ °øÁ¸ÇÒ¼ö ¾ø¾ú±â ¶§¹®¿¡ ¾Æ¹«°Íµµ ¾òÀ» ¼ö ¾ø¾ú°í, ÅäÅ«¸µÀº ³Ê¹« º¹ÀâÇϹǷÎ, IBMÀº 100BaseT¸¦ ¼±ÅÃÇß´Ù. 2) ´ÜÁö ISA ¿Í EISA Ä«µåµé¸¸ ¸¸µé¾îÁ³´Ù. (PCI ¸ðµ¨Àº ÃÖ±Ù¿¡¾ß ¹ßÇ¥µÇ¾ú´Ù.) ISA ¹ö½º´Â 100mbs¿¡´Â ³Ê¹« ´À¸®°í, EISA ¸Ó½ÅµéÀº ¸Å¿ì ÀûÀº ¼ö¸¸ Á¸ÀçÇÑ´Ù. ±× ´ç½Ã ¿¡´Â VLB°¡ PCI¿Í ÇÔ²² ÀϹÝÀûÀÌ°í, ºü¸£¸ç, Àú·ÅÇÑ ¼±ÅÃÀ̾ú´Ù. ±×·¯³ª "±¸½Ã´ë" Áö½ÄÀÎÀº ¼­¹ö´Â ´õ °í°¡ÀÇ EISA ¹ö½º¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù°í »ý°¢Çß´Ù. 3) ³ª¿¡°Ô µ¥ÀÌŸºÏÀ» º¸³»Áö ¾Ê¾Ò´Ù. ±×·¸´Ù, ÀÌ°ÍÀÌ 100VG°¡ Ã߶ôÇÑ ÁøÂ¥ ÀÌÀ¯´Ù :-). ³ª´Â ¸ðµç ÇÁ·Î±×·¡¹Ö Á¤º¸¸¦ ¿äûÇßÁö¸¸, ³»°¡ ¹ÞÀº°ÍÀ̶ó°í´Â AT&T¿¡¼­ º¸³½ Regatta Ĩ¼ÂÀÌ ¾ó¸¶³ª ÈǸ¢ÇÑÁö¿¡ ´ëÇØ ¼³¸íÇسõÀº ¸îÆäÀÌÁöÂ¥¸® ±×·²µíÇÑ Ä÷¯ ÆÊÇ÷¿ »ÓÀ̾ú´Ù. <sect1>¿©·¯ºÐÀÇ Ä«µå°¡ Áö¿øÇÏ´Â ÄÉÀ̺íÀÇ Á¾·ù<label id="cable-intro"> <p> ¸¸ÀÏ ¿©·¯ºÐÀÌ ¼Ò±Ô¸ðÀÇ ``°³ÀÎÀûÀÎ'' ³×Æ®¿öÅ©¸¦ ±¸¼ºÇÏ·Á ÇÑ´Ù¸é, thinnet Áï thin ÀÌ´õ³Ý ÄÉÀ̺íÀ» »ç¿ëÇÏ·Á ÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº Ç¥ÁØ BNC Ä¿³ØÅÍÀÇ ÇüÅ·ΠµÈ °ÍÀÌ´Ù. BNC (±Ý¼ÓÁ¦ÀÇ ´©¸£°í µ¹·Á¼­ Àá±×´Â) Ä¿³ØÅ͸¦ °¡Áø thinnet, Áï thin ÀÌ´õ³Ý ÄÉÀÌºí¸µ, (RG-58 µ¿Ãà ÄÉÀ̺í) Àº ±â¼ú¿ë¾î·Î 10Base2¶ó°í ºÒ¸°´Ù. ´ëºÎºÐÀÇ ÀÌ´õ³ÝÄ«µåµéÀº ´ÜÁö $10-$20¸¸ ´õÇϸé `ÄÞº¸' ¹öÀüÀ» ±¸ÇÒ¼ö ÀÖ´Ù. ÀÌ Ä«µåµéÀº ²¿ÀÓ¼±°ú thinnet ´ÜÀÚ¸¦ ³»ÀåÇÏ°íÀ־, ¿©·¯ºÐÀÌ ³ªÁß¿¡ ¸¶À½À» ¹Ù²Û´ÙÇصµ ±¦Âú´Ù. RJ-45 (´ëÇü ÀüÈ­ Àè)À» °¡Áø ²¿ÀÓ¼± ÄÉÀ̺í Ä¿³ØÅÍ´Â ±â¼ú¿ë¾î·Î 10BaseT¶ó°í ºÒ¸°´Ù. ÀÌ°ÍÀº ¶Ç UTP (Unshielded Twisted Pair)¶ó°íµµ ºÒ¸®¿î´Ù. ¿¹ÀüÀÇ ¼³Ä¡¹°¿¡¼­¸¸ ã¾Æº¼¼ö ÀÖ´Â ±¸ÇüÀÇ thick ÀÌ´õ³Ý (10mm µ¿ÃàÄÉÀ̺í)Àº 10Base5¶ó°í ºÒ¸°´Ù. ¸î¸î Ä«µåµé¿¡¼­ ã¾Æº¼¼ö ÀÖ´Â 15ÇÉ DÇü Ç÷¯±× (AUI Ä¿³ØÅÍ)´Â thick ÀÌse2 ´ë½Å¿¡ 10BaseT°¡ »ç¿ëµÈ´Ù. 10Base2´Â 100Base°è¿­·ÎÀÇ ¾î¶°ÇÑ ¾÷±×·¹À̵嵵 Á¦°øÇÏÁö ¾Ê´Â´Ù. ´õ³Ý°ú ¿ÜºÎ ´ÜÀÚ¿¡ ¿¬°áÇϱâ À§ÇØ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ´Ù¸¥ ÇüÅÂÀÇ ÀÌ´õ³Ý ÄÉÀÌºí¿¡ °üÇؼ­´Â <ref id="cable" name="ÄÉÀ̺í, µ¿Ãà..."> ¸¦ º¸±â ¹Ù¶õ´Ù. <sect>Frequently Asked Questions<label id="faq"> <p> ÀÌ°÷¿¡´Â ÀÌ´õ³Ý¿¡ ¿¬°áµÈ ¸®´ª½º¸¦ »ç¿ëÇÏ´Â °Í¿¡ ´ëÇÑ ÀÚÁÖ ¹°¾îº¸´Â Áú¹®µé(FAQ)ÀÌ ÀÖ´Ù. ¸î¸î ƯÁ¤ Áú¹®µéÀº `Á¦Á¶¾÷üº°'¿¡ Á¤¸®µÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀÌ ´äº¯À» ¿øÇÏ´Â Áú¹®µéÀº ÀÌ¹Ì ´Ù¸¥ ´©±º°¡°¡ Áú¹®ÇÑ °Í(±×¸®°í ´äº¯ÀÌ µÇ¾ú´Ù!)ÀÌ°í, ¸¸ÀÏ ¿©±â¼­ ¿øÇÏ´Â ´äº¯À» ãÁö ¸øÇÒ °æ¿ì,Àû¾îµµ ¾Æ·¡°°ÀÌ ¿©·¯ºÐÀÌ ¿øÇÏ´Â ´º½º ¾ÆÄ«À̺갡 ÀÖ´Â °÷À» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. <url url="http://www.dejanews.com" name="Dejanews">. <sect1>Alpha Drivers -- ±¸ÇÏ°í »ç¿ëÇϱâ<label id="alfa"> <p> ³»°¡ µè±â·Î´Â ³» Ä«µå¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °»½ÅµÇ°Å³ª ½ÃÇè¹öÀüÀÇ ¾ËÆÄ µå¶óÀ̹ö°¡ ÀÖ´Ù °í Çϴµ¥ ¾îµð¼­ ±¸ÇÒ¼ö ÀÖÀ»±î? `»õ' µå¶óÀ̹öµéÀÇ °¡Àå ÃֽŹöÀüÀº DonaldÀÇ ftp »çÀÌÆ® <tt/cesdis.gsfc.nasa.gov/ ¾ÈÀÇ <tt>/pub/linux/</tt> ¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù. ¿©±âÀÖ´Â °ÍµéÀº ÀÚÁÖ ¹Ù²î¹Ç·Î, ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶ÇÇÑ, WWW ºê¶ó¿ìÀú¸¦ »ç¿ëÇؼ­ <url url="http://cesdis.gsfc.nasa.gov/linux/" name="Don's Linux Home Page"> ¿¡ °¡¸é ¿©·¯ºÐÀÌ Ã£°íÀÚ ÇÏ´Â µå¶óÀ̹ö¸¦ ´õ¿í ½±°Ô ãÀ»¼ö ÀÖ´Ù. (WWW ºê¶ó¿ìÀú·Î ãÀ¸¸é ¼Ò½ºÀÇ ÅÇÀ» ½ºÆäÀ̽º³ª ±âŸµîµîÀ¸·Î ¹Ù²Ù¾î¹ö¸°´Ù - ftp¸¦ »ç¿ëÇϰųª È®½ÇÇÏÁö ¾Ê´Ù¸é Àû¾îµµ ´Ù¿î¹ÞÀ» FTP URLÀº ¾Ë¾ÆµÖ¶ó.) ÀÚ, ¸¸ÀÏ ±×°ÍÀÌ Á¤¸»·Î ¾ËÆÄ µå¶óÀ̹ö, ¶Ç´Â ¾ËÆÄ ÀÌÀüÀÇ µå¶óÀ̹ö¶ó¸é, ±× À̸§Ã³·³ ´Ù·ç±â ¹Ù¶õ´Ù. ´Ù¸¥ ¸»·Î Çϸé, ¿©·¯ºÐÀÌ ±×°ÍÀ¸·Î ¹«¾ùÀ» ÇÏ´ÂÁö ÀÌÇØÇÏÁö ¸øÇÒÁö¶óµµ ºÒÆòÇÏÁö ¸»¶ó´Â °ÍÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¾î¶»°Ô ¼³Ä¡ÇÏ´ÂÁö ÀÌÇØÇÒ¼ö ¾ø´Ù¸é, ¾Æ¸¶µµ ½ÃÇè Çغ¸Áö ¸øÇÒ °ÍÀÌ´Ù. ¶Ç, ±×°Í ¶§¹®¿¡ ¿©·¯ºÐÀÇ ¸Ó½ÅÀÌ ´Ù¿îµÇ´õ¶óµµ ºÒÆòÇÏÁö ¸¶¶ó. ´ë½Å Àß ÀÛ¼ºµÈ ¹ö±× ¸®Æ÷Æ®¸¦ º¸³»°Å³ª, ÆÐÄ¡¸¦ º¸³»ÁØ´Ù¸é ´õ ÁÁ´Ù! Ç¥ÁØ Ä¿³Î ¼Ò½º Æ®¸®¿¡ Æ÷ÇԵǾî ÀÖ´Â ¸î¸î `»ç¿ë°¡´ÉÇÑ' ½ÇÇèÀûÀÎ/¾ËÆÄ µå¶óÀ̹öµé¿¡ ´ëÇØ ¾Ë¾ÆµÎ¾î¾ß ÇÒ °ÍµéÀÌ´Ù. <tt/make config/¸¦ ÇßÀ»¶§ °¡Àå ¸ÕÀú ¹°¾îº¸´Â °ÍÀº ``°³¹ßÁßÀÎ ¶Ç´Â ¿ÏÀüÇÏÁö ¾ÊÀº ÄÚµå/ µå¶óÀ̹öµé¿¡ ´ëÇØ Ç¥½Ã(Prompt for development and/or incomplete code/drivers)''ÇÒ°ÍÀÎÁö ¾Æ´ÑÁö ÀÌ´Ù. ¾ËÆÄ/½ÇÇèÀûÀÎ µå¶óÀ̹öµéÀ» Æ÷ÇÔÇÒ °ÍÀÎÁö¿¡ °üÇÑ Áú¹®µéÀ» ¹ÞÀ¸·Á¸é ¿©±â¿¡ `Y'¶ó°í ´äÇØ¾ß ÇÑ´Ù. <sect1>¸Ó½Å´ç ÇϳªÀÌ»óÀÇ ÀÌ´õ³Ý Ä«µå »ç¿ëÇϱâ<label id="two-card"> <p> ¸®´ª½º¿¡¼­ µÎ°³ÀÇ ÀÌ´õ³Ý Ä«µå¸¦ »ç¿ëÇÏ·Á¸é ¹«¾ùÀÌ ÇÊ¿äÇϳª¿ä? ÀÌ Áú¹®¿¡ ´ëÇÑ ´äÀº µå¶óÀ̹ö°¡ ÀûÀç°¡´ÉÇÑ ¸ðµâ·Î »ç¿ëµÇ°í ÀÖ´ÂÁö Ä¿³Î¿¡ Á÷Á¢ ÄÄÆÄ ÀÏµÇ¾î µé¾î°¡ ÀÖ´Â °ÍÀÎÁö¿¡ µû¶ó ´Þ¶óÁø´Ù. Áö±ÝÀÇ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»µéÀº ¸ðµâ·¯ µå¶óÀ̹ö¸¦ »ç¿ëÇÑ´Ù. À̵éÀº ¹èÆ÷µÇ°í ÀÖ´Â ¼ö¸¹Àº Ä¿³Îµé°ú °¢°¢ÀÇ ´Ù¸¥ µå¶óÀ̹öµéÀ» ¸¸µé¾î ÀúÀåÇÑ´Ù. ´ÜÀÏ ±âº» Ä¿³ÎÀÌ »ç¿ëµÇ´Â ´ë½Å¿¡ ƯÁ¤ »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ °¢°¢ ÀÇ µå¶óÀ̹öµéÀÌ ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§ µå¶óÀ̹ö ¸ðµâ ÆÄÀϵ鿡 ÃæºÐÈ÷ Á¢±ÙÇÒ¼ö ÀÖµµ·Ï Çѹø ·ÎµåµÈ´Ù. (ÀϹÝÀûÀ¸·Î <tt>/lib/modules/</tt>¿¡ ÀúÀåµÈ´Ù.) <em/µå¶óÀ̹ö¸¦ ¸ðµâ·Î:/ PCI µå¶óÀ̹öµéÀÇ °æ¿ì, º¸Åë ¼³Ä¡µÈ ¸ðµç Ä«µåÀÇ ºê·£µå ¸ðµ¨À» ÀÚµ¿ÀûÀ¸·Î ã¾Æ³¾ °ÍÀÌ´Ù. ±×·¯³ª, ISA Ä«µåµéÀÇ °æ¿ì, Ä«µå¸¦ ã¾Æ³»´Â ÀÛ¾÷ÀÌ ¾ÈÀüÇÏÁö ¾Ê±â ¶§¹®¿¡, º¸Åë ¸ðµâÀÌ ¾îµð¼­ Ä«µå¸¦ ãÀ»¼ö ÀÖ´ÂÁö I/O ÁÖ¼Ò¸¦ °¡¸£ÃÄ ÁÙ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ Á¤º¸´Â <tt>/etc/conf.modules</tt>¿¡ ÀúÀåµÇ¾î ÀÖ´Ù. ¿¹¸¦ µé¾î, »ç¿ëÀÚ°¡ µÎ°³ÀÇ ISA NE2000 Ä«µå¸¦ °¡Áö°í ÀÖ°í, Çϳª´Â <tt/0x300/¿¡ ±×¸®°í ´Ù¸¥°ÍÀº <tt/0x240/¿¡ ÀÖ´Ù. À̵鿡 ´ëÇÑ <tt>/etc/conf.modules</tt>ÀÇ ³»¿ëÀ» º¸¸é, <verb> alias eth0 ne alias eth1 ne options ne io=0x240,0x300 </verb> ÀÌ°ÍÀÌ ÇÏ´Â °ÍÀº ÀÌ·¸´Ù. ÀÌ°ÍÀº °ü¸®ÀÚ (ȤÀº Ä¿³Î)ÀÌ <tt/modprobe eth0</CODE> ȤÀº <tt/modprobe eth1/¶ó°í Çϸé, <tt/ne.o/ µå¶óÀ̹ö°¡ <tt/eth0/³ª <tt/eth1/¸¦ À§ÇÑ µå¶óÀ̹ö¸¦ ·ÎµåÇÒ °ÍÀÌ´Ù. ±×¸®°í <tt/ne.o/ ¸ðµâÀÌ ÀûÀçµÉ¶§, <tt/io=0x240,0x300/ ¶ó´Â ¿É¼ÇÀ» °¡Áö°í ·ÎµåµÇ¾î, µå¶óÀ̹ö°¡ ¾îµð¿¡¼­ Ä«µå¸¦ ãÀ»Áö ¾Ë·ÁÁÖ°Ô µÈ´Ù. <tt/0x/´Â Áß¿äÇÏ´Ù - DOS ¼¼»ó¿¡¼­ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´ø <tt/300h/°°Àº °ÍµéÀº ÅëÇÏÁö ¾Ê´Â´Ù. <tt/0x240/ ¿Í <tt/0x300/ÀÇ ¼ø¼­¸¦ ¹Ù²Ù´Â °ÍÀº <tt/eth0/ ¿Í <tt/eth1/ÀÇ ¹°¸®Àû Ä«µå ¼ø¼­¸¦ ¹Ù²Ù´Â °ÍÀÌ µÈ´Ù. ´ëºÎºÐÀÇ ISA ¸ðµâ µå¶óÀ̹öµéÀº ÀÌ ¿¹¿Í °°ÀÌ ¿©·¯°³ÀÇ Ä«µå¸¦ ´Ù·ç±â À§ÇØ ÄÞ¸¶·Î ±¸ºÐµÈ ¿©·¯°³ÀÇ I/O °ªÀ» ¹ÞÀ»¼ö ÀÖ´Ù. ±×·¯³ª, 3c501.o ¸ðµâ°ú °°Àº ¸î¸î (±¸ÇüÀÇ?) µå¶óÀ̹öµéÀº ¸ðµâÀ» ·ÎµåÇÒ ¶§¸¶´Ù ´ÜÁö ÇϳªÀÇ Ä«µå¸¸À» ´Ù·ê¼ö ÀÖ´Ù. ÀÌ °æ¿ì¿¡ µÎ ÀåÀÇ Ä«µå¸¦ ¸ðµÎ ã±â À§Çؼ­ ¿©·¯ºÐÀº ¸ðµâÀ» µÎ¹ø ·ÎµåÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì¿¡ <tt>/etc/conf.modules</tt> È­ÀÏÀº ´ÙÀ½°ú °°´Ù. <verb> alias eth0 3c501 alias eth1 3c501 options eth0 -o 3c501-0 io=0x280 irq=5 options eth1 -o 3c501-1 io=0x300 irq=7 </verb> ÀÌ ¿¹¿¡¼­ <tt/-o/ ¿É¼ÇÀº ¿©·¯ºÐÀÌ °°Àº À̸§À¸·Î µÎ ¸ðµâÀ» ·ÎµåÇÒ ¼ö ¾ø±â ¶§¹®¿¡ °¢ ¸ðµâ °´Ã¼¸¶´Ù À¯ÀÏÇÑ À̸§À» ºÎ¿©Çϱâ À§Çؼ­ »ç¿ëµÈ´Ù. <tt/irq=/ ¿É¼Çµµ ¶ÇÇÑ Ä«µåÀÇ Çϵå¿þ¾î IRQ ¼³Á¤À» Á¤ÇØÁÖ±â À§Çؼ­ »ç¿ëµÈ´Ù. (ÀÌ ¹æ¹ýÀº ÄÞ¸¶·Î ±¸ºÐµÈ I/O °ªµéÀ» ¹Þ¾ÆµéÀÌ´Â ¸ðµâµéÀ» »ç¿ëÇÒ ¶§¿¡µµ ¾µ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ°ÍÀº ±×°ÍÀÌ Á¤¸» ÇÊ¿äÇÏÁö ¾ÊÀ» ¶§¿¡µµ ¸ðµâÀÌ µÎ¹ø¾¿ ·ÎµåµÇ±â ¶§¹®¿¡ ´ú È¿À²ÀûÀÌ´Ù.) ¸¶Áö¸· ¿¹·Î, <tt/0x350/¿¡ ÀÖ´Â 3c509 Ä«µå¿Í <tt/0x280/¿¡ ÀÖ´Â SMC Elite16 (WD8013) Ä«µå¸¦ °¡Áø À¯Àú°¡ ÀÖ´Ù. ±× ¼³Á¤Àº ´ÙÀ½°ú °°À» °ÍÀÌ´Ù. <verb> alias eth0 wd alias eth1 3c503 options wd io=0x280 options 3c503 io=0x350 </verb> PCI Ä«µåµéÀÇ °æ¿ì, PCI Ä«µåÀÇ I/O ÁÖ¼Ò´Â ¾ÈÀüÇÏ°Ô Ã£¾Æ³¾¼ö Àֱ⠶§¹®¿¡ ¿©·¯ºÐÀº º¸Åë ÀûÀýÇÑ µå¶óÀ̹ö À̸§°ú °°ÀÌ <tt/ethN/ ÀÎÅÍÆäÀ̽º¿Í ¿¬°üµÈ <tt/alias/ ÁÙ¸¸ÀÌ ÇÊ¿äÇÏ´Ù. »ç¿ë°¡´ÉÇÑ ¸ðµâµéÀº º¸Åë <tt>/lib/modules/`uname -r`/net</tt>¿¡ ÀúÀåµÇ¾î ÀÖ´Ù. ¿©±â¼­ <tt/uname -r/ ¸í·ÉÀº Ä¿³Î ¹öÀü (¿¹: 2.0.34)À» µ¹·ÁÁØ´Ù. ¿©·¯ºÐÀº °Å±â¼­ ¿©·¯ºÐÀÇ Ä«µå¿¡ ¸Â´Â °ÍÀ» ãÀ»¼ö ÀÖ´Ù. ¿©·¯ºÐÀÌ <tt/conf.modules/ È­ÀÏ¿¡ Çѹø Á¦´ë·Î ¼³Á¤À» Çß´Ù¸é, ´ÙÀ½°ú °°ÀÌ Çؼ­ ½ÃÇèÇØ º¼¼ö ÀÖ´Ù. <verb> modprobe ethN dmesg | tail </verb> `N'Àº ¿©·¯ºÐÀÌ ½ÃÇèÇØ º¸°íÀÚÇÏ´Â ÀÌ´õ³Ý ÀÎÅÍÆäÀ̽ºÀÇ ¼ýÀÚÀÌ´Ù. <em/Ä¿³Î ¾È¿¡ ÄÄÆÄÀÏµÇ¾î µé¾îÀÖ´Â µå¶óÀ̹ö·Î:/ ¸¸ÀÏ ¿©·¯ºÐÀÌ Ä¿³Î¿¡ ÄÄÆÄÀÏµÇ¾î µé¾îÀÖ´Â µå¶óÀ̹ö¸¦ °¡Áö°í ÀÖ´Ù¸é, ¿©·¯°³ÀÇ ÀÌ´õ³Ý Ä«µå¸¦ »ç¿ëÇϱâ À§ÇÑ ¸ðµç °ÍÀÌ ±× ¾È¿¡ ÀÖ´Ù. ±×·¯³ª, ±âº»ÀûÀ¸·Î <em/ÇϳªÀÇ/ ÀÌ´õ³Ý Ä«µå¸¸ÀÌ ÀÚµ¿À¸·Î ã¾ÆÁø´Ù´Â °Í¿¡ ÁÖÀÇÇ϶ó. ÀÌ°ÍÀº ¿¹¹ÎÇÑ Ä«µåµéÀ» ãÀ»¶§ ¹ß»ýÇÒ¼ö ÀÖ´Â ºÎÆýÃÀÇ ¿¡·¯¸¦ ÇÇÇϵµ·Ï ÇØÁØ´Ù. (¾Ë¾ÆµÑ°Í: 2.1.x ÈĹݴëÀÇ Ä¿³Î¿¡¼­´Â, ºÎÆ® °Ë»öÀÌ ¾ÈÀü°ú ºÒ¾ÈÀüÀ¸·Î ³ª´©¾îÁ® ÀÖ°í, ±×·¡¼­ ¸ðµç ¾ÈÀü (¿¹: PCI¿Í EISA) °Ë»öÀº ¸ðµç °ü·ÃµÈ Ä«µåµéÀ» ÀÚµ¿ÀûÀ¸·Î ã¾ÆÁÖ°Ô µÈ ´Ù. (¿©·¯°³ÀÇ ÀÌ´õ³Ý Ä«µå¸¦ °¡Áø ½Ã½ºÅÛ¿¡¼­ Àû¾îµµ ÇϳªÀÇ ISA Ä«µå¸¦ °¡Áö°í ÀÖ´Â °æ¿ì ¿¡´Â ¿©ÀüÈ÷ ´ÙÀ½ÀÇ °úÁ¤Áß Çϳª¸¦ Çؾ߸¸ ÇÑ´Ù.) µÎ¹ø° (±×¸®°í »õ¹ø°, ±×¸®°í...) Ä«µå¸¦ ÀÚµ¿À¸·Î °Ë»öÇϴµ¥´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. °¡Àå ½¬¿î ¹æ¹ýÀº º¸Åë LILO¸¦ ÅëÇØ Çϴ°Íó·³ ºÎÆýÿ¡ Ä¿³Î·Î Àμö¸¦ Àü´ÞÇÏ´Â °ÍÀÌ´Ù. µÎ¹ø° Ä«µå¸¦ ã´Â °ÍÀº ºÎÆýÿ¡ <tt/ether=0,0,eth1/ó·³ °£´ÜÇÑ Àμö¸¦ »ç¿ëÇÏ ¸é µÈ´Ù. ÀÌ °æ¿ì¿¡ <tt/eth0/¿Í <tt/eth1/´Â ºÎÆýÿ¡ ã¾ÆÁö´Â ¼ø¼­´ë·Î Á¤ÇØÁö°Ô µÈ´Ù. ¸¸ÀÏ Ä«µå°¡ <tt/eth0/´Â <tt/0x300/¿¡, ±×¸®°í <tt/eth1/´Â <tt/0x280/¿¡ ÀÖ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. <tscreen> LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1 </tscreen> <tt/ether=/ ¸í·ÉÀº À§¿¡¼­ º¸¿©Áö´Â ¹Ù¿Í °°ÀÌ IRQ + I/O + À̸§À» ¹Þ¾ÆµéÀÌ°Ô µÈ´Ù. Àüü ¹®¹ý°ú ƯÁ¤ Ä«µå ÀÎÀÚµé, ±×¸®°í LILO ÆÁµéÀ» º¸·Á¸é ´ÙÀ½À» º¸¸é µÈ´Ù. <ref id="lilo" name="ÀÌ´õ³Ý Àμö Àü´ÞÇϱâ..."> ÀÌ ºÎÆýÃÀÇ ÀμöµéÀº ¿µ±¸ÀûÀ̱⠶§¹®¿¡ ¿©·¯ºÐÀº ¸Å¹ø ´Ù½Ã ÃijÖÀ» ÇÊ¿ä°¡ ¾ø´Ù. LILO ¼³Á¤ ¿É¼ÇÁß `<tt/append/'´Â LILO ¸Å´º¾óÀ» º¸±â ¹Ù¶õ´Ù. µÎ¹ø° ¹æ¹ýÀº (±ÇÀåÇÏÁö ¾Ê´Â´Ù) <tt/Space.c/ ¸¦ ÆíÁýÇؼ­ I/O ÁÖ¼Ò Ç׸ñÀÇ <tt/0xffe0/ ºÎºÐÀ» ¿µÀ¸·Î ¹Ù²ãÁÖ´Â °ÍÀÌ´Ù. <tt/0xffe0/ ºÎºÐÀº ÀÌ ÀåÄ¡¿¡ ´ëÇؼ­ °Ë»öÀ» ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù -- ÀÌ°ÍÀ» ¿µÀ¸·Î ¹Ù²Û´Ù´Â °ÍÀº ÀåÄ¡¿¡ ´ëÇÑ ÀÚµ¿°Ë»öÀ» ÇÒ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ´Ù. ¿©±â¼­ ¾Ë¾ÆµÑ Á¡Àº ¿©·¯ºÐÀÌ ¸¸¾à ¸®´ª½º¸¦ µÎ ³×Æ®¿öÅ© »çÀÌÀÇ °ÔÀÌÆ®¿þÀÌ·Î »ç¿ëÇÏ·Á°í ÇÑ´Ù¸é, Ä¿³ÎÀ» IP Æ÷¿öµù °¡´ÉÀ¸·Î Çؼ­ ÀçÄÄÆÄÀÏ Çؾ߸¸ ÇÑ´Ù´Â °ÍÀÌ´Ù. º¸Åë ±¸½Ä AT/286¿¡ `kbridge'°°Àº ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÁÁÀº ÇØ°á¹æ¹ýÀÌ´Ù. ¿©·¯ºÐÀÌ ÀÌ°ÍÀ» <em/³Ý ¼­ÇÎ/ µµÁß¿¡ º¸°í ÀÖ´Ù¸é, Donald°¡ ±×ÀÇ WWW »çÀÌÆ®¿¡ °®°í ÀÖ´Â ¹Ì´Ï ÇÏ¿ìÅõ¸¦ º¼¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½À» È®ÀÎÇØ º¸¶ó. <url url="http://cesdis.gsfc.nasa.gov/linux/misc/multicard.html" name="Multiple Ethercards">. <sect1> <tt/ether=/ ¸í·ÉÀÌ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â´Ù. ¿ÖÁö? <p> À§¿¡¼­ ¼³¸íÇÑ °Íó·³, <tt/ether=/ ¸í·ÉÀº <em/´ÜÁö/ Ä¿³Î¾È¿¡ ÄÄÆÄÀÏµÇ¾î µé¾îÀÖ´Â µå¶óÀ̹öµé¿¡ ´ëÇؼ­¸¸ ÀÛµ¿ÇÑ´Ù. ¿äÁò ´ëºÎºÐÀÇ ¹èÆ÷ÆǵéÀº ¸ðµâ Çü½ÄÀ¸·ÎµÈ µå¶óÀ̹öµéÀ» »ç¿ëÇϹǷΠ<tt/ether=/ ¸í·ÉÀº ´õÀÌ»ó °ÅÀÇ »ç¿ëµÇÁö ¾Ê´Â´Ù.(¸î¸î ¿À·¡µÈ ¹®¼­µéÀº ÀÌ º¯È­¸¦ ¹Ý¿µÇÏ¿© °»½ÅµÇ°í ÀÖ´Ù.) ¸¸ÀÏ ¿©·¯ºÐÀÌ ÀÌ´õ³Ý µå¶óÀ̹ö ¸ðµâ¿¡ ¿É¼ÇµéÀ» Àû¿ëÇÏ·Á ÇÑ´Ù¸é, <em/¹Ýµå½Ã/ <tt>/etc/conf.modules</tt> È­ÀÏÀ» °íÃľ߸¸ ÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ <em/Áö±Ý/ ÄÄÆÄÀÏµÈ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ°í ÀÖ°í, ¿©·¯ºÐÀÇ LILO ¼³Á¤È­ÀÏ ¿¡ <tt/ether=/¸¦ Ãß°¡Çß´Ù¸é, ¹Ù²ï ¼³Á¤ È­ÀÏ·Î ½ÇÇàµÇµµ·Ï <tt/lilo/¸¦ Àç½ÇÇàÇϱâ Àü±îÁö´Â È¿°ú°¡ ¾ø´Ù´Â °ÍÀ» ¸í½ÉÇضó. <sect1>3.4 NE1000 / NE2000 Ä«µå(±×¸®°í ȣȯÁ¦Ç°)µéÀÇ ¹®Á¦<label id="ne2k-probs"> <p> <bf/Problem:/ PCI NE2000 ȣȯīµå°¡ v2.0.x·Î ºÎÆýà ãÁú ¸øÇÑ´Ù. <bf/Reason:/ v2.0.30 ÀÌÇÏ¿¡¼­ÀÇ <tt/ne.c/ µå¶óÀ̹ö´Â ´ÜÁö RealTek 8029 ±â¹Ý ȣȯīµåµéÀÇ PCI ID ³Ñ¹ö¸¸À» ¾Ë°íÀֱ⠶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î PCI NE2000 ȣȯīµå·Î ³ª¿Â, ´Ù¸¥ PCI ID ³Ñ¹ö¸¦ °¡Áø Ä«µåµéÀ» µå¶óÀ̹ö°¡ ã¾Æ ³»Áö ¸øÇÏ´Â °ÍÀÌ´Ù. <bf/Solution:/ °¡Àå ½¬¿î ÇØ°áÃ¥Àº ¸®´ª½º Ä¿³Î¹öÀü v2.0.31 (¶Ç´Â ±× ÀÌ»ó)À¸·Î ¾÷±×·¹À̵åÇÏ´Â °ÍÀÌ´Ù. À̵éÀº ´Ù¼¸°¡Áö ´Ù¸¥ NE2000-PCI Ĩµé¿¡ ´ëÇÑ ID ³Ñ¹ö¸¦ ¾Ë°í Àֱ⠶§¹®¿¡, ºÎÆýÿ¡³ª ¸ðµâÀÌ ÀûÀçµÇ´Â ½Ã°£¿¡ ÀÚµ¿À¸·Î ±×µéÀ» ã¾Æ³¾ °ÍÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ 2.0.34 (¶Ç´Â ±× ÀÌ»ó)À¸·Î ¾÷±×·¹À̵å Çϸé, °Å±â¿¡´Â ¿À¸®Áö³¯ ISA/PCI µå¶óÀ̹öº¸´Ù ¾à°£ ´õ ÀÛ°í º¸´Ù È¿À²ÀûÀÎ PCI¸¸ÀÇ Æ¯Á¤ NE2000 µå¶óÀ̹ö°¡ ÀÖ´Ù. <bf/Problem:/ PCI NE2000 ȣȯ Ä«µå°¡ v2.0.x¿¡¼­ ºÎÆýóª ne.o ¸ðµâÀ» ÀûÀçÇÒ¶§ ne1000 (8ºñÆ® Ä«µå!) ¶ó°í ³ª¿À°í, ±×¸®°í³ª¼­´Â ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. <bf/Reason:/ ¸î¸î PCI ȣȯÁ¦Ç°µéÀº ¹ÙÀÌÆ® ÆøÀÇ Á¢±ÙÀ» ±¸ÇöÇÏÁö ¾Ê´Â´Ù.(±×¸®°í ÁøÂ¥ 100% NE2000 ȣȯ ÀÌ ¾Æ´Ï´Ù). ÀÌ ¶§¹®¿¡ NE1000 Ä«µå·Î »ý°¢ÇÏ°í ã¾Æ³»´Â °á°ú°¡ ³ªÅ¸³ª°Ô µÈ´Ù. <bf/Solution:/ À§¿¡¼­ ¼³¸íÇß´ø °Íó·³ v2.0.31 (¶Ç´Â ±× ÀÌ»ó)À¸·Î ¾÷±×·¹À̵å Çؾ߸¸ ÇÑ´Ù. ±× µå¶óÀ̹ö(µé) Àº ÇöÀç ÀÌ Çϵå¿þ¾î ¹ö±×¸¦ °Ë»çÇÑ´Ù. <bf/Problem:/ PCI NE2000 Ä«µå°¡ ¼º´É ÆÁ ºÎºÐ¿¡ ¼³¸íµÈ´ë·Î À©µµ¿ì »çÀÌÁ ÁÙÀ϶§¿¡µµ Á¤¸» ÃÖ¾ÇÀÇ ¼º´ÉÀ» ³ªÅ¸³½´Ù. <bf/Reason:/ °³¹ßÇؼ­ ÆǸŵÈÁö ½Ê³âµµ ´õ µÈ ¿À¸®Áö³¯ 8390 ĨÀÇ ½ºÆå Ç¥¸¦ º¸¸é, ÃÖ»óÀÇ ¾ÈÁ¤¼ºÀ» À§ÇØ °¢ ¾²±â ÀÛ¾÷Çϱâ Àü¿¡ ĨÀÌ ´À¸° Àб⸦ ¿äûÇÑ´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ±× µå¶óÀ̹ö´Â v1.2 Ä¿³Î ¶§ºÎÅÍ ±âº»ÀûÀ¸·Î ±×·± ±â´ÉÀ» »ç¿ëÇÒ¼ö ¾ø°Ô µÇ¾î ÀÖ´Ù. ÇÑ »ç¿ëÀÚ°¡ ¸»Çϱâ·Î´Â ±× `À߸ø µÈ ±â´É'À» ´Ù½Ã »ç¿ë°¡´ÉÇÏ°Ô ÇÏ¸é °ª½Ñ PCI NE2000 ȣȯ Ä«µåÀÇ ¼º´É¿¡ µµ¿òÀÌ µÈ´Ù°í ÇÑ´Ù. <bf/Solution:/ ÀÌ ¹®Á¦ÀÇ ÇØ°áÃ¥Àº ´ÜÁö ÇÑ »ç¶÷ÇÑÅ×¼­¸¸ ³ª¿Ô±â ¶§¹®¿¡, ±×·¸°Ô Èñ¸ÁÀûÀÌÁö´Â ¾Ê´Ù. ¾²±â Àü¿¡ Àб⸦ ´Ù½Ã °¡´ÉÇÏ°Ô °íÄ¡´Â °ÍÀº <tt>linux/drivers/net/</tt>¾ÈÀÇ µå¶óÀ̹ö È­ÀÏ À» °£´ÜÇÏ°Ô ÆíÁýÇÏ¸é µÈ´Ù. <tt/NE_RW_BUGFIX/¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ÁÙÀÇ ÁÖ¼®À» Á¦°ÅÇÏ °í Ä¿³ÎÀ̳ª ¸ðµâÀ» ÀûÀýÇÏ°Ô ÀçÄÄÆÄÀÏÇØÁÖ¸é µÈ´Ù. ¸¸ÀÏ ÀÌ°ÍÀÌ ¿©·¯ºÐ¿¡°Ô µµ¿òÀÌ µÈ´Ù¸é, ¼º´ÉÀÇ Â÷ÀÌ¿Í Ä«µå/Ĩ¼Â Á¾·ù¸¦ ±â¼úÇÏ¿© ¿ì¸®¿¡°Ô e-mailÀ» º¸³»Áֱ⠹ٶõ´Ù. ( <tt/ne2k-pci.c/ µå¶óÀ̹ö¿¡ ´ëÇؼ­µµ µ¿ÀÏÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.) <bf/Problem:/ <tt/ne2k-pci.c/ µå¶óÀ̹ö°¡ PCI NE2000 Ä«µå¿¡¼­ <tt/timeout waiting for Tx RDC/¿Í °°Àº ¿¡·¯ ¸Þ¼¼Áö¸¦ º¸³»°í Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. <bf/Reason:/ ¿©·¯ºÐÀÇ Ä«µå¿Í/¶Ç´Â Ä«µå¿¡¼­ PCI ¹ö½º·ÎÀÇ ¿¬°áÀÌ ÀÌ µå¶óÀ̹ö¿¡¼­ »ç¿ëµÈ long word I/O optimizationÀ» ´Ù·ê¼ö ¾ø´Â °ÍÀÌ´Ù. <bf/Solution:/ ¿ì¼±, BIOS/CMOS ¼³Á¤¿¡¼­ ¾ÈÁ¤ÀûÀÎ ÀÛµ¿À» ¹æÇØÇÏ´Â PCI ¹ö½º ŸÀֿ̹¡ °ü·ÃµÈ ¾î¶°ÇÑ ¼³Á¤ ÀÌ¶óµµ È®ÀÎÇØ º¸¶ó. ±×·¸Áö ¾Ê´Ù¸é ISA/PCI <tt/ne.c/ µå¶óÀ̹ö¸¦ »ç¿ëÇؼ­ (¾Æ´Ï¸é <tt/ne2k-pci.c/¿¡¼­ <tt/#define USE_LONGIO/ºÎºÐÀ» ¾ø¾Ö°í) Ä«µå¸¦ »ç¿ëÇϵµ·Ï ÇؾßÇÑ´Ù. <bf/Probem:/ ISA Plug and Play NE2000 (RealTek 8019°°Àº)ÀÌ ÀâÈ÷Áö ¾Ê´Â´Ù. <bf/Reason:/ ¿ø·¡ÀÇ NE2000 »ç¾ç¿¡´Â (±×¸®°í ¸®´ª½º NE2000 µå¶óÀ̹öµµ) Ç÷¯±× ¾Ø Ç÷¹ÀÌ¿¡ ´ëÇÑ Áö¿øÀº ¾ø´Ù. <bf/Solution:/ PnP¸¦ »ç¿ëÇÒ¼ö ¾ø°Ô Çϱâ À§Çؼ­ Ä«µå¿Í ÇÔ²² µû¶ó¿À´Â DOS ¼³Á¤ µð½ºÅ©¸¦ »ç¿ëÇؼ­, Ä«µå¿¡ ƯÁ¤ I/O ÁÖ¼Ò¿Í IRQ¸¦ ¼³Á¤ÇÑ´Ù. ±×¸®°í <tt>/etc/conf.modules</tt>¿¡ <tt/options ne io=0xNNN/¿Í °°Àº ¶óÀÎÀ» Ãß°¡ÇÑ´Ù. ¿©±â¼­ <tt/0xNNN/´Â ¿©·¯ºÐÀÌ Ä«µå¿¡ ¼³Á¤ÇÑ 16Áø¼ö I/O ÁÖ¼ÒÀÌ´Ù. (¿©±â¼­´Â ¿©·¯ºÐÀÌ ¸ðµâ µå¶óÀ̹ö¸¦ »ç¿ëÇÑ ´Ù°í °¡Á¤ÇÑ´Ù. ¸¸ÀÏ ¾Æ´Ï¶ó¸é ºÎÆ®½Ã¿¡ <tt/ether=0,0xNNN,eth0/ Àμö¸¦ »ç¿ëÇÑ´Ù). ¿©·¯ºÐÀº ¶ÇÇÑ BIOS/CMOS ¼³Á¤¿¡ µé¾î°¡¼­ PnP ´ë½Å¿¡ Legacy-ISA¿ë IRQ¿¡ Ç¥½ÃÇØ¾ß ÇÑ´Ù. ¿©·¯ºÐÀÌ ¸¸¾à ¸î¸î ´Ù¸¥ ¿î¿µÃ¼Á¦¿ÍÀÇ È£È¯¼ºÀ» À§Çؼ­ PnP¸¦ °¡´ÉÇÑ »óÅ·Π³²°ÜµÖ¾ß ÇÑ´Ù¸é <em/isapnptools/ ÆÐÅ°Áö¸¦ ã¾Æº¸¶ó. <tt/man isapnp/¸¦ Ãļ­ ÀÌ°ÍÀÌ ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇغ¸¶ó. ¾Æ´Ï¸é, ´ÙÀ½ÀÇ URLÀ» ã¾Æº¸¶ó. <url url="http://www.roestock.demon.co.uk/isapnptools/" name="ISA PNP Tools"> <bf/Problem:/ NE*000 µå¶óÀ̹ö°¡ ºÎÆ® °Ë»ö½Ã¿¡ `not found (no reset ack)'¶ó´Â ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù. <bf/Reason:/ ÀÌ°ÍÀº À§ÀÇ º¯È­¿Í °ü°è°¡ ÀÖ´Ù. Ãʱâ È®ÀÎÀÛ¾÷ ÈÄ¿¡ 8390Àº °Ë»öµÈ I/O ÁÖ¼Ò¿¡ ÀÖ°ÔµÇ°í ¸®¼ÂÀÌ ÀÌ·ç¾îÁø´Ù. Ä«µå°¡ ¿ÏÀüÇÏ°Ô ¸®¼ÂÀÌ µÉ¶§, ¸®¼ÂÀÌ ³¡³µ´Ù°í ¾Ë¸®°Ô µÈ´Ù. ¿©·¯ºÐÀÇ Ä«µå°¡ ±×·¸Áö ¾Ê´Ù¸é, µå¶óÀ̹ö´Â ÇöÀç ¾î¶°ÇÑ NE Ä«µåµµ ¾ø´Ù°í °¡Á¤ÇÏ°Ô µÈ´Ù. <bf/Solution:/ µå¶óÀ̹ö¿¡°Ô ºÎÆýÿ¡ <tt/0xbad/ÀÇ »ç¿ëÇÏÁö ¾Ê´Â <tt/mem_end/ 16Áø¼ö °ªÀ» »ç¿ëÇØ ¿©·¯ºÐÀÌ ¾ÈÁÁÀº Ä«µå¸¦ °¡Áö°í ÀÖ´Ù´Â °ÍÀ» ¾Ë·ÁÁÙ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº <tt/0xbad/ÀÇ ÀçÁ¤ÀǸ¦ »ç¿ëÇÒ ¶§ Ä«µå¿¡ ¿µÀÌ ¾Æ´Ñ I/O ÁÖ¼Ò¸¦ Á¦°øÇؾ߸¸ ÇÑ´Ù. ¿¹¸¦ µé¾î, ¸®¼ÂµÇÁö ¾Ê´Â Ä«µå°¡ <tt/0x340/¿¡ ÀÖ´Ù¸é ´ÙÀ½°ú °°ÀÌ ¾²¸é µÉ°ÍÀÌ´Ù. <tscreen> LILO: linux ether=0,0x340,0,0xbad,eth0 </tscreen> ÀÌ°ÍÀº ¿©·¯ºÐÀÇ Ä«µå°¡ ¸®¼ÂÀ» ¹Þ¾ÆµéÀÌÁö ¾Ê´õ¶óµµ Ä«µå Ž»öÀ» °è¼ÓÇϵµ·Ï ÇØÁØ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ µå¶óÀ̹ö¸¦ ¸ðµâ·Î »ç¿ëÇÏ°í ÀÖ´Ù¸é, I/O ÁÖ¼Ò¸¦ ÁØ°Íó·³ <tt/bad=0xbad/ ¿É¼ÇÀ» ³Ö¾îÁÙ¼ö ÀÖ´Ù. <bf/Problem:/ óÀ½ ³×Æ®¿öÅ©¿¡ Á¢¼ÓÇÒ ¶§ NE*000 Ä«µå°¡ ¸Ó½ÅÀ» Á¤Áö½ÃŲ´Ù. <bf/Reason:/ ÀÌ ¹®Á¦´Â 1.1.57Á¤µµÀÇ ¿À·¡µÈ Ä¿³Î¿¡¼­ ÇöÀç¿¡±îÁö º¸°íµÇ°í ÀÖ´Ù. ÀÌ°ÍÀº ¸î¸î ¼ÒÇÁÆ®¿þ¾î ·Î ¼³Á¤°¡´ÉÇÑ È£È¯ Ä«µåµé¿¡¼­¸¸ ³ªÅ¸³­´Ù. ±×µéÀº ¾î¶² Ưº°ÇÑ ¹æ¹ýÀ¸·Î ÃʱâÈ­¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù. <bf/Solution:/ ¸î¸î »ç¶÷µéÀº ¸®´ª½º¿¡¼­ Ä«µå¸¦ ÀÛµ¿½ÃÅ°±âÀ§ÇØ ¿úºÎÆà (Áï, loadlin À̳ª `¼¼¼Õ°¡¶ôÀλç - ctrl+alt+del:¿ªÀÚÁÖ')Çϱâ Àü¿¡ Á¦°øµÇ´Â DOS ¼ÒÇÁÆ®¿þ¾î ¼³Á¤ ÇÁ·Î±×·¥À̳ª DOS µå¶óÀ̹ö ¸¦ ½ÇÇàÇÒ¶§¿¡ ³ªÅ¸³­´Ù°í º¸°íÇß´Ù. ÀÌ°ÍÀº ÀÌ Ä«µåµéÀÌ ÇöÀç ¸®´ª½º µå¶óÀ̹öµéÀÌ ÇÏ´Â °Í °ú´Â ¾à°£ ´Ù¸£°Ô, ƯÁ¤ÇÑ ¹æ½ÄÀ¸·Î ÃʱâÈ­µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù. <bf/Problem:/ <tt/0x360/¿¡¼­ NE*000 ÀÌ´õ³Ý Ä«µå°¡ ÀâÈ÷Áú ¾Ê´Â´Ù. <bf/Reason:/ NE2000 Ä«µå´Â <tt/0x20/ÀÇ I/O ÆøÀ» °®´Âµ¥, À̶§¹®¿¡ Æз¯·¼ Æ÷Æ®ÀÇ ÁÖ¼ÒÀÎ <tt/0x378/¸¦ ħ¹üÇÏ°Ô µÈ´Ù. ±×ÀÚ¸®¿¡´Â µÎ¹ø° Ç÷ÎÇÇ ÄÜÆ®·Ñ·¯(¸¸ÀÏ ÀÖ´Ù¸é)°¡ <tt/0x370/¿¡ ±×¸®°í µÎ¹ø° IDE ÄÜÆ®·Ñ·¯°¡ <tt/0x376--0x377/°¡ ÀÖÀ»¼ö ÀÖ´Ù. ¸¸ÀÏ ±× Æ÷Æ®(µé)°¡ ÀÌ¹Ì ´Ù¸¥ µå¶óÀ̹ö¿¡ ÀÇÇØ µî·ÏÀÌ µÇ¾î ÀÖ´Ù¸é, Ä¿³ÎÀº Ž»öÀ» ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. <bf/Solution:/ ¿©·¯ºÐÀÇ Ä«µå ÁÖ¼Ò¸¦ <tt/0x280, 0x340, 0x320/°°Àº ÁÖ¼Ò·Î ¿Å±â°Å³ª Æз¯·¼ ÇÁ¸°ÅÍ Áö¿ø ¾øÀÌ ÄÄÆÄÀÏÇ϶ó. <bf/Problem:/ ¹º°¡¸¦ ÇÁ¸°Æ®Çϱ⸸ ÇÏ¸é ³×Æ®¿öÅ©°¡ `Á×¾î¹ö¸°´Ù' (NE2000) <bf/Reason:/ À§¿Í °°Àº ¹®Á¦ÀÌÁö¸¸, I/O¿µ¿ªÀ» È®ÀÎÇÏÁö ¾Ê´Â ´õ ¿À·¡µÈ Ä¿³ÎÀ» »ç¿ëÁßÀÌ´Ù. À§¿¡¼­ ó·³ ÇØ°áÇÏ¸é µÇ°í, ¿©·¯ºÐÀÌ ¾²´Â °Íº¸´Ù »õ Ä¿³ÎÀ» ±¸Ç϶ó. <bf/Problem:/ NE*000 ethercard probe at 0xNNN: 00 00 C5 ... not found. (invalid signature yy zz) <bf/Reason:/ ¿ì¼± ¸ÕÀú, 0xNNN ÁÖ¼Ò¿¡ NE1000 ¶Ç´Â NE2000 Ä«µå°¡ ÀÖ½À´Ï±î? ±×¸®°í ¸¸ÀÏ ÀÖ´Ù¸é, Çϵå¿þ ¾î ÁÖ¼Ò°¡ Á¦´ë·ÎµÈ °Íó·³ ³ª¿À´Â°¡? ±×·¸´Ù¸é, ¿©·¯ºÐÀº ÇüÆí¾ø´Â NE*000 ȣȯīµå¸¦ °®°í ÀÖ´Â °ÍÀÌ´Ù. ¸ðµç NE*000 ȣȯÁ¦Ç°µéÀº Ä«µåÀÇ SA PROMÀÇ 14 ¿Í 15 ¹ø° ¹ÙÀÌÆ®¿¡ <tt/0x57/°ªÀ» °¡Áö°í ÀÖ´Ù. ¿©·¯ºÐÀÌ °¡Áø°ÍÀº ±×·¸Áö ¾Ê´Ù -- ´ë½Å `yy zz'¸¦ °¡Áö °í ÀÖ´Ù. <bf/Solution:/ ¿©±â¿¡´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. °¡Àå ½¬¿î ¹æ¹ýÀº À§ÀÇ `no reset ack' ¹®Á¦¿¡¼­ ¼³¸íÇÑ °Íó·³ <tt/0xbad/ mem_end °ªÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¼­¸í È®ÀÎÀ» ÇÏÁö¾Ê°í Áö ³ª°¥ °ÍÀÌ°í, ¿µÀÌ ¾Æ´Ñ I/O ÁÖ¼Ò°ªµµ ÁÖ¾îÁú °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀº Ä¿³ÎÀ» ÀçÄÄÆÄÀÏÇÒ ÇÊ¿ä°¡ ¾ø´Ù. µÎ¹ø° ¹æ¹ýÀº(ÇØÄ¿µé¿¡°Ô ÇØ´çµÇ°ÚÁö¸¸) µå¶óÀ̹ö¸¦ ¹Ù²Ù°í, ¿©·¯ºÐÀÇ Ä¿³Î(¶Ç´Â ¸ðµâ)À» ÀçÄÄÆÄÀÏÇÏ´Â °ÍÀÌ´Ù. ±× µå¶óÀ̹ö(/usr/src/linux/drivers/net/ne.c)´Â ¾à 42¹ø ¶óÀÎÁ¤µµ¿¡ "Hall of Shame(ºÎ²ô·¯¿òÀÇ Àü´ç)" ¸ñ·ÏÀÌ ÀÖ´Ù. ÀÌ ¸ñ·ÏÀº À߸øµÈ ȣȯǰµéÀ» ã¾Æ³»´Âµ¥ »ç¿ëµÈ´Ù. ¿¹¸¦ µé¾î, DFI Ä«µåµéÀº 14¿Í 15 ¹ÙÀÌÆ®¿¡ <tt/0x57/¸¦ »ç¿ëÇÏ´Â ´ë½Å, PROMÀÇ Ã³À½ 3¹ÙÀÌÆ®¿¡ `DFI'¸¦ »ç¿ëÇÑ´Ù. <bf/Problem:/ ¸Ó½ÅÀÌ ºÎÆÃÁß¿¡ `8390...' À̳ª `WD....' ¸Þ¼¼Áö ¹Ù·Î ´ÙÀ½¿¡¼­ ¸ØÃç¹ö¸°´Ù. <bf/Solution:/ ¿©·¯ºÐÀÇ NE2000 ÁÖ¼Ò¸¦ <tt/0x340/ °°Àº °ÍÀ¸·Î ¹Ù²Ù¾î¶ó. ¾Æ´Ï¸é, ``ether='' Àμö¿Í ÇÔ²² ``reserve=''Àμö¸¦ »ç¿ëÇÔÀ¸·Î½á ´Ù¸¥ ÀåÄ¡ µå¶óÀ̹öÀÇ °Ë»ö¿¡¼­ Ä«µå¸¦ º¸È£ÇÒ¼ö ÀÖ´Ù. <bf/Reason:/ ¿©·¯ºÐÀÇ NE2000 ȣȯÁ¦Ç°Àº ÃæºÐÈ÷ ÁÁÀº ȣȯǰÀÌ ¾Æ´Ï´Ù. ÀÛµ¿ÇÏ´Â NE2000Àº ¾î¶°ÇÑ µå¶óÀ̹öÀÇ ÀÚµ¿°Ë»ö¿¡µµ °É¸°´Ù. NE2000À» ´Ù¸¥ ÀÚµ¿°Ë»ö¿¡¼­ ¹þ¾î³ªµµ·Ï ´ú ¾²ÀÌ´Â ÁÖ¼Ò·Î ¹Ù²Ù¸é, ¿©·¯ºÐÀÇ ¸Ó½ÅÀº ºÎÆÃµÉ °ÍÀÌ´Ù. <bf/Problem:/ ºÎÆýÿ¡ SCSI Ž»öµµÁß ¸ØÃç¹ö¸°´Ù. <bf/Reason:/ À̰͵µ À§ÀÇ ¹®Á¦¿Í °°À¸¹Ç·Î, ÀÌ´õ³Ý Ä«µåÀÇ ÁÖ¼Ò¸¦ ¹Ù²Ù°Å³ª, ¾Æ´Ï¸é reserve/ether ºÎÆà ÀμöµéÀ» »ç¿ëÇϸéµÈ´Ù. <bf/Problem:/ ºÎÆýÿ¡ »ç¿îµå Ä«µå¸¦ ã´ÂµµÁß¿¡ ¸Ó½ÅÀÌ ¸ØÃß¾î ¹ö¸°´Ù. <bf/Reason:/ ¾Æ´Ï´Ù, ±×°ÍÀÌ ½ÇÁ¦·Î´Â Á¶¿ëÇÑ SCSI Ž»öµµÁßÀ̹ǷÎ, À§ÀÇ ¹®Á¦¿Í °°´Ù. <bf/Problem:/ NE2000 ÀÌ ºÎÆýÿ¡ ã¾ÆÁöÁö ¾Ê´Â´Ù - ºÎÆ® ¸Þ¼¼Áö°¡ ÀüÇô ¾ø´Ù. <bf/Solution:/ ±×°ÍÀÌ Ã£¾ÆÁöÁö ¾Ê´Âµ¥´Â ¼ö¸¹Àº ¿øÀÎÀÌ ÀÖÀ»¼ö Àֱ⠶§¹®¿¡ `¸¶¹ýÀÇ ÇØ°áÃ¥'Àº ¾ø´Ù. ´ÙÀ½ÀÇ ³»¿ëµéÀº ¿©·¯ºÐÀÌ °¡´ÉÇÑ ¹®Á¦µéÀ» ÇØ°áÇϴµ¥ µµ¿òÀ» ÁÙ °ÍÀÌ´Ù. 1) ¿©·¯ºÐÀÌ ÇÊ¿ä·Î ÇÏ´Â ÀåÄ¡ µå¶óÀ̹öµé¸¸ °¡Áö°í »õ Ä¿³ÎÀ» ¸¸µç´Ù. ¿©·¯ºÐÀÌ Á¤¸»·Î »õ Ä¿³Î·Î ºÎÆÃÇÏ°í ÀÖ´Â °ÍÀÎÁö È®ÀÎÇ϶ó. lilo¸¦ ½ÇÇàÇÏ´Â °ÍÀ» ±î¸ÔÁö ¾Ê¾Ò´ÂÁö µîµî..À¸·Î ÀÎÇØ ÀÌÀüÀÇ °ÍÀ¸·Î ºÎÆõɼö ÀÖ´Ù. (ºÎÆýÿ¡ ³ª¿À´Â ¸¸µç ½Ã°£/³¯Â¥¸¦ ÀÚ¼¼È÷ º¸¶ó.) ¿ì¸®´Â ÀÌÀü¿¡ ¸ðµç°ÍÀ» ´Ù Çß´Ù.<tt/System.map/ È­ÀϾÈÀÇ <tt/ne_probe/¿Í °°Àº À̸§µéÀ» È®ÀÎÇؼ­, »õ Ä¿³Î¿¡ Á¤¸»·Î ±× µå¶óÀ̹ö°¡ Æ÷ÇԵǾî ÀÖ´ÂÁö È®ÀÎÇ϶ó. 2) ºÎÆ® ¸Þ¼¼ÁöµéÀ» ÁÖÀÇÇؼ­ »ìÆ캸¶ó. ±×°÷¿¡ `NE*000 probe at 0xNNN: not found (¾î¼±¸ Àú¼±¸)' °°Àº ne2k °Ë»ö¿¡ °üÇÑ ¾î¶°ÇÑ ¾ð±ÞÀÌ ÀÖ´ÂÁö, ¾Æ´Ï¸é Á¶¿ëÇÏ°Ô ½ÇÆÐÇÏ´ÂÁö ¸»ÀÌ´Ù. °Å±â¿¡´Â Å« Â÷ÀÌ°¡ ÀÖ´Ù. ·Î±×ÀÎÇÑ µÚ¿¡ ºÎÆ® ¸Þ¼¼Áö¸¦ ´Ù½Ãº¸·Á¸é <tt>dmesg|more</tt>¸¦ »ç¿ëÇϰųª, ºÎÆÃµÈ ÈÄ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®°¡ ³ª¿ÂµÚ¿¡ Shift-PgUpÀ» ´­·¯¼­ È­¸éÀ» À§·Î ½ºÅ©·ÑÇØ °¡¸ç º¸¸éµÈ´Ù. 3) ºÎÆÃÇÑ ÈÄ¿¡, <tt>cat /proc/ioports</tt>¸¦ Ä¡°í Ä«µå°¡ ÇÊ¿ä·ÎÇÏ´Â ÀÔÃâ·Â°ø°£ ÀüºÎ°¡ ºñ¾îÀÖ´ÂÁö È®ÀÎÇ϶ó. ¿©·¯ºÐÀÇ Ä«µå°¡ <tt/0x300/¿¡ ÀÖ´Ù¸é ne2k µå¶óÀ̹ö´Â <tt/0x300-0x31f/ ¸¦ ¿ä±¸ÇÒ °ÍÀÌ´Ù. ¸¸ÀÏ ¾î¶² ´Ù¸¥ ÀåÄ¡ µå¶óÀ̹ö°¡ ±× ¹üÀ§³»¿¡ ÇÑ Æ÷Æ®¶óµµ µî·ÏÇß´Ù¸é, ±× ÁÖ¼ÒÀÇ °Ë»öÀº µÇÁö ¾Ê°í ´ÙÀ½ °Ë»ö ÁÖ¼Ò·Î ³Ñ¾î°¡ °è¼ÓÇÏ°Ô µÉ °ÍÀÌ´Ù. ÀϹÝÀûÀÎ °æ¿ì¿¡ lp µå¶óÀ̹ö°¡ <tt/0x378/¸¦ °®°Å³ª µÎ¹ø° IDE ä³ÎÀÌ <tt/0x376/¸¦ °¡Áö¹Ç·Î ne µå¶óÀ̹ö°¡ <tt/0x360-0x380/¸¦ °Ë»öÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. 4) <tt>cat /proc/interrupts</tt>¿¡ ´ëÇؼ­µµ À§¿Í °°ÀÌ Çغ¸¶ó. ¿©·¯ºÐÀÇ ÀÌ´õ³Ý Ä«µå°¡ ¼³Á¤µÇ¾î ÀÖ´Â ÀÎÅÍ·´Æ®¿¡ Ȥ½Ã ´Ù¸¥ ÀåÄ¡°¡ µî·ÏµÇ¾î ÀÖ´ÂÁö È®ÀÎÇ϶ó. ÀÌ °æ¿ì¿¡´Â, °Ë»öÀº ÀÌ·ç¾îÁöÁö¸¸, ÀÌ´õ³Ý µå¶óÀ̹ö´Â ¿øÇÏ´Â IRQ ¶óÀÎÀ» ¾òÀ»¼ö ¾ø´Ù¸ç ºÎÆýÃÇØ Å©°Ô ºÒÆòÇÒ °ÍÀÌ´Ù. 5) ¸¸ÀÏ ¿©·¯ºÐÀÌ ¾ÆÁ÷µµ µå¶óÀ̹öÀÇ ¸»¾ø´Â ½ÇÆп¡ ´çȲÇØÇÏ°í ÀÖ´Ù¸é, µå¶óÀ̹ö¸¦ ÆíÁýÇؼ­ °Ë»öÀ» À§ÇÑ ¸îÁÙÀÇ printk()¸¦ Ãß°¡Ç϶ó. ¿¹¸¦ µé¾î, ne2k¿¡¼­´Â <tt>linux/drivers/net/ne.c</tt>¸¦ ´ÙÀ½°ú °°ÀÌ ¸î¸îÁÙ¿¡ Ãß°¡/»èÁ¦(`+' ³ª `-' ·Î Ç¥±â) ÇÒ¼ö ÀÖ´Ù. <code> int reg0 = inb_p(ioaddr); + printk("NE2k probe - now checking %x\n",ioaddr); - if (reg0 == 0xFF) + if (reg0 == 0xFF) { + printk("NE2k probe - got 0xFF (vacant I/O port)\n"); return ENODEV; + } </code> ±×·¸°Ô ÇÏ°í³ª¸é °¢°¢ÀÇ Æ÷Æ® ÁÖ¼Ò¿¡ ´ëÇÑ È®ÀÎ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÏ°Ô µÇ°í, ¿©·¯ºÐÀº ¿©·¯ºÐÀÇ Ä«µå ÁÖ¼Ò°¡ °Ë»öµÇ´ÂÁö ¾ÈµÇ´ÂÁö º¼¼ö ÀÖÀ» °ÍÀÌ´Ù. 6) ¿©·¯ºÐÀº ¶ÇÇÑ DonÀÇ ftp »çÀÌÆ®(ÇÏ¿ìÅõ³»¿¡ Àß ¼³¸íµÇ¾î ÀÖ´Ù)¿¡¼­ ne2k Á¡°Ë µµ±¸¸¦ °¡Á®¿Í¼­ ¿©·¯ºÐÀÌ ¸®´ª½º·Î ºÎÆÃÇÑ ÈÄ¿¡ Ä«µå¸¦ ãÀ»¼ö ÀÖ´ÂÁö ¾ø´ÂÁö º¼¼ö ÀÖ´Ù. `<tt/-p 0xNNN/' ¿É¼ÇÀ» »ç¿ëÇؼ­ Ä«µå¸¦ ãÀ» °÷ÀÌ ¾îµðÀÎÁö ¸»ÇØÁÙ¼ö ÀÖ´Ù. (±âº»ÀûÀ¸·Î <tt/0x300/°¡ ¼³Á¤µÇ¾î ÀÖÁö¸¸ ºÎÆýÃÀÇ °Ë»ö°ú´Â ´Þ¸® ´Ù¸¥ ÁÖ¼Ò¿¡ ´ëÇÑ °Ë»öÀº ÀÌ·ç¾î ÁöÁö ¾Ê´Â´Ù.) Ä«µå¸¦ ã¾ÒÀ» °æ¿ì¿¡ ´ëÇÑ °á°ú Ãâ·ÂÀº ´ÙÀ½°ú °°´Ù: <code> Checking the ethercard at 0x300. Register 0x0d (0x30d) is 00 Passed initial NE2000 probe, value 00. 8390 registers: 0a 00 00 00 63 00 00 00 01 00 30 01 00 00 00 00 SA PROM 0: 00 00 00 00 c0 c0 b0 b0 05 05 65 65 05 05 20 20 SA PROM 0x10: 00 00 07 07 0d 0d 01 01 14 14 02 02 57 57 57 57 NE2000 found at 0x300, using start page 0x40 and end page 0x80. </code> ¿©·¯ºÐÀÇ ¸®Áö½ºÅÍ °ª°ú PROM °ªµéÀº ¾Æ¸¶ ¼­·Î ´Ù¸¦ °ÍÀÌ´Ù. ¾Ë¾ÆµÑ °ÍÀº 16ºñÆ® Ä«µåÀÇ °æ¿ì ¸ðµç PROM °ªµéÀº µÎ¹èÀ̸ç, ÀÌ´õ³Ý ÁÖ¼Ò (00:00:c0:b0:05:65)´Â óÀ½ Çà¿¡, ±×¸®°í µÎ°³ÀÇ <tt/0x57/ »çÀÎÀº PROMÀÇ ¸¶Áö¸·¿¡ ³ªÅ¸³­´Ù. <tt/0x300/¿¡ ¼³Ä¡µÈ Ä«µå°¡ ¾øÀ»¶§ÀÇ °á°ú Ãâ·ÂÀº ´ÙÀ½°ú °°´Ù: <code> Checking the ethercard at 0x300. Register 0x0d (0x30d) is ff Failed initial NE2000 probe, value ff. 8390 registers: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff SA PROM 0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff SA PROM 0x10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Invalid signature found, wordlength 2. </code> <tt/0xff/ °ªµéÀº ºñ¾îÀÖ´Â I/O Æ÷Æ®¸¦ ÀÐÀ»¶§ ¹ÝȯµÇ´Â °ªÀÌ´Ù. ¸¸ÀÏ °Ë»öµÈ ¿µ¿ª ¾È¿¡ ¾î¶² ´Ù¸¥ Çϵå¿þ¾î°¡ ÀÖ´Ù¸é, <tt/0xff/ ¾Æ´Ñ °ªµéÀ» º¸°Ô µÉ °ÍÀÌ´Ù. 7) Á¦°øµÇ´Â DOS µå¶óÀ̹ö³ª ¼³Á¤ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í ³­ ÈÄ¿¡ DOS ºÎÆ® Ç÷ÎÇÇ¿¡¼­ (loadlinÀ¸·Î) ¸®´ª½º·Î ¿úºÎÆÃÀ» Çغ¸¶ó. ÀÌ°ÍÀº Ä«µå¸¦ ÃʱâÈ­ÇÏ´Â Á» ´Ù¸¥(Áï ºñÇ¥ÁØÀûÀÎ) "¸¶¹ý"ÀÌ´Ù. 8) Russ NelsonÀÇ ne2000.com ÆÐŶ µå¶óÀ̹ö·Î ¿©·¯ºÐÀÇ Ä«µå¸¦ º¼¼ö ÀÖ´ÂÁö Çغ¸¶ó -- ¸¸ÀÏ ¾Æ´Ï¸é, »óȲÀº º°·Î ÁÁÁö ¾Ê´Ù. ¿¹´Â ´ÙÀ½°ú °°´Ù. <tscreen> A:> ne2000 0x60 10 0x300 </tscreen> ÀμöµéÀº ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍ·´Æ® º¤ÅÍ, Çϵå¿þ¾î IRQ, ±×¸®°í I/O ÁÖ¼ÒÀÌ´Ù. ¿©·¯ºÐÀº ¾î¶°ÇÑ msdos ¾ÆÄ«À̺꿡¼­³ª pktdrv11.zipÀ» ¾òÀ»¼ö ÀÖ´Ù -- ÇöÀç ¹öÀüÀº ¾Æ¸¶ 11ÀÌ»óÀϲ¨´Ù. <sect1>SMC Ultra/EtherEZ ¿Í WD80*3 Ä«µåµéÀÇ ¹®Á¦<label id="8013-probs"> <p> <bf/Problem:/ ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ªÅ¸³­´Ù: <verb> eth0: bogus packet size: 65531, status=0xff, nxpg=0xff </verb> <bf/Reason:/ ÀÌ°ÍÀº °øÀ¯ ¸Þ¸ð¸® ¹®Á¦ÀÌ´Ù. <bf/Solution:/ À̹®Á¦ÀÇ °¡Àå ÀϹÝÀûÀÎ ¿øÀÎÀº ISA ¸Þ¸ð¸® ÀåÄ¡µé¾È¿¡ ¸ÅÇÎÀÌ ¼³Á¤µÇÁö ¾ÊÀº PCI ¸Ó½Åµé ¶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î ¹ÞÀº ÆÐŶµéÀÇ µ¥ÀÌŸ¸¦ °¡Áö°í ÀÖ´Â Ä«µåÀÇ RAM ´ë½Å¿¡ PCÀÇ RAM(¸ðµÎ <tt/0xff/ °ª)À» ³¡±îÁö Àд´Ù. ½±°Ô °íÄ¥¼ö ÀÖ´Â ´Ù¸¥ ÀüÅëÀûÀÎ ¹®Á¦µéÀº º¸µå Ãæµ¹, ij½¬¸¦ °¡Áö°Å³ª ±× ¿µ¿ª¿¡ ´ëÇØ `shadow ROM'À» °¡´ÉÇÒ°Ô Çϴ°Í, ¾Æ´Ï¸é ¿©·¯ºÐÀÇ ISA ¹ö½º°¡ 8Mhzº¸´Ù »¡¸£°Ô ÀÛµ¿ÇÏ´Â °æ¿ìÀÌ´Ù. À̵鵵 ¶ÇÇÑ ÀÌ´õ³Ý Ä«µå»óÀÇ ¸Þ¸ð¸® ½ÇÆÐ ¼ýÀÚ°¡ ¸¹Àºµ¥, ¸¸ÀÏ ¿©·¯ºÐÀÇ Ä«µåÁß¿¡ ±×·¯ÇÑ °ÍÀÌ ÀÖ´Ù¸é Á¡°Ë ÇÁ·Î±×·¥À» ½ÇÇàÇغ¸¶ó. <bf/Problem:/ SMC EtherEZ °¡ ºñ°øÀ¯ ¸Þ¸ð¸® (PIO) ¸ðµå¿¡¼­ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. <bf/Reason:/ Ultra µå¶óÀ̹öÀÇ ¿À·¡µÈ ¹öÀüµéÀº Ä«µå°¡ °øÀ¯ ¸Þ¸ð¸® ¸ðµå¿¡¼­¸¸ ÀÛµ¿Çϵµ·Ï µÇ¾î ÀÖ´Ù. <bf/Solution:/ Ä¿³Î ¹öÀü 2.0 ÀÌ»ó¿¡ Æ÷ÇÔµÈ µå¶óÀ̹ö´Â programmed I/O¸ðµå¿¡¼­ÀÇ ÀÛµ¿µµ Áö¿øÇÑ´Ù. v2.0 À̳ª ±× ÀÌ»óÀ¸·Î ¾÷±×·¹À̵åÇ϶ó. <bf/Problem:/ ±¸Çü wd8003 °ú/¶Ç´Â Á¡ÆÛ¼³Á¤ÀÌ °¡´ÉÇÑ wd8013°¡ Ç×»ó IRQ¸¦ À߸ø ¾ò´Â´Ù. <bf/Reason:/ ±¸Çü wd8003 Ä«µåµé°ú Á¡ÆÛ¼³Á¤ÀÌ °¡´ÉÇÑ wd8013 ȣȯÁ¦Ç°µéÀº µå¶óÀ̹ö°¡ IRQ ¼³Á¤À» ÀоîµéÀÏ EEPROMÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù. µå¶óÀ̹ö°¡ IRQ¸¦ ÀоîµéÀϼö ¾øÀ¸¸é, ±×´ÙÀ½¿¡´Â ÀÚµ¿À¸·Î IRQ¸¦ ã´Â´Ù. ±×¸®°í ¸¸ÀÏ ÀÚµ¿ IRQ°¡ ¿µÀ» ¹ÝȯÇϸé, µå¶óÀ̹ö´Â 8ºñÆ® Ä«µå¿¡°Ô´Â IRQ 5¸¦, 16ºñÆ® Ä«µå¿¡°Ô´Â IRQ 10À» ÇÒ´çÇÑ´Ù. <bf/Solution:/ ÀÚµ¿ IRQ °Ë»ö Äڵ带 ÇÇÇÏ·Á¸é, ¿©·¯ºÐÀÇ ¸ðµâ ¼³Á¤ È­ÀÏ¿¡(¶Ç´Â Ä¿³Î³»ÀÇ µå¶óÀ̹öÀÏ °æ¿ì ºÎÆýÿ¡ Àμö¸¦ ÀÌ¿ëÇؼ­) ¿©·¯ºÐÀÇ Ä«µå Á¡ÆÛ°¡ ¼³Á¤µÇ¾î ÀÖ´Â IRQ°¡ ¹«¾ùÀÎÁö Àû¾î¼­ Ä¿³Î¿¡ ¾Ë·Á¾ß ÇÑ´Ù. <bf/Problem:/ SMC Ultra Ä«µå°¡ wd8013·Î ÀâÈ÷´Âµ¥, IRQ¿Í °øÀ¯ ¸Þ¸ð¸® ÁÖ¼Ò°¡ À߸øµÇ°Ô ÀâÈù´Ù. <bf/Reason:/ Ultra Ä«µå´Â wd8013°ú ¸Å¿ì ºñ½ÁÇØ º¸¿©¼­, ¸¸ÀÏ Ultra µå¶óÀ̹ö°¡ Ä¿³Î³»¿¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, wd µå¶óÀ̹ö´Â ultra¸¦ wd8013À¸·Î À߸ø ÀνÄÇÏ°Ô µÈ´Ù. ultraÀÇ °Ë»öÀº wdÀÇ °Ë»öº¸´Ù ¸ÕÀúÇϰԵȴÙ. ±×·¡¼­ ÀÌ·±ÀÏÀº º¸Åë ÀϾÁö ¾Ê´Â´Ù. ultra´Â wd8013°ú ´Þ¸® IRQ¿Í ¸Þ¸ð¸® ÁÖ¼Ò¸¦ EEPROM¿¡ ÀúÀåÇϹǷÎ, °¡Â¥ °ªµéÀÌ º¸°íµÈ´Ù. <bf/Solution:/ ¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÑ µå¶óÀ̹öµé¸¸À» Ä¿³Î³»¿¡ ´ã¾Æ ÀçÄÄÆÄÀÏÀ» ÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ÇÑ ¸Ó½Å¿¡ wd ¿Í ultra Ä«µå¸¦ ¸ðµÎ °¡Áö°í ÀÖ°í, ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é ultra ¸ðµâÀ» ¸ÕÀú ·ÎµåÇ϶ó. <sect1>3Com Ä«µåµéÀÇ ¹®Á¦<label id="3com-probs"> <p> <bf/Problem:/ 3c503ÀÌ IRQ NÀ» °í¸£´Âµ¥, ´Ù¸¥ ÀåÄ¡µéµµ IRQ NÀ» ÇÊ¿ä·ÎÇÑ´Ù. (eg. CD ROM µå¶óÀ̹ö, ¸ðµ©, µîµî.) Ä¿³Î¾È¿¡ ÄÄÆÄÀÏÇÏÁö ¾Ê°í ÀÌ°ÍÀ» °íÄ¥¼ö´Â ¾øÀ»±î? <bf/Solution:/ 3c503 µå¶óÀ̹ö´Â {5, 9/2, 3, 4}ÀÇ ¼ø¼­´ë·Î ºñ¾îÀÖ´Â IRQ¸¦ Ž»öÇÑ´Ù. ±×¸®°í »ç¿ëÇÏ°í ÀÖÁö ¾ÊÀº°ÍÀ» °í¸¥´Ù.µå¶óÀ̹ö´Â Ä«µå°¡ <tt/ifconfig/µÇ¾îÁö°í ÀÖÀ»¶§ °í¸£°Ô µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¸ðµâ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº IRQ °ªÀ» Æ÷ÇÔÇؼ­ ¸¹Àº °ÍµéÀ» ¼³Á¤ÇϱâÀ§ÇØ ¸ðµâ ÀÎÀÚµéÀ» »ç¿ëÇÒ¼ö ÀÖ´Ù. ¾Æ·¡¿¡¼­´Â IRQ9¸¦ ¼±ÅÃÇÏ°í, ÁÖ¼Ò´Â <tt/0x300/,<¹«½ÃµÈ °ª>, ±×¸®°í if_port #1(¿ÜºÎ ´ÜÀÚ:external transceiver)·Î Á¤ÇÏ°í ÀÖ´Ù. <tscreen> io=0x300 irq=9 xcvr=1 </tscreen> ¶ÇÇÑ, ¸¸ÀÏ µå¶óÀ̹ö°¡ Ä¿³Î³»¿¡ ÄÄÆÄÀϵǾî ÀÖÀ¸¸é, ºÎÆýÿ¡ LILO¿¡ ÀÎÀÚµéÀ» ³Ñ°ÜÁÜÀ¸·ÎÇؼ­ °°Àº °ªÀ» ¼³Á¤ÇÒ¼ö ÀÖ´Ù. <tscreen> LILO: linux ether=9,0x300,0,1,eth0 </tscreen> ´ÙÀ½¿¡¼­´Â IRQ3À» ¼±ÅÃÇÏ°í, ±â¹Ý ÁÖ¼Ò¸¦ Ž»öÇϸç, <¹«½ÃµÈ °ª>, ±×¸®°í ±âº» if_port #0 (³»ºÎ ´ÜÀÚ:internal transceiver)·Î Á¤ÇÑ´Ù. <tscreen> LILO: linux ether=3,0,0,0,eth0 </tscreen> <bf/Problem:/ 3c503: ¼³Á¤µÈ ÀÎÅÍ·´Æ® X °¡ À߸øµÈ °ÍÀ̹ǷÎ, ÀÚµ¿ IRQ¸¦ »ç¿ëÇÒ °ÍÀÓ. <bf/Reason:/ 3c503 Ä«µå´Â ´ÜÁö IRQ{5, 2/9, 3, 4}Áß¿¡ Çϳª¸¸ »ç¿ëÇÑ´Ù. (À̵éÀº Ä«µå¿¡ ¿¬°áµÇ¾îÀÖ´Â ¼±ÀÏ»ÓÀÌ´Ù.) ¸¸ÀÏ ¿©·¯ºÐÀÌ À§¿¡ ¼³Á¤µÈ °ªÀÌ ¾Æ´Ñ IRQ °ªÀ» ³Ñ°ÜÁÖ¸é, ¿©·¯ºÐÀº À§¿Í°°Àº ¸Þ¼¼Áö¸¦ ¹Þ°ÔµÉ °ÍÀÌ´Ù. º¸Åë, 3c503¿¡´Â ƯÁ¤ ÀÎÅÍ·´Æ® °ªÀ» Á¤ÇØÁÙ ÇÊ¿ä°¡ ¾ø´Ù. 3c503Àº ifconfg½Ã¿¡ ÀÚµ¿IRQ¸¦ »ç¿ëÇؼ­, {5, 2/9, 3, 4}ÁßÀÇ Çϳª¸¦ IRQ°ªÀ¸·Î °®°Ô µÈ´Ù. <bf/Solution:/ À§¿¡ ³ª¿­µÈ ¿Ã¹Ù¸¥ IRQ°ªµéÁß¿¡ Çϳª¸¦ »ç¿ëÇϰųª, IRQ ÇàÀ» ÀüÇô »ç¿ëÇÏÁö ¸»°í ÀÚµ¿IRQ¸¦ ¾µ¼öÀÖ°Ô Ç϶ó. <bf/Problem:/ Á¦°øµÇ´Â 3c503 µå¶óÀ̹öµéÀº AUI (thicknet) Æ÷Æ®¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¾î¶»°Ô ±âº» thinnet Æ÷Æ®¸¦ ÅëÇØ »ç¿ëÇÒ¼ö ÀÖÀ»±î? <bf/Solution:/ 3c503 AUI Æ÷Æ®´Â Ä¿³Î³»Àå µå¶óÀ̹öÀÇ °æ¿ì¿¡´Â ºÎÆýÿ¡, ¸ðµâÀÇ °æ¿ì´Â ¸ðµâ »ðÀԽÿ¡ ¼±ÅÃÇÒ¼ö ÀÖ´Ù. ±× ¼±ÅÃÀº ÇöÀç »ç¿ëµÇÁö ¾Ê´Â dev->rmem_start º¯¼öÀÇ ³·Àº ºñÆ®¿¡ ¿À¹ö·ÎµåµÇ¾îÁø´Ù. ±×·¯¹Ç·Î Ä¿³Î¿¡ ³»ÀåµÈ µå¶óÀ̹ö¿¡ »ç¿ëÇϱâ À§ÇÑ ºÎÆ®½ÃÀÇ ÀÎÀÚ´Â ´ÙÀ½°ú °°´Ù. <tscreen> LILO: linux ether=0,0,0,1,eth0 </tscreen> ¸ðµâ·Î ÀûÀçÇÒ¶§ AUI Æ÷Æ®¸¦ Á¤ÇØÁÖ·Á¸é, ´ÜÁö <tt/xcvr=1/¸¦ ¿©·¯ºÐÀÇ I/O ¿Í IRQ °ª°ú ÇÔ²² ¸ðµâ ¿É¼Ç Çà¿¡ Ãß°¡ÇÏ¸é µÈ´Ù. To specify the AUI port when loading as a module, just append <tt/xcvr=1/ to the module options line along with your I/O and IRQ values. <sect1>¾î¶² Ä«µå¿¡µµ ƯȭµÇÁö ¾ÊÀº FAQµé. <p> <sect2>¸®´ª½º¿Í ISA Plug and Play ÀÌ´õ³Ý Ä«µåµé <p> ÃÖ¼±ÀÇ °á°ú¸¦ ¾ò±â À§Çؼ­´Â(±×¸®°í ¾Ç¿µÇâÀ» ÃÖ¼ÒÇÑÀ¸·Î) ¿©·¯ºÐÀÇ Ä«µå¿¡ µþ·Á¿À´Â (º¸Åë DOS)ÇÁ·Î±×·¥À» »ç¿ëÇؼ­ PnP ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇÏÁö ¸øÇÏ°Ô ÇÏ°í, I/O ÁÖ¼Ò¿Í IRQ¸¦ Á¤ÇÏ¸é µÈ´Ù. ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â I/O ÁÖ¼Ò°¡ ºÎÆ®½Ã¿¡ µå¶óÀ̹ö¿¡ ÀÇÇØ Å½»öµÇ´ÂÁö È®ÀÎÇÏ°í, ¸¸ÀÏ ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é <tt>/etc/conf.modules</tt>¾È¿¡ <tt/io=/¿¡ ÁÖ¼Ò¸¦ Àû¾îÁØ´Ù. ¿©·¯ºÐÀº ¶ÇÇÑ BIOS/CMOS ¼³Á¤¿¡ µé¾î°¡¼­ IRQ¸¦ PnP ´ë½Å¿¡ Legacy-ISA·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù(¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ°¡ ÀÌ ¿É¼ÇÀ» °¡Áö°í ÀÖ´Ù¸é ¸»ÀÌ´Ù). ¿©·¯ºÐÀº º¸Åë DOS±â¹ÝÀÇ ¼³Á¤ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§ÇØ DOS¸¦ ¼³Ä¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. Á¦°øµÇ´Â Ç÷ÎÇÇ µð½ºÅ©¿¡¼­ ¹Ù·Î ½ÇÇàÇϱâ À§ÇØ DOS ºÎÆà µð½ºÅ©¸¦ »ç¿ëÇصµ µÇ°í, °øÂ¥ÀÎ OpenDOS ¿Í FreeDOS¸¦ ´Ù¿î¹Þ¾Æ ¾µ¼öµµ ÀÖ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ´Ù¸¥ ¿î¿µÃ¼Á¦¿ÍÀÇ È£È¯À» À§ÇØ PnP°¡ ÇÊ¿äÇÏ´Ù¸é ºÎÆö§¸¶´Ù ¸®´ª½º°¡ Ä«µå¸¦ ¼³Á¤Çϵµ·Ï Çϱâ À§Çؼ­ isapnptools ÆÐÅ°Áö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ °æ¿ì¿¡µµ ¿©ÀüÈ÷ µå¶óÀ̹ö°¡ Ž»öÇÒ¼ö ÀÖµµ·Ï Ä«µåÀÇ I/O ÁÖ¼Ò¸¦ Á¤ÇØÁְųª <tt/io=/ ¿É¼ÇÀ» ÁÖ°í È®ÀÎÇØ¾ß ÇÑ´Ù. <sect2>ÀÌ´õ³Ý Ä«µå°¡ ºÎÆýÿ¡ ÀâÈ÷Áö ¾Ê´Â´Ù. <p> ÀÌ °æ¿ìÀÇ ÀϹÝÀûÀÎ ¿øÀÎÀº »ç¶÷µéÀÌ ±×µéÀÇ Æ¯Á¤ Ä«µå¿¡ ´ëÇÑ µå¶óÀ̹ö¸¦ ³»ÀåÇÏÁö ¾ÊÀº Ä¿³ÎÀ» »ç¿ëÇϱ⠶§¹®ÀÌ´Ù. ¸ðµâ½Ä Ä¿³ÎÀÇ °æ¿ì¿¡´Â, ¸ðµâÀÇ ÀûÀç ¿äûÀÌ ¾ø´Ù°Å³ª, ¾Æ´Ï¸é ¸ðµâ ¿É¼ÇÀ¸·Î ƯÁ¤ÇÑ I/O ÁÖ¼Ò¸¦ Á¤ÇØÁÖÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ ¼³Ä¡ÇÏ´Â °Íó·³ ¸ðµâ ±â¹ÝÀÇ Ä¿³ÎÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é, ±× ¹èÆ÷ÆÇÀÌ Á¦°øÇÏ´Â ¼³Á¤ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇؼ­ Ä«µåÀÇ ¸ðµâÀ» ¼±ÅÃÇÏ±æ ¹Ù¶õ´Ù. ISA Ä«µåµéÀÇ °æ¿ì¿¡´Â, ¸¸ÀÏ ¼³Á¤ À¯Æ¿¸®Æ¼°¡ ¿É¼Ç¿¡ °üÇØ ¹°¾îº»´Ù¸é, I/O ÁÖ¼Ò¸¦ Á¤Çؼ­ ¿É¼ÇÀ¸·Î(¿¹¸¦ µé¾î <tt/io=0x340/) Ãß°¡ÇÏ¸é µÈ´Ù. ¸¸ÀÏ ¼³Á¤ À¯Æ¿¸®Æ¼°¡ ¾ø´Ù¸é, ¿©·¯ºÐÀº ¿Ã¹Ù¸¥ ¸ðµâ À̸§(±×¸®°í ¿É¼Çµé)À» <tt>/etc/conf.modules</tt>¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù -- ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº <tt/man modprobe/¸¦ º¸±â ¹Ù¶õ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¹èÆ÷ÆÇ¿¡¼­ Á¦°øµÇ´Â ¹Ì¸® ÄÄÆÄÀÏµÈ Ä¿³ÎÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é, ¿©·¯ºÐÀÌ ¼³Ä¡ÇÑ Ä¿³ÎÀÇ ¹®¼­¸¦ º¸°í, ¿©·¯ºÐÀÇ Æ¯Á¤ Ä«µå¿¡ ´ëÇÑ Áö¿øÀÌ µé¾îÀÖ´ÂÁö¸¦ È®ÀÎÇ϶ó. ¸¸¾à µé¾îÀÖÁö ¾Ê´Ù¸é, ¿©·¯ºÐÀÇ Ä«µå¿¡ ´ëÇÑ Áö¿øÀÌ ÀÖ´Â Ä¿³ÎÀ» ±¸Çϰųª, ¿©·¯ºÐ ÀÚ½ÅÀÇ °ÍÀ» ¸¸µé¸é µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ Àڽſ¡°Ô ÇÊ¿äÇÑ µå¶óÀ̹öµé¸¸À» °¡Áö°í ÀÚ½ÅÀÇ Ä¿³ÎÀ» ¸¸µé¼ö ÀÖ´Ù¸é, Ä¿³ÎÀÇ Å©±âµµ ÁÙ°í (ÀÀ¿ë ÇÁ·Î±×·¥µéÀ» À§ÇØ ¿©·¯ºÐÀÇ Áß¿äÇÑ RAMÀ» Àý¾à!) ¹Î°¨ÇÑ Çϵå¿þ¾î¸¦ ¸Á°¡Æ®¸±¼öµµ ÀÖ´Â ¼ö¸¹Àº ÀåÄ¡¿¡ ´ëÇÑ Å½»öÀ» ÁÙÀϼö ÀÖ´Ù. Ä¿³ÎÀ» ¸¸µå´Â °ÍÀº µé¸®´Â °Íó·³ ±×¸® º¹ÀâÇÏÁö ¾Ê´Ù. ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ µå¶óÀ̹ö°¡ ¹«¾ùÀÎÁö¿¡ ´ëÇÑ Áú¹®¿¡ ³× ¶Ç´Â ¾Æ´Ï¿À·Î ´ë´ä¸¸ ÇØÁÖ¸é, ³ª¸ÓÁö´Â ¾Ë¾Æ¼­ ÇÑ´Ù. ±× ´ÙÀ½ ÁÖµÈ ¿øÀÎÀº ¿©·¯ºÐÀÇ Ä«µå°¡ ÇÊ¿ä·ÎÇÏ´Â I/O °ø°£ÀÇ ÀϺκÐÀ» ´Ù¸¥ ÀåÄ¡°¡ »ç¿ëÇÏ°í ÀÖ´Â °æ¿ìÀÌ´Ù. ´ëºÎºÐÀÇ Ä«µåµéÀº 16 ¶Ç´Â 32 ¹ÙÀÌÆ®ÀÇ I/O °ø°£À» ÇÊ¿ä·ÎÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÇ Ä«µå°¡ <tt/0x300/ ¿¡ 32 ¹ÙÀÌÆ®ÀÇ °ø°£À¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é, µå¶óÀ̹ö´Â <tt/0x300-0x31f/¸¦ ¿ä±¸ÇÏ°Ô µÈ´Ù. ¸¸ÀÏ ¾î¶² ´Ù¸¥ ÀåÄ¡ µå¶óÀ̹ö°¡ ±× ¹üÀ§³»¿¡ ¾îµð¶óµµ µî·ÏÀÌ µÇ¾î ÀÖÀ¸¸é, ±× ÁÖ¼Ò¿¡ ´ëÇÑ Å½»öÀº ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¸ç, µå¶óÀ̹ö´Â ¾Æ¹«¸»¾øÀÌ ´ÙÀ½ Ž»ö ÁÖ¼Ò·Î ³Ñ¾î°¡¼­ Ž»öÀ» °è¼ÓÇÏ°Ô µÈ´Ù. ±×·¯¹Ç·Î, ºÎÆà ÈÄ¿¡, <tt>cat /proc/ioports</tt>¸¦ Ãļ­ Ä«µå°¡ ÇÊ¿ä·Î ÇÏ´Â I/O ÁÖ¼Ò °ø°£ ¸ðµÎ°¡ ºñ¾îÀÖ´ÂÁö¸¦ È®ÀÎÇØ º¸¾Æ¾ß ÇÑ´Ù. ¶Ç´Ù¸¥ ¹®Á¦´Â ¿©·¯ºÐÀÇ Ä«µå°¡ Á¡ÆÛ·Î ¼³Á¤µÈ I/O ÁÖ¼Ò°¡ ±âº»ÀûÀ¸·Î Ž»öÀÌ µÇÁö ¾Ê´Â °ÍÀÌ´Ù. °¢ µå¶óÀ̹öÀÇ Å½»öÇÏ´Â ÁÖ¼Ò ¸ñ·ÏÀº µå¶óÀ̹ö ¼Ò½º³»ÀÇ ÁÖ¼®¹® ´ÙÀ½¿¡¼­ ½±°Ô ¹ß°ßÇÒ ¼ö ÀÖ´Ù. ºñ·Ï ¿©·¯ºÐÀÇ Ä«µå°¡ ¼³Á¤µÈ I/O ÁÖ¼Ò°¡ ¸ñ·Ï¿¡ ¾ø´õ¶óµµ, ºÎÆýÿ¡(Ä¿³Î¿¡ ³»ÀåµÈ µå¶óÀ̹öÀÇ °æ¿ì) <tt/ether=/¸í·ÉÀ» ÅëÇØ ÁÖ¼Ò¸¦ ³Ñ°ÜÁÙ¼ö ÀÖ´Ù. ÀÌ ¸í·ÉÀº ´ÙÀ½ Àå¼Ò¿¡ ¼³¸í µÇ¾î ÀÖ´Ù. <ref id="lilo" name="ÀÌ´õ³Ý Àμöµé ³Ñ°ÜÁÖ±â..."> ¸ðµâ µå¶óÀ̹öµéÀÇ °æ¿ì¿¡´Â <tt>/etc/conf.modules</tt>³»¿¡ <tt/io=/ ¿É¼ÇÀ» »ç¿ëÇؼ­ ±âº»ÀûÀ¸·Î Ž»öµÇÁö ¾Ê´Â ÁÖ¼Ò¸¦ Á¤ÇØÁÙ¼ö ÀÖ´Ù. <sect2><tt/ifconfig/°¡ Ä«µå¿¡ ´ëÇØ À߸øµÈ I/O ÁÖ¼Ò¸¦ º¸¿©ÁØ´Ù. <p> ±×·¸Áö ¾Ê´Ù. ¿©·¯ºÐÀÌ ±× ³»¿ëÀ» À߸ø Çؼ®ÇÑ °ÍÀÏ»ÓÀÌ´Ù. ÀÌ°ÍÀº ¹ö±×°¡ <em/¾Æ´Ï´Ù/. ±×¸®°í º¸¿©ÁÖ´Â ¼ýÀÚµéÀº ¿Ã¹Ù¸¥ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Çö»óÀº óÀ½ Á¤ÇØÁø I/O Æ÷Æ®¿Í »óÃæµÇ´Â ÀÚ¸®¿¡ ½ÇÁ¦ 8390ĨÀ» °¡Áø ¸î¸î 8390 ±â¹ÝÀÇ Ä«µåµé(wd80x3, smc-ultra, µîµî)ÇÑÅ×¼­ ÀϾ´Ù. ÀÌ°ÍÀº <tt/dev->base_addr/¿¡ ÀÖ´Â °ªÀ¸·Î, <tt/ifconfig/·Î º¼¼ö ÀÖ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¿©·¯ºÐÀÇ Ä«µå°¡ »ç¿ëÇÏ´Â Æ÷Æ®ÀÇ Àüü ¹üÀ§¸¦ º¸·Á¸é, <tt>cat /proc/ioports</tt>¸¦ Çغ¸¸é, ¿©·¯ºÐÀÌ ±â´ëÇß´ø ¼ýÀÚµéÀ» º¼¼ö ÀÖÀ» °ÍÀÌ´Ù. <sect2>PCI ¸Ó½ÅÀº Ä«µå¸¦ ã¾Æ³»Áö¸¸ µå¶óÀ̹ö´Â Ž»ö¿¡ ½ÇÆÐÇÑ´Ù. <p> ¸î¸î PCI BIOSµéÀº Àü¿øÀ» Ä×À»¶§ ¸ðµç PCI Ä«µåµéÀ» »ç¿ëÇÒ¼ö ÀÖ°Ô ÇÏÁö´Â ¾Ê´Âµ¥, ƯÈ÷ BIOS ÀÇ ¿É¼ÇÀÌ `PNP OS'°¡ »ç¿ë°¡´ÉÇÏ°Ô µÇ¾îÀÖ´Ù¸é ±×·¸´Ù. ÀÌ À߸øµÈ ºÎºÐÀº ¾ÆÁ÷µµ ¿©ÀüÈ÷ ¸î¸î ¸®¾ó¸ðµå µå¶óÀ̹öµéÀ» »ç¿ëÇÏ°í ÀÖ´Â ÇöÀçÀÇ À©µµ¿ì °è¿­À» Áö¿øÇϱâ À§ÇÑ °ÍÀÌ´Ù. ÀÌ ¿É¼ÇÀ» disable·Î Çϰųª, »ç¿ëÇÒ¼ö ¾ø°Ô ¼³Á¤µÈ Ä«µå¸¦ »ç¿ëÇÒ¼ö ÀÖ°ÔÇÏ´Â Äڵ带 °¡Áø »õ·Î¿î µå¶ó À̹ö·Î ¾÷±×·¹À̵åÇÏ¸é µÈ´Ù. <sect2>PCI ¸Ó½Å³»ÀÇ °øÀ¯ ¸Þ¸ð¸® ISA Ä«µåµéÀÌ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù (<tt/0xffff/) <p> ÀÌ°ÍÀº º¸Åë ¼ö¸¹Àº <tt/0xffff/ °ªµéÀ» ÀоîµéÀ̱⠶§¹®¿¡ ÀϾ´Ù. PCI ¸Ó½Å³»¿¡¼­´Â °øÀ¯ ¸Þ¸ð¸® Ä«µåµéÀº ¸¸ÀÏ ¿©·¯ºÐÀÌ PCI ROM BIOS/CMOS SETUP ¼³Á¤À» Á¦´ë·Î ÇÏÁö ¾Ê´Â´Ù¸é ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ¿©·¯ºÐÀº ¿©·¯ºÐÀÇ Ä«µå°¡ »ç¿ëÇÏ·Á°í ÇÏ´Â ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇؼ­ ISA ¹ö½º¿¡¼­ °øÀ¯ ¸Þ¸ð¸® Á¢±ÙÀ» Çã¿ëÇϵµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¾î¶»°Ô ¼³Á¤ÇØ¾ß ÇÏ´ÂÁö ÀÌÇØÇÏÁö ¸øÇÏ°Ú´Ù¸é, ¿©·¯ºÐÀ» µµ¿ÍÁÖ´Â »ç¶÷À̳ª Áö¿ªÀÇ °í¼öµé¿¡°Ô ¹°¾îº¸¶ó. AMI BIOSÀÇ °æ¿ì¿¡´Â, º¸Åë "Plug and Play"ºÎºÐÀÌ ÀÖ°í ±×¾È¿¡ ``ISA Shared Memory Size" ¿Í ``ISA Shared Memory Base" ¼³Á¤ÀÌ ÀÖ´Ù. wd8013 À̳ª SMC Ultra¿Í °°Àº Ä«µåµéÀÇ °æ¿ì¿¡´Â ±âº»ÀûÀ¸·Î `Disabled'¶ó°í µÇ¾îÀÖ´Â °ÍÀ» 16kB·Î Å©±â¸¦ ¹Ù²Ù¾îÁÖ°í, ¿©·¯ºÐ Ä«µåÀÇ °øÀ¯ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ ¹Ù²Ù¾îÁÖ¸é µÈ´Ù. <sect2>Ä«µå°¡ µ¥ÀÌŸ¸¦ º¸³»´Â°Í °°Àºµ¥ ¾Æ¹«°Íµµ ¹ÞÁö¸¦ ¸øÇÑ´Ù. <p> <tt>cat /proc/interrupts</tt> Çغ¸¶ó. ¿©·¯ºÐÀÇ Ä«µå°¡ »ý¼ºÇÑ ½ÇÇàÁßÀÎ ÀÎÅÍ·´Æ® À̺¥Æ®ÀÇ ÃѼýÀÚ°¡ ¸ñ·Ï¿¡ ÀÖÀ» °ÍÀÌ´Ù. ¸¸ÀÏ ±×°ÍÀÌ ¿©·¯ºÐÀÌ Ä«µå¸¦ »ç¿ëÇÏ·Á°í ÇÒ¶§¿¡µµ 0À̰ųª ´õÀÌ»ó Áõ°¡ÇÏÁö ¾Ê´Â´Ù¸é ÄÄÇ»Åͳ»¿¡ ¹°¸®ÀûÀ¸·Î ÀÎÅÍ·´Æ®°¡ Ãæµ¹ÇÏ´Â ´Ù¸¥ ÀåÄ¡°¡ ÀÖ´Â °ÍÀÌ´Ù(´Ù¸¥ ÀåÄ¡ÀÇ µå¶óÀ̹ö°¡ ¼³Ä¡/»ç¿ë °¡´ÉÇÑ°¡´Â ¾Æ´Ñ°¡´Â ½Å°æ¾µ ÇÊ¿äµµ ¾ø´Ù). µÎ ÀåÄ¡Áß¿¡ ÇϳªÀÇ IRQ¸¦ ºñ¾îÀÖ´Â °ÍÀ¸·Î ¹Ù²Ù¾î¶ó. <!-- <sect2>NexGen machine gets `mismatched read page pointers' errors. <p> A quirk of the NexGen CPU caused all users with 8390 based cards (wd80x3, 3c503, SMC Ultra/EtherEZ, ne2000, etc.) to get these error messages. Kernel versions 2.0 and above do not have these problems. Upgrade your kernel. --> <sect2>ºñµ¿±â Àü¼Û ¸ðµå (ATM) Áö¿ø <p> Werner Almesberger ´Â ¸®´ª½º¿¡¼­ÀÇ ATM Áö¿øÀ» ÀÛ¾÷ÇÏ°í ÀÖ´Ù. ±×´Â Efficient Networks ENI155p º¸µå(<url url="http://www.efficient.com/" name="Efficient Networks">) ¿Í Zeitnet ZN1221 º¸µå (<url url="http://www.zeitnet.com/" name="Zeitnet">) ¸¦ »ç¿ëÇؼ­ ÀÛ¾÷ÁßÀÌ´Ù. Werner ´Â ENI155p¿ë µå¶óÀ̹ö°¡ Á»´õ ¾ÈÁ¤ÀûÀÌ°í, ZN1221¿ë µå¶óÀ̹ö´Â ÇöÀç ¿Ï·áµÇÁö ¾Ê¾Ò´Ù°í ¸»ÇÑ´Ù. ÃÖ½ÅÀÇ/°»½ÅµÈ ÀÚ·á´Â ´ÙÀ½ÀÇ URLÀ» È®ÀÎÇغ¸±â ¹Ù¶õ´Ù. <url url="http://lrcwww.epfl.ch/linux-atm/" name="¸®´ª½º ATM Áö¿ø"> <sect2>±â°¡¹ÙÀÌÆ® ÀÌ´õ³Ý Áö¿ø <p> ¸®´ª½º¿¡ ±â°¡¹ÙÀÌÆ® ÀÌ´õ³Ý¿¡ ´ëÇÑ Áö¿øÀÌ ÀÖ³ª? ÀÖ´Ù, ÇöÀç Àû¾îµµ µÎ°³°¡ ÀÖ´Ù. Packet Engines G-NIC PCI ±â°¡ºñÆ® ÀÌ´õ³Ý ¾Æ´äÅÍ¿ë µå¶óÀ̹ö´Â v2.0°ú v2.2 Ä¿³Î¿¡¼­ »ç¿ëÇÒ¼ö ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ë°ú Áö¿ø, ±×¸®°í µå¶óÀ̹ö ¾÷µ¥ÀÌÆ®´Â ´ÙÀ½À» º¸¶ó. <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html</tt> v2.2 Ä¿³Î¿¡¼­ »ç¿ëÇÒ¼ö ÀÖ´Â <tt/acenic.c/ µå¶óÀ̹ö´Â Alteon AceNIC ±â°¡ºñÆ® ÀÌ´õ³Ý Ä«µå¿Í 3Com 3c985 °°Àº ´Ù¸¥ Tigon ±â¹Ý Ä«µåµé¿¡¼­ »ç¿ëÇÒ¼ö ÀÖ´Ù. ±× µå¶óÀ̹ö´Â NetGear GA620 ¿¡¼­µµ ÀÛµ¿ÇØ¾ß ÇÏÁö¸¸, ÀÌ°ÍÀº ¾ÆÁ÷ È®ÀεÇÁö ¾Ê¾Ò´Ù. <sect2>FDDI Áö¿ø <p> ¸®´ª½º¿¡ FDDI Áö¿øÀÌ ÀÖ³ª? ÀÖ´Ù. Larry StefaniÀº Digital's DEFEA (FDDI EISA)¿Í DEFPA (FDDI PCI) Ä«µåµé·Î v2.0¿ë µå¶óÀ̹ö¸¦ ¸¸µé¾ú´Ù. ÀÌ°ÍÀº v2.0.24 Ä¿³Î¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ÇöÀç ´Ù¸¥ Ä«µåµé¿¡ ´ëÇÑ Áö¿øÀº ¾ø´Ù. <sect2>Full Duplex Áö¿ø <p> Full Duplex °¡ 20MBps¸¦ ³»´Â°¡? ¸®´ª½º°¡ ±×°ÍÀ» Áö¿øÇϴ°¡? Cameron Spitzer´Â full duplex 10Base-T Ä«µåµé¿¡ ´ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ½è´Ù: ``¸¸ÀÏ ¿©·¯ºÐÀÌ full duplex ½ºÀ§Ä¡ Çãºê¿¡ ¿¬°áÇÑ´Ù¸é, ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀº ÃæºÐÈ÷ ºü¸£°ÚÁö¸¸ ¾ÆÁÖ ¿ùµîÈ÷´Â ¾Æ´Ï´Ù. ÀÌ°ÍÀº ¾ç¹æÇâ ¿¬°áÀÌ °è¼ÓµÇµµ·Ï ÇÒ »ÓÀÌ´Ù. full duplex 10BASE-2 ³ª 10BASE-5 °°Àº °Í(thin °ú thick coax)Àº ¾ø´Ù. Full Duplex´Â ¾Æ´äÅÍÀÇ Ãæµ¹ °ËÃâÀ» »ç¿ëÇÒ¼ö ¾ø°Ô ¸¸µêÀ¸·Î ½á ÀÛµ¿ÇÑ´Ù. ÀÌ°ÍÀÌ µ¿Ãà ÄÉÀ̺í·Î ÇÒ¼ö¾ø´Â ÀÌÀ¯ÀÌ´Ù; LANÀº ±×±æ·Î´Â °¡Áö ¾ÊÀ» °ÍÀÌ´Ù. 10BASE-T (RJ45 ´ÜÀÚ)´Â º¸³»°í ¹Þ±âÀ§ÇØ ºÐ¸®µÈ ¼±µéÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ µ¿½Ã¿¡ ¾ç¹æÇâÀ¸·Î °¡´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ½ºÀ§Äª Çãºê´Â Ãæµ¹ ¹®Á¦¸¦ »ìÇÉ´Ù. Àü¼Û·üÀº 10MbpsÀÌ´Ù. ±×·¯¹Ç·Î ¿©·¯ºÐÀÌ º¼¼ö ÀÖ´Â °Í°ú °°ÀÌ, ¿©ÀüÈ÷ ´ÜÁö 10Mbps·Î º¸³»°í ¹ÞÀ»¼ö ÀÖ°í, µÎ¹èÀÇ ¼º´É Çâ»óÀº ±â´ëÇÏÁö ¾Ê´Â°ÍÀÌ ÁÁ´Ù. ±×°ÍÀÌ Áö¿øµÇ´ÂÁö ¾ÈµÇ´ÂÁöºz Ä«µå¿Í »ç¿ë°¡´ÉÇÑ µå¶óÀÌ ¹ö¿¡ ´Þ·ÁÀÖ´Ù. ¸î¸î Ä«µåµéÀº ÀÚµ¿Ã³¸®¸¦ Çϱ⵵ ÇÏ°í, ¸î¸îÀº µå¶óÀ̹ö Áö¿øÀ» ÇÊ¿ä·ÎÇϸç, ¶Ç ¾î¶²°ÍµéÀº Ä«µåÀÇ EEPROM ¼³Á¤¿¡¼­ »ç¿ëÀÚµéÀÌ ¿É¼ÇÀ» ¼³Á¤ÇØÁÙ ÇÊ¿ä°¡ ÀÖ´Ù. ´ÜÁö ½É°¢ÇÑ/ °ÆÁ¤¸¹Àº(serious/heavy) »ç¿ëÀڵ鸸ÀÌ µÎ ¸ðµå°£ÀÇ Â÷ÀÌ¿¡ ½Å°æ¾µ »ÓÀÌ´Ù. <sect2>SMP ¸Ó½Å»óÀÇ ¸®´ª½º¸¦ À§ÇÑ ÀÌ´õ³Ý Ä«µåµé <p> ¸¸ÀÏ ¿©·¯ºÐÀÌ ¿©ºÐÀÇ µ·À» ´ÙÁß ÇÁ·Î¼¼¼­(MP) ÄÄÇ»ÅÍ¿¡ ¾²·Á°í ÇÑ´Ù¸é, ±×¸¸Å­ ÁÁÀº ÀÌ´õ³Ý Ä«µå¸¦ »ç¾ßÇÑ´Ù. v2.0 Ä¿³Î¿¡¼­´Â Á¤¸» À̾߱âÀÇ ´ë»óÀÌ µÇÁöµµ ¾Ê¾ÒÁö¸¸, v2.2¿¡¼­´Â µÇ°í ÀÖ´Ù. ´ëºÎºÐÀÇ ¶È¶ÈÇÏÁö ¸øÇÑ ±¸ÇüÀÇ Ä«µåµé(¿¹¸¦ µé¾î ISA ¹ö½º PIO ¿Í °øÀ¯ ¸Þ¸ð¸® µðÀÚÀÎ) Àº MP ¸Ó½Å»ó¿¡¼­ »ç¿ë¿¡ ´ëÇØ Á¶±Ýµµ °í·ÁÇÏÁö¾Ê°í ¸¸µé¾îÁ³´Ù. °á·ÐÀûÀ¸·Î ¸»ÇÏÀÚ¸é, ¶È¶ÈÇÑ Çö´ëÀû µðÀÚÀÎÀÇ Ä«µå¸¦ »ç°í MP ÀÛ¾÷À» ´Ù·ê¼ö ÀÖ°Ô ÀÛ¼ºµÈ (¶Ç´Â °»½ÅµÈ) µå¶óÀ̹ö°¡ ÀÖ´ÂÁö È®ÀÎÇ϶ó. (ÇÙ½ÉÀº `Çö´ëÀû µðÀÚÀÎ'ÀÌ´Ù - PCI NE2000Àº Çö´ëÀûÀÎ ¹ö½º»óÀÇ Àû¾îµµ 10³âÀÌ»óµÈ ±¸ µðÀÚÀÎÀÌ´Ù.) µå¶óÀ̹ö ¼Ò½º³»ÀÇ <tt/spin_lock/ ¸¦ ãÀ¸¸é, ÀÌ´Â ±× µå¶óÀ̹ö°¡ MP ÀÛ¾÷À» ´Ù·ê¼ö ÀÖ°Ô ÀÛ¼ºµÈ °ÍÀ̶ó´Â °ÍÀ» ¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù. ¿Ö ¿©·¯ºÐÀÌ MP¸¦ »ç¿ëÇϱâ À§Çؼ­ ÁÁÀº Ä«µå¸¦ »ç¾ß ÇÏ´ÂÁö¿¡ ´ëÇؼ­´Â (±×¸®°í ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ¾î¶°ÇÑ ÀÏÀÌ ÀϾ ´ÂÁö) ´ÙÀ½À» º¸±â ¹Ù¶õ´Ù. Ä¿³Î v2.0 ¿¡¼­´Â, `Ä¿³Î³»¿¡'(Áï, Ä¿³Î µ¥ÀÌŸ¸¦ ¹Ù²Ù°í, ¶Ç´Â ÀåÄ¡ µå¶óÀ̹öµéÀ» ½ÇÇàÇϴµ¥) ¾ðÁ¦³ª ´ÜÁö ÇϳªÀÇ ÇÁ·Î¼¼¼­¸¸ÀÌ Çã¿ëµÇ¾ú´Ù. ±×·¯¹Ç·Î Ä«µåÀÇ °üÁ¡¿¡¼­´Â (±×¸®°í ¿¬°üµÈ µå ¶óÀ̹ö¿¡¼­µµ) ´ÜÀÏ ÇÁ·Î¼¼¼­ (UP) ÀÛ¾÷°ú´Â ÀÛµ¿ÀÌ °è¼ÓµÈ´Ù´Â °Í ¸»°í´Â ¾Æ¹«·± Â÷ÀÌ°¡ ¾ø¾ú ´Ù. (ÀÌ°ÍÀÌ µ¿ÀÛÇÏ´Â ¸®´ª½ºÀÇ MP¹öÀüÀ» ±¸ÇÏ´Â °¡Àå ¼Õ½¬¿î ¹æ¹ýÀÌ´Ù - ÀÏÁ¤ ½Ã°£¿¡ ´ÜÁö ÇÏ ³ªÀÇ ÇÁ·Î¼¼¼­¸¸ÀÌ Àüü Ä¿³Î¿¡ Å« ¶ôÀ» °Éµµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀº ¿©·¯ºÐµµ ¾Ë´Ù½ÃÇÇ µ¿ ½Ã¿¡ °°Àº °ÍÀ» µÎ ÇÁ·Î¼¼¼­°¡ º¯°æÇÏÁö ¸øÇÏ°Ô ÇÏ´Â °ÍÀ̴٠ƯÁ¤ ½Ã°£¿¡ Ä¿³Î³»¿¡ ÇϳªÀÇ ÇÁ·Î¼¼¼­¸¸ÀÌ Çã¿ëµÇ´Â »óȲÇÏ¿¡¼­, ¿©·¯ºÐÀº ½ÇÇàµÇ´Â ÇÁ·Î±×·¥ ÀÌ ÀÚ½ÅÀ» Æ÷ÇÔÇÏ°í ÀǵµÀûÀÎ °è»êÀ» ÇÒ °æ¿ì¿¡¸¸ MP ¼º´ÉÀ» ¾òÀ»¼ö ÀÖ´Ù. ¸¸ÀÏ ÇÁ·Î±×·¥ÀÌ µð½ºÅ©³ª ³×Æ®¿öÅ©¸¦ ÅëÇÏ¿© µ¥ÀÌŸ¸¦ ÀÐ°í ¾²´Â ÀÏ °°Àº ÀÔ/Ãâ·Â(I/O)À» ¸¹ÀÌ ÇÑ´Ù¸é, Ä¿³Î³» ¿¡ ½ÇÇàÁßÀÎ ÇϳªÀÇ ÇÁ·Î¼¼¼­°¡ ÀåÄ¡ µå¶óÀ̹öµéÀÇ ÀÔÃâ·Â ¿äûÀ» ½ÇÇàÇϱâ À§ÇØ ½ÃµµÇÏ´Â µ¿¾È¿¡ ´Ù¸¥ ¸ðµç ÇÁ·Î¼¼¼­µéÀº ±×µéÀÇ ÀÔÃâ·Â ¿äûÀÌ ³¡³ª±â¸¸À» ±â´Ù·Á¾ß ÇÑ´Ù. Ä¿³ÎÀÌ º´¸ñ ÀÌ µÇ¾î ´ÜÁö ÇϳªÀÇ ÇÁ·Î¼¼¼­¸¸ÀÌ ½ÇÇàÁß¿¡ ÀÖ°Ô µÇ¹Ç·Î, single-lock ÀÎ, ÀÔÃâ·ÂÀÌ ¸¹Àº MP ¸Ó½ÅÀÇ ¼º´ÉÀº ±Þ¼Óµµ·Î ´ÜÀÏ ÇÁ·Î¼¼¼­ ¸Ó½Å¿¡ °¡±õ°Ô ¶³¾îÁö°Ô µÈ´Ù. ÀÌ°ÍÀº »ý°¢Çß´ø °Íº¸´Ù È®½ÇÈ÷ ¶³¾îÁö±â ¶§¹®¿¡ (ƯÈ÷, ÆÄÀÏ/WWW ¼­¹ö, ¶ó¿ìÅÍ, µîµî) v2.2 Ä¿³Î¿¡¼­´Â ´õ ÁÁÀº grained lockingÀ» °¡Áö°Ô µÇ¾ú´Ù - ÀÌ°ÍÀº µ¿½Ã¿¡ ÇϳªÀÌ»óÀÇ ÇÁ·Î¼¼¼­°¡ Ä¿³Î³»¿¡ Á¸ÀçÇÒ¼ö ÀÖ´Ù´Â °ÍÀ» ¶æÇÑ´Ù. Àüü Ä¿³Î¿¡ ´ëÇÑ ÇϳªÀÇ big lock ´ë½Å¿¡, Çϳª ÀÌ»ó ÀÇ ÇÁ·Î¼¼¼­°¡ µ¿½Ã¿¡ µ¥ÀÌŸ¸¦ º¹Á¦ÇÏ´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ­ ´Ù¼öÀÇ ÀÛÀº ¶ôµéÀÌ Á¸ÀçÇÏ°Ô µÇ¾ú´Ù. - Áï ÇϳªÀÇ ÇÁ·Î¼¼¼­°¡ ³×Æ®¿öÅ© Ä«µåÀÇ µå¶óÀ̹ö¸¦ ½ÇÇàÇÏ´Â µ¿¾È¿¡, ´Ù¸¥ ÇÁ·Î¼¼¼­ ´Â µ¿½Ã¿¡ µð½ºÅ© µå¶óÀ̺꿡 ´ëÇÑ µå¶óÀ̹ö¸¦ ½ÇÇàÇÒ¼ö ÀÖ´Ù. Okay, with that all in mind here are the snags: The finer locking means that you can have one processor trying to send data out through an ethernet driver while another processor tries to access the same driver/card to do something else (such as get the card statistics for <tt>cat /proc/net/dev</tt>). Oops - your card stats just got sent out over the wire, while you got data for your stats instead. Yes, the card got confused by being asked to do two (or more!) things at once, and chances are it crashed your machine in the process. ±×·¡¼­, UP¿¡¼­ ÀÛµ¿ÇÏ´Â µå¶óÀ̹öµéÀº ´õÀÌ»ó ÃæºÐÄ¡ ¾Ê´Ù - À̵éÀº ¼³Á¤ µ¥ÀÌŸÀÇ ¹Þ°í, Àü¼ÛÇÏ°í, º¹»çÇÏ´Â ¼¼°¡Áö ÀÛ¾÷µéÀ» Ä«µå°¡ ¾ÈÁ¤µÈ ÀÛµ¿À» ÇÒÁ¤µµ·Î Á÷·ÄÈ­µÈ Ä«µåÀÇ Á¢±ÙÁ¦¾î ¶ôµéÀ» °»½ÅÇؾ߸¸ ÇÑ´Ù. The scary part here is that a driver not yet updated with locks for stable MP operation will probably appear to be working in a MP machine under light network load, but will crash the machine or at least exhibit strange behaviour when two (or more!) processors try to do more than one of these three tasks at the same time. The updated MP aware ethernet driver will (at a minimum) require a lock around the driver that limits access at the entry points from the kernel into the driver to `one at a time please'. With this in place, things will be serialized so that the underlying hardware should be treated just as if it was being used in a UP machine, and so it should be stable. The downside is that the one lock around the whole ethernet driver has the same negative performance implications that having one big lock around the whole kernel had (but on a smaller scale) - i.e. you can only have one processor dealing with the card at a time. [Technical Note: The performance impact may also include increased interrupt latencies if the locks that need to be added are of the <tt/irqsave/ type and they are held for a long time.&rsqb Possible improvements on this situation can be made in two ways. You can try to minimize the time between when the lock is taken and when it is released, and/or you can implement finer grained locking within the driver (e.g. a lock around the whole driver would be overkill if a lock or two protecting against simultaneous access to a couple of sensitive registers/settings on the card would suffice). However, for older non-intelligent cards that were never designed with MP use in mind, neither of these improvements may be feasible. Worse yet is that the non-intelligent cards typically require the processor to move the data between the card and the computer memory, so in a worst case scenario the lock will be held the whole time that it takes to move each 1.5kB data packet over an ISA bus. The more modern intelligent cards typically move network data directly to and from the computer memory without any help from a processor. This is a big win, since the lock is then only held for the short time it takes the processor to tell the card where in memory to get/store the next network data packet. More modern card designs are less apt to require a single big lock around the whole driver as well. <sect2>Alpha/AXP PCI º¸µåµé »óÀÇ ¸®´ª½º¸¦ À§ÇÑ ÀÌ´õ³Ý Ä«µåµé <p> v2.0¿¡¼­´Â, ´ÜÁö 3c509, depca, de4x5, pcnet32, ±×¸®°í ¸ðµç 8390 µå¶óÀ̹öµé(wd, smc-ultra, ne, 3c503, µîµî.)¸¸ÀÌ DEC Alpha CPU ±â¹Ý ½Ã½ºÅÛµé»ó¿¡¼­ ÀÛµ¿ÇÒ¼ö ÀÖÀ» Á¤µµ·Î `¾ÆÅ°ÅØó µ¶¸³Àû'À¸·Î ¸¸µé¾îÁ³´Ù. DonaldÀÇ WWW ÆäÀÌÁö¿¡¼­µµ ¾ÆÅ°ÅØó µ¶¸³ÀûÀ¸·Î ¸¸µé¾îÁø ´Ù¸¥ ¾÷µ¥ÀÌÆ®µÈ PCI µå¶óÀ̹öµéÀ» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. µå¶óÀ̹ö¸¦ ¾ÆÅ°ÅØó µ¶¸³ÀûÀ¸·Î ¹Ù²Ù´Â °ÍÀº º¹ÀâÇÏÁö ¾Ê´Ù. ¿©·¯ºÐÀº ´ÜÁö ´ÙÀ½À» µû¶ó ÇÏ¸é µÈ´Ù. -multiply all <tt/jiffies/ related values by HZ/100 to account for the different HZ value that the Alpha uses. (i.e <tt/timeout=2;/ becomes <tt>timeout=2*HZ/100;</tt>) -replace any I/O memory (640k to 1MB) pointer dereferences with the appropriate readb() writeb() readl() writel() calls, as shown in this example. <code> - int *mem_base = (int *)dev->mem_start; - mem_base[0] = 0xba5eba5e; + unsigned long mem_base = dev->mem_start; + writel(0xba5eba5e, mem_base); </code> -replace all memcpy() calls that have I/O memory as source or target destinations with the appropriate one of <tt/memcpy_fromio()/ or <tt/memcpy_toio()/. Details on handling memory accesses in an architecture independent fashion are documented in the file <tt>linux/Documentation/IO-mapping.txt</tt> that comes with recent kernels. <sect2>SUN/Sparc Çϵå¿þ¾î »óÀÇ ¸®´ª½º¸¦ À§ÇÑ ÀÌ´õ³Ý <p> ½ºÆÅ »óÀÇ ¸ðµç ÃÖ½ÅÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ »çÀÌÆ®¿¡¼­ º¼¼ö ÀÖ´Ù. <url url="http://www.geog.ubc.ca/sparc" name="Linux Sparc"> ¾Ë¾ÆµÖ¾ß ÇÒ °ÍÀº ¸î¸î ½ºÆÅ ÀÌ´õ³Ý Çϵå¿þ¾î´Â È£½ºÆ® ÄÄÇ»ÅͷκÎÅÍ MAC ÁÖ¼Ò¸¦ °¡Á®¿À¹Ç·Î, ¿©·¯ºÐÀº ¿©·¯°³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ °°Àº µ¿ÀÏÇÑ MAC ÁÖ¼Ò·Î ÇØÁÙ¼ö ÀÖ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ µ¿ÀÏÇÑ ³×Æ®¿öÅ© »ó¿¡ Çϳª ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º¸¦ ³õ¾Æ¾ß ÇÑ´Ù¸é, <tt/ifconfig/¿¡ À¯ÀÏÇÑ MAC ÁÖ¼Ò¸¦ ÇÒ´çÇϱâ À§ÇØ <tt/hw/ ¿É¼ÇÀ» »ç¿ëÇ϶ó. PCI µå¶óÀ̹öµéÀ» ½ºÆÅ Ç÷§Æû¿¡ Æ÷ÆÃÇϴµ¥ÀÇ ¹®Á¦´Â À§¿¡¼­ ¾ð±ÞÇÑ AXP Ç÷§ÆûÀÇ °æ¿ì¿Í °°´Ù. ¶ÇÇÑ ¿©±â¿¡´Â ½ºÆÅÀÌ ºò ¿£µð¾ÈÀ», ±×¸®°í AXP¿Í ix86ÀÌ ¸®Æ² ¿£µð¾ÈÀ̱⠶§¹®¿¡, ÀÌ ¿£µð¾È¿¡ °üÇÑ ¹®Á¦µµ ÀÖ´Ù. <sect2>´Ù¸¥ Çϵå¿þ¾î»óÀÇ ¸®´ª½º¸¦ À§ÇÑ ÀÌ´õ³Ý <p> ¿©±â¿¡´Â ¸®´ª½º°¡ ½ÇÇàµÉ¼ö ÀÖ´Â, Atari/Amiga (m68k) °°Àº ¸î¸î ´Ù¸¥ Çϵå¿þ¾î Ç÷§ÆûÀÌ ÀÖ´Ù. SparcÀÇ °æ¿ì¿¡´Â °¢ ¸®´ª½º Æ÷Æ®ÀÇ È¨ »çÀÌÆ®¿¡ °¡´Â°ÍÀÌ ±× Ç÷§Æû¿¡¼­ ÇöÀç Áö¿øµÇ´Â °ÍÀ» º¼¼ö ÀÖ´Â °¡Àå ÁÁÀº ¹æ¹ýÀÌ´Ù. (±×·± »çÀÌÆ®µéÀ̶ó¸é ¸µÅ©¸¦ ȯ¿µÇÕ´Ï´Ù - ¿©±â·Î º¸³»ÁÖ ¼¼¿ä!) <sect2>Çãºê¾øÀÌ 10 ¶Ç´Â 100 BaseT ¿¬°áÇϱâ <p> Çãºê¾øÀÌ 10/100BaseT (RJ45) ±â¹Ý ½Ã½ºÅÛµéÀ» ÇÔ²² ¿¬°áÇÒ¼ö Àִ°¡? ¿©·¯ºÐÀº 2 ¸Ó½ÅÀº ½±°Ô ÀÌÀ»¼ö ÀÖÁö¸¸, ±× ÀÌ»óÀº º°µµÀÇ Àåºñµé/±âÁî¸ðµé(¿µÈ­ '±×·½¸°'¿¡ ³ª¿À´Â µ¿¹°À̸§ÀÎ°Í °°³×¿ä:¿ªÀÚÁÖ)ÀÌ ÇÊ¿äÇÏ´Ù. ´ÙÀ½À» º¸¶ó. <ref id="utp" name="Twisted Pair"> -- ÀÌ ±ÛÀº ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇØ ¼³¸íÇÏ°í ÀÖ´Ù. ±×¸®°í ¸î°³ÀÇ ¼±°ú ÀåºñµéÀ» ±³Â÷ÇØ°¡¸ç ÇÔ²² Çãºê¿¡ ¹°¸±¼ö´Â ¾ø´Ù. Çãºê¿¡¼­ º¹Á¦µÊ ¾øÀÌ Ãæµ¹ ½ÅÈ£¸¦ º¸Á¤Çϴ°ÍÀº ºÒ°¡´ÉÇÏ´Ù. <sect2>SIOCSIFxxx: No such device <p> ³ª´Â ºÎÆýÿ¡ `SIOCSIFxxx: No such device' ¸Þ¼¼Áö¸¦ ¹Þ¾Ò´Ù. `SIOCADDRT: Network is unreachable'À̶ó´Â ¸Þ¼¼Áö¿¡ À̾ ¸»ÀÌ´Ù. ¹¹°¡ À߸øµÈ°Ç°¡? ¿©·¯ºÐÀÇ ÀÌ´õ³Ý ÀåÄ¡°¡ ºÎÆ®/¸ðµâ »ðÀԽÿ¡ Ž»öµÇÁö ¾Ê°í, <tt/ifconfig/¿Í <tt/route/¸¦ ½ÇÇàÇϸé, ÀÛµ¿½Ãų ÀåÄ¡°¡ ¾ø´Ù°í ÇÑ´Ù. <tt>dmesg | more</tt>¸¦ »ç¿ëÇؼ­ ºÎÆ® ¸Þ¼¼Áö¸¦ »ìÆ캸°í ÀÌ´õ³ÝÄ«µå Ž»ö¿¡ ´ëÇÑ ¾î¶² ¸Þ¼¼Áö°¡ ¾ø´ÂÁö º¸¶ó. <sect2>SIOCSFFLAGS: Try again <p> `ifconfig'¸¦ ½ÇÇàÇÏÀÚ `SIOCSFFLAGS: Try again' À̶ó´Â ¸Þ¼¼Áö¸¦ ¹Þ¾Ò´Ù -- Çê? ¿©·¯ºÐÀÇ ÀÌ´õ³Ý Ä«µå°¡ »ç¿ëÇÏ·Á°í ÇÏ´Â IRQ¸¦ ¾î¶² ´Ù¸¥ ÀåÄ¡°¡ °¡Á®¼­, ÀÌ´õ³Ý Ä«µå°¡ ±× IRQ¸¦ »ç¿ëÇÏÁö ¸øÇÏ´Â °ÍÀÌ´Ù. ¸î¸î ÀåÄ¡µéÀº ±×µéÀÌ IRQ°¡ ÇÊ¿äÇÒ¶§ Àâ¾Ò´Ù°¡ ´Ù½Ã ÀÛ¾÷ÀÌ ³¡³ª¸é Ç®¾îÁֹǷÎ, ÀÌ°ÍÀ» ÇÒ´çÇϱâ À§ÇØ ¸®ºÎÆÃÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿¹¸¦µé¸é ¸î¸î »ç¿îµå Ä«µå, ½Ã¸®¾ó Æ÷Æ®, Ç÷ÎÇÇ µð½ºÅ© µå¶óÀ̹ö, µîµîÀÌ ÀÖ´Ù. ¿©·¯ºÐÀº <tt>cat /proc/interrupts</tt> ¶ó°í Ãļ­ ¾î´À ÀÎÅÍ·´Æ®°¡ ÇöÀç <em/»ç¿ëÁßÀÎ/°¡¸¦ º¼¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ÀÌ´õ³Ý Ä«µå µå¶óÀ̹öµéÀº `ifconfig'¸¦ ÅëÇØ »ç¿ëÇÏ·Á°í ¿­·ÈÀ» °æ¿ì¿¡¸¸ IRQ¸¦ Â÷ÁöÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ IRQ ¶óÀÎÀ» ´Ù¸¥ ÀåÄ¡°¡ `³õ°í °¡°Ô'ÇÒ¼ö ÀÖ´Ù¸é, ¿©·¯ºÐÀº ifconfig·Î `´Ù½Ã ½ÃµµÇÒ'¼ö ÀÖÀ» °ÍÀÌ´Ù. <sect2>`ifconfig'¸¦ »ç¿ëÇؼ­ 00:00:00:00:00:00 °ªÀÇ HW-addr·Î UNSPEC ¿¬°á <p> ¾Æ¹«·± Àμö¾øÀÌ ifconfig¸¦ Çϸé, LINK°¡ UNSPEC (10Mbs ÀÌ´õ³Ý ´ë½Å)ÀÌ°í ³» Çϵå¿þ¾î ÁÖ¼Ò´Â ¸ðµÎ ¿µÀÌ´Ù. ÀÌ°ÍÀº »ç¶÷µéÀÌ ±×µéÀÇ Ä¿³Î ¹öÀüº¸´Ù ³ôÀº »õ ¹öÀüÀÇ `ifconfig' ÇÁ·Î±×·¥À» ½ÇÇàÇϱ⠶§¹®¿¡ ÀϾ´Ù. ÀÌ »õ¹öÀüÀÇ ifconfig´Â ±¸Çü Ä¿³Î°ú ÇÔ²² »ç¿ëµÉ ¶§ ÀÌ·¯ÇÑ ¼Ó¼ºµéÀ» º¸°íÇÏÁö ¸øÇÑ´Ù. ¿©·¯ºÐÀº Ä¿³Îµµ ¾÷±×·¹À̵å Çϰųª, ifconfig¸¦ `´Ù¿î±×·¹À̵å'Çϰųª, ¾Æ´Ï¸é °£´ÜÈ÷ ¹«½ÃÇÒ¼ö ÀÖ´Ù. Ä¿³ÎÀº ¿©·¯ºÐÀÇ Çϵå¿þ¾î ÁÖ¼Ò¸¦ ¾Ë°í ÀÖÀ¸¹Ç·Î, ifconfig°¡ ±×°ÍÀ» ÀÐÁö ¸øÇÑ´Ù°í Çؼ­ Á¤¸»·Î ¹«½¼ ÀÏÀÌ ÀϾ´Â °ÍÀº ¾Æ´Ï´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â <tt/ifconfig/ ÇÁ·Î±×·¥ÀÌ ¿©·¯ºÐÀÌ »ç¿ëÇÏ°í ÀÖ´Â Ä¿³Îº¸´Ù ¾ÆÁÖ ¸¹ÀÌ ±¸ÇüÀÏ °æ¿ì¿¡´Â ¾û¶×ÇÑ Á¤º¸¸¦ ¾ò¾î³¾¼öµµ ÀÖ´Ù. <sect2>¾öû³­ ¾çÀÇ RX ¿Í TX ¿¡·¯µé <p> ¾Æ¹«·± Àμöµé¾øÀÌ ifconfig¸¦ ½ÇÇàÇϸé, º¸³»°í ¹ÞÀº ÆÐŶ ¸ðµÎ¿¡ ¾öû³­ ¾çÀÇ ¿¡·¯¼ýÀÚ°¡ Àִ°ÍÀ» º»´Ù. ¸ðµÎ Á¦´ë·Î ÀÛµ¿ÇÏ´Â °Í °°Àºµ¥ -- ¹«¾ùÀÌ À߸øµÈ °ÍÀΰ¡? ´Ù½Ã Àß º¸¶ó. ÀÌ°ÍÀº <tt/RX packets/ <em/big number/ <bf/PAUSE/ <tt/errors 0/ <bf/PAUSE/ <tt/dropped 0/ <bf/PAUSE/ <tt/overrun 0/ ÀÌ´Ù. <tt/TX/ ¿­ÀÇ °æ¿ìµµ ¸¶Âù°¡Áö´Ù. ±×·¯¹Ç·Î ¿©·¯ºÐÀÌ º» Å« ¼ýÀÚµéÀº ¿©·¯ºÐÀÇ ¸Ó½ÅÀÌ ÁÖ°í ¹ÞÀº ÆÐŶÀÇ ÃÑ ¼ýÀÚÀÌ´Ù. ¾ÆÁ÷µµ È¥¶õ½º·´´Ù¸é, ´ë½Å¿¡ <tt>cat /proc/net/dev</tt>¶ó°í Ã帶ó. <sect2><tt>/dev/</tt> ³»ÀÇ ÀÌ´õ³Ý Ä«µåµéÀ» À§ÇÑ ³»¿ë¹°µé <p> ³ª´Â /dev/eth0°¡ /dev/xxx¿¡ ¸µÅ©µÇ¾î ÀÖ´Ù. ÀÌ°ÍÀÌ ¿ÇÀº °ÍÀΰ¡? ¿©·¯ºÐÀÌ µéÀº°Í°ú´Â ´Þ¸®, /dev/* ³»ÀÇ ÆÄÀϵéÀº »ç¿ëµÇÁö ¾Ê´Â´Ù. ¿©·¯ºÐÀº <tt>/dev/wd0, /dev/ne0</tt>¿Í °°Àº ¾î¶°ÇÑ ºñ½ÁÇÑ ³»¿ëµéµµ Áö¿ï¼ö ÀÖ´Ù. <sect2>¸®´ª½º¿Í ``trailers'' <p> `ifconfig'`¸¦ ³» ÀÌ´õ³Ý Ä«µå¿¡ »ç¿ëÇÒ¶§ Æ®·¹ÀÏ·¯¸¦ »ç¿ëÇÒ¼ö ¾ø°Ô ÇÒ¼ö´Â ¾ø³ª? ¿©·¯ºÐÀº ¿©·¯ºÐÀÌ ¿øÇÏÁö ¾Ê´õ¶óµµ, Æ®·¹ÀÏ·¯¸¦ »ç¿ëÇÒ¼ö ¾ø°Ô ÇÒ¼ö ¾ø´Ù. `Æ®·¹ÀÏ·¯'´Â ³×Æ®¿öÅ· ·¹À̾¼­ÀÇ µ¥ÀÌŸ º¹»ç¸¦ ÇÇÇϱâ À§ÇØ ¸¸µé¾îÁø °ÍÀÌ´Ù. ÀÌ ¾ÆÀ̵ð¾î´Â `H' Å©±âÀÇ ÀÛÀº °íÁ¤ Å©±â Çì´õ¸¦ »ç¿ëÇϱâ À§ÇÑ °ÍÀ¸·Î, ÆÐŶÀÇ ³¡¿¡ ´Ù¾çÇÑ Å©±âÀÇ Çì´õ Á¤º¸¸¦ ³Ö°í, ÆäÀÌÁö°¡ ½ÃÀÛÇϱâ Àü¿¡ ¸ðµç ÆÐŶÀÇ `H' ¹ÙÀÌÆ®¸¦ ÇÒ´çÇÑ´Ù. ÀÌ°ÍÀº ÁÁÀº »ý°¢ÀÌÁö¸¸, ½ÇÁ¦·Î´Â Àß µ¿ÀÛÇÏÁö ¾Ê´Â°ÍÀ¸·Î µå·¯³µ´Ù. ¸¸ÀÏ ´©±º°¡°¡ `-Æ®·¹ÀÏ·¯'ÀÇ »ç¿ëÀ» Á¦¾ÈÇÑ´Ù¸é, ÀÌ°ÍÀº ¼ö¿°¼ÒÀÇ ÇÇÀÇ Èñ»ý°ú °°Àº °ÍÀÓÀ» ¾Ë¾ÆµÎ¶ó. ÀÌ°ÍÀº ¹®Á¦¸¦ ÇØ°áÇϴµ¥ ¾Æ¹«·± µµ¿òµµ ÁÖÁö ¸øÇϳª, ¸¸ÀÏ ±× ½º½º·Î ¹®Á¦°¡ °íÃÄÁø´Ù¸é ±× ´©±º°¡´Â ±íÀº ¸¶¹ý°°Àº Áö½ÄÀ» ¾Ë¸±¼ö ÀÖÀ» °ÍÀÌ´Ù. <sect2>Àú¼öÁØ ÀÌ´õ³Ý ÀåÄ¡¿¡ Á¢±ÙÇϱâ <p> ¸®´ª½º¿¡¼­ TCP/IP³ª ±×·¯ÇÑ °ÍµéÀ» ÅëÇÏÁö ¾Ê°í Àú¼öÁØ ÀÌ´õ³Ý ÀåÄ¡¿¡ Á¢±ÙÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ß Çϳª? <code> int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL)); </code> ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¸ðµç ÇÁ·ÎÅäÄÝ Å¸ÀÔÀ» ¹Þ´Â ¼ÒÄÏÀ» Á¦°øÇÑ´Ù. <tt/recvfrom()/¸¦ È£ÃâÇϸé sa_family³»ÀÇ ÀåÄ¡ ŸÀÔ°ú sa_data ¹è¿­³»ÀÇ ÀåÄ¡À̸§À¸·Î sockaddr¸¦ ä¿ï °ÍÀÌ´Ù. ³ª´Â ´©°¡ ¸®´ª½º¿ë SOCK_PACKETÀ» óÀ½ °³¹ßÇß´ÂÁö ¸ð¸£Áö¸¸ Á¤¸» ´ë´ÜÇÑ °ÍÀÌ´Ù. ¿©·¯ºÐÀº <tt/sendto()/¸¦ È£ÃâÇؼ­ °¡°øÇÏÁö ¾ÊÀº °Íµéµµ º¸³¾¼ö ÀÖ´Ù. ¹°·Ð ·çÆ®±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù. <sect>¼º´É ÆÁµé<label id="perf"> <p> ¸¸ÀÏ ¿©·¯ºÐÀÌ ³·Àº ÀÌ´õ³Ý Ãâ·ÂÀ̳ª Á»´õ ºü¸¥ ftp Àü¼Û¼Óµµ¸¦ ¾ò°íÀÚÇÑ´Ù¸é, ¿©±â¿¡ ¸î°¡Áö ÆÁµéÀÌ ÀÖ´Ù. <tt/ttcp.c/ ÇÁ·Î±×·¥Àº Àü¼Û¼Óµµ¸¦ ÃøÁ¤Çϴµ¥ ÁÁ´Ù. ¶Ç´Ù¸¥ ÀϹÝÀûÀÎ ¹æ¹ýÀº <tt>ftp> get large_file /dev/null</tt>¸¦ Ä¡°í Àü¼ÛÇÏ´Â ¸Ó½ÅÀÇ ¹öÆÛ Ä³½¬¸¦ º¸´Â °ÍÀÌ´Ù. ¿©±â¼­ <tt/large_file/´Â 1MBº¸´Ù Å« ÆÄÀÏÀ» ¸»ÇÑ´Ù. ( `get'Àº Àû¾îµµ µÎ¹øÀº ÇØ¾ß ÇÑ´Ù. ù¹ø° ½Ãµµ¶§ º¸³»´Â ¸Ó½ÅÀÇ ¹öÆÛij½¬¿¡ ÀûÀç°¡ µÇ±â ¶§¹®ÀÌ´Ù.) ¿©·¯ºÐÀÌ ÃøÁ¤ÇÒ ¶§ µð½ºÅ© ¿¡¼­ ÆÄÀÏ·Î Á¢±ÙÇÏ´Â ¼Óµµ¿¡´Â °ü½ÉÀÌ ¾øÀ¸¹Ç·Î ¹öÆÛ Ä³½¬ ¾È¿¡ ÆÄÀÏÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ À̶§¹®¿¡ µé¾î¿À´Â µ¥ÀÌŸ¸¦ <tt>/dev/null</tt>·Î º¸³»´Â °ÍÀÌ´Ù. <sect1>ÀϹÝÀûÀÎ °³³äµé <p> 8 ºñÆ® Ä«µåÁ¶Â÷µµ ¾Æ¹«·± ¹®Á¦¾øÀÌ ÆÐŶÀ» back-to-backÀ¸·Î º¸³¾¼ö ÀÖ´Ù. ¹®Á¦´Â Ä«µå°¡ ´õ ÀÌ»ó ÆÐŶÀÌ µé¾î¿Ã¼ö ÀÖ°Ô ÃæºÐÇÑ °ø°£À» ºü¸£°Ô ¸¸µé¼ö ¾ø±â ¶§¹®¿¡ ¹ÞÀº ÆÐŶµéÀ» ÄÄÇ»ÅÍ°¡ ¹Þ¾ÆµéÀÌÁö ¸øÇϴµ¥ ÀÖ´Ù. ¸¸ÀÏ ÄÄÇ»ÅÍ°¡ Ä«µåÀÇ ¸Þ¸ð¸®³»¿¡ ÀÌ¹Ì ¹ÞÀº ÆÐŶµéÀ» »¡¸® ºñ¿ìÁö ¾ÊÀ¸¸é, Ä«µå´Â »õ ÆÐŶÀ» ¹Þ¾ÆµéÀÏ °ø°£ÀÌ ¾ø°Ô µÈ´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡ Ä«µå´Â »õ ÆÐŶÀ» ¹ö¸®°Å³ª, ÀÌÀü¿¡ ¹ÞÀº ÆÐŶÀÇ ¸Ç À§¿¡¼­ µ¤¾î¾²°Ô µÈ´Ù. ¾î´À °ÍÀ̵ç ÀçÀü¼ÛÀ» ¾ß±â/¿ä±¸ÇÔÀ¸·Î½á ºÎµå·¯¿î Àü¼Û È帧À» ¹æÇØÇÏ°Ô µÇ°í, ½É°¢ÇÑ ¼º´É ÀúÇϸ¦ ³ªÅ¸³¾¼ö ÀÖ´Ù! ´õ ¸¹Àº ¸Þ¸ð¸®¸¦ ³»ÀåÇÑ Ä«µåµéÀº ´õ ¸¹Àº ÆÐŶµéÀ» ``ÀúÀå''ÇÒ¼ö ÀÖ°í, ÆÐŶÀ» ¹ö¸®Áö ¾Ê°í ´õ ¸¹Àº ¾çÀÇ back-to-back ÆÐŶ È帧À» Á¦¾îÇÒ¼ö ÀÖ´Ù. ´Ù½Ã¸»Çϸé, Ä«µå°¡ ÆÐŶµéÀ» ¹ö¸®Áö ¾Ê±âÀ§ÇØ ¹öÆÛ³»ÀÇ ÆÐŶµéÀ» ¹Ð¾î³»µµ·Ï ¿äûÇÏÁö ¾Ê´Â´Ù´Â ¶æÀÌ´Ù. ´ëºÎºÐÀÇ 8ºñÆ® Ä«µåµéÀº 8kBÀÇ ¹öÆÛ¸¦ °¡Áö¸ç, ´ëºÎºÐÀÇ 16ºñÆ® Ä«µåµéÀº 16kBÀÇ ¹öÆÛ¸¦ °®´Â ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º µå¶óÀ̹öµéÀº ¹öÆÛ·Î 3kB¸¦ ³²°ÜµÎ¸ç(µÎ°³ÀÇ Àü¼Û ¹öÆÛ), 8ºñÆ® Ä«µå¸¦ À§Çؼ­ ´ÜÁö 5kB¸¦ ³²°Ü³õ´Â´Ù. ÀÌ °ø°£Àº ´ÜÁö Ç® »çÀÌÁîÀÇ ÀÌ´õ³Ý ÆÐŶ ¼¼°³(1500 bytes) Á¤µµÀÇ °ø°£ÀÏ »ÓÀÌ´Ù. <sect1>ISA Ä«µåµé°ú ISA ¹ö½º ¼Óµµ <p> À§¿¡¼­ ¾ð±ÞÇß´Ù½ÃÇÇ, ÆÐŶµéÀÌ Ä«µå¿¡¼­ ÃæºÐÈ÷ ºü¸£°Ô ¾ø¾îÁö¸é, ¼ö½Å ÆÐŶ ¹öÆÛ ¸Þ¸ð¸®°¡ À۾Ƶµ ÆÐŶÀ» ¹ö¸®°Å³ª ³ÑÃĹö¸®´Â ÀÏÀ» ÀϾÁö ¾Ê´Â´Ù. Ä«µå¿¡¼­ ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®·Î ÆÐŶÀ» À̵¿ÇÏ´Â ºñÀ²Àº µÎ °³°¡ ¸¸³ª´Â ºÎºÐ - ÀÌ°ÍÀÌ ISA ¹ö½º ¼ÓµµÀÌ´Ù - ÀÇ µ¥ÀÌŸ ¼Óµµ¿¡ ´Þ·Á ÀÖ´Ù. (¸¸ÀÏ CPU°¡ 386sx-16À̶óµµ, ÀÌ°ÍÀº Àû¿ëµÈ´Ù) ±ÇÀåÇÏ´Â ISA ¹ö½º Ŭ·°Àº ¾à 8MHzÀÌÁö¸¸, ¸¹Àº ¸ÞÀκ¸µå¿Í ÁÖº¯±â±âµéÀº ´õ ³ôÀº ÁÖÆļö·Î µ¿ÀÛÇÒ¼ö ÀÖ´Ù. ISA ¹ö½º Ŭ·° ÁÖÆļö´Â º¸Åë ¸ÞÀκ¸µå/CPU Ŭ·° ÁÖÆļö¸¦ ³ª´« °ÍÀ» ¼±ÅÃÇÏ´Â °ÍÀ¸·Î, CMOS ¼³Á¤¿¡¼­ Á¤ÇÒ¼ö ÀÖ´Ù. ¸î¸î ISA ¿Í PCI/ISA ¸ÞÀκ¸µå´Â ÀÌ ¿É¼ÇÀ» °¡Áö°í ÀÖÁö ¾Ê¾Æ¼­ ÃâÇϽà ±âº»°ªÀ¸·Î¸¸ »ç¿ëÇÒ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, 8ºñÆ® WD8003EP Ä«µå°¡ ²ÅÈù, 40MHz 486¿¡¼­ TTCP ÇÁ·Î±×·¥À¸·Î ÃøÁ¤ÇÑ ¼­·Î´Ù¸¥ ISA ¹ö½º ¼Óµµ°¡ ¾Æ·¡¿¡ ÀÖ´Ù. <code> ISA Bus Speed (MHz) Rx TTCP (kB/s) ------------------- -------------- 6.7 740 13.4 970 20.0 1030 26.7 1075 </code> ¿©·¯ºÐÀº <em/¾î¶°ÇÑ/ 10Mb/s ÀÌ´õ³Ý Ä«µå·Îµµ, TCP/IP¸¦ »ç¿ëÇؼ­ 1075kB/sÀÌ»óÀÇ °á°ú¸¦ ¾òÁö ¸øÇÒ°ÍÀÌ´Ù. ±×·¯³ª, ¸ðµç ½Ã½ºÅÛ¿¡¼­ ºü¸¥ ISA ¹ö½º ¼Óµµ°¡ ³ª¿Ã°Å¶ó°í´Â ±â´ëÇÏÁö ¸»¶ó. ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­´Â 13MHzÀÌ»óÀÇ ¼Óµµ¿¡¼­ Á¦´ë·Î µ¹¾Æ°¡Áö ¾Ê´Â´Ù. (¶ÇÇÑ, ¸î¸î PCI ½Ã½ºÅÛ ¿¡¼­´Â ISA ¹ö½º ¼Óµµ¸¦ 8MHz·Î °íÁ¤½ÃÄÑ ³õ¾Æ¼­, »ç¿ëÀÚµéÀÌ ¼Óµµ¸¦ ¿Ã¸®Áö ¸øÇÏ°Ô ÇÏ°í ÀÖ´Ù.) ¶ÇÇÑ ´õ¿í ºü¸¥ Àü¼Û ¼Óµµ¸¦ ¾òÀ¸·Á¸é, CPU Á¡À¯À²À» ³·Ã߾ ¸Þ¸ð¸®¿Í I/O »çÀÌŬ¿¡ Á»´õ ªÀº Áö¼Ó½Ã°£À» °®°Ô ÇϸéµÈ´Ù. (ISA ¹ö½º»óÀÇ ÇÏµå µð½ºÅ©¿Í ºñµð¿À Ä«µåµµ ¶ÇÇÑ Çâ»óµÈ ISA ¹ö½º ¼Óµµ ´öºÐ¿¡ ¼º´ÉÀÌ ¿Ã¶ó°¡´Â °ÍÀ» °æÇèÇÒ¼ö ÀÖ´Ù.) 8MHz°¡ ³Ñ´Â ISA ¹ö½º ¼Óµµ¸¦ ½ÃÇèÇϱ⿡ ¾Õ¼­¼­ ¿©·¯ºÐÀÇ µ¥ÀÌŸ¸¦ ¹é¾÷ÇØ µÎ¾ú´ÂÁö È®ÀÎÇÏ°í, ¼Óµµ¸¦ ¿Ã¸° ÈÄ¿¡´Â ¸ðµç ISA ÁÖº¯±â±âµéÀÌ Á¦´ë·Î ÀÛµ¿ÇÏ´ÂÁö ½ÃÇèÇغ¸±â ¹Ù¶õ´Ù. <sect1>TCP ¼ö½Å À©µµ¿ìÀÇ ¼³Á¤ <p> ´Ù½ÃÇѹø ¸»ÇÏÀÚ¸é, ÀûÀº ¾çÀÇ RAMÀ» °¡Áø Ä«µå¿Í ´À¸° µ¥ÀÌŸ Àü¼Û·Î¸¦ °¡Áø Ä«µå¿Í ÄÄÇ»ÅÍ ¸Þ¸ð¸® »çÀÌ¿¡´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. TCP ¼ö½Å À©µµ¿ì ¼³Á¤ÀÇ ±âº»°ªÀº 32kBÀε¥, ÀÌ°ÍÀº ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ»óÀÇ µ¥ÀÌŸ¸¦ Àß ¹Þ¾ÆÁ³´ÂÁö ¾Æ´ÑÁö º¸±âÀ§ÇØ ¸ØÃß´Â°Í ¾øÀÌ 32kÀÇ µ¥ÀÌŸ¸¦ ´ýÇÁÇÒ¼ö Àִ°Ͱ°ÀÌ µ¿ÀÏ ¼­ºê³ÝÀÇ ºü¸¥ ÄÄÇ»ÅÍ¿¡¼­µµ ÇÒ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. ÃֽŠ¹öÀüÀÇ <tt/route/ ¸í·ÉÀ¸·Î ÀÌ À©µµ¿ìÀÇ Å©±â¸¦ ½Ç½Ã°£À¸·Î ¼³Á¤ÇÒ¼ö ÀÖ´Ù. º¸Åë ¶ó¿ìÅͳª °ÔÀÌÆ®¿þÀÌµé µÚ¿¡ ÀÖ´Â ÄÄÇ»Å͵éÀº ¹®Á¦°¡ ¾øµµ·Ï `¹öÆÛ¸µÀ» Çϱâ' ¶§¹®¿¡, ·ÎÄà ³×Æ®¿öÅ©¿¡¼­ ÀÌ À©µµ¿ìÀÇ Å©±â´Â ÀÛ¾ÆÁ®¾ß ÇÑ´Ù. »ç¿ë¿¹´Â ´ÙÀ½°ú °°´Ù. <code> route add <whatever> ... window <win_size> </code> ¿©±â¼­ <tt/win_size/ ´Â ¿©·¯ºÐÀÌ »ç¿ëÇÏ±æ ¿øÇÏ´Â À©µµ¿ìÀÇ Å©±âÀÌ´Ù.(¹ÙÀÌÆ®·Î) 8MHz³ª ±× ÀÌÇÏÀÇ ¼Óµµ·Î ÀÛµ¿ÇÏ´Â ISA ¹ö½º»óÀÇ 8ºñÆ® 3c503 Ä«µå´Â 4kBÀÇ À©µµ¿ì Å©±â¿¡µµ Àß µ¹¾Æ°£´Ù. ³Ê¹« Å« À©µµ¿ì´Â ÆÐŶ ¼Õ½ÇÀ̳ª ³ÑħÀ» ¾ß±â½ÃÅ°°í, ÀÌ´õ³Ý Àü¼Û·®ÀÇ ±Þ°ÝÇÑ °¨¼Ò¸¦ °¡Á®¿Â´Ù. ¿©·¯ºÐÀÇ <tt>cat /proc/net/dev</tt>¶ó°í Ãļ­ ¿î¿µÃ¼Á¦ÀÇ »óŸ¦ È®ÀÎÇغ¼¼ö ÀÖ´Ù. ÀÌ ¸í·ÉÀº ¼Õ½ÇµÇ°Å³ª ³ÑÄ£ »óÅ°¡ ¹ß»ýÇß´ÂÁö º¸¿©ÁØ´Ù. <sect1>NFS ¼º´É ¿Ã¸®±â <p> ¸î¸î »ç¶÷µéÀº NFS Ŭ¶óÀ̾ðÆ®¿¡¼­ 8ºñÆ® Ä«µå¸¦ »ç¿ëÇϸ鼭 8kB (Sun °íÀ¯ÀÇ) NFS ÆÐŶ Å©±â¸¦ ÀÌ¿ëÇÒ¶§, ±â´ëÇß´ø ¼º´Éº¸´Ù ´õ ³ª»Û°ÍÀ» ¹ß°ßÇß´Ù. ÀÌ °æ¿ì¿¡ °¡´ÉÇÑ ¿øÀÎÀº 8ºñÆ®¿Í 16ºñÆ® Ä«µå¿¡ ÀåÂøµÈ ¹öÆÛ Å©±âÀÇ Â÷ÀÌÀÌ´Ù. ÀÌ´õ³Ý ÆÐŶÀÇ ÃÖ´ë Å©±â´Â 1500 ¹ÙÀÌÆ® ÀÌ´Ù. 8kBÀÇ NFS ÆÐŶÀº ´ë·« ÃÖ´ëÅ©±âÀÇ ÀÌ´õ³Ý ÆÐŶ 6°³¿Í °°´Ù. 8ºñÆ®¿Í 16ºñÆ® Ä«µå°¡ ÆÐŶÀ» ¼ö½ÅÇÒ ¶§´Â ¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù. ¹®Á¦´Â ¸Ó½ÅÀÌ Ä«µåÀÇ ¹öÆÛ¿¡ ¼­ ÆÐŶÀ» Á¦½Ã°£¿¡ Á¦°ÅÇÏÁö ¸øÇؼ­, ¹öÆÛ°¡ ³ÑÄ¥¶§ ÀϾ´Ù. »ç½Ç Àü¼Û·®´ç Á¤·® ÀÌ»óÀÇ ISA ¹ö½º »çÀÌŬÀ» °¡Áø 8ºñÆ® Ä«µåµéÀº ¾î´À°Í¿¡µµ µµ¿òÀÌ µÇÁö ¾Ê´Â´Ù. ¿©·¯ºÐÀÌ ÇÒ¼ö Àִ°ÍÀº 8ºñÆ® Ä«µå¸¦ °¡Áø °æ¿ì NFS Àü¼Û ÆÐŶ Å©±â¸¦ 2kB(¶Ç´Â 1kB)·Î ¼³Á¤Çϰųª, Ä«µå°¡ ¹öÆÛ¸¦ ´õ¿í »¡¸® ºñ¿ì°Ô Çϱâ À§Çؼ­ ISA ¹ö½º ¼Óµµ¸¦ ¿Ã¸®´Â °ÍÀÌ´Ù. ³ª´Â 8MHz¿¡¼­ ±¸Çü WD8003E Ä«µå°¡ (´Ù¸¥ ½Ã½ºÅÛ ºÎÇÏ ¾øÀÌ) 2kB NFS Å©±â¸¦ À¯ÁöÇÒ¼ö ÀÖ¾úÁö¸¸, 4kB´Â ¼¼°¡Áö »ç½Ç¶§¹®¿¡ ¼º´ÉÀÌ ³·¾ÆÁüÀ¸·Î À¯ÁöÇÒ¼ö ¾ø¾ú´Ù. ´Ù¸¥ ¸»·Î Çϸé, ±âº» Å©±â ¿É¼ÇÀ» 1kB Å©±â·Î »ç¿ëÇÏ°í, ¿©·¯ºÐÀÌ Àû¾îµµ 16ºñÆ® ISA Ä«µå¸¦ °¡Áö°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº 4kB ( ¶Ç´Â 8kB±îÁö) Áõ°¡ÇÏ´Â °ÍÀ» ¹ß°ßÇÒ¼ö ÀÖÀ» °ÍÀÌ´Ù. <sect>ƯÁ¤ ÆǸÅÀÚ/Á¦Á¶¾÷ü/¸ðµ¨º° Á¤º¸<label id="card-intro"> <p> ´ÙÀ½ÀÇ ¸ñ·Ï¿¡¼­´Â ÆǸÅÀÚ À̸§°ú Á¦Ç°¸íÀ» ¾ËÆĺª ¼ø¼­·Î ¼ö¸¹Àº Ä«µåµéÀ» ³ª¿­ÇÏ°í ÀÖ´Ù. °¢ Á¦Ç° ID ¿·¿¡´Â `Áö¿ø', `ºÎºÐÁö¿ø', 'Áö¿ø¾ÈµÊ'À» º¼¼ö ÀÖÀ» °ÍÀÌ´Ù. Áö¿øµÈ´Ù´Â Àǹ̴ ±× Ä«µåÀÇ µå¶óÀ̹ö°¡ Á¸ÀçÇÏ°í, ¸¹Àº »ç¶÷µéÀÌ ¹®Á¦¾øÀÌ »ç¿ëÇÏ°í ÀÖÀ¸¸ç ¸Å¿ì ¾ÈÁ¤ÀûÀ̶ó´Â ¶æÀÌ´Ù. ºÎºÐÁö¿øÀ̶ó´Â ¶æÀº µå¶óÀ̹ö°¡ Á¸ÀçÇÏÁö¸¸ ´ÙÀ½ÀÇ ¼³¸í°¡¿îµ¥ Àû¾îµµ ÇÑ°¡Áö ÀÌ»ó ÇØ´çµÈ´Ù´Â ¶æÀÌ´Ù. (1) µå¶óÀ̹ö ±×¸®°í/¶Ç´Â Çϵå¿þ¾î¿¡ ¹ö±×°¡ À־ ³·Àº ¼º´ÉÀ̳ª, Á¢¼Ó ½ÇÆÐ ¶Ç´Â Å©·¡½¬µµ ¹ß»ýÇÒ¼ö ÀÖ´Ù. (2) µå¶óÀ̹ö°¡ »õ·Î¿î °ÍÀ̰ųª Ä«µå°¡ ÀϹÝÀûÀÌÁö ¾Ê¾Æ¼­ µå¶óÀ̹ö¿¡ ´ëÇÑ »ç¿ë/Å×½ºÆ®°¡ ¸Å¿ì Àû¾î µå¶óÀ̹ö Á¦ÀÛÀÚ°¡ Çǵå¹éÀ» º°·Î ¹ÞÁö ¸øÇß´Ù. ¸íÈ®ÇÏ°Ô (2)ÀÎ °æ¿ì°¡ (1)ÀÎ °æ¿ìº¸´Ù ³´°í, ±× Ä«µå/µå¶óÀ̹ö¿¡ ´ëÇÑ °³º°ÀûÀÎ ¼³¸í¿¡¼­ ¾î´À °Í¿¡ ÇØ´çÇÏ´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù. µÎ°¡Áö °æ¿ì ¸ðµÎ, ¿©·¯ºÐÀº <tt/make config/½Ã¿¡ ``Prompt for development and/or incomplete code/drivers?''ºÎºÐ¿¡¼­ `Y'¶ó°í ´äÇØ¾ß ÇÑ´Ù. Áö¿ø¾ÈµÈ´Ù´Â °ÍÀº ÇöÀç ±× Ä«µå¿¡ »ç¿ëÇÒ¼ö ÀÖ´Â µå¶óÀ̹ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù´Â ¶æÀÌ´Ù. ÀÌ°ÍÀº ±¸Çϱâ Èûµé°Å³ª Æò¹üÇÏÁö ¾ÊÀº Çϵå¿þ¾î¿¡ ´ëÇÑ °ü½ÉÀÌ ºÎÁ·Çϰųª, ¾Æ´Ï¸é ÆǸÅÀÚµéÀÌ µå¶óÀ̹ö¸¦ ¸¸µå´Âµ¥ ÇÊ¿äÇÑ Çϵå¿þ¾î ¹®¼­¸¦ ¹èÆ÷ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. `Áö¿ø'°ú `ºÎºÐÁö¿ø'ÀÇ Â÷ÀÌ´Â ´Ù¼Ò ÁÖ°üÀûÀ̸ç, ´º½º ±×·ì °Ô½ÃÆÇ°ú ¸ÞÀϸµ ¸®½ºÆ® ¸Þ¼¼ÁöµéÀ» ÅëÇÑ »ç¿ëÀÚ Çǵå¹éÀ» Á¶»çÇÑ°Í¿¡ ±â¹ÝÇÑ °ÍÀÓÀ» ¾Ë¾ÆµÎ¶ó. (ÇÑ»ç¶÷ÀÌ °¢ Ä¿³Î ¹öÀü¿¡¼­ ¸ðµç Ä«µåµéÀ» °¡Áö°í ¸ðµç µå¶óÀ̹ö¸¦ Å×½ºÆ®ÇѴٴ°ÍÀº Àý´ë·Î ºÒ°¡´ÉÇÏ´Ù!!!) ±×·¯¹Ç·Î Ä«µå ¸®½ºÆ®¿¡ ºÎºÐÁö¿øÀ̶ó°í µÇ¾îÀÖ´Â °ÍÀÌ ¿©·¯ºÐÀÇ °æ¿ì¿¡ ¿Ïº®ÇÏ°Ô µ¿ÀÛÇѴٰųª(Á¤¸» ÁÁ±º), ¶Ç´Â Áö¿øÀ̶ó°í ÀûÈù Ä«µå°¡ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °ÍÀ» (±×¸® ÁÁÁö ¸øÇϱº) ¹ß°ßÇÒ¼öµµ ÀÖ´Ù´Â °Í¿¡ ÁÖÀÇÇÏ±æ ¹Ù¶õ´Ù. status ´ÙÀ½¿¡´Â, ¸®´ª½º Ä¿³Î³»¿¡ ÁÖ¾îÁø µå¶óÀ̹ö À̸§ÀÌ ³ª¿­µÇ¾î ÀÖ´Ù. ÀÌ°ÍÀº ¶ÇÇÑ <tt>/etc/conf.modules</tt> ¸ðµâ ¼³Á¤ È­Àϳ»ÀÇ <tt/alias eth0 driver_name/ ÇàÀ¸·Î »ç¿ëµÇ´Â µå¶óÀ̹ö ¸ðµâÀÇ À̸§À̱⵵ ÇÏ´Ù. <sect1>3Com<label id="3com"> <p> ¸¸ÀÏ ¿©·¯ºÐÀÌ °¡Áö°í ÀÖ´Â Ä«µå°¡ ¹«¾ùÀÎÁö Àß ¸ð¸£Áö¸¸, ¾Æ¸¶ 3Com Ä«µåÀϲ¨¶ó°í »ý°¢ÇÏ°í ÀÖ´Ù¸é, ¾î¼Àºí¸® ³Ñ¹ö·ÎºÎÅÍ ¹«¾ùÀÎÁö ¾Ë¾Æ³¾¼ö ÀÖÀ» °ÍÀÌ´Ù. 3Com¿¡´Â °¡Àå ¸íÈ®ÇÏ°Ô ¾Ë¼ö ÀÖ´Â `¾î¼Àºí¸® ³Ñ¹ö·Î 3Com ¾Æ´äÅÍ ¾Ë¾Æ³»±â(Identifying 3Com Adapters By Assembly Number)' (ref 24500002)¶ó´Â ¹®¼­°¡ ÀÖ´Ù. 3Com ¹®¼­¸¦ ¾î¶»°Ô ¾ò´ÂÁö´Â ´ÙÀ½À» º¸¶ó. <ref id="3com-tech" name="Technical Information from 3Com"> ¶ÇÇÑ 3ComÀº ´Ù¾çÇÑ Á¦Ç°µé¿¡ ´ëÇÑ FTP »çÀÌÆ®¸¦ °¡Áö°í ÀÖ´Ù. <tt/ftp.3Com.com/¿¡¼­ ¿©·¯ºÐÀÌ ¿øÇÏ´Â °ÍÀ» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. À̹®¼­¸¦ WWW ºê¶ó¿ìÀú·Î º¸°í ÀÖ´Â »ç¶÷µéÀº, 3ComÀÇ WWW »çÀÌÆ®µµ º¼¼ö ÀÖ´Ù. <sect2>3c501<label id="3c501"> <p> Status: ºÎºÐÁö¿ø, µå¶óÀ̹ö À̸§: 3c501 ÀÌ ±¸¼®±â ½Ã´ëÀÇ 8ºñÆ® Ä«µå´Â »ç¿ëÇÏ·Á¸é ³Ê¹« ¸Ó¸®°¡ ¾ÆÇÃÁ¤µµ´Ù. Àü¿°º´À» ÇÇÇϴ°Íó·³ ÇÇÇ϶ó. ³ó´ãÀ¸·Î¶óµµ ÀÌ Ä«µå¸¦ ±¸ÀÔÇÏÁö ¸»¶ó. ÀÌ°ÍÀÇ ¼º´ÉÀº ²ûÂïÇÏ°í, ¸¹Àº °æ¿ì¿¡ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. For those not yet convinced, the 3c501 can only do one thing at a time -- while you are removing one packet from the single-packet buffer it cannot receive another packet, nor can it receive a packet while loading a transmit packet. This was fine for a network between two 8088-based computers where processing each packet and replying took 10's of msecs, but modern networks send back-to-back packets for almost every transaction. AutoIRQ works, DMA isn't used, the autoprobe only looks at <tt/0x280/ and <tt/0x300/, and the debug level is set with the third boot-time argument. Once again, the use of a 3c501 is <em/strongly discouraged/! Even more so with a IP multicast kernel, as you will grind to a halt while listening to <em/all/ multicast packets. See the comments at the top of the source code for more details. <sect2>EtherLink II, 3c503, 3c503/16<label id="3c503"> <p> Status: Supported, Driver Name: 3c503 (+8390) The 3c503 does not have ``EEPROM setup'', so a diagnostic/setup program isn't needed before running the card with Linux. The shared memory address of the 3c503 is set using jumpers that are shared with the boot PROM address. This is confusing to people familiar with other ISA cards, where you always leave the jumper set to ``disable'' unless you have a boot PROM. These cards should be about the same speed as the same bus width WD80x3, but turn out to be actually a bit slower. These shared-memory ethercards also have a programmed I/O mode that doesn't use the 8390 facilities (their engineers found too many bugs!) The Linux 3c503 driver can also work with the 3c503 in programmed-I/O mode, but this is slower and less reliable than shared memory mode. Also, programmed-I/O mode is not as well tested when updating the drivers. You shouldn't use the programmed-I/O mode unless you need it for MS-DOS compatibility. The 3c503's IRQ line is set in software, with no hints from an EEPROM. Unlike the MS-DOS drivers, the Linux driver has capability to autoIRQ: it uses the first available IRQ line in {5,2/9,3,4}, selected each time the card is ifconfig'ed. (Older driver versions selected the IRQ at boot time.) The ioctl() call in `ifconfig' will return EAGAIN if no IRQ line is available at that time. Some common problems that people have with the 503 are discussed in <ref id="3com-probs" name="Problems with...">. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. Note that some old diskless 386 workstations have an on board 3c503 (made by 3Com and sold under different names, like `Bull') but the vendor ID is not a 3Com ID and so it won't be detected. More details can be found in the Etherboot package, which you will need anyways to boot these diskless boxes. <sect2>Etherlink Plus 3c505<label id="3c505"> <p> Status: Semi-Supported, Driver Name: 3c505 This is a driver that was written by Craig Southeren <tt/geoffw@extro.ucc.su.oz.au/. These cards also use the i82586 chip. There are not that many of these cards about. It is included in the standard kernel, but it is classed as an alpha driver. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. There is also the file <tt>/usr/src/linux/drivers/net/README.3c505</tt> that you should read if you are going to use one of these cards. It contains various options that you can enable/disable. <sect2>Etherlink-16 3c507<label id="3c507"> <p> Status: Semi-Supported, Driver Name: 3c507 This card uses one of the Intel chips, and the development of the driver is closely related to the development of the Intel Ether Express driver. The driver is included in the standard kernel release, but as an alpha driver. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. <sect2>Etherlink III, 3c509 / 3c509B<label id="3c509"> <p> Status: Supported, Driver Name: 3c509 This card is fairly inexpensive and has good performance for an ISA non-bus-master design. The drawbacks are that the original 3c509 requires very low interrupt latency. The 3c509B shouldn't suffer from the same problem, due to having a larger buffer. (See below.) These cards use PIO transfers, similar to a ne2000 card, and so a shared memory card such as a wd8013 will be more efficient in comparison. The original 3c509 has a small packet buffer (4kB total, 2kB Rx, 2kB Tx), causing the driver to occasionally drop a packet if interrupts are masked for too long. To minimize this problem, you can try unmasking interrupts during IDE disk transfers (see <tt/man hdparm/) and/or increasing your ISA bus speed so IDE transfers finish sooner. The newer model 3c509B has 8kB on board, and the buffer can be split 4/4, 5/3 or 6/2 for Rx/Tx. This setting is changed with the DOS configuration utility, and is stored on the EEPROM. This should alleviate the above problem with the original 3c509. 3c509B users should use either the supplied DOS utility to disable the <em/plug and play/ support, <em/and/ to set the output media to what they require. The linux driver currently does <em/not/ support the Autodetect media setting, so you <em/have/ to select 10Base-T or 10Base-2 or AUI. Note that to turn off PnP entirely, you should do a <tt>3C5X9CFG /PNP:DISABLE</tt> and then follow that with a hard reset to ensure that it takes effect. Some people ask about the ``Server or Workstation'' and ``Highest Modem Speed'' settings presented in the DOS configuration utility. Donald writes ``These are only hints to the drivers, and the Linux driver does not use these parameters: it always optimizes for high throughput rather than low latency (`Server'). Low latency was critically important for old, non-windowed, IPX throughput. To reduce the latency the MS-DOS driver for the 3c509 disables interrupts for some operations, blocking serial port interrupts. Thus the need for the `modem speed' setting. The Linux driver avoids the need to disable interrupts for long periods by operating only on whole packets e.g. by not starting to transmit a packet until it is completely transferred to the card.'' Note that the ISA card detection uses a different method than most cards. Basically, you ask the cards to respond by sending data to an ID_PORT (port <tt/0x100/ to <tt/0x1ff/ on intervals of <tt/0x10/). This detection method means that a particular card will <em/always/ get detected first in a multiple ISA 3c509 configuration. The card with the lowest hardware ethernet address will <em/always/ end up being <tt/eth0/. This shouldn't matter to anyone, except for those people who want to assign a 6 byte hardware address to a particular interface. If you have multiple 3c509 cards, it is best to append <tt/ether=0,0,ethN/ commands without the I/O port specified (i.e. use I/O=zero) and allow the probe to sort out which card is first. Using a non-zero I/O value will ensure that it does not detect all your cards, so don't do it. If this really bothers you, have a look at Donald's latest driver, as you may be able to use a <tt/0x3c509/ value in the unused mem address fields to order the detection to suit your needs. <sect2>3c515<label id="cork"> <p> Status: Supported, Driver Name: 3c515 This is 3Com's ISA 100Mbps offering, codenamed ``CorkScrew''. A relatively new driver from Donald for these cards is included in the v2.2 kernels. For the most up to date information, you should probably look on the Vortex page: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html" name="Vortex"> <sect2>3c523<label id="3c523"> <p> Status: Semi-Supported, Driver Name: 3c523 This MCA bus card uses the i82586, and Chris Beauregard has modified the ni52 driver to work with these cards. The driver for it can be found in the v2.2 kernel source tree. More details can be found on the MCA-Linux page at <tt>http://glycerine.cetmm.uni.edu/mca/</tt> <sect2>3c527<label id="3c527"> <p> Status: Not Supported. Yes, another MCA card. No, not too much interest in it. Better chances with the 3c529 if you are stuck with MCA. <sect2>3c529<label id="3c529"> <p> Status: Supported, Driver Name: 3c509 This card actually uses the same chipset as the 3c509. Donald actually put hooks into the 3c509 driver to check for MCA cards after probing for EISA cards, and before probing for ISA cards, long before MCA support was added to the kernel. The required MCA probe code is included in the driver shipped with v2.2 kernels. More details can be found on the MCA-Linux page at: <tt>http://glycerine.cetmm.uni.edu/mca/</tt> <sect2>3c562 <p> Status: Supported, Driver Name: 3c589 (distributed separately) This PCMCIA card is the combination of a 3c589B ethernet card with a modem. The modem appears as a standard modem to the end user. The only difficulty is getting the two separate linux drivers to share one interrupt. There are a couple of new registers and some hardware interrupt sharing support. You need to use a v2.0 or newer kernel that has the support for interrupt sharing. <!-- XXX Product discontinued so this can go soon... As a side note, the modem part of the card has been reported to be not well documented for the end user (the manual just says `supports the AT command set') and it may not connect as well as other name brand modems. The recommendation is to buy a 3c589B instead, and then get a PCMCIA modem card from a company that specializes in modems. --> Thanks again to Cameron for getting a sample unit and documentation sent off to David Hinds. Look for support in David's PCMCIA package release. See <ref id="pcmcia" name="PCMCIA Support"> for more info on PCMCIA chipsets, socket enablers, etc. <sect2>3c575 <p> Status: Unknown. A driver for this PCMCIA card is under development and hopefully will be included in David's PCMCIA package in the future. Best to check the PCMCIA package to get the current status. <sect2>3c579<label id="3c579"> <p> Status: Supported, Driver Name: 3c509 The EISA version of the 509. The current EISA version uses the same 16 bit wide chip rather than a 32 bit interface, so the performance increase isn't stunning. Make sure the card is configured for EISA addressing mode. Read the above 3c509 section for info on the driver. <sect2>3c589 / 3c589B<label id="3c589"> <p> Status: Semi-Supported, Driver Name: 3c589 Many people have been using this PCMCIA card for quite some time now. Note that support for it is not (at present) included in the default kernel source tree. The "B" in the name means the same here as it does for the 3c509 case. There are drivers available on Donald's ftp site and in David Hinds PCMCIA package. You will also need a supported PCMCIA controller chipset. See <ref id="pcmcia" name="PCMCIA Support"> for more info on PCMCIA drivers, chipsets, socket enablers, etc. <sect2>3c590 / 3c595<label id="vortex"> <p> Status: Supported, Driver Name: 3c59x These ``Vortex'' cards are for PCI bus machines, with the '590 being 10Mbps and the '595 being 3Com's 100Mbs offering. Also note that you can run the '595 as a '590 (i.e. in a 10Mbps mode). The driver is included in the v2.0 kernel source, but is also continually being updated. If you have problems with the driver in the v2.0 kernel, you can get an updated driver from the following URL: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html" name="Vortex"> Note that there are two different 3c590 cards out there, early models that had 32kB of on-board memory, and later models that only have 8kB of memory. Chances are you won't be able to buy a new 3c59x for much longer, as it is being replaced with the 3c90x card. If you are buying a used one off somebody, try and get the 32kB version. The 3c595 cards have 64kB, as you can't get away with only 8kB RAM at 100Mbps! A thanks to Cameron Spitzer and Terry Murphy of 3Com for sending cards and documentation to Donald so he could write the driver. Donald has set up a mailing list for Vortex driver support. To join the list, just do: <tt>echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov</tt> <sect2>3c592 / 3c597 <p> Status: Supported, Driver Name: 3c59x These are the EISA versions of the 3c59x series of cards. The 3c592/3c597 (aka Demon) should work with the vortex driver discussed above. <sect2>3c900 / 3c905 / 3c905B <p> Status: Supported, Driver Name: 3c59x These cards (aka `Boomerang', aka EtherLink III XL) have been released to take over the place of the 3c590/3c595 cards. The support for the Cyclone `B' revision was only recently added. To use this card with older v2.0 kernels, you must obtain the updated <tt/3c59x.c/ driver from Donald's site at: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html" name="Vortex-Page"> If in doubt about anything then check out the above WWW page. Donald has set up a mailing list for Vortex driver support announcements and etc. To join the list, just do: <tt>echo subscribe | /bin/mail linux-vortex-request@cesdis.gsfc.nasa.gov</tt> <sect2>3c985 <p> Status: Supported, Driver Name: acenic This driver, by Jes Sorensen, is available in v2.2 kernels It supports several other Gigabit cards in addition to the 3Com model. <sect1>Accton<label id="accton"> <p> <sect2>Accton MPX <p> Status: Supported, Driver Name: ne (+8390) Don't let the name fool you. This is still supposed to be a NE2000 compatible card, and should work with the ne2000 driver. <sect2>Accton EN1203, EN1207, EtherDuo-PCI <p> Status: Supported, Driver Name: de4x5, tulip This is another implementation of the DEC 21040 PCI chip. The EN1207 card has the 21140, and also has a 10Base-2 connector, which has proved troublesome for some people in terms of selecting that media. Using the card with 10Base-T and 100Base-T media have worked for others though. So as with all purchases, you should try and make sure you can return it if it doesn't work for you. See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. <sect2>Accton EN2209 Parallel Port Adaptor (EtherPocket) <p> Status: Semi-Supported, Driver Name: ? A driver for these parallel port adapters is available but not yet part of the 2.0 or 2.1 kernel source. You have to get the driver from: <tt>http://www.unix-ag.uni-siegen.de/~nils/accton_linux.html</tt> <sect2>Accton EN2212 PCMCIA Card <p> Status: Semi-Supported, Driver Name: ? David Hinds has been working on a driver for this card, and you are best to check the latest release of his PCMCIA package to see what the present status is. <sect1>Allied Telesyn/Telesis<label id="allied-telesis"> <p> <sect2>AT1500<label id="at-1500"> <p> Status: Supported, Driver Name: lance These are a series of low-cost ethercards using the 79C960 version of the AMD LANCE. These are bus-master cards, and hence one of the faster ISA bus ethercards available. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. <sect2>AT1700<label id="at1700"> <p> Status: Supported, Driver Name: at1700 Note that to access this driver during <tt/make config/ you still have to answer `Y' when asked ``Prompt for development and/or incomplete code/drivers?'' at the first. This is simply due to lack of feedback on the driver stability due to it being a relatively rare card. If you have problems with the driver that ships with the kernel then you may be interested in the alternative driver available at: <tt>http://www.cc.hit-u.ac.jp/nagoya/at1700/</tt> The Allied Telesis AT1700 series ethercards are based on the Fujitsu MB86965. This chip uses a programmed I/O interface, and a pair of fixed-size transmit buffers. This allows small groups of packets to be sent back-to-back, with a short pause while switching buffers. A unique feature is the ability to drive 150ohm STP (Shielded Twisted Pair) cable commonly installed for Token Ring, in addition to 10baseT 100ohm UTP (unshielded twisted pair). A fibre optic version of the card (AT1700FT) exists as well. The Fujitsu chip used on the AT1700 has a design flaw: it can only be fully reset by doing a power cycle of the machine. Pressing the reset button doesn't reset the bus interface. This wouldn't be so bad, except that it can only be reliably detected when it has been freshly reset. The solution/work-around is to power-cycle the machine if the kernel has a problem detecting the AT1700. <sect2>AT2450<label id="at2450"> <p> Status: Supported, Driver Name: pcnet32 This is the PCI version of the AT1500, and it doesn't suffer from the problems that the Boca 79c970 PCI card does. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. <sect2>AT2500 <p> Status: Semi-Supported, Driver Name: rtl8139 This card uses the RealTek 8139 chip - see the section <ref id="rtl8139" name="RealTek 8139">. <sect2>AT2540FX<label id="at2540"> <p> Status: Semi-Supported, Driver Name: eepro100 This card uses the i82557 chip, and hence may/should work with the eepro100 driver. If you try this please send in a report so this information can be updated. <sect1>AMD / Advanced Micro Devices<label id="amd"> <p> Carl Ching of AMD was kind enough to provide a very detailed description of all the relevant AMD ethernet products which helped clear up this section. <sect2>AMD LANCE (7990, 79C960/961/961A, PCnet-ISA)<label id="lance"> <p> Status: Supported, Driver Name: lance There really is no AMD ethernet card. You are probably reading this because the only markings you could find on your card said AMD and the above number. The 7990 is the original `LANCE' chip, but most stuff (including this document) refer to all these similar chips as `LANCE' chips. (...incorrectly, I might add.) These above numbers refer to chips from AMD that are the heart of many ethernet cards. For example, the Allied Telesis AT1500 (see <ref id="at-1500" name="AT1500">) and the NE1500/2100 (see <ref id="ne1500" name="NE1500">) use these chips. The 7990/79c90 have long been replaced by newer versions. The 79C960 (a.k.a. PCnet-ISA) essentially contains the 79c90 core, along with all the other hardware support required, which allows a single-chip ethernet solution. The 79c961 (PCnet-ISA+) is a jumperless Plug and Play version of the '960. The final chip in the ISA series is the 79c961A (PCnet-ISA II), which adds full duplex capabilities. All cards with one of these chips should work with the lance.c driver, with the exception of very old cards that used the original 7990 in a shared memory configuration. These old cards can be spotted by the lack of jumpers for a DMA channel. One common problem people have is the `busmaster arbitration failure' message. This is printed out when the LANCE driver can't get access to the bus after a reasonable amount of time has elapsed (50us). This usually indicates that the motherboard implementation of bus-mastering DMA is broken, or some other device is hogging the bus, or there is a DMA channel conflict. If your BIOS setup has the `GAT option' (for Guaranteed Access Time) then try toggling/altering that setting to see if it helps. Also note that the driver only looks at the addresses: <tt/0x300, 0x320, 0x340, 0x360/ for a valid card, and any address supplied by an <tt/ether=/ boot argument is silently ignored (this will be fixed) so make sure your card is configured for one of the above I/O addresses for now. The driver will still work fine, even if more than 16MB of memory is installed, since low-memory `bounce-buffers' are used when needed (i.e. any data from above 16MB is copied into a buffer below 16MB before being given to the card to transmit.) The DMA channel can be set with the low bits of the otherwise-unused dev->mem_start value (a.k.a. PARAM_1). (see <ref id="ether" name="PARAM_1">) If unset it is probed for by enabling each free DMA channel in turn and checking if initialization succeeds. The HP-J2405A board is an exception: with this board it's easy to read the EEPROM-set values for the IRQ, and DMA. See <ref id="amd-notes" name="Notes on AMD..."> for more info on these chips. <sect2>AMD 79C965 (PCnet-32)<label id="pcnet-32"> <p> Status: Supported, Driver Name: pcnet32 This is the PCnet-32 -- a 32 bit bus-master version of the original LANCE chip for VL-bus and local bus systems. chip. While these chips can be operated with the standard <tt/lance.c/ driver, a 32 bit version (<tt/pcnet32.c/) is also available that does not have to concern itself with any 16MB limitations associated with the ISA bus. <sect2>AMD 79C970/970A (PCnet-PCI)<label id="pcnet-pci"> <p> Status: Supported, Driver Name: pcnet32 This is the PCnet-PCI -- similar to the PCnet-32, but designed for PCI bus based systems. Please see the above PCnet-32 information. This means that you need to build a kernel with PCI BIOS support enabled. The '970A adds full duplex support along with some other features to the original '970 design. Note that the Boca implementation of the 79C970 fails on fast Pentium machines. This is a hardware problem, as it affects DOS users as well. See the Boca section for more details. <sect2>AMD 79C971 (PCnet-FAST) <p> Status: Supported, Driver Name: pcnet32 This is AMD's 100Mbit chip for PCI systems, which also supports full duplex operation. It was introduced in June 1996. <sect2>AMD 79C972 (PCnet-FAST+) <p> Status: Unknown, Driver Name: pcnet32 This should also work just like the '971 but this has yet to be confirmed. <sect2>AMD 79C974 (PCnet-SCSI) <p> Status: Supported, Driver Name: pcnet32 This is the PCnet-SCSI -- which is basically treated like a '970 from an Ethernet point of view. Also see the above information. Don't ask if the SCSI half of the chip is supported -- this is the <em/Ethernet-HowTo/, not the SCSI-HowTo. <sect1>Ansel Communications<label id="ansel"> <p> <sect2>AC3200 EISA <p> Status: Semi-Supported, Driver Name: ac3200 Note that to access this driver during <tt/make config/ you still have to answer `Y' when asked ``Prompt for development and/or incomplete code/drivers?'' at the first. This is simply due to lack of feedback on the driver stability due to it being a relatively rare card. This driver is included in the present kernel as an alpha test driver. It is based on the common NS8390 chip used in the ne2000 and wd80x3 cards. Please see <ref id="alfa" name="Alpha Drivers"> in this document for important information regarding alpha drivers. If you use it, let one of us know how things work out, as feedback has been low, even though the driver has been in the kernel since v1.1.25. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect1>Apricot <p> <sect2>Apricot Xen-II On Board Ethernet <p> Status: Semi-Supported, Driver Name: apricot This on board ethernet uses an i82596 bus-master chip. It can only be at I/O address <tt/0x300/. By looking at the driver source, it appears that the IRQ is also hardwired to 10. Earlier versions of the driver had a tendency to think that anything living at <tt/0x300/ was an apricot NIC. Since then the hardware address is checked to avoid these false detections. <sect1>Arcnet<label id="arcnet"> <p> Status: Supported, Driver Name: arcnet (arc-rimi, com90xx, com20020) With the very low cost and better performance of ethernet, chances are that most places will be giving away their Arcnet hardware for free, resulting in a lot of home systems with Arcnet. An advantage of Arcnet is that all of the cards have identical interfaces, so one driver will work for everyone. It also has built in error handling so that it supposedly never loses a packet. (Great for UDP traffic!) Avery Pennarun's arcnet driver has been in the default kernel sources since 1.1.80. The arcnet driver uses `arc0' as its name instead of the usual `eth0' for ethernet devices. Bug reports and success stories can be mailed to: <tt>apenwarr@foxnet.net</tt> There are information files contained in the standard kernel for setting jumpers and general hints. Supposedly the driver also works with the 100Mbs ARCnet cards as well! <sect1>AT&T <p> Note that AT&T's StarLAN is an orphaned technology, like SynOptics LattisNet, and can't be used in a standard 10Base-T environment, without a hub that `speaks' both. <sect2>AT&T T7231 (LanPACER+) <p> Status: Not Supported. These StarLAN cards use an interface similar to the i82586 chip. At one point, Matthijs Melchior (<tt/matthijs.n.melchior@att.com/) was playing with the 3c507 driver, and almost had something useable working. Haven't heard much since that. <sect1>Boca Research<label id="boca"> <p> Yes, they make more than just multi-port serial cards. :-) <sect2>Boca BEN (ISA, VLB, PCI)<label id="boca-ben"> <p> Status: Supported, Driver Name: lance, pcnet32 These cards are based on AMD's PCnet chips. Perspective buyers should be warned that many users have had endless problems with these VLB/PCI cards. Owners of fast Pentium systems have been especially hit. Note that this is not a driver problem, as it hits DOS/Win/NT users as well. Boca's technical support number is (407) 241-8088, and you can also reach them at <tt/75300.2672@compuserve.com/. The older ISA cards don't appear to suffer the same problems. Donald did a comparitive test with a Boca PCI card and a similar Allied Telsyn PCnet/PCI implementation, which showed that the problem lies in Boca's implementation of the PCnet/PCI chip. These test results can be accessed on Don's www server. <url url="http://cesdis.gsfc.nasa.gov/linux/" name="Linux at CESDIS"> Boca is offering a `warranty repair' for affected owners, which involves adding one of the missing capacitors, but it appears that this fix doesn't work 100 percent for most people, although it helps some. If you are <em/still/ thinking of buying one of these cards, then at least try and get a 7 day unconditional return policy, so that if it doesn't work properly in your system, you can return it. More general information on the AMD chips can be found in <ref id="lance" name="AMD LANCE">. More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. <sect1>Cabletron<label id="ctron"> <p> Donald writes: `Yes, another one of these companies that won't release its programming information. They waited for months before actually confirming that all their information was proprietary, deliberately wasting my time. Avoid their cards like the plague if you can. Also note that some people have phoned Cabletron, and have been told things like `a D. Becker is working on a driver for linux' -- making it sound like I work for them. This is NOT the case.' <!-- If you feel like asking them why they don't want to release their low level programming info so that people can use their cards, write to support@ctron.com. Tell them that you are using Linux, and are disappointed that they don't support open systems. And no, the usual driver development kit they supply is useless. It is just a DOS object file that you are supposed to link against. Which you aren't allowed to even reverse engineer. --> Apparently Cabletron has changed their policy with respect to programming information (like Xircom) since Donald made the above comment several years ago -- send e-mail to <tt/support@ctron.com/ if you want to verify this or ask for programming information. However, at this point in time, there is little demand for modified/updated drivers for the older E20xx and E21xx cards. <sect2>E10**, E10**-x, E20**, E20**-x<label id="e10xx"> <p> Status: Semi-Supported, Driver Name: ne (+8390) These are NEx000 almost-clones that are reported to work with the standard NEx000 drivers, thanks to a ctron-specific check during the probe. If there are any problems, they are unlikely to be fixed, as the programming information is unavailable. <sect2>E2100<label id="e2100"> <p> Status: Semi-Supported, Driver Name: e2100 (+8390) Again, there is not much one can do when the programming information is proprietary. The E2100 is a poor design. Whenever it maps its shared memory in during a packet transfer, it maps it into the <em/whole 128K region!/ That means you <bf/can't/ safely use another interrupt-driven shared memory device in that region, including another E2100. It will work most of the time, but every once in a while it will bite you. (Yes, this problem can be avoided by turning off interrupts while transferring packets, but that will almost certainly lose clock ticks.) Also, if you mis-program the board, or halt the machine at just the wrong moment, even the reset button won't bring it back. You will <em/have/ to turn it off and <em/leave/ it off for about 30 seconds. Media selection is automatic, but you can override this with the low bits of the dev->mem_end parameter. See <ref id="ether" name="PARAM_2">. Module users can specify an <tt/xcvr=N/ value as an <tt/option/ in the <tt>/etc/conf.modules</tt> file. Also, don't confuse the E2100 for a NE2100 clone. The E2100 is a shared memory NatSemi DP8390 design, roughly similar to a brain-damaged WD8013, whereas the NE2100 (and NE1500) use a bus-mastering AMD LANCE design. There is an E2100 driver included in the standard kernel. However, seeing as programming info isn't available, don't expect bug-fixes. Don't use one unless you are already stuck with the card. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect2>E22**<label id="e2200"> <p> Status: Semi-Supported, Driver Name: lance According to information in a Cabletron Tech Bulletin, these cards use the standard AMD PC-Net chipset (see <ref id="lance" name="AMD PC-Net">) and should work with the generic lance driver. <sect1>Cogent <p> Here is where and how to reach them: <verb> Cogent Data Technologies, Inc. 175 West Street, P.O. Box 926 Friday Harbour, WA 98250, USA. Cogent Sales 15375 S.E. 30th Place, Suite 310 Bellevue, WA 98007, USA. Technical Support: Phone (360) 378-2929 between 8am and 5pm PST Fax (360) 378-2882 Compuserve GO COGENT Bulletin Board Service (360) 378-5405 Internet: support@cogentdata.com </verb> <sect2>EM100-ISA/EISA <p> Status: Semi-Supported, Driver Name: smc9194 These cards use the SMC 91c100 chip and may work with the SMC 91c92 driver, but this has yet to be verified. <sect2>Cogent eMASTER+, EM100-PCI, EM400, EM960, EM964 <p> Status: Supported, Driver Name: de4x5, tulip These are yet another DEC 21040 implementation that should hopefully work fine with the standard 21040 driver. The EM400 and the EM964 are four port cards using a DEC 21050 bridge and 4 21040 chips. See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. <sect1>Compaq <p> Compaq aren't really in the business of making ethernet cards, but a lot of their systems have embedded ethernet controllers on the motherboard. <sect2>Compaq Deskpro / Compaq XL (Embedded AMD Chip) <p> Status: Supported, Driver Name: pcnet32 Machines such as the XL series have an AMD 79c97x PCI chip on the mainboard that can be used with the standard LANCE driver. But before you can use it, you have to do some trickery to get the PCI BIOS to a place where Linux can see it. Frank Maas was kind enough to provide the details: `` The problem with this Compaq machine however is that the PCI directory is loaded in high memory, at a spot where the Linux kernel can't (won't) reach. Result: the card is never detected nor is it usable (sideline: the mouse won't work either) The workaround (as described thoroughly in http://www-c724.uibk.ac.at/XL/) is to load MS-DOS, launch a little driver Compaq wrote and then load the Linux kernel using LOADLIN. Ok, I'll give you time to say `yuck, yuck', but for now this is the only working solution I know of. The little driver simply moves the PCI directory to a place where it is normally stored (and where Linux can find it).'' More general information on the AMD chips can be found in <ref id="lance" name="AMD LANCE">. <sect2>Compaq Nettelligent/NetFlex (Embedded ThunderLAN Chip) <p> Status: Supported, Driver Name: tlan These systems use a Texas Instruments ThunderLAN chip Information on the ThunderLAN driver can be found in <ref id="tlan" name="ThunderLAN">. <sect1>Danpex <p> <sect2>Danpex EN9400 <p> Status: Supported, Driver Name: de4x5, tulip Yet another card based on the DEC 21040 chip, reported to work fine, and at a relatively cheap price. See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. <sect1>D-Link<label id="d-link"> <p> <sect2>DE-100, DE-200, DE-220-T, DE-250<label id="de-100"> <p> Status: Supported, Driver Name: ne (+8390) Some of the early D-Link cards didn't have the <tt/0x57/ PROM signature, but the ne2000 driver knows about them. For the software configurable cards, you can get the config program from <tt/www.dlink.com/. The DE2** cards were the most widely reported as having the spurious transfer address mismatch errors with early versions of linux. Note that there are also cards from Digital (DEC) that are also named DE100 and DE200, but the similarity stops there. <sect2>DE-520<label id="de-520"> <p> Status: Supported, Driver Name: pcnet32 This is a PCI card using the PCI version of AMD's LANCE chip. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. More technical information on AMD LANCE based Ethernet cards can be found in <ref id="amd-notes" name="Notes on AMD...">. <sect2>DE-528 <p> Status: Supported, Driver Name: ne, ne2k-pci (+8390) Apparently D-Link have also started making PCI NE2000 clones. <sect2>DE-530<label id="de-530"> <p> Status: Supported, Driver Name: de4x5, tulip This is a generic DEC 21040 PCI chip implementation, and is reported to work with the generic 21040 tulip driver. See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. <sect2>DE-600<label id="de-600"> <p> Status: Supported, Driver Name: de600 Laptop users and other folk who might want a quick way to put their computer onto the ethernet may want to use this. The driver is included with the default kernel source tree. Bjorn Ekwall <tt/bj0rn@blox.se/ wrote the driver. Expect about 180kb/s transfer speed from this via the parallel port. You should read the README.DLINK file in the kernel source tree. Note that the device name that you pass to <tt/ifconfig/ is <em/now/ <tt/eth0/ and not the previously used <tt/dl0/. If your parallel port is <em/not/ at the standard <tt/0x378/ then you will have to recompile. Bjorn writes: ``Since the DE-620 driver tries to sqeeze the last microsecond from the loops, I made the irq and port address constants instead of variables. This makes for a usable speed, but it also means that you can't change these assignements from e.g. lilo; you _have_ to recompile...'' Also note that some laptops implement the on-board parallel port at <tt/0x3bc/ which is where the parallel ports on monochrome cards were/are. <sect2>DE-620<label id="de-620"> <p> Status: Supported, Driver Name: de620 Same as the DE-600, only with two output formats. Bjorn has written a driver for this model, for kernel versions 1.1 and above. See the above information on the DE-600. <sect2>DE-650<label id="de-650"> <p> Status: Semi-Supported, Driver Name: de650 (?) Some people have been using this PCMCIA card for some time now with their notebooks. It is a basic 8390 design, much like a NE2000. The LinkSys PCMCIA card and the IC-Card Ethernet are supposedly DE-650 clones as well. Note that at present, this driver is <em/not/ part of the standard kernel, and so you will have to do some patching. See <ref id="pcmcia" name="PCMCIA Support"> in this document, and if you can, have a look at: <url url="http://cesdis.gsfc.nasa.gov/linux/pcmcia.html" name="Don's PCMCIA Stuff"> <sect1>DFI<label id="dfi"> <p> <sect2>DFINET-300 and DFINET-400<label id="dfi-300"> <p> Status: Supported, Driver Name: ne (+8390) These cards are now detected (as of 0.99pl15) thanks to Eberhard Moenkeberg <tt/emoenke@gwdg.de/ who noted that they use `DFI' in the first 3 bytes of the prom, instead of using <tt/0x57/ in bytes 14 and 15, which is what all the NE1000 and NE2000 cards use. (The 300 is an 8 bit pseudo NE1000 clone, and the 400 is a pseudo NE2000 clone.) <sect1>Digital / DEC<label id="dec"> <p> <sect2>DEPCA, DE100/1, DE200/1/2, DE210, DE422<label id="dec-200"> <p> Status: Supported, Driver Name: depca There is documentation included in the source file `depca.c', which includes info on how to use more than one of these cards in a machine. Note that the DE422 is an EISA card. These cards are all based on the AMD LANCE chip. See <ref id="lance" name="AMD LANCE"> for more info. A maximum of two of the ISA cards can be used, because they can only be set for <tt/0x300/ and <tt/0x200/ base I/O address. If you are intending to do this, please read the notes in the driver source file <tt/depca.c/ in the standard kernel source tree. This driver will also work on Alpha CPU based machines, and there are various ioctl()s that the user can play with. <sect2>Digital EtherWorks 3 (DE203, DE204, DE205)<label id="dec-ewrk3"> <p> Status: Supported, Driver Name: ewrk3 These cards use a proprietary chip from DEC, as opposed to the LANCE chip used in the earlier cards like the DE200. These cards support both shared memory or programmed I/O, although you take about a 50&percnt performance hit if you use PIO mode. The shared memory size can be set to 2kB, 32kB or 64kB, but only 2 and 32 have been tested with this driver. David says that the performance is virtually identical between the 2kB and 32kB mode. There is more information (including using the driver as a loadable module) at the top of the driver file <tt/ewrk3.c/ and also in <tt/README.ewrk3/. Both of these files come with the standard kernel distribution. This driver has Alpha CPU support like depca.c does. The standard driver has a number of interesting ioctl() calls that can be used to get or clear packet statistics, read/write the EEPROM, change the hardware address, and the like. Hackers can see the source code for more info on that one. David has also written a configuration utility for this card (along the lines of the DOS program <tt/NICSETUP.EXE/) along with other tools. These can be found on most Linux FTP sites in the directory <tt>/pub/Linux/system/Network/management</tt> -- look for the file <tt/ewrk3tools-X.XX.tar.gz/. <sect2>DE425 EISA, DE434, DE435, DE500 <label id="dec-eisa"> <p> Status: Supported, Driver Name: de4x5, tulip These cards are based on the 21040 chip mentioned below. The DE500 uses the 21140 chip to provide 10/100Mbs ethernet connections. Have a read of the 21040 section below for extra info. There are also some compile-time options available for non-DEC cards using this driver. Have a look at <tt/README.de4x5/ for details. All the Digital cards will autoprobe for their media (except, temporarily, the DE500 due to a patent issue). This driver is also Alpha CPU ready and supports being loaded as a module. Users can access the driver internals through ioctl() calls - see the 'ewrk3' tools and the de4x5.c sources for information about how to do this. <sect2>DEC 21040, 21041, 2114x, Tulip <label id="dec-21040"> <p> Status: Supported, Driver Name: de4x5, tulip The DEC 21040 is a bus-mastering single chip ethernet solution from Digital, similar to AMD's PCnet chip. The 21040 is specifically designed for the PCI bus architecture. SMC's new EtherPower PCI card uses this chip. You have a choice of <em/two/ drivers for cards based on this chip. There is the DE425 driver discussed above, and the generic 21040 `tulip' driver. <bf/Warning:/ Even though your card may be based upon this chip, <em/the drivers may not work for you/. David C. Davies writes: ``There are no guarantees that either `tulip.c' OR `de4x5.c' will run any DC2114x based card other than those they've been written to support. WHY?? You ask. Because there is a register, the General Purpose Register (CSR12) that (1) in the DC21140A is programmable by each vendor and they all do it differently (2) in the DC21142/3 this is now an SIA control register (a la DC21041). The only small ray of hope is that we can decode the SROM to help set up the driver. However, this is not a guaranteed solution since some vendors (e.g. SMC 9332 card) don't follow the Digital Semiconductor recommended SROM programming format." In non-technical terms, this means that if you aren't sure that an unknown card with a DC2114x chip will work with the linux driver(s), then make sure you can return the card to the place of purchase <em/before/ you pay for it. The updated 21041 chip is also found in place of the 21040 on most of the later SMC EtherPower cards. The 21140 is for supporting 100Base-? and works with the Linux drivers for the 21040 chip. To use David's <tt/de4x5/ driver with non-DEC cards, have a look at <tt/README.de4x5/ for details. Donald has used SMC EtherPower-10/100 cards to develop the `tulip' driver. Note that the driver that is in the standard kernel tree at the moment is not the most up to date version. If you are having trouble with this driver, you should get the newest version from Donald's ftp/WWW site. <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/tulip.html" name="Tulip Driver"> The above URL also contains a (non-exhaustive) list of various cards/vendors that use the 21040 chip. Also note that the tulip driver is still considered an <em/alpha/ driver (see <ref id="alfa" name="Alpha Drivers">) at the moment, and should be treated as such. To use it, you will have to edit <tt>arch/i386/config.in</tt> and uncomment the line for <tt/CONFIG_DEC_ELCP/ support. Donald has even set up a mailing list for tulip driver support announcements, etc. To join it just type: <tt>echo subscribe | /bin/mail linux-tulip-request@cesdis.gsfc.nasa.gov</tt> <sect1>Farallon <p> Farallon sells EtherWave adaptors and transceivers. This device allows multiple 10baseT devices to be daisy-chained. <sect2>Farallon Etherwave <p> Status: Supported, Driver Name: 3c509 This is reported to be a 3c509 clone that includes the EtherWave transceiver. People have used these successfully with Linux and the present 3c509 driver. They are too expensive for general use, but are a great option for special cases. Hublet prices start at $125, and Etherwave adds $75-$100 to the price of the board -- worth it if you have pulled one wire too few, but not if you are two network drops short. <sect1>Fujitsu <p> Unlike many network chip manufacturers, Fujitsu have also made and sold some network cards based upon their chip. <sect2>Fujitsu FMV-181/182/183/184 <p> Status: Supported, Driver Name: fmv18x According to the driver, these cards are a straight forward Fujitsu MB86965 implementation, which would make them very similar to the Allied Telesis AT1700 cards. <sect1>Hewlett Packard<label id="hp"> <p> The 272** cards use programmed I/O, similar to the NE*000 boards, but the data transfer port can be `turned off' when you aren't accessing it, avoiding problems with autoprobing drivers. Thanks to Glenn Talbott for helping clean up the confusion in this section regarding the version numbers of the HP hardware. <sect2>27245A<label id="hp-27245a"> <p> Status: Supported, Driver Name: hp (+8390) 8 Bit 8390 based 10BaseT, not recommended for all the 8 bit reasons. It was re-designed a couple years ago to be highly integrated which caused some changes in initialization timing which only affected testing programs, not LAN drivers. (The new card is not `ready' as soon after switching into and out of loopback mode.) If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect2>HP EtherTwist, PC Lan+ (27247, 27252A) <p> Status: Supported, Driver Name: hp+ (+8390) The HP PC Lan+ is different to the standard HP PC Lan card. This driver was added to the list of drivers in the standard kernel during the v1.1.x development cycle. It can be operated in either a PIO mode like a ne2000, or a shared memory mode like a wd8013. The 47B is a 16 Bit 8390 based 10BaseT w/AUI, and the 52A is a 16 Bit 8390 based ThinLAN w/AUI. These cards have 32K onboard RAM for Tx/Rx packet buffering instead of the usual 16KB, and they both offer LAN connector autosense. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect2>HP-J2405A <p> Status: Supported, Driver Name: lance These are lower priced, and slightly faster than the 27247/27252A, but are missing some features, such as AUI, ThinLAN connectivity, and boot PROM socket. This is a fairly generic LANCE design, but a minor design decision makes it incompatible with a generic `NE2100' driver. Special support for it (including reading the DMA channel from the board) is included thanks to information provided by HP's Glenn Talbott. More technical information on LANCE based cards can be found in <ref id="amd-notes" name="Notes on AMD..."> <sect2>HP-Vectra On Board Ethernet <p> Status: Supported, Driver Name: lance The HP-Vectra has an AMD PCnet chip on the motherboard. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. More technical information on LANCE based cards can be found in <ref id="amd-notes" name="Notes on AMD..."> <sect2>HP 10/100 VG Any Lan Cards (27248B, J2573, J2577, J2585, J970, J973) <p> Status: Supported, Driver Name: hp100 This driver also supports some of the Compex VG products. Since the driver supports ISA, EISA and PCI cards, it is found under ISA cards when running <tt/make config/ on a kernel source. <sect2>HP NetServer 10/100TX PCI (D5013A) <p> Status: Supported, Driver Name: eepro100 Apparently these are just a rebadged Intel EtherExpress Pro 10/100B card. See the Intel section for more information. <sect1>IBM / International Business Machines<label id="ibm"> <p> <sect2>IBM Thinkpad 300<label id="thinkpad-300"> <p> Status: Supported, Driver Name: znet This is compatible with the Intel based Zenith Z-note. See <ref id="z-note" name="Z-note"> for more info. Supposedly this site has a comprehensive database of useful stuff for newer versions of the Thinkpad. I haven't checked it out myself yet. <url url="http://peipa.essex.ac.uk/html/linux-thinkpad.html" Name="Thinkpad-info"> For those without a WWW browser handy, try <tt>peipa.essex.ac.uk:/pub/tp750/</tt> <sect2>IBM Credit Card Adaptor for Ethernet <p> Status: Semi-Supported, Driver Name: ? (distributed separately) People have been using this PCMCIA card with Linux as well. Similar points apply, those being that you need a supported PCMCIA chipset on your notebook, and that you will have to patch the PCMCIA support into the standard kernel. See <ref id="pcmcia" name="PCMCIA Support"> in this document, and if you can, have a look at: <url url="http://cesdis.gsfc.nasa.gov/linux/pcmcia.html" name="Don's PCMCIA Stuff"> <sect2>IBM Token Ring <p> Status: Semi-Supported, Driver Name: ibmtr To support token ring requires more than only writing a device driver, it also requires writing the source routing routines for token ring. It is the source routing that would be the most time comsuming to write. Peter De Schrijver has been spending some time on Token Ring lately. and has worked with IBM ISA and MCA token ring cards. The present token ring code has been included into the first of the 1.3.x series kernels. Peter says that it was originally tested on an MCA 16/4 Megabit Token Ring board, but it should work with other Tropic based boards. <sect1>ICL Ethernet Cards <p> <sect2>ICL EtherTeam 16i/32 <p> Status: Supported, Driver Name: eth16i Mika Kuoppala (miku@pupu.elt.icl.fi) wrote this driver, and it was included into early 1.3.4x kernels. It uses the Fujitsu MB86965 chip that is also used on the at1700 cards. <sect1>Intel Ethernet Cards<label id="intel"> <p> Note that the naming of the various Intel cards is ambiguous and confusing at best. If in doubt, then check the <tt/i8xxxx/ number on the main chip on the card or for PCI cards, use the PCI information in the <tt>/proc</tt> directory and then compare that to the numbers listed here. <sect2>Ether Express <p> Status: Supported, Driver Name: eexpress This card uses the intel i82586. Earlier versions of this driver (in v1.2 kernels) were classed as alpha-test, as it didn't work well for most people. The driver in the v2.0 kernel seems to work much better for those who have tried it, although the driver source still lists it as experimental and more problematic on faster machines. The comments at the top of the driver source list some of the problems (and fixes!) associated with these cards. The slowdown hack of replacing all the <tt/outb/ with <tt/outb_p/ in the driver has been reported to avoid lockups for at least one user. <sect2>Ether Express PRO/10 <p> Status: Supported, Driver Name: eepro Bao Chau Ha has written a driver for these cards that has been included into early 1.3.x kernels. It may also work with some of the Compaq built-in ethernet systems that are based on the i82595 chip. <sect2>Ether Express PRO/10 PCI (EISA) <p> Status: Semi-Supported, Driver Name: ? (distributed separately) John Stalba (stalba@ultranet.com) has written a driver for the PCI version. These cards use the PLX9036 PCI interface chip with the Intel i82596 LAN controller chip. If your card has the i82557 chip, then you <em/don't/ have this card, but rather the version discussed next, and hence want the EEPro100 driver instead. You can get the alpha driver for the PRO/10 PCI card, along with instructions on how to use it at: <url url="http://www.ultranet.com/~stalba/eep10pci.html" name="EEPro10 Driver"> If you have the EISA card, you will probably have to hack the driver a bit to account for the different (PCI vs. EISA) detection mechanisms that are used in each case. <sect2>Ether Express PRO 10/100B<label id="eepro100"> <p> Status: Supported, Driver Name: eepro100 Note that this driver will <em/not/ work with the older 100A cards. The chip numbers listed in the driver are i82557/i82558. For driver updates and/or driver support, have a look at: <url url="http://cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html" name="EEPro-100B Page"> To subscribe to the mailing list relating to this driver, do: <tt>echo subscribe | /bin/mail linux-eepro100-request@cesdis.gsfc.nasa.gov</tt> Apparently Donald had to sign a non-disclosure agreement that stated he could actually disclose the driver source code! How is that for sillyness on intel's part? <sect1>Kingston <p> Kingston make various cards, including NE2000+, AMD PCnet based cards, and DEC tulip based cards. Most of these cards should work fine with their respective driver. See <url url="http://www.kingston.com" name="Kingston Web Page"> The KNE40 DEC 21041 tulip based card is reported to work fine with the generic tulip driver. <sect1>LinkSys <p> LinkSys make a handful of different NE2000 clones, some straight ISA cards, some ISA plug and play and some even ne2000-PCI clones based on one of the supported ne2000-PCI chipsets. There are just too many models to list here. LinkSys are linux-friendly, with a linux specific WWW support page, and even have Linux printed on the boxes of some of their products. Have a look at: <tt>http://www.linksys.com/support/solution/nos/linux.htm</tt> <sect2>LinkSys Etherfast 10/100 Cards. <p> Status: Supported, Driver Name: tulip Note that with these cards there have been several `revisions' (i.e. different chipset used) all with the same card name. The 1st used the DEC chipset. The 2nd revision used the Lite-On PNIC 82c168 PCI Network Interface Controller, and support for this was merged into the standard tulip driver (as of version 0.83 and newer). More PNIC information is available at: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/pnic.html</tt> More information on the various versions of these cards can be found at the LinkSys WWW site mentioned above. <sect2>LinkSys Pocket Ethernet Adapter Plus (PEAEPP) <p> Status: Supported, Driver Name: de620 This is supposedly a DE-620 clone, and is reported to work well with that driver. See <ref id="de-620" name="DE-620"> for more information. <sect2>LinkSys PCMCIA Adaptor <p> Status: Supported, Driver Name: de650 (?) This is supposed to be a re-badged DE-650. See <ref id="de-650" name="DE-650"> for more information. <sect1>Microdyne <p> <sect2>Microdyne Exos 205T <p> Status: Semi-Supported, Driver Name: ? Another i82586 based card. Dirk Niggemann <tt/dirk-n@dircon.co.uk/ has written a driver that he classes as ``pre-alpha'' that he would like people to test. Mail him for more details. <sect1>Mylex <p> Mylex can be reached at the following numbers, in case anyone wants to ask them anything. <verb> MYLEX CORPORATION, Fremont Sales: 800-77-MYLEX, (510) 796-6100 FAX: (510) 745-8016. </verb> They also have a web site: <url url="http://www.mylex.com" name="Mylex WWW Site"> <sect2>Mylex LNE390A, LNE390B <p> Status: Supported, Driver Name: lne390 (+8390) These are fairly old EISA cards that make use of a shared memory implementation similar to the wd80x3. A driver for these cards is available in the current 2.1.x series of kernels. Ensure you set the shared memory address below 1MB or above the highest address of the physical RAM installed in the machine. <sect2>Mylex LNP101 <p> Status: Supported, Driver Name: de4x5, tulip This is a PCI card that is based on DEC's 21040 chip. It is selectable between 10BaseT, 10Base2 and 10Base5 output. The LNP101 card has been verified to work with the generic 21040 driver. See the section on the 21040 chip (<ref id="dec-21040" name="DEC 21040">) for more information. <sect2>Mylex LNP104 <p> Status: Semi-Supported, Driver Name: de4x5, tulip The LNP104 uses the DEC 21050 chip to deliver <em/four/ independent 10BaseT ports. It should work with recent 21040 drivers that know how to share IRQs, but nobody has reported trying it yet (that I am aware of). <sect1>Novell Ethernet, NExxxx and associated clones.<label id="novell"> <p> The prefix `NE' came from Novell Ethernet. Novell followed the cheapest NatSemi databook design and sold the manufacturing rights (spun off?) Eagle, just to get reasonably-priced ethercards into the market. (The now ubiquitous NE2000 card.) <sect2>NE1000, NE2000<label id="ne2k"> <p> Status: Supported, Driver Name: ne (+8390) The ne2000 is now a generic name for a bare-bones design around the NatSemi 8390 chip. They use programmed I/O rather than shared memory, leading to easier installation but slightly lower performance and a few problems. Some of the more common problems that arise with NE2000 cards are listed in <ref id="ne2k-probs" name="Problems with..."> Some NE2000 clones use the National Semiconductor `AT/LANTic' 83905 chip, which offers a shared memory mode similar to the wd8013 and EEPROM software configuration. The shared memory mode will offer less CPU usage (i.e. more efficient) than the programmed I/O mode. In general it is not a good idea to put a NE2000 clone at I/O address <tt/0x300/ because nearly <em/every/ device driver probes there at boot. Some poor NE2000 clones don't take kindly to being prodded in the wrong areas, and will respond by locking your machine. Also <tt/0x320/ is bad because SCSI drivers probe into <tt/0x330/. Donald has written a NE2000 diagnostic program (ne2k.c) for all ne2000 cards. See <ref id="diag" name="Diagnostic Programs"> for more information. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect2>NE2000-PCI (RealTek/Winbond/Compex)<label id="ne2k-pci"> <p> Status: Supported, Driver Name: ne, ne2k-pci (+8390) Yes, believe it or not, people are making PCI cards based on the more than ten year old interface design of the ne2000. At the moment nearly all of these cards are based on the RealTek 8029 chip, or the Winbond 89c940 chip. The Compex, KTI, VIA and Netvin cards apparently also use these chips, but have a different PCI ID. The latest v2.0 kernel has support to automatically detect all these cards and use them. (If you are using a kernel v2.0.34 or older, you should upgrade to ensure your card will be detected.) There are now two drivers to choose from; the original ISA/PCI <tt/ne.c/ driver, and a relatively new PCI-only <tt/ne2k-pci.c/ driver. To use the original ISA/PCI driver you have to say `Y' to the `Other ISA cards' option when running <tt/make config/ as you are actually using the same NE2000 driver as the ISA cards use. (That should also give you a hint that these cards aren't anywhere as intelligent as say a PCNet-PCI or DEC 21040 card...) The newer PCI-only driver differs from the ISA/PCI driver in that all the support for old NE1000 8 bit cards has been removed and that data is moved to/from the card in bigger blocks, without any intervening pauses that the older ISA-NE2000's required for reliable operation. The result is a driver that is slightly smaller and slightly more efficient, but don't get too excited as the difference will not be obvious under normal use. (If you really wanted maximum efficiency/low CPU use, then a PCI-NE2000 is simply a very poor choice.) Driver updates and more information can be found at: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/ne2k-pci.html</tt> If you have a NE2000 PCI card that is <em/not/ detected by the most current version of the driver, please contact the maintainer of the NE2000 driver as listed in <tt>/usr/src/linux/MAINTAINERS</tt> along with the output from a <tt>cat /proc/pci</tt> and <tt>dmesg</tt> so that support for your card can also be added to the driver. Also note that various card makers have been known to put `NE2000 Compatible' stickers on their product boxes even when it is completely different (e.g. PCNet-PCI or RealTek 8139). If in doubt check the main chip number against this document. <sect2>NE-10/100 <p> Status: Not Supported. These are ISA 100Mbps cards based on the National Semiconductor DP83800 and DP83840 chips. There is currently no driver support, nor has anyone reported that they are working on a driver. Apparently documentation on the chip is unavailable with the exception of a single PDF file that doesn't give enough details for a driver. <sect2>NE1500, NE2100<label id="ne1500"> <p> Status: Supported, Driver Name: lance These cards use the original 7990 LANCE chip from AMD and are supported using the Linux lance driver. Newer NE2100 clones use the updated PCnet/ISA chip from AMD. Some earlier versions of the lance driver had problems with getting the IRQ line via autoIRQ from the original Novell/Eagle 7990 cards. Hopefully this is now fixed. If not, then specify the IRQ via LILO, and let us know that it still has problems. DMA selection and chip numbering information can be found in <ref id="lance" name="AMD LANCE">. More technical information on LANCE based cards can be found in <ref id="amd-notes" name="Notes on AMD..."> <sect2>NE/2 MCA <p> Status: Semi-Supported, Driver Name: ne2 There were a few NE2000 microchannel cards made by various companies. This driver, available in v2.2 kernels, will detect the following MCA cards: Novell Ethernet Adapter NE/2, Compex ENET-16 MC/P, and the Arco Ethernet Adapter AE/2. <sect2>NE3200<label id="ne3200"> <p> Status: Not Supported. This old EISA card uses a 8MHz 80186 in conjunction with an i82586. Nobody is working on a driver for it, as there is no information available on the card, and no real demand for a driver either. <sect2>NE3210<label id="ne3210"> <p> Status: Supported, Driver Name: ne3210 (+8390) This EISA card is completely different from the NE3200, as it uses a Nat Semi 8390 chip. The driver can be found in the v2.2 kernel source tree. Ensure you set the shared memory address below 1MB or above the highest address of the physical RAM installed in the machine. <sect2>NE5500 <p> Status: Supported, Driver Name: pcnet32 These are just AMD PCnet-PCI cards ('970A) chips. More information on LANCE/PCnet based cards can be found in <ref id="lance" name="AMD LANCE">. <sect1>Proteon <p> <sect2>Proteon P1370-EA <p> Status: Supported, Driver Name: ne (+8390) Apparently this is a NE2000 clone, and works fine with Linux. <sect2>Proteon P1670-EA <p> Status: Supported, Driver Name: de4x5, tulip This is yet another PCI card that is based on DEC's Tulip chip. It has been reported to work fine with Linux. See the section on the 21040 chip (<ref id="dec-21040" name="DEC 21040">) for more driver information. <sect1>Pure Data <p> <sect2>PDUC8028, PDI8023 <p> Status: Supported, Driver Name: wd (+8390) The PureData PDUC8028 and PDI8023 series of cards are reported to work, thanks to special probe code contributed by Mike Jagdis <tt/jaggy@purplet.demon.co.uk/. The support is integrated with the WD driver. <sect1>Racal-Interlan <p> Racal Interlan can be reached via WWW at <tt/www.interlan.com/. I believe they were also known as MiCom-Interlan at one point in the past. <sect2>ES3210 <p> Status: Semi-Supported, Driver Name: es3210 This is an EISA 8390 based shared memory card. An experimetal driver is shipped with v2.2 kernels and it is reported to work fine, but the EISA IRQ and shared memory address detection appears not to work with (at least) the early revision cards. (This problem is not unique to the Linux world either...) In that case, you have to supply them to the driver. For example, card at IRQ 5 and shared memory <tt/0xd0000/, with a modular driver, add <tt/options es3210 irq=5 mem=0xd0000/ to <tt>/etc/conf.modules</tt>. Or with the driver compiled into the kernel, supply at boot <tt/ether=5,0,0xd0000,eth0/ The I/O base is automatically detected and hence a value of zero should be used. <sect2>NI5010 <p> Status: Semi-Supported, Driver Name: ni5010 You used to have to go get the driver for these old 8 bit MiCom-Interlan cards separately, but now it is shipped with the v2.2 kernels as an experimental driver. <sect2>NI5210 <p> Status: Semi-Supported, Driver Name: ni52 This card also uses one of the Intel chips. Michael Hipp has written a driver for this card. It is included in the standard kernel as an `alpha' driver. Michael would like to hear feedback from users that have this card. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. <sect2>NI6510 (not EB)<label id="ni65xx"> <p> Status: Semi-Supported, Driver Name: ni65 There is also a driver for the LANCE based NI6510, and it is also written by Michael Hipp. Again, it is also an `alpha' driver. For some reason, this card is not compatible with the generic LANCE driver. See <ref id="alfa" name="Alpha Drivers"> for important information on using alpha-test ethernet drivers with Linux. <sect2>EtherBlaster (aka NI6510EB) <p> Status: Supported, Driver Name: lance As of kernel 1.3.23, the generic LANCE driver had a check added to it for the <tt/0x52, 0x44/ NI6510EB specific signature. Others have reported that this signature is not the same for all NI6510EB cards however, which will cause the lance driver to not detect your card. If this happens to you, you can change the probe (at about line 322 in lance.c) to printk() out what the values are for your card and then use them instead of the <tt/0x52, 0x44/ defaults. The cards should probably be run in `high-performance' mode and not in the NI6510 compatible mode when using the lance driver. <sect1>RealTek <p> <sect2>RealTek RTL8002/8012 (AT-Lan-Tec) Pocket adaptor<label id="aep-100"> <p> Status: Supported, Driver Name: atp This is a generic, low-cost OEM pocket adaptor being sold by AT-Lan-Tec, and (likely) a number of other suppliers. A driver for it is included in the standard kernel. Note that there is substantial information contained in the driver source file `atp.c'. Note that the device name that you pass to <tt/ifconfig/ was <em/not/ <tt/eth0/ but <tt/atp0/ for earlier versions of this driver. <sect2>RealTek 8009 <p> Status: Supported, Driver Name: ne (+8390) This is an ISA NE2000 clone, and is reported to work fine with the linux NE2000 driver. The <tt/rset8009.exe/ program can be obtained from RealTek's WWW site at <tt>http://www.realtek.com.tw</tt> - or via ftp from the same site. <sect2>RealTek 8019 <p> Status: Supported, Driver Name: ne (+8390) This is a Plug and Pray version of the above. Use the DOS software to disable PnP and enable jumperless configuration; set the card to a sensible I/O address and IRQ and you should be ready to go. (If using the driver as a module, don't forget to add an <tt/io=0xNNN/ option to <tt>/etc/conf.modules</tt>). The <tt/rset8019.exe/ program can be obtained from RealTek's WWW site at <tt>http://www.realtek.com.tw</tt> - or via ftp from the same site. <sect2>RealTek 8029 <p> Status: Supported, Driver Name: ne, ne2k-pci (+8390) This is a PCI single chip implementation of a NE2000 clone. Various vendors are now selling cards with this chip. See <ref id="ne2k-pci" name="NE2000-PCI"> for information on using any of these cards. Note that this is still a 10+ year old design just glued onto a PCI bus. Performance won't be staggeringly better than the equivalent ISA model. <sect2>RealTek 8129/8139<label id="rtl8139"> <p> Status: Semi-Supported, Driver Name: rtl8139 Another PCI single chip ethernet solution from RealTek. A driver for cards based upon this chip was included in the v2.0.34 release of linux. You currently have to answer `Y' when asked if you want experimental drivers for v2.2 kernels to get access to this driver. For more information, see: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/rtl8139.html</tt> <sect1>Sager <p> <sect2>Sager NP943 <p> Status: Semi-Supported, Driver Name: 3c501 This is just a 3c501 clone, with a different S.A. PROM prefix. I assume it is equally as brain dead as the original 3c501 as well. The driver checks for the NP943 I.D. and then just treats it as a 3c501 after that. See <ref id="3c501" name="3Com 3c501"> for all the reasons as to why you really don't want to use one of these cards. <sect1>Schneider & Koch <p> <sect2>SK G16 <p> Status: Supported, Driver Name: sk_g16 This driver was included into the v1.1 kernels, and it was written by PJD Weichmann and SWS Bern. It appears that the SK G16 is similar to the NI6510, in that it is based on the first edition LANCE chip (the 7990). Once again, it appears as though this card won't work with the generic LANCE driver. <sect1>SEEQ <p> <sect2>SEEQ 8005 <p> Status: Supported, Driver Name: seeq8005 This driver was included into early 1.3.x kernels, and was written by Hamish Coleman. There is little information about the card included in the driver, and hence little information to be put here. If you have a question, you are probably best off e-mailing hamish@zot.apana.org.au <sect1>SMC (Standard Microsystems Corp.) <label id="smc"> <p> The ethernet part of Western Digital was bought out by SMC many years ago when the wd8003 and wd8013 were the main product. Since then SMC has continued making 8390 based ISA cards (Elite16, Ultra, EtherEZ) and also added several PCI products to their range. Contact information for SMC: SMC / Standard Microsystems Corp., 80 Arkay Drive, Hauppage, New York, 11788, USA. Technical Support via phone: 800-992-4762 (USA) or 800-433-5345 (Canada) or 516-435-6250 (Other Countries). Literature requests: 800-SMC-4-YOU (USA) or 800-833-4-SMC (Canada) or 516-435-6255 (Other Countries). Technical Support via E-mail: <tt/techsupt@ccmail.west.smc.com/. FTP Site: <tt/ftp.smc.com/. WWW Site: <url url="http://www.smc.com" name="SMC">. <sect2>WD8003, SMC Elite <p> Status: Supported, Driver Name: wd (+8390) These are the 8-bit versions of the card. The 8 bit 8003 is slightly less expensive, but only worth the savings for light use. Note that some of the non-EEPROM cards (clones with jumpers, or old <em/old/ old wd8003 cards) have no way of reporting the IRQ line used. In this case, auto-irq is used, and if that fails, the driver silently assings IRQ 5. You can get the SMC setup/driver disks from SMC's ftp site. Note that some of the newer SMC `SuperDisk' programs will fail to detect the real old EEPROM-less cards. The file <tt/SMCDSK46.EXE/ seems to be a good all-round choice. Also the jumper settings for all their cards are in an ASCII text file in the aforementioned archive. The latest (greatest?) version can be obtained from <tt/ftp.smc.com/. As these are basically the same as their 16 bit counterparts (WD8013 / SMC Elite16), you should see the next section for more information. <sect2>WD8013, SMC Elite16<label id="8013"> <p> Status: Supported, Driver Name: wd (+8390) Over the years the design has added more registers and an EEPROM. (The first wd8003 cards appeared about ten years ago!) Clones usually go by the `8013' name, and usually use a non-EEPROM (jumpered) design. Late model SMC cards will have the SMC 83c690 chip instead of the original Nat Semi DP8390 found on earlier cards. The shared memory design makes the cards a bit faster than PIO cards, especially with larger packets. More importantly, from the driver's point of view, it avoids a few bugs in the programmed-I/O mode of the 8390, allows safe multi-threaded access to the packet buffer, and it doesn't have a programmed-I/O data register that hangs your machine during warm-boot probes. Non-EEPROM cards that can't just read the selected IRQ will attempt auto-irq, and if that fails, they will silently assign IRQ 10. (8 bit versions will assign IRQ 5) Cards with a non standard amount of memory on board can have the memory size specified at boot (or as an option in <tt>/etc/conf.modules</tt> if using modules). The standard memory size is 8kB for an 8bit card and 16kB for a 16bit card. For example, the older WD8003EBT cards could be jumpered for 32kB memory. To make full use of that RAM, you would use something like (for I/O=0x280 and IRQ 9): <code> LILO: linux ether=9,0x280,0xd0000,0xd8000,eth0 </code> Also see <ref id="8013-probs" name="8013 problems"> for some of the more common problems and frequently asked questions that pop up often. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect2>SMC Elite Ultra<label id="ultra"> <p> Status: Supported, Driver Name: smc-ultra (+8390) This ethercard is based on the 83c790 chip from SMC, which has a few new features over the 83c690. While it has a mode that is similar to the older SMC ethercards, it's not entirely compatible with the old WD80*3 drivers. However, in this mode it shares most of its code with the other 8390 drivers, while operating slightly faster than a WD8013 clone. Since part of the Ultra <em/looks like/ an 8013, the Ultra probe is supposed to find an Ultra before the wd8013 probe has a chance to mistakenly identify it. Donald mentioned that it is possible to write a separate driver for the Ultra's `Altego' mode which allows chaining transmits at the cost of inefficient use of receive buffers, but that will probably not happen. Bus-Master SCSI host adaptor users take note: In the manual that ships with Interactive UNIX, it mentions that a bug in the SMC Ultra will cause data corruption with SCSI disks being run from an aha-154X host adaptor. This will probably bite aha-154X compatible cards, such as the BusLogic boards, and the AMI-FastDisk SCSI host adaptors as well. SMC has acknowledged the problem occurs with Interactive, and older Windows NT drivers. It is a hardware conflict with early revisions of the card that can be worked around in the driver design. The current Ultra driver protects against this by only enabling the shared memory during data transfers with the card. Make sure your kernel version is at least 1.1.84, or that the driver version reported at boot is at least <tt/smc-ultra.c:v1.12/ otherwise you are vulnerable. If you intend on using this driver as a loadable module you should probably see <ref id="modules" name="Using the Ethernet Drivers as Modules"> for module specific information. <sect2>SMC Elite Ultra32 EISA<label id="ultra32"> <p> Status: Supported, Driver Name: smc-ultra32 (+8390) This EISA card shares a lot in common with its ISA counterpart. A working (and stable) driver is included in both v2.0 and v2.2 kernels. Thanks go to Leonard Zubkoff for purchasing some of these cards so that linux support could be added for them. <sect2>SMC EtherEZ (8416) <p> Status: Supported, Driver Name: smc-ultra (+8390) This card uses SMC's 83c795 chip and supports the Plug 'n Play specification. It also has an <em/SMC Ultra/ compatible mode, which allows it to be used with the Linux Ultra driver. For best results, use the SMC supplied program (avail. from their www/ftp site) to disable PnP and configure it for shared memory mode. See the above information for notes on the Ultra driver. For v1.2 kernels, the card had to be configured for shared memory operation. However v2.0 kernels can use the card in shared memory or programmed I/O mode. Shared memory mode will be slightly faster, and use less CPU resources as well. <sect2>SMC EtherPower PCI (8432)<label id="smc-pci"> <p> Status: Supported, Driver Name: de4x5, tulip NB: The EtherPower II is an entirely different card. See below! These cards are a basic DEC 21040 implementation, i.e. one big chip and a couple of transceivers. Donald has used one of these cards for his development of the generic 21040 driver (aka <tt/tulip.c/). Thanks to Duke Kamstra, once again, for supplying a card to do development on. Some of the later revisons of this card use the newer DEC 21041 chip, which may cause problems with older versions of the tulip driver. If you have problems, make sure you are using the latest driver release, which may not yet be included in the current kernel source tree. See <ref id="dec-21040" name="DEC 21040"> for more details on using one of these cards, and the current status of the driver. Apparently, the latest revision of the card, the EtherPower-II uses the 9432 chip. It is unclear at the moment if this one will work with the present driver. As always, if unsure, check that you can return the card if it doesn't work with the linux driver <em/before/ paying for the card. <sect2>SMC EtherPower II PCI (9432)<label id="smc-pci-II"> <p> Status: Semi-Supported, Driver Name: epic100 These cards, based upon the SMC 83c170 chip, are entirely different than the Tulip based cards. A new driver has been included in kernels v2.0 and v2.2 to support these cards. For more details, see: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html</tt> <sect2>SMC 3008 <p> Status: Not Supported. These 8 bit cards are based on the Fujitsu MB86950, which is an ancient version of the MB86965 used in the Linux at1700 driver. Russ says that you could probably hack up a driver by looking at the at1700.c code and his DOS packet driver for the Tiara card (tiara.asm). They are not very common. <sect2>SMC 3016 <p> Status: Not Supported. These are 16bit I/O mapped 8390 cards, much similar to a generic NE2000 card. If you can get the specifications from SMC, then porting the NE2000 driver would probably be quite easy. They are not very common. <sect2>SMC-9000 / SMC 91c92/4 <p> Status: Supported, Driver Name: smc9194 The SMC9000 is a VLB card based on the 91c92 chip. The 91c92 appears on a few other brand cards as well, but is fairly uncommon. Erik Stahlman (erik@vt.edu) has written this driver which is in v2.0 kernels, but not in the older v1.2 kernels. You may be able to drop the driver into a v1.2 kernel source tree with minimal difficulty. <sect2>SMC 91c100 <p> Status: Semi-Supported, Driver Name: smc9194 The SMC 91c92 driver is supposed to work for cards based on this 100Base-T chip, but at the moment this is unverified. <sect1>Texas Instruments <p> <sect2>ThunderLAN<label id="tlan"> <p> Status: Supported, Driver Name: tlan This driver covers many Compaq built-in ethernet devices, including the NetFlex and Netelligent groups. It also supports the Olicom 2183, 2185, 2325 and 2326 products. <sect1>Thomas Conrad <p> <sect2>Thomas Conrad TC-5048 <p> This is yet another PCI card that is based on DEC's 21040 chip. See the section on the 21040 chip (<ref id="dec-21040" name="DEC 21040">) for more information. <sect1>VIA <p> You probably won't see a VIA networking card, as VIA make several networking chips that are then used by others in the construction of an ethernet card. They have a WWW site at: <tt>http://www.via.com.tw/</tt> <sect2>VIA 86C926 Amazon <p> Status: Supported, Driver Name: ne, ne2k-pci (+8390) This controller chip is VIA's PCI-NE2000 offering. You can choose between the ISA/PCI <tt/ne.c/ driver or the PCI-only <tt/ne2k-pci.c/ driver. See the PCI-NE2000 section for more details. <sect2>VIA 86C100A Rhine II (and 3043 Rhine I) <p> Status Supported, Driver Name: via-rhine This relatively new driver can be found in current 2.0 and 2.1 kernels. It is an improvement over the 86C926 NE2000 chip in that it supports bus master transfers, but strict 32 bit buffer alignment requirements limit the benefit gained from this. For more details and driver updates, see: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html</tt> <sect1>Western Digital <p> Please see <ref id="smc" name="SMC"> for information on SMC cards. (SMC bought out Western Digital's network card section many years ago.) <sect1>Winbond <p> Winbond don't really make and sell complete cards to the general public -- instead they make single chip ethernet solutions that other companies buy, stick onto a PCI board with their own name and then sell through retail stores. <sect2>Winbond 89c840 <p> Status: Semi-Supported, Driver Name: winbond-840 This driver isn't currently shipped with the kernel, as it is in the testing phase. It is available at: <tt>http://cesdis.gsfc.nasa.gov/linux/drivers/test/winbond-840.c</tt> <sect2>Winbond 89c940 <p> Status: Supported, Driver Name: ne, ne2k-pci (+8390) This chip is one of the two commonly found on the low price PCI ne2000 cards sold by lots of manufacturers. Note that this is still a 10+ year old design just glued onto a PCI bus. Performance won't be staggeringly better than the equivalent ISA model. <sect1>Xircom<label id="xircom"> <p> For the longest time, Xircom wouldn't release the programming information required to write a driver, unless you signed your life away. Apparently enough linux users have pestered them for driver support (they claim to support all popular networking operating systems...) so that they have changed their policy to allow documentation to be released without having to sign a non-disclosure agreement. Some people have said they they will release the source code to the SCO driver, while others have been told that they are no longer providing information on `obsolete' products like the earlier PE models. If you are interested and want to check into this yourself, you can reach Xircom at 1-800-874-7875, 1-800-438-4526 or +1-818-878-7600. <sect2>Xircom PE1, PE2, PE3-10B* <p> Status: Not Supported. Not to get your hopes up, but if you have one of these parallel port adaptors, you may be able to use it in the DOS emulator with the Xircom-supplied DOS drivers. You will have to allow DOSEMU access to your parallel port, and will probably have to play with SIG (DOSEMU's Silly Interrupt Generator). <sect2>Xircom PCMCIA Cards <p> Status: Semi-Supported, Driver Name: ???? Some of the Xircom PCMCIA card(s) have drivers that are available with David Hinds PCMCIA package. Check there for the most up to date indformation <sect1>Zenith<label id="zenith"> <p> <sect2>Z-Note<label id="z-note"> <p> Status: Supported, Driver Name: znet The built-in Z-Note network adaptor is based on the Intel i82593 using <em/two/ DMA channels. There is an (alpha?) driver available in the present kernel version. As with all notebook and pocket adaptors, it is under the `Pocket and portable adaptors' section when running <tt/make config/. Also note that the IBM ThinkPad 300 is compatible with the Z-Note. <sect1>Znyx<label id="zynx"> <p> <sect2>Znyx ZX342 (DEC 21040 based) <p> Status: Supported, Driver Name: de4x5, tulip You have a choice of <em/two/ drivers for cards based on this chip. There is the DE425 driver written by David, and the generic 21040 driver that Donald has written. Note that as of 1.1.91, David has added a compile time option that may allow non-DEC cards (such as the Znyx cards) to work with this driver. Have a look at <tt/README.de4x5/ for details. See <ref id="dec-21040" name="DEC 21040"> for more information on these cards, and the present driver situation. <sect1>Identifying an Unknown Card<label id="mystery"> <p> Okay, so your uncle's cousin's neighbour's friend had a brother who found an old ISA ethernet card in the AT case he was using as a cage for his son's pet hampster. Somehow you ended up with the card and want to try and use it with linux, but nobody has a clue what the card is and there isn't any documentation. First of all, look for any obvious model numbers that might give a clue. Any model number that contains 2000 will most likely be a NE2000 clone. Any cards with 8003 or 8013 on them somewhere will be Western/Digital WD80x3 cards or SMC Elite cards or clones of them. <sect2>Identifying the Network Interface Controller <p> Look for the biggest chip on the card. This will be the network controller (NIC) itself, and most can be identified by the part number. If you know which NIC is on the card, the following might be able to help you figure out what card it is. Probably still the most common NIC is the National Semiconductor DP8390 aka NS32490 aka DP83901 aka DP83902 aka DP83905 aka DP83907. And those are just the ones made by National! Other companies such as Winbond and UMC make DP8390 and DP83905 clone parts, such as the Winbond 89c904 (DP83905 clone) and the UMC 9090. If the card has some form of 8390 on it, then chances are it is a ne1000 or ne2000 clone card. The second most common 8390 based card are wd80x3 cards and clones. Cards with a DP83905 can be configured to be an ne2000 <em/or/ a wd8013. Never versions of the genuine wd80x3 and SMC Elite cards have an 83c690 in place of the original DP8390. The SMC Ultra cards have an 83c790, and use a slightly different driver than the wd80x3 cards. The SMC EtherEZ cards have an 83c795, and use the same driver as the SMC Ultra. All BNC cards based on some sort of 8390 or 8390 clone will usually have an 8392 (or 83c692, or ???392) 16 pin DIP chip very close to the BNC connector. Another common NIC found on older cards is the Intel i82586. Cards having this NIC include the 3c505, 3c507, 3c523, Intel EtherExpress-ISA, Microdyne Exos-205T, and the Racal-Interlan NI5210. The original AMD LANCE NIC was numbered AM7990, and newer revisions include the 79c960, 79c961, 79c965, 79c970, and 79c974. Most cards with one of the above will work with the Linux LANCE driver, with the exception of the old Racal-Interlan NI6510 cards that have their own driver. Newer PCI cards having a DEC 21040, 21041, 21140, or similar number on the NIC should be able to use the linux tulip or de4x5 driver. Other PCI cards having a big chip marked RTL8029 or 89C940 or 86C926 are ne2000 clone cards, and the ne driver in linux version v2.0 and up should automatically detect these cards at boot. <sect2>Identifying the Ethernet Address <p> Each ethernet card has its own six byte address that is unique to that card. The first three bytes of that address are the same for each card made by that particular manufacturer. For example all SMC cards start with <tt/00:00:c0/. The last three are assigned by the manufacturer uniquely to each individual card as they are produced. If your card has a sticker on it giving all six bits of its address, you can look up the vendor from the first three. However it is more common to see only the last three bytes printed onto a sticker attached to a socketed PROM, which tells you nothing. You can determine which vendors have which assigned addresses from RFC-1340. Apparently there is a more up to date listing available in various places as well. Try a WWW or FTP search for <tt/EtherNet-codes/ or <tt/Ethernet-codes/ and you will find something. <sect2>Tips on Trying to Use an Unknown Card <p> If you are still not sure what the card is, but have at least narrowed it down some, then you can build a kernel with a whole bunch of drivers included, and see if any of them autodetect the card at boot. If the kernel doesn't detect the card, it may be that the card is not configured to one of the addresses that the driver probes when looking for a card. In this case, you might want to try getting <tt/scanport.tar.gz/ from your local linux ftp site, and see if that can locate where your card is jumpered for. It scans ISA I/O space from <tt/0x100/ to <tt/0x3ff/ looking for devices that aren't registered in <tt>/proc/ioports</tt>. If it finds an unknown device starting at some particular address, you can then explicity point the ethernet probes at that address with an <tt/ether=/ boot argument. If you manage to get the card detected, you can then usually figure out the unknown jumpers by changing them one at a time and seeing at what I/O base and IRQ that the card is detected at. The IRQ settings can also usually be determined by following the traces on the back of the card to where the jumpers are soldered through. Counting the `gold fingers' on the backside, from the end of the card with the metal bracket, you have IRQ 9, 7, 6, 5, 4, 3, 10, 11, 12, 15, 14 at fingers 4, 21, 22, 23, 24, 25, 34, 35, 36, 37, 38 respectively. Eight bit cards only have up to finger 31. Jumpers that appear to do nothing usually are for selecting the memory address of an optional boot ROM. Other jumpers that are located near the BNC or RJ-45 or AUI connectors are usually to select the output media. These are also typically near the `black box' voltage converters marked YCL, Valor, or Fil-Mag. A nice collection of jumper settings for various cards can be found at the following URL: <url url="http://www.slug.org.au/NIC/" name="Ethercard Settings"> <sect1>Drivers for Non-Ethernet Devices <p> There are a few other drivers that are in the linux source that present an <em/ethernet-like/ device to network programs, while not really being ethernet. These are briefly listed here for completeness. <tt/dummy.c/ - The purpose of this driver is to provide a device to point a route through, but not to actually transmit packets. <tt/eql.c/ - Load Equalizer, enslaves multiple devices (usually modems) and balances the Tx load across them while presenting a single device to the network programs. <tt/ibmtr.c/ - IBM Token Ring, which is not really ethernet. Broken-Ring requires source routing and other uglies. <tt/loopback.c/ - Loopback device, for which all packets from your machine and destined for your own machine go. It essentially just moves the packet off the Tx queue and onto the Rx queue. <tt/pi2.c/ - Ottawa Amateur Radio Club PI and PI2 interface. <tt/plip.c/ - Parallel Line Internet Protocol, allows two computers to send packets to each other over two joined parallel ports in a point-to-point fashion. <tt/ppp.c/ - Point-to-Point Protocol (RFC1331), for the Transmission of Multi-protocol Datagrams over a Point-to-Point Link (again usually modems). <tt/slip.c/ - Serial Line Internet Protocol, allows two computers to send packets to each other over two joined serial ports (usually via modems) in a point-to-point fashion. <tt/tunnel.c/ - Provides an IP tunnel through which you can tunnel network traffic transparently across subnets <tt/wavelan.c/ - An Ethernet-like radio transceiver controlled by the Intel 82586 coprocessor which is used on other ethercards such as the Intel EtherExpress. <sect>ÄÉÀ̺íµé, µ¿Ã༱, ²¿ÀÓ¼±<label id="cable"> <p> ½ºÅ©·¡Ä¡(?)¿¡¼­ ³×Æ®¿öÅ©¸¦ ½ÃÀÛÇÑ´Ù¸é, ¿©·¯ºÐÀº ¾Æ¸¶µµ thin ÀÌ´õ³Ý (BNC Ä¿³ØÅ͸¦ °¡Áø RG58 µ¿Ãà ÄÉÀ̺í)À̵ç 10baseT (8°³ÀÇ ¼±À¸·Î µÈ RJ-45 `ÀüÈ­' Ä¿³ØÅ͸¦ °¡Áø ÅÚÄÚ ¹æ½ÄÀÇ ²¿ÀÓ¼± ÄÉÀ̺í)ÀÌµç ¾î´À°ÍÀ» »ç¿ëÇÒÁö °áÁ¤Çؾ߸¸ ÇÑ´Ù. N Ä¿³ØÅ͸¦ °¡Áø RG-5 ÄÉÀ̺íÀÇ, ±¸½Ã´ë thick ÀÌ´õ³ÝÀº ´õÀÌ»ó ã¾Æº¼¼öµµ ¾ø´Ù. ÄÉÀÌºí¿¡ ´ëÇÑ ¼Ò°³´Â ´ÙÀ½À» º¸¶ó. <ref id="cable-intro" name="Type of cable..."> ¶Ç <em/comp.dcom.lans.ethernet/ÀÇ FAQ¿¡´Â ÄÉÀ̺íÀ̳ª ±×·±°Íµé¿¡ ´ëÇÑ ¼ö¸¹Àº À¯¿ëÇÑ Á¤º¸ µéÀ» ãÀ»¼ö ÀÖ´Ù. rtfm.mit.eduÀÇ <tt>/pub/usenet-by-hierarchy/</tt>¿¡ FTP·Î µé¾î°¡ º¸¸é ±× ´º½º±×·ìÀÇ FAQ¸¦ ãÀ»¼ö ÀÖ´Ù. <sect1>Thin Ethernet (thinnet)<label id="bnc"> <p> Thin ÀÌ´õ³Ý ÄÉÀ̺íÀ» º°·Î ºñ½ÎÁö ¾Ê´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ Á÷Á¢ ÀÚ½ÅÀÇ solid-core RG58A¸¦ ¸¸µç ´Ù¸é, &dollor;0.27/mÀÌ´Ù. ±×¸®°í Ç¥ÁØ RG58AU´Â &dollor;0.45/mÀÌ´Ù. ²¿ÀÎ BNC Ä¿³ØÅÍ´Â °³´ç &dollor;2°¡ µÇÁö¾ÊÀ¸¸ç ´Ù¸¥ ¹°Ç°µéµµ °¡°ÝÀº ºñ½ÁÇÏ´Ù. °¢ ÄÉÀ̺íÀÇ ³¡¿¡´Â 50¿ÈÂ¥¸® ÅÍ¹Ì³× ÀÌÅÍ·Î ¸·¾ÆÁÖ¾î¾ß Çϴµ¥, ÀÌ°ÍÀº ½ÖÀ¸·Î °³´ç &dollor;2ÀÌ´Ù. ¶ÇÇÑ `»Ñ¸®'°¡ ¾øÀ¸¸é ¿©·¯ºÐÀÇ ÄÉÀ̺íÀº ¾µ¼ö ¾ø´Ù -- `T' Ä¿³ØÅÍ´Â ¹Ýµå½Ã ÀÌ´õ³Ý Ä«µå¿¡ Á÷Á¢ ¿¬°áµÇ¾î¾ß ÇÑ´Ù. thinnetÀ» »ç¿ëÇÏ´Â µ¥´Â µÎ°¡Áö ´ÜÁ¡ÀÌ ÀÖ´Ù. ù°´Â ±× ¼Óµµ°¡ 10Mb/sec ±îÁö Á¦ÇѵǾî ÀÖ´Ù ´Â °ÍÀÌ´Ù - ²¿ÀÓ¼±Àº 100Mb/sec ±îÁö µÈ´Ù. µÎ¹ø° ´ÜÁ¡Àº ¸¸ÀÏ ¿©·¯ºÐÀÌ ¸Ó½ÅµéÀÌ Å« ·çÇÁ¸¦ ¸¸µé¸ç ¿¬°á½ÃÄ×´Ù¸é, ¸î¸î ¸ÛûÀÌ°¡ ±× Ƽ(T Ä¿³ØÅÍ:¿ªÀÚÁÖ) ÁÖº¯ÀÇ ÄÉÀ̺íÀ» ¶¼¾î³»¼­ ·çÇÁ¸¦ ±úÆ®¸®°í, 50¿È Å͹̳×ÀÌÅÍÀÇ ¿ë·®´ë½Å ¹«ÇÑ´ëÀÇ Àü±âÀúÇ× (°³¹æÇü ȸ·Î)À¸·Î Àüü ³×Æ®¿öÅ©¸¦ Á¤Áö½ÃÅ°°Ô µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ Àüü ¼­ºê³ÝÀ» Á×ÀÌÁö ¾Ê°í Ä«µå¿¡¼­ Ƽ Á¶°¢À» Á¦°ÅÇÑ´Ù°í ÇÏ ´õ¶óµµ, ¿À·§µ¿¾È Ƽ¿¡¼­ ÄÉÀ̺íÀ» Á¦°ÅÇÏÁö ¸øÇÑ´Ù´Â °ÍÀ» ¾Ë¾ÆµÎ¶ó. ¹°·Ð ½ÇÁ¦ Ƽ¿¡¼­ ÄÉÀ̺í À» ¶¼¾î³»¸é¼­ ¸Ó½ÅÀ» ¹æÇØÇÒ °ÍÀÌ´Ù. 8-) ±×¸®°í ¸¸ÀÏ ¿©·¯ºÐÀÌ µÎ ¸Ó½ÅÀ¸·Î ±¸¼ºµÈ ÀÛÀº ³×Æ® ¿öÅ©·Î ÇÑ´ÙÇصµ, <em/¿©ÀüÈ÷/ Ƽ¿Í 50¿È Å͹̳×ÀÌÅÍ°¡ ÇÊ¿äÇÏ´Ù. -- ¿©·¯ºÐÀº <em/Àý´ë·Î/ ÄÉ À̺í°ú Ä«µå¸¦ ¿¬°áÇÒ¼ö ¾ø´Ù! <!-- Note that there are a few cards out there with `on-board termination'. These cards have a jumper which when closed, puts a 50 ohm resistor across the BNC input. With these cards, you can use a BNC T and terminator like normal, or put the cable directly onto the card and close the jumper to enable the on-board termination. --> ¶ÇÇÑ ´Ü ÇÑ°¡´Ú ¼±¸¸ Ä«µå¿¡ ¿¬°áµÈ <em/°Íó·³ º¸ÀÌ´Â/ ¸î¸î ¸ÚÁø ÄÉÀÌºí ½Ã½ºÅÛµµ ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â µÎ°¡´Ú ÄÉÀ̺íÀ» ³³ÀÌ µû·Î µû·Î ³ª´©°í ¿ÜºÎ ²®Áú·Î ½Î¿©Á® ÀÖ´Â °ÍÀ̸ç, Ÿ¿øÇüÀÇ ±³Â÷ºÎºÐÀº ³³À¸·Î µÇ¾î ÀÖ´Ù. ·çÇÁÀÇ µ¹¾Æ¿À´Â ÁöÁ¡¿¡´Â, ¿©·¯ºÐÀÇ Ä«µå¿¡ ¿¬°áµÇ´Â BNC Ä¿³ØÅÍ°¡ ³ª´©¾î Áø´Ù. ±×·¡¼­ ¿©·¯ºÐÀº µÎ¼±ÀÇ ÄÉÀ̺í°ú BNC T¸¦ °¡Áø °Í°ú µ¿ÀÏÇÏÁö¸¸, ÀÌ °æ¿ì¿¡´Â, »ç¿ëÀÚ°¡ ƼÀÇ ÇÑÂÊ¿¡¼­ ÄÉÀ̺íÀ» Á¦°ÅÇÏ´Â °ÍÀÌ ºÒ°¡´ÉÇϸç, ³×Æ®¿öÅ©¸¦ ¹æÇØÇÏ Áö ¾Ê´Â´Ù. <sect1>²¿ÀÓ¼±<label id="utp"> <p> ²¿ÀÓ¼± ³×Æ®¿öÅ©´Â ½ÇÁ¦·Î &dollor;50ÀÌ»óÇÏ´Â Çãºê°¡ ÇÊ¿äÇÏ°í, ÄÉÀÌºí¸¸ÀÇ °¡°Ýµµ thinnetº¸ ´Ù ³ô´Ù. ¿©·¯ºÐÀº ¿©·¯ºÐÀÇ ÀüÈ­¼±À» »ç¿ëÇÏ¸ç ¼ö¸¹Àº ºÒ¸¸À» ¹«½ÃÇÒ¼öµµ ÀÖÁö¸¸, ±×·±°ÍÀº ÀÌÁ¦ °ÅÀÇ ¼³Ä¡ÇÏÁö ¾Ê°í ÀÖ´Ù. ´Ù¸¥¸»·Î Çϸé, ¸ðµç 100Mb/sec ÀÌ´õ³Ý °èȹµéÀº ²¿ÀÓ¼±À» »ç¿ëÇÏ°í, ±â¾÷¿¡ ¼³Ä¡µÇ´Â »õ·Î¿î °ÍµéÀº ²¿ÀÓ¼±À» »ç¿ëÇÑ´Ù. ¶ÇÇÑ Russ NelsonÀº `»õ·Î ¼³Ä¡ÇÏ´Â °ÍµéÀº Ä«Å×°í¸® 5 ¼±À» »ç¿ëÇØ¾ß µÈ´Ù. ´Ù¸¥ °ÍµéÀº ¿©·¯ ºÐÀÇ ¼³Ä¡ÀÚµéÀÇ ½Ã°£À» ³¶ºñÇϱ⸸ ÇÏ´Â °ÍÀÌ°í, 100Base-¹«¾ùÀ̵ç Ä«Å×°í¸® 5°¡ ÇÊ¿äÇÒ °ÍÀÌ ´Ù.'¶ó°í ´õÇß´Ù. <verb> Pin ¹øÈ£ ÁöÁ¤°ª ---------- ---------- 1 µ¥ÀÌŸ Ãâ·Â(+) 2 µ¥ÀÌŸ Ãâ·Â(-) 3 µ¥ÀÌŸ ÀÔ·Â(+) 4 ÀüÈ­¿ëÀ¸·Î º¸Á¸ 5 ÀüÈ­¿ëÀ¸·Î º¸Á¸ 6 µ¥ÀÌŸ ÀÔ·Â (-) 7 ÀüÈ­¿ëÀ¸·Î º¸Á¸ 8 ÀüÈ­¿ëÀ¸·Î º¸Á¸ </verb> ¸¸ÀÏ ¿©·¯ºÐÀÌ ÄÉÀ̺íÀ» ¸¸µé°íÀÚ ÇÑ´Ù¸é, ´ÙÀ½ÀÇ ³»¿ë´ë·Î ÇÏ¸é µÈ´Ù. ¼­·Î ´Ù¸¥ ½ÅÈ£ ½ÖµéÀº ¹Ýµå½Ã UTP ÄÉÀ̺íÀÇ ÃÖ¼Ò ÀÓÇÇ´ø½º/¼Õ½Ç ¿ä±¸·®À» ¾òµµ·Ï °°Àº ²¿ÀÓ¼± À§¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ¿©·¯ ºÐÀÌ À§ÀÇ Ç¥¸¦ º¸°í ÀÖ´Ù¸é, 1+2 ¿Í 3+6°¡ µÎ°³ÀÇ ´Ù¸¥ ½ÅÈ£ ½ÖÀÓÀ» ¾Ë¼ö ÀÖ´Ù. 1+3 °ú 2+6 ÀÌ ¾Æ´Ï´Ù!!!!!! ªÀº °Å¸®¿¡¼­, 10MHz´Â ±×·¯ÇÑ ¿¡·¯µéÀ» ¹«½ÃÇÒ¼ö ÀÖÀ» °ÍÀÌ´Ù, ¸¸ÀÏ ±×°ÍÀÌ ´Ü Áö ªÀº °Å¸®¶ó¸é ¸»ÀÌ´Ù. 100MHz¿¡¼­´Â »ý°¢µµ ÇÏÁö ¸»ÀÚ. ÀϹÝÀûÀÎ ¼öÁ¤ Äڵ忡¼­´Â, ±× ³¡ÀÌ `A' ¿Í `B'¶ó¸é, ²¿ÀÓ¼± ÇѽÖÀ» °¢°¢ ÀÔÃâ·ÂÀ¸·Î(Àü±âÀúÇ× ¹®Á¦·Î), ÇÉ°ú Çɳ¢¸® °ð¹Ù·Î ¿¬°á½Ã·Á ÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº 1A °¡ 1B·Î, 2A °¡ 2B·Î 3A °¡ 3B·Î ±×¸®°í 6A°¡ 6B·Î ¿¬°áµÈ´Ù´Â ¶æÀÌ´Ù. 1A-1B¿Í 2A-2B°¡ ²¿ÀÓ¼±À̾î¾ß ÇÑ´Ù. ±×¸®°í 3A-3B¿Í 6A-6B°¡ ¶ÇÇϳªÀÇ ²¿ÀÓ¼±ÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ Çãºê¸¦ °¡Áö°í ÀÖÁö ¾Ê°í, `³Î ÄÉÀ̺í'À» ¸¸µé°íÀÚ ÇÑ´Ù¸é, ±ØÀÇ ¹Ù²Þ¾øÀÌ, `A'ÀÇ ÀÔ·ÂÀº `B'ÀÇ Ãâ·ÂÀÌ µÇ°í `A'ÀÇ Ãâ·ÂÀº `B'ÀÇ ÀÔ·ÂÀÌ µÇ°Ô ¸¸µé¸é µÈ´Ù. ÀÌ°ÍÀº 1A¸¦ 3B·Î(AÀÇ +Ãâ·ÂÀ» BÀÇ +ÀÔ·ÂÀ¸·Î) ±×¸®°í 2A¸¦ 6B·Î(AÀÇ -Ãâ·ÂÀ» BÀÇ -ÀÔ·ÂÀ¸·Î) ¿¬°áÇÏ¸é µÈ´Ù. ÀÌ µÎ ¼±Àº ¹Ýµå½Ã ²¿ÀÓ¼±À̾î¾ß ÇÑ´Ù. Ä«µå/Ç÷¯±× `A'ÀÇ Ãâ·ÂÀº Ä«µå/Ç÷¯±× `B'ÀÇ ÀÔ·ÂÀÌ µÇ´Â °ÍÀÌ´Ù. ±×¸®°í ³ª¼­ 3A¸¦ 1B¿¡(AÀÇ +ÀÔ·ÂÀ» BÀÇ +Ãâ·ÂÀ¸·Î) ±×¸®°í ¶Ç 6A¸¦ 2B¿¡(AÀÇ -ÀÔ·ÂÀ» BÀÇ -Ãâ·ÂÀ¸·Î) ¿¬°áÇÏ¸é µÈ´Ù. ÀÌ µÎ¹ø°°Íµµ ²¿ÀÓ¼±À̾î¾ß ÇÑ´Ù. Ä«µå/Ç÷¯±× `A'ÀÇ ÀÔ·ÂÀº Ä«µå/Ç÷¯±× `B'ÀÇ Ãâ·ÂÀÌ µÇ´Â °ÍÀÌ´Ù. ±×·¡¼­ ¸¸¾à ¿©·¯ºÐÀÌ ÀϹÝÀûÀÎ ¼öÁ¤ Äڵ带 »ý°¢ÇÑ´Ù¸é ±× ³¡À» ÂÉ°³¼­, »õ Ç÷¯±×¾È¿¡ Rx ¿Í TX ²¿ÀÓ¼±ÀÇ ÀÚ¸®¸¦ ¹Ù²Ù°í, ²¿¾Æ³»¸®¸é, `³Î' ÄÉÀ̺íÀÌ µÇ´Â °ÍÀÌ´Ù. º¹ÀâÇÏÁö ¾Ê´Ù. ¿©·¯ºÐÀº ÇÑ Ä«µåÀÇ Tx ½ÅÈ£¸¦ µÎ¹ø° ±×¸®°í ±× ´ÙÀ½ÀÇ Rx ·Î º¸³»·Á°í ÇÏ´Â °ÍÀÌ´Ù. 10BaseT°¡ Ç¥ÁØÀ¸·Î ½ÂÀεDZâÀü¿¡, À§¿Í °°Àº ¼±±¸Á¶·Î, RJ-45 Ä¿³ØÅ͸¦ »ç¿ëÇÏ´Â ´Ù¸¥ ³×Æ®¿ö Å© Æ÷¸ËµéÀÌ ÀÖ¾ú´Ù. SynOpticsÀÇ LattisNet°ú AT&TÀÇ StarLANÀÌ ±× ¿¹´Ù. ¸î¸î °æ¿ì¿¡´Â, (Ãʱâ 3C503 Ä«µå°°Àº) Ä«µå°¡ ´Ù¸¥ Á¾·ùÀÇ Çãºê¿Í Åë½ÅÇϱâ À§Çؼ­ Á¡ÆÛ¸¦ ¼³Á¤ÇØÁÙ¼ö ÀÖ¾ú´Ù. ±×·¯³ª ÀÌ·± ±¸Çü ³×Æ®¿öÅ© Çü½ÄÀ» À§ÇØ ¸¸µé¾îÁø ´ëºÎºÐÀÇ Ä«µåµéÀº Ç¥ÁØ 10BaseT ³×Æ®¿öÅ©/Çã ºêµé°ú ÇÔ²² Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê¾Ò´Ù. (¸¸ÀÏ ±× Ä«µåµéÀÌ AUI Æ÷Æ®µµ °®°í ÀÖ¾ú´Ù¸é, AUI ¿Í 10BaseT ´ÜÀÚ·Î ¿¬°áÇØ »ç¿ëÇÏÁö ¸øÇÒ ÀÌÀ¯µµ ¾ø´Ù.) <sect1>Thick Ethernet <p> Thick ÀÌ´õ³ÝÀº °¡Àå ¾µ¸ð¾øÀ¸¸ç, ´ÜÁö ±âÁ¸ ¼³ºñµé¿¡ ´ëÇÑ È£È¯À» À§ÇØ ³²°ÜÁ® »ç¿ëµÇ°í ÀÖ´Ù. ¿©·¯ºÐÀº &dollor;3Â¥¸® N-to-BNC Ä¿³ØÅ͸¦ »ç¿ëÇؼ­ thick °ú thin ÀÌ´õ³ÝÀ» ÇÔ²² ¿¬°áÇÏ¿© È®Àå½Ãų¼ö ÀÖ´Ù. ÀÌ°ÍÀº ±âÁ¸ÀÇ thicknetÀ» È®ÀåÇÒ¼ö ÀÖ´Â ÃÖ¼±ÀÇ ¹æ¹ýÀÌ´Ù. ÀÌ°æ¿ì¿¡ ¿ø·¡ ¿Ã¹Ù¸¥ (ÇÏÁö¸¸ ºñ½Ñ) ÇØ°áÃ¥Àº ¸®ÇÇÅ͸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. </sect> <sect>¼ÒÇÁÆ®¿þ¾î ¼³Á¤°ú Ä«µå Á¡°Ë<label id="utils"> <p> ´ëºÎºÐÀÇ °æ¿ì¿¡, ¼ÒÇÁÆ®¿þ¾î·Î ¼³Á¤À» ÇÏ°í EEPROM¿¡ ÀúÀåµÈ´Ù¸é, ¿©·¯ºÐÀº º¸Åë DOS·Î ºÎÆÃÇؼ­, ÆǸÅÀÚ°¡ Á¦°øÇÑ DOS ÇÁ·Î±×·¥À» »ç¿ëÇؼ­ Ä«µåÀÇ IRQ, I/O, mem_addrµîÀ» Á¤ÇÒ·Á ÇÒ °ÍÀÌ´Ù. °Ô´Ù°¡, ¿îÁÁ°Ôµµ ¿©·¯ºÐÀº ±×°ÍÀ» ´Ü Çѹø¸¸ ¼³Á¤ÇÏ¸é µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ Ä«µå¿ë DOS ¼ÒÇÁÆ®¿þ¾î¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù¸é, ¿©·¯ºÐÀÇ Ä«µå Á¦Á¶¾÷üÀÇ WWW »çÀÌÆ®¸¦ ã¾Æº¸±â ¹Ù¶õ´Ù. »çÀÌÆ®ÀÇ À̸§À» ¸ð¸¥´Ù¸é, ÃßÃøÇغ¸¶ó. Áï. `www.ÆǸÅÀÚ.com', ¿©±â¼­ `ÆǸÅÀÚ'´Â ¿©·¯ºÐÀÇ Ä«µå Á¦Á¶¾÷ü À̸§À» ¸»ÇÑ´Ù. ÀÌ°ÍÀº SMC, 3Com, ±×¸®°í ¾ÆÁÖ <em/¸¹Àº/ ´Ù¸¥ Á¦Á¶¾÷ üµé¿¡µµ Àû¿ëµÈ´Ù. ¸î¸î Ä«µåµéÀº ¸®´ª½º¿ë ¼³Á¤À¯Æ¿¸®Æ¼°¡ ÀÖ°í, ±× ¸ñ·ÏÀº ¿©±â¿¡ ÀÖ´Ù. Donald´Â ¸®´ª½ºÇÏ¿¡¼­ µ¹¾Æ°¡´Â Á¶±Ý ÀÛÀº Ä«µå Á¡°Ë ÇÁ·Î±×·¥µéÀ» ¸¸µé¾ú´Ù. À̵éÀº ±×°¡ ¼ö¸¹Àº µå¶óÀ̹öµéÀ» ¸¸µå´Â µ¿¾È¿¡ µð¹ö±ë ÅøµéÀÇ °á°ú·Î ¸¸µé¾îÁ³´Ù. ¸ÚÁø ¸Þ´º¹æ½ÄÀÇ ÀÎÅÍÆäÀ̽º¸¦ ±â´ëÇÏÁö´Â ¸»¶ó. ±×µé ´ëºÎºÐÀº »ç¿ëÇϱâ À§Çؼ­ ±× ¼Ò½º Äڵ带 Àоî¾ß¸¸ ÇÑ´Ù. ºñ·Ï ¿©·¯ºÐÀÇ Æ¯Á¤ Ä«µå°¡ Á¦´ë·Î Á¡°ËÀÌ µÇÁö ¾ÊÀ»Áö¶óµµ, ¿©·¯ºÐÀº <tt>cat /proc/net/dev</tt>¸¦ Ãļ­ ¸î°¡Áö Á¤º¸¸¦ ¾ò¾î³¾¼ö ÀÖ´Ù. -- Àû¾îµµ ¿©·¯ºÐÀÇ Ä«µå°¡ ºÎÆýÿ¡ ã¾ÆÁ³´Ù°í °¡Á¤ÇÑ´Ù. ¾î¶² °æ¿ì¿¡´Â, À̵é ÇÁ·Î±×·¥À» root·Î »ç¿ëÇØ¾ß ÇÏ°í(Æ÷Æ® ÀÔÃâ·ÂÀ» Çã¿ëÇϱâ À§Çؼ­), ¾Æ ¸¶µµ ±×·¸°Ô Çϱâ Àü¿¡ ¿ì¼±Àº <tt/ifconfig eth0 down/¸¦ Ãļ­ ÀÌ´õ³Ý Ä«µå¸¦ ´Ý¾Æ¾ß ÇÒ °ÍÀÌ´Ù. <sect1>ÀÌ´õ³Ý Ä«µåµéÀ» À§ÇÑ ¼³Á¤ ÇÁ·Î±×·¥µé<label id="config"> <p> <sect2>WD80x3 Ä«µåµé <p> wd80x3 Ä«µå¸¦ °¡Áø »ç¶÷µéÀº, ¸®´ª½º ftp »çÀÌÆ®»ó¿¡¼­ <tt/wdsetup-06a.tar.gz/ ¾ÈÀÇ <tt/wdsetup/¸¦ ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ½ÇÁ¦·Î À¯ÁöµÇÁö ¾Ê°í ÀÖÀ¸¸ç, ¿À·£µ¿¾È °»½ÅµÇÁö ¾Ê°í ÀÖ´Ù. ¸¸ÀÏ Á¦´ë·Î ÀÛµ¿ÇÏ¸é ¾ÆÁÖÁÁ°í, ±×·¸Áö ¾ÊÀ¸¸é, ¿©·¯ºÐÀÇ Ä«µå¿Í ÇÔ²² °¡Áö°í ÀÖ´Â DOS ¹öÀüÀ» »ç¿ëÇ϶ó. ¿©·¯ºÐÀÌ DOS ¹öÀüÀ» °¡Áö°í ÀÖÁö ¾ÊÀ¸¸é, SMCÀÇ ftp »çÀÌÆ®¿¡¼­ SMC ¼³Ä¡/µå¶óÀ̹ö µð½ºÅ©¸¦ ¾òÀ»¼ö ÀÖ´Ù. ¹°·Ð, ÀÌ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇϱâ À§Çؼ­´Â EEPROM Ä«µå¸¦ °¡Áö°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù. ¿À·¡µÈ, <em/±¸Çü/ wd8003 Ä«µéµé, ±×¸®°í ¸î¸î wd8013 ȣȯÁ¦Ç°µéÀº Ä«µå¼³Á¤½Ã Á¡ÆÛ¸¦ »ç¿ë Çϱ⵵ ÇÑ´Ù. <sect2>Digital / DEC Ä«µåµé <p> Digital EtherWorks 3 Ä«µå´Â DOS ÇÁ·Î±×·¥ÀÎ <tt/NICSETUP.EXE/¿Í ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ¼³Á¤ÇÒ¼ö ÀÖ´Ù. David C. Davies°¡ ¸¸µç EtherWorks 3¿ë ¿©·¯ ÅøµéÀº µå¶óÀ̹ö¿Í ÇÕÃÄÁ® ÀÖ´Ù. ¿©·¯ºÐÀÇ Áö¿ª ¸®´ª½º FTP »çÀÌÆ®ÀÇ <tt>/pub/linux/system/Network/management</tt> µð·º Å丮¾È¿¡ <tt/ewrk3tools-X.XX.tar.gz/¶ó´Â À̸§ÀÇ È­ÀϵéÀ» ãÀ»¼ö ÀÖ´Ù. <sect2>NE2000+ ¶Ç´Â AT/LANTIC Ä«µåµé <p> ¸î¸î Nat Semi DP83905 Á¦Ç°µé (AT/LANTIC ¿Í NE2000+ °°Àº)Àº ¼ÒÇÁÆ®¿þ¾î·Î ¼³Á¤ÇÒ¼ö ÀÖ´Ù. (ÀÌ Ä«µåµéµµ wd8013 Ä«µå¸¦ ¿¡¹Ä·¹ÀÌÆ®ÇÒ¼ö ÀÖ´Ù´Â °ÍÀ» ¾Ë¾ÆµÎ¶ó!) ¿©·¯ºÐÀº <tt/cesdis.gsfc.nasa.gov/¿¡ ÀÖ´Â DonaldÀÇ ftp ¼­¹ö¿¡¼­ ÀÌ Ä«µå¸¦ ¼³Á¤Çϱâ À§ÇØ <tt>/pub/linux/setup/atlantic.c</tt> È­ÀÏÀ» °¡Á®¿Ã¼ö ÀÖ´Ù. ¶ÇÇÑ, Kingston DP83905 Ä«µå¿ë ¼³Á¤ ÇÁ·Î±×·¥Àº ¸ðµç Ä«µåµé¿¡¼­ ¾µ¼ö ÀÖÀ» °Í °°Àºµ¥, ±×µéÀº ¿©·¯ºÐÀÌ ±×µéÀ» »ç¿ëÇÏ·Á°í Çϱâ Àü¿¡´Â ÆǸÅÀÚÀÇ Æ¯Á¤ ÁÖ¼Ò¸¦ °Ë»çÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ´ÙÀ½ÀÇ URLÀ» µû¶ó°¡¼­ <tt/20XX12.EXE/¿Í <tt/INFOSET.EXE/ ¸¦ °¡Á®¿À¶ó. <url url="http://www.kingston.com/download/etherx/etherx.htm" name="Kingston Software"> ¿©·¯ºÐÀÌ ¸¸ÀÏ À߸øµÈ ¼³Á¤°ªÀ» ÁÖ¸é ¹®Á¦°¡ ¹ß»ýÇÒ¼ö ÀÖÀ¸¹Ç·Î, NE2000+Ä«µåÀÇ ¼³Á¤Àº Á¶½É Ç϶ó. ÀüÇüÀûÀÎ ¿¹·Î EEPROM ³»ÀÇ ºÎÆ® ·ÒÀÌ(¸¶Ä¡ ROMÀÌ ¾ø´Â°Íó·³ VGA Ä«µå ¼³Á¤ ³»¿ë°ú Ãæµ¹À» ÀÏÀ¸Å³¼ö ÀÖ´Ù. ±×·¯¸é ¿©·¯ºÐÀÌ ÄÄÇ»Å͸¦ Ä×À» ¶§ »à¼Ò¸®°¡ ³ª°í È­¸é¿¡´Â ¾Æ¹«°Íµµ ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ¿©·¯ºÐÀº ÀÌ°ÍÀ» ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î º¹±¸ÇÒ ¼ö ÀÖ´Ù. ¸Ó½Å¿¡¼­ Ä«µå¸¦ Á¦°ÅÇÏ°í, ºÎÆÃÇؼ­ CMOS ¼³Á¤¿¡ µé¾î°£´Ù. `Display Adapter' Ç׸ñÀ» `Not Installed'·Î ¹Ù²Ù°í ±âº» ºÎÆà µå¶óÀÌ ºê¸¦ `A:'(¿©·¯ºÐÀÇ Ç÷ÎÇÇ µå¶óÀ̺ê)·Î ¹Ù²Û´Ù. ¶Ç `Wait for F1 if any Error'¸¦ `Disabled' ·Î ¹Ù²Û´Ù. ÀÌ·¸°Ô Çϸé ÄÄÇ»ÅÍ´Â »ç¿ëÀÚÀÇ °£¼·¾øÀÌ ºÎÆÃµÉ °ÍÀÌ´Ù. ÀÌÁ¦ ºÎÆð¡´ÉÇÑ DOS Ç÷ΠÇǸ¦ ¸¸µé°í (`format a: /s /u') À§ ¾ÆÄ«À̺ê <tt/20XX12.EXE/¿¡¼­ <tt/default.exe/ ¸¦ Ç÷ÎÇÇ·Î º¹»çÇÑ´Ù. ±×·± ÈÄ¿¡ <tt>echo default > a:autoexec.bat</tt>¶ó°í Ä¡¸é ¿©·¯ºÐ ÀÌ ÀÌ Ç÷ÎÇÇ·Î ºÎÆÃÇßÀ»¶§ ÀÚµ¿À¸·Î ½ÇÇàÇؼ­ Ä«µå¸¦ ±âº»¼³Á¤À¸·Î ¹Ù²Ù¾î³õ´Â´Ù. ¸Ó½ÅÀ» ²ô°í, ne2000+ Ä«µå¸¦ ´Ù½Ã ¼³Ä¡ÇÑÈÄ, »õ ºÎÆ® Ç÷ÎÇǸ¦ ³Ö°í, ÆÄ¿ö¸¦ ÄÒ´Ù. ¾ÆÁ÷ ¿©ÀüÈ÷ »à¼Ò ¸®°¡ ³ª°ÚÁö¸¸, °á±¹¿¡´Â Ç÷ÎÇÇ·Î ºÎÆõǸ鼭 Ç÷ÎÇÇ¿¡ ºÒÀÌ µé¾î¿À´Â °ÍÀ» º¼¼ö ÀÖÀ» °ÍÀÌ´Ù. Ç÷ÎÇÇ°¡ ¸ØÃ⶧±îÁö ÇÑ 1-2ºÐÀ» ±â´Ù¸° ÈÄ, <tt/default.exe/ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÌ ³¡³µ´Ù°í ¾Ë ·ÁÁö¸é ÄÄÇ»ÅÍÀÇ ÆÄ¿ö¸¦ ³»¸°´Ù. ´Ù½Ã Ä×À» ¶§, Á¦´ë·Î µ¹¾Æ°¡´Â È­¸éÀ» º¸°ÔµÇ°í, ¿©·¯ºÐÀÇ CMOS ¼³Á¤À» µ¹·Á³õÀºµÚ, Ä«µåÀÇ EEPROM ¼³Á¤À» ¿©·¯ºÐÀÌ ¿øÇÏ´Â °ªÀ¸·Î ¹Ù²Ù¸é µÈ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ DOS Ç÷ÎÇǸ¦ ±¸ÇÒ¼ö ¾øÀ¸¸é, <tt/default.exe/ ÇÁ·Î±×·¥ÀÌ ÀÚµ¿À¸·Î ½ÇÇàµÇ´Â DOS ºÎÆà µð½ºÅ© ´ë½Å¿¡, À§ÀÇ ¸ðµç ÀÛ¾÷µéÀÌ ¸®´ª½º ºÎÆ® µð½ºÅ©¿¡¼­ ÀÚµ¿ ÀûÀ¸·Î ½ÇÇàµÇ´Â DonaldÀÇ <tt/atlantic/ ÇÁ·Î±×·¥(¿Ã¹Ù¸¥ ¸í·ÉÇà Àüȯ°ú ÇÔ²²)À» ±¸ÇÒ¼ö ÀÖ´Ù. <sect2>3Com Ä«µåµé <p> 3Com Etherlink III °è¿­ÀÇ Ä«µåµé(Áï, 3c5x9)Àº DonaldÀÇ ´Ù¸¥ ¼³Á¤ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇؼ­ ¼³Á¤ÇÒ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº <tt/cesdis.gsfc.nasa.gov/¿¡ ÀÖ´Â <tt>/pub/linux/setup/3c5x9setup.c</tt> È­ÀÏÀ» ±¸Çؼ­ ÀÌ·¯ÇÑ Ä«µåµéÀ» ¼³Á¤ÇÒ¼ö ÀÖ´Ù. (DOS 3c5x9B ¼³Á¤ À¯Æ¿¸®Æ¼´Â Etherlink III °è¿­ÀÇ »õ·Î¿î ``B'' ½Ã¸®Áî¿¡ °ü·ÃµÈ ´õ ¸¹Àº ¿É¼ÇµéÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë¾ÆµÎ¶ó.) <sect1>ÀÌ´õ³Ý Ä«µåµéÀ» À§ÇÑ Á¡°Ë ÇÁ·Î±×·¥µé<label id="diag"> <p> Donald°¡ ÀÛ¼ºÇÑ ¸ðµç Á¡°Ë ÇÁ·Î±×·¥µéÀº ÀÌ URL¿¡¼­ ±¸ÇÒ¼ö ÀÖ´Ù. <url url="ftp://cesdis.gsfc.nasa.gov/pub/linux/diag/index.html" name="Ethercard Diagnostics"> Allied Telesis AT1700 -- <tt/cesdis.gsfc.nasa.gov/»óÀÇ <tt>/pub/linux/diag/at1700.c</tt>¸¦ ã¾Æº¸¶ó. Cabletron E21XX -- <tt/cesdis.gsfc.nasa.gov/»óÀÇ <tt>/pub/linux/diag/e21.c</tt>¸¦ ã¾Æº¸¶ó. HP PCLAN+ -- <tt/cesdis.gsfc.nasa.gov/»óÀÇ <tt>/pub/linux/diag/hp+.c</tt>¸¦ ã¾Æº¸¶ó. Intel EtherExpress -- <tt/cesdis.gsfc.nasa.gov/»óÀÇ <tt>/pub/linux/diag/eexpress.c</tt>¸¦ ã¾Æº¸¶ó. NE2000 Ä«µåµé -- <tt/cesdis.gsfc.nasa.gov/»óÀÇ <tt>/pub/linux/diag/ne2k.c</tt>¸¦ ã¾Æº¸¶ó. °Å±â¿¡´Â ¶ÇÇÑ ÀÌÁ¦´Â ÀϹÝÀûÀÎ NE2000-PCI ȣȯÁ¦Ç°µéÀ» À§ÇÑ PCI ¹öÀüµµ ÀÖ´Ù. RealTek (ATP) Pocket adaptor -- <tt/cesdis.gsfc.nasa.gov/»óÀÇ <tt>/pub/linux/diag/atp-diag.c</tt>¸¦ ã¾Æº¸¶ó. ´Ù¸¥ ¸ðµç Ä«µåµé -- <tt>cat /proc/net/dev</tt> ¿Í <tt/dmesg/ ¶ó°í Ä¡°í Áú¹®¿¡¼­ Ä«µå¿¡ ´ëÇØ Ä¿³ÎÀÌ °¡Áø À¯¿ëÇÑ Á¤º¸°¡ ¹«¾ùÀÎÁö º¸¶ó. <sect>±â¼úÀû Á¤º¸<label id="tech-intro"> <p> ÀÌ ¹®¼­´Â Ä«µå°¡ ¾î¶»°Ô ÀÛµ¿Çϴ°¡¸¦ Á¶±ÝÀÌ¶óµµ ´õ ÀÌÇØÇÏ±æ ¿øÇϰųª, ÇöÀç µå¶óÀ̹öµéÀ» °¡Áö°í ³î°Å³ª ÇöÀç Áö¿øµÇÁö ¾Ê´Â Ä«µåÀÇ °íÀ¯ÇÑ µå¶óÀ̹ö¸¦ ¸¸µé·Á°í ÇÏ´ÂÀ̵鿡°Ô ¸Å¿ì À¯¿ë ÇÒ °ÍÀÌ´Ù. ¸¸ÀÏ ÀÌ Ä«Å×°í¸®¿¡ ºüÁ®µé±â ½È´Ù¸é ÀÌ ÀåÀ» ³Ñ¾î°¡µµ µÈ´Ù. <sect1>Programmed I/O vs. °øÀ¯ ¸Þ¸ð¸® vs. DMA<label id="data-xfer"> <p> ¸¸ÀÏ ¿©·¯ºÐÀÌ ÀÌ¹Ì ¹éÅõ¹é ÆÐŶµéÀ» º¸³»°í ¹ÞÀ»¼ö ÀÖ´Ù¸é, ¼±À» ÅëÇØ ´õ ¸¹Àº °ÍÀ» ³ÖÀ»¼ö´Â ¾ø´Ù. ¸ðµç Çö´ëÀûÀÎ ÀÌ´õ³Ý Ä«µå´Â ¹éÅõ¹é ÆÐŶµéÀ» ¹ÞÀ»¼ö ÀÖ´Ù. ¸®´ª½ºÀÇ DP8390 µå¶óÀ̹öµé (wd80x3, SMC-Ultra, 3c503, ne2000, µîµî)Àº ¹éÅõ¹é ÆÐŶµéÀ» ¸Å¿ì Àß º¸³»°í(ÇöÀçÀÇ ÀÎÅÍ·´Æ® ´ë±â½Ã°£¿¡ ÀÇÁ¸ÇÑ´Ù) 3c509¿Í AT1500 Çϵå¿þ¾î´Â ÀÚµ¿À¸·Î ¹éÅõ¹é ÆÐŶµéÀ» º¸³»´Âµ¥ ÀüÇô ¹® Á¦°¡ ¾ø´Ù. ISA ¹ö½º´Â 5.3MB/sec (42Mb/sec)ÀÇ ¼Óµµ¸¦ °¡Áú¼ö ÀÖÀ¸¸ç, 10Mbps ÀÌ´õ³Ý¿¡´Â ÃæºÐÇØ º¸ÀδÙ. 100Mbps Ä«µåµéÀÇ °æ¿ì¿¡´Â ³×Æ®¿öÅ© ´ë¿ªÆøÀÇ ÀÌÁ¡À» ¾ò±â À§Çؼ­´Â ´õ ºü¸¥ ¹ö½º°¡ ÇÊ¿äÇÑ °ÍÀÌ ´ç¿¬ÇÏ´Ù. <sect2>Programmed I/O (e.g. NE2000, 3c509) <p> Pro: ¾î¶°ÇÑ °­Á¦ÀûÀÎ ½Ã½ºÅÛ ÀÚ¿øÀÇ »ç¿ëµµ ¾øÀ¸¸ç, ¾ÆÁÖ Á¶±ÝÀÇ I/O ·¹Áö½ºÅ͸¦ »ç¿ëÇÏ°í, 16M Á¦ÇÑÀ» °¡ÁöÁö ¾Ê´Â´Ù. Con: º¸Åë Àü¼Û·üÀÌ °¡Àå ´À¸®°í, CPU´Â Ç×»ó ±â´Ù·Á¾ßÇϸç, ³¢¾îµç ÆÐŶ¿¡ ´ëÇÑ Á¢±ÙÀº º¸Åë Èûµé°Å³ª ºÒ°¡´ÉÇÏ´Ù. <sect2>°øÀ¯ ¸Þ¸ð¸® (e.g. WD80x3, SMC-Ultra, 3c503) <p> Pro: °£´ÜÇÏ°í, programmed I/O º¸´Ù ºü¸£¸ç, ÆÐŶµé¿¡ ´ëÇÑ ¹«ÀÛÀ§ Á¢±ÙÀÌ Çã¿ëµÈ´Ù. ¾îµð¿¡¼­ »ç¿ëµÇ³Ä¸é, ¸®´ª½º µå¶óÀ̹öµéÀÌ µé¾î¿Â IP ÆÐŶµéÀÌ Ä«µå¿¡¼­ º¹»çµÇ¹Ç·Î ±×µéÀÇ Ã¼Å©¼¶À» °è »êÇÏ°í, ±×·ÎÀÎÇØ µ¿±ÞÀÇ PIO Ä«µå¿¡ ºñÇØ CPU Á¡À¯À²ÀÌ Àû¾îÁø´Ù. Con: ¸Þ¸ð¸® °ø°£À» »ç¿ëÇϸç (DOS »ç¿ëÀڵ鿡°Ô´Â ¸Å¿ì Å«°ÅÁö¸¸, ¸®´ª½º»ó¿¡¼­´Â Ưº°È÷ ¹®Á¦ µÇÁö ¾Ê´Â´Ù), ±×¸®°í ¿©ÀüÈ÷ CPU¸¦ Àâ¾ÆµÐ´Ù. <sect2>Slave (normal) Direct Memory Access (e.g. ¸®´ª½º¿¡´Â ¾ø´Ù!) <p> Pro: ½ÇÁ¦ µ¥ÀÌŸ Àü¼Û½Ã¿¡´Â CPU ¸¦ ³õ¾ÆÁØ´Ù. Con: °æ°è¼± »óŸ¦ È®ÀÎÇÏ°í, ÀÎÁ¢ÇÑ ¹öÆÛµéÀ» Àç¹èÄ¡Çϸç, DMA ¸®Áö½ºÅ͵éÀ» ÇÁ·Î±×·¡¹ÖÇÏ¿© ¸ðµç ±â¼úµéÁß¿¡ °¡Àå ´À¸®´Ù. ¶ÇÇÑ ºÎÁ·ÇÑ DMA ä³ÎÀ» »ç¿ëÇϸç, Àú¼öÁØ ¸Þ¸ð¸® ¹öÆÛÀÇ Á¤·ÄÀ» ÇÊ¿ä·Î ÇÑ´Ù. <sect2>Bus Master Direct Memory Access (e.g. LANCE, DEC 21040) <label id="master"> <p> Pro: µ¥ÀÌŸ Àü¼ÛÁß¿¡´Â CPU°¡ ÀÚÀ¯·Î¿ì¸ç, ¹öÆÛµé°ú ÇÔ²² ¹è¿­ÇÒ¼ö ÀÖÀ¸¸ç, ISA ¹ö½º»ó¿¡¼­ ÀÒ¾î¹ö¸®´Â ¾ÆÁÖ Á¶±ÝÀ̳ª ¾Æ´Ï¸é CPU½Ã°£À» ÀüÇô ÇÊ¿ä·ÎÇÏÁö ¾Ê±âµµ ÇÑ´Ù. ´ëºÎºÐÀÇ ¹ö½º ¸¶½º Å͸µ ¸®´ª½º µå¶óÀ̹öµéÀº ÇöÀç `Ä«ÇǺ극ÀÌÅ©' ±¸Á¶¸¦ »ç¿ëÇϴµ¥ ÀÌ°ÍÀº Ä«µå°¡ Å« ÆÐŶµéÀ» Ä¿³Î ³×Æ®¿öÅ· ¹öÆÛ¿¡ Á÷Á¢ ³Ö´Â Àå¼ÒÀÌ°í, ÀÛÀº ÆÐŶµéÀº CPU°¡ º¹»çÇÔÀ¸·Î¼­ ÀÌÈÄ·Î ÁøÇàµÇ´Â ij½Ã¸¦ ÁغñÇÏ°Ô ÇÑ´Ù. Con: (ISA ¹ö½º Ä«µåµé¿¡¸¸ ÇØ´çµÈ´Ù) Ä«µå¿¡´Â Àú¼öÁØ ¸Þ¸ð¸® ¹öÆÛ¿Í DMAä³ÎÀÌ ÇÊ¿äÇÏ´Ù. Any bus-master will have problems with other bus-masters that are bus-hogs, such as some primitive SCSI adaptors. A few badly-designed motherboard chipsets have problems with bus-masters. And a reason for not using <em/any/ type of DMA device is using a 486 processor designed for plug-in replacement of a 386: these processors must flush their cache with each DMA cycle. (This includes the Cx486DLC, Ti486DLC, Cx486SLC, Ti486SLC, etc.) <!-- This is mostly cruft as ISA is dying... Delete soon. <sect1>Probed Addresses <p> While trying to determine what ethernet card is there, the following addresses are autoprobed, assuming the type and specs of the card have not been set in the kernel. The file names below are in /usr/src/linux/drivers/net/ <code> 3c501.c 0x280, 0x300 3c503.c: 0x300, 0x310, 0x330, 0x350, 0x250, 0x280, 0x2a0, 0x2e0 3c505.c: 0x300, 0x280, 0x310 3c507.c: 0x300, 0x320, 0x340, 0x280 3c509.c: Special ID Port probe apricot.c 0x300 at1700.c: 0x300, 0x280, 0x380, 0x320, 0x340, 0x260, 0x2a0, 0x240 atp.c: 0x378, 0x278, 0x3bc depca.c 0x300, 0x200 de600.c: 0x378 de620.c: 0x378 eexpress.c: 0x300, 0x270, 0x320, 0x340 hp.c: 0x300, 0x320, 0x340, 0x280, 0x2C0, 0x200, 0x240 hp-plus.c 0x200, 0x240, 0x280, 0x2C0, 0x300, 0x320, 0x340 lance.c: 0x300, 0x320, 0x340, 0x360 ne.c: 0x300, 0x280, 0x320, 0x340, 0x360 ni52.c 0x300, 0x280, 0x360, 0x320, 0x340 ni65.c 0x300, 0x320, 0x340, 0x360 smc-ultra.c: 0x200, 0x220, 0x240, 0x280, 0x300, 0x340, 0x380 wd.c: 0x300, 0x280, 0x380, 0x240 </code> There are some NE2000 clone ethercards out there that are waiting black holes for autoprobe drivers. While many NE2000 clones are safe until they are enabled, some can't be reset to a safe mode. These dangerous ethercards will hang any I/O access to their `dataports'. The typical dangerous locations are: <code> Ethercard jumpered base Dangerous locations (base + 0x10 - 0x1f) 0x300 * 0x310-0x317 0x320 0x330-0x337 0x340 0x350-0x357 0x360 0x370-0x377 </code> * The 0x300 location is the traditional place to put an ethercard, but it's also a popular place to put other devices (often SCSI controllers). The 0x320 location is often the next one chosen, but that's bad for for the AHA1542 driver probe. The 0x360 location is bad, because it conflicts with the parallel port at 0x378. If you have two IDE controllers, or two floppy controlers, then <tt/0x360/ is also a bad choice, as a NE2000 card will clobber them as well. Note that kernels > 1.1.7X keep a log of who uses which I/O ports, and will not let a driver use I/O ports registered by an earlier driver. This may result in probes silently failing. You can view who is using what I/O ports by typing <tt>cat /proc/ioports</tt> if you have the proc filesystem enabled. To avoid these lurking ethercards, here are the things you can do: <itemize> <item> Probe for the device's BIOS in memory space. This is easy and always safe, but it only works for cards that always have BIOSes, like primary SCSI controllers. <item> Avoid probing any of the above locations until you think you've located your device. The NE2000 clones have a reset range from <base>+0x18 to <base>+0x1f that will read as 0xff, so probe there first if possible. It's also safe to probe in the 8390 space at <base>+0x00 - <base>+0x0f, but that area will return quasi-random values <item> If you must probe in the dangerous range, for instance if your target device has only a few port locations, first check that there isn't an NE2000 there. You can see how to do this by looking at the probe code in /usr/src/linux/net/inet/ne.c <item> Use the `reserve' boot time argument to protect volatile areas from being probed. See the information on using boot time arguments with LILO in <ref id="reserve" name="The reserve command"> </itemize> --> <sect1>Writing a Driver<label id="skel"> <p> The only thing that one needs to use an ethernet card with Linux is the appropriate driver. For this, it is essential that the manufacturer will release the technical programming information to the general public without you (or anyone) having to sign your life away. A good guide for the likelihood of getting documentation (or, if you aren't writing code, the likelihood that someone else will write that driver you really, really need) is the availability of the Crynwr (nee Clarkson) packet driver. Russ Nelson runs this operation, and has been very helpful in supporting the development of drivers for Linux. <em/Net-surfers/ can try this URL to look up Russ' software. <url url="http://www.crynwr.com/crynwr/home.html" name="Russ Nelson's Packet Drivers"> Given the documentation, you can write a driver for your card and use it for Linux (at least in theory). Keep in mind that some old hardware that was designed for XT type machines will not function very well in a multitasking environment such as Linux. Use of these will lead to major problems if your network sees a reasonable amount of traffic. Most cards come with drivers for MS-DOS interfaces such as NDIS and ODI, but these are useless for Linux. Many people have suggested directly linking them in or automatic translation, but this is nearly impossible. The MS-DOS drivers expect to be in 16 bit mode and hook into `software interrupts', both incompatible with the Linux kernel. This incompatibility is actually a feature, as some Linux drivers are considerably better than their MS-DOS counterparts. The `8390' series drivers, for instance, use ping-pong transmit buffers, which are only now being introduced in the MS-DOS world. (Ping-pong Tx buffers means using at least 2 max-size packet buffers for Tx packets. One is loaded while the card is transmitting the other. The second is then sent as soon as the first finished, and so on. In this way, most cards are able to continuously send back-to-back packets onto the wire.) OK. So you have decided that you want to write a driver for the Foobar Ethernet card, as you have the programming information, and it hasn't been done yet. (...these are the two main requirements ;-) You should start with the skeleton network driver that is provided with the Linux kernel source tree. It can be found in the file /usr/src/linux/drivers/net/skeleton.c in all recent kernels. Also have a look at the Kernel Hackers Guide, at the following URL: <url url="http://www.redhat.com:8080/HyperNews/get/khg.html" name="KHG"> <sect1>Driver interface to the kernel <p> Here are some notes on the functions that you would have to write if creating a new driver. Reading this in conjunction with the above skeleton driver may help clear things up. <sect2>Probe <p> Called at boot to check for existence of card. Best if it can check un-obtrsively by reading from memory, etc. Can also read from I/O ports. Initial writing to I/O ports in a probe is <em/not good/ as it may kill another device. Some device initialization is usually done here (allocating I/O space, IRQs,filling in the dev->??? fields etc.) You need to know what io ports/mem the card can be configured to, how to enable shared memory (if used) and how to select/enable interrupt generation, etc. <sect2>Interrupt handler <p> Called by the kernel when the card posts an interrupt. This has the job of determining why the card posted an interrupt, and acting accordingly. Usual interrupt conditions are data to be rec'd, transmit completed, error conditions being reported. You need to know any relevant interrupt status bits so that you can act accordingly. <sect2>Transmit function <p> Linked to dev->hard_start_xmit() and is called by the kernel when there is some data that the kernel wants to put out over the device. This puts the data onto the card and triggers the transmit. You need to know how to bundle the data and how to get it onto the card (shared memory copy, PIO transfer, DMA?) and in the right place on the card. Then you need to know how to tell the card to send the data down the wire, and (possibly) post an interrupt when done. When the hardware can't accept additional packets it should set the dev->tbusy flag. When additional room is available, usually during a transmit-complete interrupt, dev->tbusy should be cleared and the higher levels informed with <tt/mark_bh(INET_BH)/. <sect2>Receive function <p> Called by the kernel interrupt handler when the card reports that there is data on the card. It pulls the data off the card, packages it into a sk_buff and lets the kernel know the data is there for it by doing a netif_rx(sk_buff). You need to know how to enable interrupt generation upon Rx of data, how to check any relevant Rx status bits, and how to get that data off the card (again sh mem, PIO, DMA, etc.) <sect2>Open function <p> linked to dev->open and called by the networking layers when somebody does <tt/ifconfig eth0 up/ - this puts the device on line and enables it for Rx/Tx of data. Any special initialization incantations that were not done in the probe sequence (enabling IRQ generation, etc.) would go in here. <sect2>Close function (optional) <p> This puts the card in a sane state when someone does <tt/ifconfig eth0 down/. It should free the IRQs and DMA channels if the hardware permits, and turn off anything that will save power (like the transceiver). <sect2>Miscellaneous functions <p> Things like a reset function, so that if things go south, the driver can try resetting the card as a last ditch effort. Usually done when a Tx times out or similar. Also a function to read the statistics registers of the card if so equipped. <sect1>Technical information from 3Com<label id="3com-tech"> <p> If you are interested in working on drivers for 3Com cards, you can get technical documentation from 3Com. Cameron has been kind enough to tell us how to go about it below: 3Com's Ethernet Adapters are documented for driver writers in our `Technical References' (TRs). These manuals describe the programmer interfaces to the boards but they don't talk about the diagnostics, installation programs, etc that end users can see. The Network Adapter Division marketing department has the TRs to give away. To keep this program efficient, we centralized it in a thing called `CardFacts.' CardFacts is an automated phone system. You call it with a touch-tone phone and it faxes you stuff. To get a TR, call CardFacts at 408-727-7021. Ask it for Developer's Order Form, document number 9070. Have your fax number ready when you call. Fill out the order form and fax it to 408-764-5004. Manuals are shipped by Federal Express 2nd Day Service. There are people here who think we are too free with the manuals, and they are looking for evidence that the system is too expensive, or takes too much time and effort. So far, 3Com customers have been really good about this, and there's no problem with the level of requests we've been getting. We need your continued cooperation and restraint to keep it that way. <sect1>Notes on AMD PCnet / LANCE Based cards<label id="amd-notes"> <p> The AMD LANCE (Local Area Network Controller for Ethernet) was the original offering, and has since been replaced by the `PCnet-ISA' chip, otherwise known as the 79C960. Note that the name `LANCE' has stuck, and some people will refer to the new chip by the old name. Dave Roberts of the Network Products Division of AMD was kind enough to contribute the following information regarding this chip: `Functionally, it is equivalent to a NE1500. The register set is identical to the old LANCE with the 1500/2100 architecture additions. Older 1500/2100 drivers will work on the PCnet-ISA. The NE1500 and NE2100 architecture is basically the same. Initially Novell called it the 2100, but then tried to distinguish between coax and 10BASE-T cards. Anything that was 10BASE-T only was to be numbered in the 1500 range. That's the only difference. Many companies offer PCnet-ISA based products, including HP, Racal-Datacom, Allied Telesis, Boca Research, Kingston Technology, etc. The cards are basically the same except that some manufacturers have added `jumperless' features that allow the card to be configured in software. Most have not. AMD offers a standard design package for a card that uses the PCnet-ISA and many manufacturers use our design without change. What this means is that anybody who wants to write drivers for most PCnet-ISA based cards can just get the data-sheet from AMD. Call our literature distribution center at (800)222-9323 and ask for the Am79C960, PCnet-ISA data sheet. It's free. A quick way to understand whether the card is a `stock' card is to just look at it. If it's stock, it should just have one large chip on it, a crystal, a small IEEE address PROM, possibly a socket for a boot ROM, and a connector (1, 2, or 3, depending on the media options offered). Note that if it's a coax card, it will have some transceiver stuff built onto it as well, but that should be near the connector and away from the PCnet-ISA.' A note to would-be card hackers is that different LANCE implementations do `restart' in different ways. Some pick up where they left off in the ring, and others start right from the beginning of the ring, as if just initialised. <sect1>Multicast and Promiscuous Mode<label id="promisc"> <p> Another one of the things Donald has worked on is implementing multicast and promiscuous mode hooks. All of the <em/released/ (i.e. <bf/not/ ALPHA) ISA drivers now support promiscuous mode. Donald writes: `I'll start by discussing promiscuous mode, which is conceptually easy to implement. For most hardware you only have to set a register bit, and from then on you get every packet on the wire. Well, it's almost that easy; for some hardware you have to shut the board (potentially dropping a few packet), reconfigure it, and then re-enable the ethercard. OK, so that's easy, so I'll move on something that's not quite so obvious: Multicast. It can be done two ways: <enum> <item> Use promiscuous mode, and a packet filter like the Berkeley packet filter (BPF). The BPF is a pattern matching stack language, where you write a program that picks out the addresses you are interested in. Its advantage is that it's very general and programmable. Its disadvantage is that there is no general way for the kernel to avoid turning on promiscuous mode and running every packet on the wire through every registered packet filter. See <ref id="bpf" name="The Berkeley Packet Filter"> for more info. <item> Using the built-in multicast filter that most etherchips have. </enum> I guess I should list what a few ethercards/chips provide: <verb> Chip/card Promiscuous Multicast filter ---------------------------------------- Seeq8001/3c501 Yes Binary filter (1) 3Com/3c509 Yes Binary filter (1) 8390 Yes Autodin II six bit hash (2) (3) LANCE Yes Autodin II six bit hash (2) (3) i82586 Yes Hidden Autodin II six bit hash (2) (4) </verb> <enum> <item> These cards claim to have a filter, but it's a simple yes/no `accept all multicast packets', or `accept no multicast packets'. <item> AUTODIN II is the standard ethernet CRC (checksum) polynomial. In this scheme multicast addresses are hashed and looked up in a hash table. If the corresponding bit is enabled, this packet is accepted. Ethernet packets are laid out so that the hardware to do this is trivial -- you just latch six (usually) bits from the CRC circuit (needed anyway for error checking) after the first six octets (the destination address), and use them as an index into the hash table (six bits -- a 64-bit table). <item> These chips use the six bit hash, and must have the table computed and loaded by the host. This means the kernel must include the CRC code. <item> The 82586 uses the six bit hash internally, but it computes the hash table itself from a list of multicast addresses to accept. </enum> Note that none of these chips do perfect filtering, and we still need a middle-level module to do the final filtering. Also note that in every case we must keep a complete list of accepted multicast addresses to recompute the hash table when it changes. <sect1>The Berkeley Packet Filter (BPF)<label id="bpf"> <p> The general idea of the developers is that the BPF functionality should not be provided by the kernel, but should be in a (hopefully little-used) compatibility library. For those not in the know: BPF (the Berkeley Packet Filter) is an mechanism for specifying to the kernel networking layers what packets you are interested in. It's implemented as a specialized stack language interpreter built into a low level of the networking code. An application passes a program written in this language to the kernel, and the kernel runs the program on each incoming packet. If the kernel has multiple BPF applications, each program is run on each packet. The problem is that it's difficult to deduce what kind of packets the application is really interested in from the packet filter program, so the general solution is to always run the filter. Imagine a program that registers a BPF program to pick up a low data-rate stream sent to a multicast address. Most ethernet cards have a hardware multicast address filter implemented as a 64 entry hash table that ignores most unwanted multicast packets, so the capability exists to make this a very inexpensive operation. But with the BPF the kernel must switch the interface to promiscuous mode, receive _all_ packets, and run them through this filter. This is work, BTW, that's very difficult to account back to the process requesting the packets. <sect>·¦Å¾/³ëÆ®ºÏ ÄÄÇ»ÅÍ¿ÍÀÇ ³×Æ®¿öÅ·<label id="notebook"> <p> ¿©·¯ºÐÀÇ ·¦Å¾À» ³×Æ®¿öÅ© »ó¿¡ ¿Ã¸®´Â ¹æ¹ý¿¡´Â ¿©·¯°¡Áö°¡ ÀÖ´Ù. ¿©·¯ºÐÀº SLIP ÄÚµå(±×¸®°í ½Ã¸®¾ó ¶óÀÎ ¼Óµµ·Î ¿òÁ÷ÀÌ´Â)¸¦ »ç¿ëÇÒ¼öµµ ÀÖ´Ù; PCMCIA ½½·ÔÀÌ ³»ÀåµÈ ³ëÆ®ºÏÀ» °¡Áú¼öµµ ÀÖ´Ù; ±×¸®°í ISA ÀÌ´õ³Ý Ä«µå°¡ ²ÅÇôÀÖ´Â µµÅ· ½ºÅ×À̼ÇÀ» °¡Áø ·¦Å¾À» °¡Áú¼öµµ ÀÖ´Ù; ¾Æ´Ï¸é º´·Ä Æ÷Æ® ÀÌ´õ³Ý ¾Æ´äÅ͸¦ »ç¿ëÇÒ¼öµµ ÀÖ´Ù. <sect1>SLIP »ç¿ëÇϱâ <p> ÀÌ°ÍÀº °¡Àå Àú·ÅÇÑ ÇØ°áÃ¥ÀÌ´Ù, ÇÏÁö¸¸ °¡Àå ¾î·Æ´Ù. ¶ÇÇÑ, ¸Å¿ì ³ôÀº Àü¼Û·üÀ» ¾òÀ»¼ö´Â ¾øÀ» °ÍÀÌ´Ù. SLIPÀº Á¤¸»·Î ÀÌ´õ³Ý Ä«µå¿Í °ü·ÃµÈ °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ¿©±â¼­´Â ´õÀÌ»ó ³íÇÏ Áö ¾ÊÀ» °ÍÀÌ´Ù. NET-2 ÇÏ¿ìÅõ¸¦ º¸±â ¹Ù¶õ´Ù. <sect1>PCMCIA Áö¿ø<label id="pcmcia"> <p> ¿©·¯ºÐÀÌ °¡Áø Çϵå¿þ¾î°¡ ¹«¾ùÀÎÁö Á¤È®ÇÏ°Ô ¾Ë¾Æ³»º¸°í (¿¹¸¦ µé¾î Ä«µå Á¦Á¶»ç, PCMCIA Ĩ ÄÜÆ®·Ñ·¯ Á¦Á¶¾÷ü) ·¦Å¾ »ç¿ëÀڵ鿡°Ô ¹°¾îº¸¶ó. ¸»ÇÒ ÇÊ¿äµµ ¾ø°ÚÁö¸¸, ¸ðµç°ÍÀÌ °£´ÜÇÒ °ÍÀ̶ó°í´Â ±â´ëÇÏÁö ¸»¶ó. »ç¼ÒÇÑ °ÍµéÀ̳ª, Ä¿³Î ÆÐÄ¡ µî¿¡ °ü½ÉÀ» °¡Á®¶ó. ¾î´À³¯¿£°¡´Â ¿©·¯ºÐÀÌ `make config'¶ó°í Ãij־î¾ß ÇÒ °ÍÀÌ´Ù 8-) ÇöÀç, µ¥ÀÌŸºÏ TCIC/2¿Í ÀÎÅÚ i82365 µÎ°³ÀÇ PCMCIA Ĩ¼ÂÀÌ Áö¿øµÇ°í ÀÖ´Ù. tsx-22.mit.edu¾ÈÀÇ /pub/linux/packages/laptops/¿¡´Â ¼ö¸¹Àº ÇÁ·Î±×·¥µéÀÌ ÀÖÀ¸¹Ç·Î ±× °÷¿¡¼­ ¿©·¯ºÐÀº ¾µ¸¸ÇÑ °ÍÀ» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿©±â¿¡´Â PCMCIA ÀÌ´õ³Ý Ä«µå µå¶óÀ̹öµé ºÎÅÍ PCMCIA ÄÜÆ®·Ñ·¯ Ĩ°ú Åë½ÅÇÏ´Â ÇÁ·Î±×·¥±îÁö ´Ù·é´Ù. ÀÌµé µå¶óÀ̹ö¿¡ ´ëÇØ ¾Ë¾ÆµÑ °ÍÀº À̵éÀº º¸Åë ƯÁ¤ PCMCIA Ĩ(¿¹¸¦ µé¾î ÀÎÅÚ 82365³ª TCIC/2)°ú °ü·ÃµÈ °ÍÀ̶ó´Â °ÍÀÌ´Ù. NE2000 ȣȯ Ä«µåµé¿¡ À־´Â, ¸î¸î »ç¶÷µéÀÌ DOS»ó¿¡¼­ Ä«µå¸¦ ¼³Á¤ÇÏ°í, DOS Ä¿¸Çµå ÇÁ·ÒÇÁÆ®¿¡¼­ <tt/loadlin/¸¦ ÅëÇØ ¸®´ª½º·Î ºÎÆÃÇؼ­ ¼º°øÇß´Ù. PCMCIA Áö¿øÀ» ¿øÇÏ´Â ¸®´ª½º »ç¿ëÀÚµéÀÌ Ã£´Â °ÍÀº ½ÇÁ¦ÀûÀ¸·Î ±× °úÁ¤ÀÌ ÁøÇàµÇ°í ÀÖ´Ù. David Hinds´Â ÀÌ·¯ÇÑ ³ë·ÂÀ» ÇÏ´Â °³Ã´ÀÚÀÌ´Ù. ±×ÀÇ ÃֽŠPCMCIA Áö¿ø ÆÐÅ°Áö´Â ´ÙÀ½Àå¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. <url url="ftp://cb-iris.stanford.edu/pub/pcmcia" name="PCMCIA Package"> <tt/pcmcia-cs-X.Y.Z.tgz/ °°Àº È­ÀϵéÀ» ã¾Æ¶ó. ¿©±â¼­ X.Y.Z´Â ÃÖ½ÅÀÇ ¹öÀü ¼ýÀÚÀÌ´Ù. ÀÌ ¶ÇÇÑ <tt/tsx-11.mit.edu/¿¡ ¸Å¿ì Àß ¾÷·ÎµåµÇ°í ÀÖ´Ù. À¯Àú ·¹º§¿¡¼­ ÁøÇàµÇ´Â DonaldÀÇ PCMCIA ÀÌ³Êºí·¯°¡ ÀÛµ¿ÇÏ´Â °Í°ú David HindsÀÇ Ä¿³Î ·¹º§ ÇعýÀ» Àß ¾Ë¾ÆµÎ¶ó. ¾Æ¸¶ ´õ ¸¹ÀÌ »ç¿ëµÇ°í Áö¼ÓÀûÀÎ °³¹ßÇÏ¿¡ ÀÖ´Â DavidÀÇ ÆÐÅ°Áö¸¦ °¡Àå ÁÁ´Ù°í ¿©±æ °ÍÀÌ´Ù. <sect1>µµÅ· ½ºÅ×À̼ÇÀÇ ISA ÀÌ´õ³Ý Ä«µå <p> º¸Åë &dollor;250 Á¤µµÇÏ´Â ·¦Å¾¿ë µµÅ· ½ºÅ×À̼ÇÀº µÎ°³ÀÇ Ç® »çÀÌÁî ISA ½½·Ô°ú, µÎ°³ÀÇ ½Ã¸® ¾ó, ±×¸®°í ÇϳªÀÇ Æз¯·¼ Æ÷Æ®¸¦ Á¦°øÇÑ´Ù. ´ëºÎºÐÀÇ µµÅ· ½ºÅ×À̼ÇÀº ·¦Å¾ ¹èÅ͸®ÀÇ Àü¿øÀ» ¼Ò¸ð½ÃÅ°¸ç, ¿©·¯ºÐÀÌ ÂªÀº ISA Ä«µå¸¦ »ç¿ëÇÑ´Ù¸é ¸î¸î µµÅ·½ºÅ×À̼ÇÀº º°µµÀÇ ¹èÅ͸®¸¦ Ãß°¡ ÇÒ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀº ºñ½ÎÁö ¾ÊÀº ÀÌ´õ³Ý Ä«µå¸¦ Ãß°¡Çؼ­ Ç® ½ºÇǵåÀÇ ÀÌ´õ³Ý ¼º´ÉÀ» Áñ±æ¼ö ÀÖ´Ù. <sect1>Æ÷ÄÏ/Æз¯·¼ Æ÷Æ® ¾Æ´äÅ͵é. <p> `Æ÷ÄÏ' ÀÌ´õ³Ý ¾Æ´äÅ͵鵵 ¿©·¯ºÐÀÇ ÇÊ¿ä¿¡ ¸ÂÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ´Ü, ¾Ë¾ÆµÑ Á¡Àº Àü¼Û ¼Óµµ°¡ Æз¯·¼ Æ÷Æ® ÀÎÅÍÆäÀ̽ºÀÇ ÇÑ°èÄ¡(¾Æ¸¶ 200kB/s°¡ ÃÖ°íÁö?)À̳»·Î ¹Û¿¡´Â ³ª¿ÀÁö ¾Ê ´Â´Ù´Â °ÍÀÌ´Ù. ¶ÇÇÑ °¡Àå ¿©·¯ºÐÀ» ±¸¼ÓÇÏ´Â °ÍÀº Àü¿ø °ø±ÞÀåÄ¡ÀÌ´Ù. ¿©·¯ºÐÀº °¡²û ·¦Å¾ÀÇ Å°º¸µå·ÎºÎÅÍ Àü¿øÀ» ²ø¾îµéÀÌ´Â ÄÉÀ̺íÀ» »ç°Å³ª ¸¸µé¾î¼­ ¾Æ´äÅÍ°¡ ´Þ¸° º®µ¹·ÎºÎÅÍ ÇÇÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. (´ÙÀ½À» º¸¶ó <ref id="aep-100" name="keyboard power">) µÎ°³ÀÇ Áö¿øµÇ´Â Æ÷ÄÏ ¾Æ´äÅÍ¿¡ °üÇؼ­´Â <ref id="de-600" name="DE-600 / DE-620"> ¿Í <ref id="aep-100" name="RealTek"> ¸¦ º¸¶ó <sect>Miscellaneous.<label id="misc"> <p> °ü·ÃµÈ ÀÚ·áµéÀÌÁö¸¸ ´Ù¸¥ ¾î´À°÷¿¡µµ ¸ÂÁö ¾Ê´Â ÀÚ·áµéÀº ¿©±â¿¡ ½Æ´Â´Ù. ÀÌ°ÍÀÌ ÀûÀýÇÏÁö ¾ÊÀ»Áöµµ ¸ð¸£°í, ÀϹÝÀûÀÎ °ü½É°Å¸®°¡ ¾Æ´ÒÁöµµ ¸ð¸£Áö¸¸, ¾î·µç ¿©±â¿¡ ³Ö¾îµÐ´Ù. <sect1>Ä¿³Î¿¡ ÀÌ´õ³Ý Àμö ³Ñ°ÜÁÖ±â<label id="lilo"> <p> ºÎÆýÿ¡ Ä¿³Î¿¡ ³Ñ°ÜÁÙ¼ö ÀÖ´Â µÎ°¡Áö ÀϹÝÀûÀÎ Ä¿³Î ¸í·É¾î°¡ ÀÖ´Ù.( <tt/ether/ ¿Í <tt/reserve/). ÀÌ°ÍÀº LILO³ª loadlin, ¶Ç´Â ¼±ÅÃÀû ÀμöµéÀ» ¹Þ¾ÆµéÀϼö ÀÖ´Â ¾î¶² ´Ù¸¥ ºÎÆà À¯Æ¿¸®Æ¼¿¡¼­ µµ »ç¿ëÇÒ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ¸í·É¾î°¡ `blah' ÀÌ°í 3°³ÀÇ Àμö¸¦ ¿ä±¸ÇÑ´Ù¸é(123, 456, ±×¸®°í 789¶ó¸é), LILO¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù. <tt>LILO: linux blah=123,456,789</tt> ºÎÆýà Àμöµé¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸´Â (±×¸®°í ¿ÏÀüÇÑ ¸®½ºÆ®), ´ÙÀ½ÀÇ Àå¼Ò¸¦ º¸¶ó. <url url="http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html" name="BootPrompt-HOWTO"> <sect2><tt/ether/ ¸í·É¾î<label id="ether"> <p> <tt/ether=/ Àμö´Â Ä¿³Î¿¡ Á÷Á¢ ¸¸µé¾îÁ® ÀûÀçµÈ µå¶óÀ̹öÀÇ °æ¿ì¿¡ »ç¿ëµÈ´Ù. <tt/ether=/ Àμö´Â ¸ðµâ µå¶óÀ̹ö¿¡´Â <em/Àý´ë ¾Æ¹« È¿°ú°¡ ¾ø´Ù/. ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ Çü½ÄÀº ´ÙÀ½°ú °°´Ù. <tscreen> ether=IRQ,BASE_ADDR,PARAM_1,PARAM_2,NAME </tscreen> ¸ðµç ÀμöµéÀº ¼±ÅÃÀÌ´Ù. ù¹ø° ¼ýÀÚ¾Æ´Ñ Àμö°¡ À̸§À¸·Î ¹Þ¾Æµé¿©Áø´Ù. <bf/IRQ:/ ¸»±×´ë·Î´Ù. IRQ °ª `0' (º¸Åë ±âº»°ª)Àº ÀÚµ¿IRQ¸¦ ÀǹÌÇÑ´Ù. IRQ ¼³Á¤ÀÌ base_addrº¸´Ù ¸ÕÀú ³ª¿À´Â °ÍÀº ¿ª»çÀû »ç°ÇÀÌ´Ù -- ÀÌ°ÍÀº ´Ù¸¥°ÍÀÌ ¹Ù²ð¶§¸é ¾î´À¶§µçÁö °íÃÄÁú °ÍÀÌ´Ù. <bf/BASE_ADDR:/ À̰͵µ ¸»±×´ë·Î´Ù. `0'°ª (º¸Åë ±âº»°ª)Àº ÀÌ´õ³Ý Ä«µåÀÇ Ä«µåº° ƯÁ¤ ÁÖ¼Ò°ªÀ» °Ë»öÇÏ´Â °ÍÀÌ´Ù. <bf/PARAM_1:/ ÀÌ°ÍÀº ¿ø·¡ WD80*3°ú °°Àº °øÀ¯¸Þ¸ð¸® ÀÌ´õ³Ý Ä«µå¿¡¼­ ¸Þ¸ð¸® ½ÃÀÛÀ» ÀçÁ¤ÀÇ Çϱâ À§ÇØ »ç¿ëµÇ¾ú´Ù. ¸î¸î µå¶óÀ̹öµéÀº ÀÌ °ªÀÇ ³·Àº 4ºñÆ®¸¦ µð¹ö±× ¸Þ¼¼Áö ·¹º§ ¼³Á¤Çϴµ¥ »ç¿ë ÇÑ´Ù. 0 -- default, 1-7 -- level 1..7, (7Àº ÃÖ´Ù ¸Þ¼¼Áö) 8 -- level 0 (¸Þ¼¼Áö ¾øÀ½). ¶ÇÇÑ, LANCE µå¶óÀ̹ö´Â ÀÌ °ªÀÇ ³·Àº 4ºñÆ®¸¦ DMA ä³Î ¼±Åÿ¡ »ç¿ëÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é auto-DMAÀÌ´Ù. <bf/PARAM_2:/ 3c503 µå¶óÀ̹ö´Â ÀÌ°ÍÀ¸·Î ³»Àå°ú ¿ÜÀå Æ®·£½Ã¹ö¸¦ ¼±ÅÃÇÑ´Ù. 0 -- default/internal, 1 -- AUI external. Cabletron E21XX Ä«µåµµ PARAM_2ÀÇ ³·Àº 4ºñÆ®¸¦ Ãâ·Â ÀåÄ¡ ¼±Åÿ¡ »ç¿ëÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ã´Â´Ù. <bf/NAME:/ ³×Æ®¿öÅ© µð¹ÙÀ̽º¸¦ ¼±ÅÃÇÒ ¶§ ÀÌ °ªÀ¸·Î ÂüÁ¶¸¦ ÇÑ´Ù. Ç¥ÁØ Ä¿³ÎÀº ¹ö½º¿¡ ²ÈÇôÀÖ´Â ÀÌ´õ³Ý Ä«µå¿¡°Ô´Â `eth0', `eth1', `eth2' ±×¸®°í `eth3'¶ó´Â À̸§À» »ç¿ëÇÏ°í, Æз¯·¼ Æ÷Æ® `Æ÷ÄÏ' ÀÌ´õ³Ý ¾Æ´äÅÍ¿¡°Ô´Â `atp0'¸¦ »ç¿ëÇÑ´Ù. arcnet µå¶óÀ̹ö´Â `arc0'¶ó´Â À̸§À» »ç¿ëÇÑ´Ù. ±âº» ¼³Á¤Àº °Ë»öÇس»´Â ´ÜÀÏ ÀÌ´õ³Ý Ä«µå¿¡ `eth0'¶ó´Â À̸§À» ºÙÀδÙ. ¿©·¯°³ÀÇ Ä«µåµéÀº LILO ÀÎÀÚµéÀ» »ç¿ëÇؼ­ ±×µéÀÇ ÁÖ¼Ò°ªÀ» ¼³Á¤Çؾ߸¸ »ç¿ëÇÒ¼ö ÀÖ´Ù. 1.0 Ä¿³ÎÀº LANCE-±â¹ÝÀÇ ÀÌ´õ³Ý Ä«µåµéÀ» Ưº°ÇÑ °æ¿ì·Î ´Ù·é´Ù. LILO Àμö°¡ ¹«½ÃµÇ°í, LANCE Ä«µåµéÀº Ç×»ó `eth0'·Î ½ÃÀÛÇÏ´Â `eth<n>' À̸§À¸·Î ¿¬°áµÈ´Ù. Ãß°¡ÀûÀ¸·Î LANCE°¡ ¾Æ´Ñ ÀÌ´õ³Ý Ä«µåµéÀº `eth<n+1>'·Î Á¤ÇØÁö°í, º¸Åë `eth0'´Â `ether=0,-1,eth0' ¿Í °°ÀÌ °Ë»öÇÒ¼ö ¾ø°Ô µÈ´Ù. (±×·¸´Ù, ÀÌ°Ç ¹ö±×´Ù.) <sect2><tt/reserve/ ¸í·É¾î<label id="reserve"> <p> ÀÌ µÎ¹ø° lilo ¸í·É¾îµµ À§ÀÇ `ether='ó·³ »ç¿ëµÈ´Ù. ¿¹¸¦ µé¾î lilo.conf ¾È¿¡ ºÎÆ®½Ã ¼±ÅÃÇϴ ƯÁ¤ÇÑ À̸§À» Ãß°¡ÇÑ´Ù. <tscreen> reserve=IO-base,extent{,IO-base,extent...} </tscreen> ¸î¸î ¸Ó½Å¿¡¼­ ÀÌ°ÍÀº ƯÁ¤ ¿µ¿ª³»¿¡¼­ ÀåÄ¡°Ë»ç·ÎºÎÅÍ(ÀÚµ¿ °Ë»ö) ÀåÄ¡ µå¶óÀ̹ö¸¦ º¸Á¸Çϱâ À§Çؼ­ ÇÊ¿äÇÏ´Ù. ÀÌ°ÍÀº ¾û¼ºÇÏ°Ô ¸¸µé¾îÁø Çϵå¿þ¾î, Áï À߸ø Àνĵǰųª, ÀÌÀüÀÇ °Ë»ö¿¡¼­ ¼³Á¤ÀÌ ¹Ù²ï Çϵå¿þ¾î, ¶Ç´Â Ä¿³ÎÀÌ ÃʱâÈ­ ½ÃÅ°±æ ¿øÇÏÁö ¾Ê´Â Çϵå¿þ¾î°¡ ºÎÆÃÁß ¸Ó½ÅÀ» <em/¾ó°Ô/ ¸¸µé±â ¶§¹®ÀÌ´Ù (¸î¸î ÀÌ´õ³Ý Ä«µåµé ó·³). <tt/º¸Á¸ÇÏ´Â/ ºÎÆýà Àμö ÁÖ¼ÒµéÀº ƯÁ¤ÇÑ I/O Æ÷Æ® ¿µ¿ªÀÌ °Ë»öµÇÁö ¾Ê´Âµ¥¼­ »ý±â´Â ¹®Á¦¶§¹®ÀÌ´Ù. ±× ¿µ¿ªÀº ¸¶Ä¡ ÀåÄ¡°¡ ÀÌ¹Ì ±× ÁÖ¼Ò¿¡¼­ ã¾ÆÁø°Íó·³, Ä¿³ÎÀÇ Æ÷Æ® µî·Ï Å×À̺í¾È¿¡ º¸Á¸µÇ¾îÁø´Ù. ÀÌ ¸ÞÄ«´ÏÁòÀº ¸ðµç ¸Ó½Åµé¿¡°Ô ÇÊ¿äÇÑ °ÍÀÌ ¾Æ´Ï¶õ °ÍÀ» ¾Ë¾ÆµÎ±â ¹Ù¶õ´Ù. ´ÜÁö ¹®Á¦°¡ Àְųª Ưº°ÇÑ °æ¿ì¿¡¸¸ ÀÌ°ÍÀ» »ç¿ëÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ƯÁ¤ ¿µ¿ª³»ÀÇ I/O Æ÷Æ®µéÀº ÀåÄ¡ °Ë»öÀ¸·ÎºÎÅÍ º¸È£µÈ´Ù. ÀÌ ¶§¹®¿¡ ¸î¸î µå¶óÀ̹öµéÀº NE2000À¸·Î ÀÎÇØ ½Ã½ºÅÛÀ» Á¤Áö½ÃÅ°°Å³ª, ´Ù¸¥ ¸î¸î ÀåÄ¡µéÀ» º»·¡ÀÇ °Í°ú ´Ù¸£°Ô ÀνÄÇÏ´Â ÀÏÀÌ »ý±ä´Ù. ±×·¯¹Ç·Î ¸¸ÀÏ ´Ù¸¥ ƯÁ¤ÇÑ ºÎÆ® ÀμöµéÀÌ ÁÖ¾îÁöÁö ¾ÊÀ¸¸é, Á¤È®ÇÑ µå¶óÀ̹ö°¡ º¸Á¸µÈ ¿µ¿ª³»ÀÇ ÀåÄ¡¸¦ °Ë»öÇÒ¼ö ¾ø´Ù. ±×·¡¼­ <tt/reserve/°¡ ¸î¸î ´Ù¸¥ ºÎÆ® Àμö ¿Í ÇÔ²² °¡Àå ÀÚÁÖ »ç¿ëµÈ´Ù. ƯÁ¤ ÀåÄ¡¸¦ º¸È£Çϱâ À§ÇØ <tt/º¸Á¸/ÇÏ´Â ¿µ¿ªÀ» Á¤ÇÏ ¸é ¿©·¯ºÐÀº ±× ÀåÄ¡ÀÇ Á¤È®ÇÑ °Ë»öÀ» Á¤ÇØÁÖ¾î¾ß¸¸ ÇÑ´Ù. ´ëºÎºÐÀÇ µå¶óÀ̹öµéÀº Á¤È®ÇÑ ÁÖ¼Ò °¡ ÁÖ¾îÁö¸é Æ÷Æ® µî·Ï Å×À̺íÀ» ¹«½ÃÇÏ°Ô µÈ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°Àº ºÎÆ® ¶óÀÎÀº <tscreen> LILO: linux reserve=0x300,32 ether=0,0x300,eth0 </tscreen> ÀÌ´õ³Ý Ä«µå¸¦ Á¦¿ÜÇÏ°í ´Ù¸¥ ¸ðµç ÀåÄ¡ µå¶óÀ̹öµéÀÌ 0x300-0x31f¸¦ °Ë»öÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. º¸Åë ºÎÆýà ¸í·ÉÀº ÀÎÀÚ¸¦ 11°³ ±îÁö¹Û¿¡ ÁÙ¼ö ¾ø±â ¶§¹®¿¡, ¿©·¯ºÐÀº <tt/reserve/ Å°¿öµå´ç 5°³¸¸À» Á¤ÇÒ¼ö ÀÖ´Ù. ¿©·¯°³ÀÇ <tt/reserve/ ¸í·ÉÀº Ưº°È÷ º¹ÀâÇÑ ¿äûÀÌ ÀÖÀ»À» °æ¿ì¿¡ »ç¿ëÇÏ°Ô µÈ´Ù. <sect1>ÀÌ´õ³Ý µå¶óÀ̹öµéÀ» ¸ðµâ·Î »ç¿ëÇϱâ<label id="modules"> <p> ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆÇ¿¡ ÀûÀçµÇ´Â Ä¿³ÎÀº ¾ÆÁÖ ¼Ò¼öÀÇ µå¶ó¾Æ¹ö¸¸À» ±×¾È¿¡ ´ã°í ÀÖ´Ù. ±×´ë½Å µ¶¸³ÀûÀÌ°í µ¿ÀûÀ¸·Î ÀûÀç°¡´ÉÇÑ ¸ðµâ·Î½á µå¶óÀ̹öµéÀ» Á¦°øÇÏ°í ÀÖ´Ù. ÀÌ ¸ðµâ µå¶óÀÌ ¹öµéÀº °ü¸®ÀÚ°¡ º¸Åë <tt/modprobe(8)/ ¸í·ÉÀ» »ç¿ëÇؼ­ ÀûÀçÇϰųª, ¶Ç´Â ¾î¶² °æ¿ì ¿¡´Â <tt/modprobe/¸¦ È£ÃâÇÏ´Â `kerneld' (2.0¿¡¼­) À̳ª `kmod'¸¦ ÅëÇØ ÀÚµ¿À¸·Î Àû ÀçµÈ´Ù. ¿©·¯ºÐÀÇ Æ¯Á¤ÇÑ ¹èÆ÷ÆÇÀº ÀÌ´õ³Ý ¼³Á¤À» À§ÇØ ¾ÆÁÖ ¸ÚÁø ±×·¡ÇÈ ¼³Á¤ ÅøµéÀ» Á¦°øÇÒÁöµµ ¸ð¸¥´Ù. °¡´ÉÇÏ¸é ¸ÕÀú ±×µéÀ» »ç¿ëÇÏ°í ½ÃÇèÇغÁ¶ó. ÀÌ ¾Æ·¡¿¡¼­´Â ÀÌ ¼³Á¤ ÇÁ·Î±×·¥µéÀÌ ¹«¾ù ¿¡ ±Ù°ÅÇϸç, ¹«¾ùÀ» ¹Ù²Ù´ÂÁö¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ¾î¶°ÇÑ ¸ðµâµéÀÌ »ç¿ëµÇ°í, °¢ ¸ðµâ¿¡´Â ¾î¶² ¿É¼ÇÀÌ Áö¿øµÇ´ÂÁö¿¡ ´ëÇÑ Á¦¾î Á¤º¸µéÀº º¸Åë <tt>/etc/conf.modules</tt> È­ÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ´Ù. ÀÌ È­ÀÏ¿¡¼­ °ü½ÉºÐ¾ß(ÀÌ´õ³Ý Ä«µåµé¿¡ ´ëÇÑ)ÀÇ µÎ ÁÖ¿ä ¿É¼ÇÀº <tt/alias/¿Í <tt/options/ÀÌ´Ù. <tt/modprobe/ ¸í·ÉÀº ¸ðµâÁ¤º¸¿¡ °üÇؼ­ ÀÌ È­ÀÏÀ» Âü°íÇÑ´Ù. ½ÇÁ¦ ¸ðµâ ÀÚ½ÅÀº º¸Åë <tt>/lib/modules/`uname -r`/net</tt> µð·ºÅ丮¿¡ µé¾îÀÖ´Ù. ¿©±â¼­ <tt/uname -r/ ¸í·ÉÀº Ä¿³Î ¹öÀüÀ» µ¹·ÁÁØ´Ù (¿¹. 2.0.34). ¿©·¯ºÐÀº ±×°÷¿¡¼­ ¿©·¯ºÐÀÇ Ä«µå¿¡ ¸Â´Â ¸ðµâÀ» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ¿©·¯ºÐÀÇ <tt/conf.modules/ È­ÀÏ¿¡ °¡Àå ¸ÕÀú ÇÒ ÀÏÀº <tt/eth0/ ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϱâ À§ÇØ ¾î¶² µå¶óÀ̹ö°¡ »ç¿ëµÉÁö <tt/modprobe/¿¡°Ô ¸»ÇØÁÖ´Â °ÍÀÌ´Ù. ¿©±â¼­ <tt/alias/ ¸í·ÉÀ» »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, ¿©·¯ºÐÀÌ <tt/smc-ultra.o/ µå¶óÀ̹ö ¸ðµâÀ» »ç¿ëÇÏ´Â ISA SMC EtherEZ Ä«µå¸¦ °¡Áö°í ÀÖ´Ù¸é, ÀÌ µå¶óÀ̹ö¸¦ <tt/eth0/¿¡ <tt/alias/Çϱâ À§Çؼ­´Â ´ÙÀ½°ú °°Àº ÁÙÀ» Ãß°¡ ÇÏ¸é µÈ´Ù. <verb> alias eth0 smc-ultra </verb> ¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÑ ´Ù¸¥ Çϳª´Â ƯÁ¤ ¸ðµâ (¶Ç´Â ¸ðµâ º°¸í:module alias)¿¡ ¾î¶°ÇÑ ¿É¼ÇÀÌ »ç¿ëµÇ¾ú´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â <tt/options/ ÁÙÀÌ´Ù. À§ÀÇ ¿¹Á¦¸¦ À̾¸é, ¿©·¯ºÐÀÌ <tt/options/ Çà ¾øÀÌ ´ÜÁö <tt/alias/ ÇุÀ» »ç¿ëÇÒ °æ¿ì, Ä¿³ÎÀº ISA Ä«µå ¸¦ ÀÚµ¿ °Ë»öÀ¸·Î ã´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ ¾Æ´Ï¶ó¸ç ¿©·¯ºÐ¿¡°Ô °æ°íÇÒ °ÍÀÌ´Ù (<tt/dmesg/¸¦ º¸¶ó). ÀÌ °æ°í¸¦ ¾ø¾Ö·Á¸é, ¸ðµâ¿¡°Ô Ä«µå°¡ ¹«½¼ I/O ÁÖ¼Ò¸¦ °¡Áö°í ÀÖ´ÂÁö ¸»ÇØÁÖ´Â ÇàÀ» Ãß°¡ÇØÁà¾ß ÇÑ´Ù. ¿¹Á¦ÀÇ °æ¿ì 16Áø¼ö ÁÖ¼Ò <tt/0x280/¶ó°í Àû°í ÀÖ´Ù. <verb> options smc-ultra io=0x280 </verb> ´ëºÎºÐÀÇ ISA ¸ðµâµéÀº <tt/insmod/ ¸í·ÉÇà Áß¿¡ <tt/io=0x340/ ¿Í <tt/irq=12/ °°Àº Àμö¸¦ ¹Þ¾ÆµéÀδÙ. ¿©·¯ºÐÀÌ Ä«µåÀÇ Å½»öÀ» ÇÇÇϱâ À§ÇØ ÀÌ·¯ÇÑ ÀÎÀÚµéÀ» ÁÖ´Â °ÍÀº <em/ÇÊ¿äÇÏ°í/ ¾Æ´Ï¸é Àû¾îµµ <em/°­ÇÏ°Ô ÃßõÇÑ´Ù./ PCI ¿Í EISA ÀåÄ¡µé°ú´Â ´Ù¸£°Ô ´ëºÎºÐÀÇ ISA ÀåÄ¡µéÀ» ÀÚµ¿ °Ë»öÇÒ Çö½ÇÀûÀ¸·Î ¾ÈÀüÇÑ ¹æ¹ýÀÌ ¾ø´Ù. ±×¸®°í µå¶óÀ̹ö¸¦ ¸ðµâ·Î »ç¿ëÇÒ ¶§´Â ¹Ýµå½Ã ÇÇÇؾ߸¸ ÇÑ´Ù. °¢ ¸ðµâµéÀÌ ¹Þ¾ÆµéÀÌ´Â ¸ðµç ¿É¼ÇµéÀÇ ¸ñ·ÏÀº ´ÙÀ½ ÆÄÀÏ¿¡¼­ ã¾Æº¼¼ö ÀÖ´Ù. <tt>/usr/src/linux/Documentation/networking/net-modules.txt</tt> ¿©·¯ºÐÀÇ Æ¯Á¤ Ä«µå¿¡¼­ »ç¿ëÇÒ¼ö ÀÖ´Â ¿É¼ÇÀÌ ¹«¾ùÀÎÁö ã¾Æ¼­ Àо±æ ±ÇÇÑ´Ù. ¸ðµç 8390 ±â¹ÝÀÇ µå¶óÀ̹öµé°ú PLIP µå¶óÀ̹öó·³ ÇϳªÀÇ ¸ðµâ·Î ¿©·¯°³ÀÇ ÀåÄ¡µéÀ» Á¦¾îÇÒ¼ö ÀÖ´Â ¸ðµâÀ» À§ÇØ ¸î¸î ¸ðµâµéÀº ÄÞ¸¶·Î ±¸ºÐµÈ ¿©·¯°³ÀÇ °ªµéÀ» Áö¿øÇÑ´Ù. ¿¹¸¦ µé¾î, <code> options 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1 </code> À§¿¡¼­´Â card 2¿Í 4´Â ¿ÜºÎ ´ÜÀÚ¸¦ »ç¿ëÇؼ­ ÇϳªÀÇ ¸ðµâÀÌ 4°³ÀÇ 3c503 Ä«µå¸¦ Á¦¾îÇÏ°í ÀÖ´Ù. `='À̳ª ÄÞ¸¶ ÁÖº¯¿¡ °ø¹éÀÌ À־´Â ¾ÈµÈ´Ù. ¶Ç ¾Ë¾ÆµÑ °ÍÀº <em/»ç¿ëÁßÀÎ/ ¸ðµâÀº Á¦°ÅÇÒ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¸ðµâÀ» Á¦°ÅÇϱâ Àü¿¡ <tt/ifconfig eth0 down/ (ÀÌ´õ³Ý Ä«µå Á×À̱â)¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ ´Ù. <tt/lsmod/ ¸í·ÉÀº ¹«½¼ ¸ðµâÀÌ ÀûÀçµÇ¾ú°í, ¾î´À°ÍÀÌ »ç¿ëÁßÀÎÁö ¾Ë·ÁÁÖ¸ç, <tt/rmmod/´Â ±×µéÀ» Á¦°ÅÇÑ´Ù. <sect1>°ü·Ã ¹®¼­ <p> ÀÌ Á¤º¸ÀÇ ¸¹Àº ºÎºÐÀº °¡Ä¡ÀÖ´Â Á¤º¸ÀÚ¿øµéÀÌ ÀÖ´Â comp.os.linux ´º½º±×·ìÀÇ °Ô½Ã¹°À» ÀúÀåÇÑ °ÍÀÌ´Ù. ´Ù¸¥ À¯¿ëÇÑ Á¤º¸µéÀº Donald ÀÚ½ÅÀÌ ¸¸µç ÀÛÀº È­Àϵ鿡¼­ ¿Â °ÍÀÌ´Ù. ¹°·Ð ¸¸¾à ¿©·¯ºÐÀÌ ÀÌ´õ³Ý Ä«µå¸¦ ¼³Ä¡ÇÏ°í³ª¸é, ¿©·¯ºÐÀÌ »ç¿ëÇÒ ¼ÒÇÁÆ®¿þ¾î¸¦ ½ÇÁ¦ÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Â NET-2 ÇÏ¿ìÅõ¸¦ Àо°íÀÚ ÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ, Àڽſ¡°Ô ¾à°£ÀÌ¶óµµ ÇØÄ¿´Ù¿î ¸éÀÌ ÀÖ´Ù ¸é, ¿©·¯ºÐÀº ¾ðÁ¦³ª µå¶óÀ̹ö ¼Ò½º È­Àϵé·ÎºÎÅÍ Ãß°¡ÀûÀÎ Á¤º¸µéÀ» ¾òÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ±× ¾È¿¡´Â ½ÇÁ¦ Äڵ尡 ½ÃÀ۵DZâ Àü¿¡ º¸Åë ¾î¶² Áß¿äÇÑ Á¡µé¿¡ ´ëÇØ ¼³¸íÇÑ°ÍÀÌ ÀÖ´Ù. ±×µé¿¡°Ô ¸®´ª½º ¼¼°è¿¡¼­ Á¤º¸¸¦ ã´Â °ÍµéÀº º°·Î Ưº°ÇÑ °Íµµ ¾Æ´Ï´Ù.(¿¹¸¦ µé¾î, 10BaseT°¡ ¹«¾ùÀÌ°í, AUI°¡ ¹«¾ùÀ̸ç, Çãºê°¡ ÇÏ´Â ÀÌÀº ¹«¾ùÀÎÁö µîµî.) ³ª´Â <em/comp.dcom.lans.ethernet/°ú/¶Ç´Â <em/comp.sys.ibm.pc.hardware.networking/ ´º½º±×·ìÀ» ÀÌ¿ëÇÏ±æ ±ÇÀåÇÑ´Ù. <tt/dejanews.com/¿¡ ÀÖ´Â ±×·¯ÇÑ ´º½º±×·ì ¾ÆÄ«À̺êµé Àº ¾µ¸ð¾ø´Â Á¤º¸ÀÚ¿øÀϼö ÀÖ´Ù. ¿©·¯ºÐÀº RTFM(¸ðµç ´º½º±×·ì FAQµéÀ» °¡Áö°í ÀÖ´Â)·ÎºÎÅÍ ´º½º±×·ì FAQ¸¦ °¡Á®¿Ã¼ö ÀÖ´Ù. ±× URLÀº ´ÙÀ½°ú °°´Ù. <url url="ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/" name="Usenet FAQs"> ¿©·¯ºÐÀº ¶ÇÇÑ ´ÙÀ½ÀÇ URL¿¡¼­ ÈçÈ÷ `Ethernet-HomePage'¶ó°í ¸»ÇÏ´Â °÷À» º¼¼ö ÀÖ´Ù. <url url="http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html" name="Ethernet-HomePage"> <sect1>Disclaimer and Copyright<label id="copyright"> <p> ÀÌ ¹®¼­´Â º¹À½¼º°¡°¡ <em/¾Æ´Ï´Ù/. ±×·¯³ª ¿©·¯ºÐÀÌ Ã£À»¼ö ÀÖ´Â °¡Àå ½Ã´ë¿¡ ¸Â´Â Á¤º¸ÀÏ °ÍÀÌ´Ù. ¿©·¯ºÐ ÀÚ½ÅÀ» »©°í´Â ¿©·¯ºÐÀÇ Çϵå¿þ¾î¿¡ ¹«½¼ ÀÏÀÌ ÀϾµçÁö ¾Æ¹«µµ Ã¥ÀÓÀ» ÁöÁö ¾Ê´Â´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÇ ÀÌ´õ³Ý Ä«µå³ª ´Ù¸¥ ¾î¶² Çϵå¿þ¾î¿¡¼­ ¿¬±â°¡ ³­´Ù°í Çصµ(...°ÅÀÇ ºÒ °¡´ÉÇÏ´Ù!) ¿ì¸®´Â ¾Æ¹«·± Ã¥ÀÓÀ» ÁöÁö ¾Ê´Â´Ù. Áï, ÀÌ ¹®¼­¿¡ Æ÷ÇÔµÈ Á¤º¸·Î ÀÎÇØ ÀϾ ¾î¶° ÇÑ ¼Õ½Ç¿¡ ´ëÇؼ­µµ ÀúÀÚ´Â ¾Æ¹«·± Ã¥ÀÓÀ» ÁöÁö ¾Ê´Â´Ù. ÀÌ ¹®¼­´Â Paul Gortmaker¿¡°Ô ÀúÀÛ±ÇÀÌ ÀÖ´Ù. Copyright (c) 1993-1997 ÀÌ ¸Å´º¾óÀÇ »çº»À» ¸¸µé°í ¹èÆ÷ÇÏ´Â °ÍÀº Çã¿ëµÇ¸ç ÀÌ°ÍÀº ¸ðµç »çº»µé¿¡°Ôµµ Àû¿ëµÈ´Ù. ÀÌ ¹®¼­ÀÇ ¼öÁ¤ÆÇÀ» º¹»çÇÏ°í ¹èÆ÷ÇÏ´Â °ÍÀº »çº»°ú °°ÀÌ Çã¿ëµÇ¸ç, ¿øº»°ú Á¤È®È÷ µ¿ÀÏÇÑ ÀúÀÛ±Ç ³»¿ëÀ» Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß Çϸç, ±× ¸ðµç °á°ú¹°Àº ÀÌ¿Í °°Àº Çã¿ëÁ¶°ÇÇÏ¿¡¼­ ¹èÆ÷µÇ¾î Áø´Ù. ÀÌ ¹®¼­¸¦ ´Ù¸¥ ¾ð¾î·Î ¹ø¿ªÇÑ °ÍÀÇ º¹»ç¿Í ¹èÆ÷´Â, À§ÀÇ ¼öÁ¤ÆÇ¿¡ ´ëÇÑ Á¶°ÇÇÏ¿¡¼­ Çã¿ëµÈ´Ù. ¹ø¿ªÀ» ÇÏ´Â »ç¶÷µéÀÌ °í·ÁÇÒ °ÍÀÌ´Ù. ù°, ´Ù¸¥ Ãâ·Â Æ÷¸ËÀ» »ý¼ºÇÒ¼ö ÀÖÀ¸¹Ç·Î SGML ¼Ò½º (ÇÏ¿ìÅõ ¸ÞÀÎ »çÀÌÆ®¿¡¼­ FTP·Î »ç¿ëÇÒ¼ö ÀÖ´Ù)¸¦ ¹ø¿ªÇ϶ó. ¿©·¯ºÐÀÌ ¹ø¿ªÇÑ ¿À¸®Áö³¯ ¿µ¹® SGML ¼Ò½ºÀÇ »çº»À» °£Á÷Ç϶ó! °»½ÅµÈ ÇÏ¿ìÅõ°¡ ³ª¿À¸é, ±× ¹öÀüÀÇ »õ SGML ¼Ò½º¸¦ °¡Á®¿Í¼­, °£´ÜÈ÷ <tt/diff -u old.sgml new.sgml/¶ó°í Ä¡¸é ¹«¾ùÀÌ ¹Ù²î¾ú´ÂÁö Á¤È®ÇÏ°Ô º¸¿©ÁÖ°í ¿©·¯ºÐÀº SGML ¼Ò½º¸¦ ÀüºÎ ´Ù½ÃÀаí Àç¹ø¿ªÇÒ ÇÊ¿ä¾øÀÌ ½±°Ô ¹Ù²Ù¾î¼­ ÇÕÄ¥¼ö ÀÖ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ÃâÆÇµÈ ¹®¼­¿¡ ¹Ý¿µÇÏ±æ ¿øÇϸé, ¿¬¶ôÇؼ­ (e-mailÀ» ÅëÇؼ­) °¡´ÉÇÑ °¡Àå ÃֽŠÀÇ Á¤º¸µéÀ» ÀÖÀ» °ÍÀÌ´Ù. °ú°Å¿¡´Â ¸®´ª½º ÇÏ¿ìÅõ ¹®¼­ÀÇ Ã¶Áö³­ ¹öÀüµéÀÌ ÃâÆǵǾ, ÀÌ¹Ì °»½ÅµÈ ¹öÀü¿¡´Â ´äÇØÁ® ÀÖ´Â Áú¹®µé·Î °³¹ßÀÚµéÀ» ½Ã´Þ¸®°Ô ÇÑ ÀûÀÌ ÀÖ´Ù. <sect1>³¡¸ÎÀ½ <p> ¿©·¯ºÐÀÌ ¸¸ÀÏ ÀÌ ±Û¿¡¼­ ¿ÀŸ³ª, ¾Æ´Ï¸é öÁö³­ Á¤º¸µéÀ» ã¾Æ³»°Ô µÇ¸é, e-mailÀ» º¸³» Áֱ⠹ٶõ´Ù. ÀÌ°ÍÀº ¸Å¿ì Å©°í, ÀüüÀûÀ¸·Î º¸±â´Â ½±´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ¼öÁ¤ÇÑ °ÍÀ» º¸³Â´Â µ¥, ´ÙÀ½ ¹öÀü¿¡ Æ÷ÇÔµÇÁö ¾Ê¾Ò´Ù¸é, ÁÖÀú¸»°í ´Ù½Ã º¸³»±æ ¹Ù¶õ´Ù. ±×°Ç ¾Æ¸¶µµ ³»°¡ ¹ÞÀº ½ºÆÔ°ú ¾µ¸ð¾ø´Â ¸ÞÀÏÀÇ ¹Ù´Ù¿¡¼­ ÀÒ¾î¹ö·ÈÀ» °ÍÀ̱⠶§¹®ÀÌ´Ù. Thanks! Paul Gortmaker, <tt/p_gortmaker@yahoo.com/ </article>