\documentclass[letterpaper,english]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{LinuxÒÔÌ«Íø-HOWTO}
\author{by Paul Gortmaker}
\date{v2.8, Oct 29, 2000}
\abstract{      ±¾ÎÄÎªÒÔÌ«Íø-HOWTO£¬»ã¼¯ÁËÓÐ¹ØÄÄÐ©ÒÔÌ«Íø×°ÖÃ¿ÉÒÔÓÃÓÚLinux£¬ÒÔ¼°ÈçºÎ½øÐÐÉèÖÃµÄÐÅÏ¢¡£Çë×¢Òâ±¾ÎÄ²àÖØÓÚÒÔÌ«Íø¿¨µÄÓ²¼þÓëµ×²ãÇý¶¯·½ÃæµÄÄÚÈÝ£¬²¢Î´º­¸ÇÖîÈç{\ttfamily ifconfig}ºÍ{\ttfamily route}µÈÈí¼þ·½ÃæµÄÎÊÌâ¡£¶ÔÓÚÄÇÐ©ÎÊÌâ£¬Çë²ÎÔÄNetwork-HOWTO¡£}


\begin{document}
\maketitle
\tableofcontents

\section{µ¼ÑÔ\label{main-intro}}



ÒÔÌ«Íø-HOWTO°üÀ¨ÁË¸ÃÂòÊ²Ã´Íø¿¨Óë²»¸ÃÂòÊ²Ã´Íø¿¨£»ÈçºÎÉèÖÃÍø¿¨£¬ÔõÑùÔËÐÐ¶à¸öÍø¿¨£¬ÒÔ¼°ÆäËü³£¼û´íÎóºÍÎÊÌâ¡£Ëü°üº¬ÁË¶ÔÄ¿Ç°ËùÓÐÄÜ¹»µÃµ½µÄ×î³£¼ûÍø¿¨µÄÖ§³ÖµÄÏ¸½Ú×ÊÁÏ¡£

Ëü{\itshape ²»\/}°üº¬ÓÐ¹ØÈí¼þ·½ÃæµÄÄÚÈÝ£¬ÒòÎªNET-3 HowtoÖÐ°üº¬ÁËÕâÐ©ÄÚÈÝ¡£»¹Òª×¢ÒâÕâÀï²»°üÀ¨£¨»òÕßÖÁÉÙ²»Ó¦µ±°üÀ¨£©ÄÇÐ©·ÇLinuxÌØÓÐµÄÓÐ¹ØÒÔÌ«ÍøµÄÒ»°ãÎÊÌâµÄ½â´ð¡£¶ÔÓÚÄÇÐ©ÎÊÌâ£¬¿ÉÒÔ²Î¿¼{\itshape comp.dcom.lans.ethernet\/}µÄFAQÖÐµÄ´óÁ¿×ÊÁÏ£¬ÓëËùÓÐÆäËüÐÂÎÅ×éFAQÒ»ÑùÍ¨¹ýFTPµ½{\ttfamily rtfm.mit.edu}»ñÈ¡¡£

±¾ÐÞ¶©°æ¸²¸ÇÁËLinux 2.2.17¼°ÆäÖ®Ç°µÄÄÚºË·¢ÐÐ°æ±¾¡£

ÒÔÌ«Íø-HOWTOµÄ×÷ÕßÎª:
\begin{quotation}
Paul Gortmaker, {\ttfamily p\_gortmaker@yahoo.com}
\end{quotation}


Ô­Ê¼µÄASCII°æ±¾µÄÒÔÌ«Íø-HOWTOµÄÖ÷Òª×ÊÁÏÀ´Ô´Îª£º
\begin{quotation}
Donald J. Becker, {\ttfamily becker@scyld.com}
\end{quotation}


¸ÐÐ»Ëû±àÐ´ÁËÐí¶àLinuxÄ¿Ç°Ê¹ÓÃµÄÒÔÌ«Íø¿¨Çý¶¯³ÌÐò¡£ËûÒ²ÊÇ×î³õµÄNFS·þÎñÆ÷µÄ×÷Õß¡£Ð»Ð»Donald£¡

Copyright (c) 1993-2000 ±¾ÎÄµÄ°æÈ¨ËùÓÐÈËÎªPaul Gortmaker¡£ÇëÔÄ¶Á±¾ÎÄµµ½áÎ²´¦µÄÉùÃ÷Óë°æÈ¨ÐÅÏ¢(\ref{copyright} {(copyright)})ÒÔÁË½âÓÐ¹Ø·Ö·¢±¾ÎÄ¼°Í¨³£µÄ¡°ÎÒÃÇ²»¶ÔÄãÊÔÍ¼ÆÆ»µ......µÄÐÐÎª¸ºÔð¡±Ö®ÀàµÄ·¨ÂÉÐÅÏ¢¡£




\subsection{±¾ÎÄµµµÄÐÂ°æ±¾\label{new-doc}}



±¾ÎÄµµµÄÐÂ°æ±¾¿ÉÒÔ´ÓÈçÏÂÖ÷Ò³»ñµÃ£º

\nameurl{http://metalab.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html}{Ethernet-HOWTO}

Ï£Íû²ÉÓÃFTP·½Ê½»òÕßÏ£Íû»ñÈ¡·ÇHTML¸ñÊ½ÎÄµµµÄ¿ÉÊ¹ÓÃÒÔÏÂÕ¾µã£º

\nameurl{ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/}{Sunsite HOWTO Archive}

ÕâÊÇ¡°¹Ù·½¡±Õ¾µã¡ª¡ªÒ²¿ÉÒÔÔÚÆäËü¸÷ÖÖLinux WWW/ftp¾µÏñÕ¾µãÕÒµ½±¾ÎÄµµ¡£ÔÚÓÐÁËÐÂ×ÊÁÏ»òÐÂÇý¶¯³ÌÐòÊ±±¾ÎÄµµ½«½øÐÐ¸üÐÂ¡£Èç¹ûÄãÔÄ¶ÁµÄÎÄµµÒÑ¾­´æÔÚ6¸öÔÂÒÔÉÏÁË£¬ÄÇÃ´ÄãÐèÒª¼ì²éÒ»ÏÂÊÇ·ñÒÑ¾­ÓÐ¸üÐÂ¹ýµÄ°æ±¾¡£

±¾ÎÄµµÓÐ¶àÖÖ¸ñÊ½£¨postscript£¬dvi£¬ASCII£¬HTML£¬µÈµÈ£©¡£ÍÆ¼öÓÃHTML¸ñÊ½ä¯ÀÀ£¨Í¨¹ýWWWä¯ÀÀÆ÷£©»òPostscript/dvi¸ñÊ½ä¯ÀÀ¡£ÕâÁ½ÖÖ¸ñÊ½¶¼°üº¬ÓÐÆÕÍ¨ÎÄ±¾ASCII¸ñÊ½ÎÞ·¨Ìá¹©µÄ½»²æÒýÓÃ¹¦ÄÜ¡£




\subsection{ÒÔÌ«Íø-HOWTOµÄÓÃ·¨\label{using}}



ÓÉÓÚ±¾Ö¸ÄÏÔ½À´Ô½´ó£¬Äã¿ÉÄÜ²»Ï£Íû»¨Ò»¸öÏÂÎç´ÓÍ·¶Áµ½Î²¡£¶øÁîÈË¸ßÐËµÄÊÇÄã{\itshape ²»±Ø\/}ÔÄ¶ÁÈ«²¿ÄÚÈÝ¡£HTMLºÍPostscript/dvi°æ±¾¶¼ÓÐÄÚÈÝÁÐ±í£¬¿ÉÒÔ°ïÖúÄã¸ü¿ìµØÕÒµ½ËùÐèµÄÄÚÈÝ¡£

¿ÉÄÜÄãÊÇÓÉÓÚÎÞ·¨Ê¹Íø¿¨¹¤×÷£¬¶øÇÒ²»ÖªµÀ¸ÃÔõÃ´×ö»òÕßÈçºÎ¼ì²é£¬²ÅÀ´ÔÄ¶Á±¾ÎÄµµµÄ¡£ÏÂÒ»½Ú(\ref{help} {(°ï°ïÎÒ¡ª¡ªÍø¿¨Ã»·´Ó¦£¡)})¾ÍÊÇÕë¶ÔLinux³õÑ§Õß²¢¸ø³öÕýÈ·µÄÖ¸µ¼¡£

¾­³£ÓÐÒ»Ð©ÎÊÌâ±»²»Í¬µÄÈËÎÊÁË{\itshape Ò»±éÓÖÒ»±é\/}¡£¿ÉÄÜÄãÅöµ½µÄÄ³¸öÎÊÌâ¾ÍÊÇ³£¼ûÎÊÌâÖ®Ò»£¬¶øÇÒÔÚ±¾ÎÄµµµÄFAQ²¿·Ö(\ref{faq} {(³£¼ûÎÊÌâ)})ÒÑ¾­ÓÐÁË´ð°¸¡£Ã¿¸öÈËÔÚ·¢ÎÄÑ°Çó°ïÖúÖ®Ç°¶¼×îºÃÏÈ¿´Ò»ÏÂÕâÒ»½Ú¡£

Èç¹ûÄã»¹Ã»ÓÐÍø¿¨£¬ÄÇÃ´Äã¿ÉÄÜÏë´Ó¾ö¶¨ÂòÍø¿¨¿ªÊ¼¡£(\ref{what-card} {(¸ÃÎªLinuxÂòÊ²Ã´Íø¿¨£¿)})

Èç¹ûÄãÒÑ¾­ÓÐÁËÒ»¿éÒÔÌ«Íø¿¨£¬µ«²»ÄÜÈ·¶¨ÊÇ·ñ¿ÉÒÔÔÚLinuxÉÏÊ¹ÓÃËü£¬ÄÇÃ´Äã¿ÉÄÜÏë¶ÁÒ»ÏÂ°üº¬Ã¿Ò»¸öÖÆÔì³§¼Ò¼°ÆäÍø¿¨µÄÌØ¶¨ÐÅÏ¢µÄÕÂ½Ú¡£(\ref{card-intro} {(ÓÐ¹ØÏúÊÛÉÌ/ÖÆÔì³§¼Ò/ÐÍºÅµÄÐÅÏ¢)})

Èç¹ûÄã¶ÔLinuxÉè±¸Çý¶¯³ÌÐòµÄÒ»Ð©¼¼ÊõÏ¸½Ú¸ÐÐËÈ¤£¬ÄÇÃ´Äã¿ÉÒÔä¯ÀÀÓÐ´ËÀàÐÅÏ¢µÄÕÂ½Ú¡£(\ref{tech-intro} {(¼¼ÊõÐÅÏ¢)})




\subsection{°ï°ïÎÒ¡ª¡ªÍø¿¨Ã»·´Ó¦£¡\label{help}}



ºÃ£¬±ð½ôÕÅ¡£ÏÂÃæ¾Í¸æËßÄãÈçºÎ½â¾öÎÊÌâ£¬¼´Ê¹Äã´ËÇ°¶ÔLinux»òÒÔÌ«ÍøÓ²¼þÒ»ÎÞËùÖª¡£

Ê×ÏÈÄãÐèÒªÅªÇå³þÄãµÄÍø¿¨ÀàÐÍ£¬È»ºóÈ·¶¨LinuxÊÇ·ñÓÐ´ËÀàÐÍÍø¿¨µÄÇý¶¯³ÌÐò¡£Ö÷»úÔÚ¿ØÖÆ²»Í¬µÄÍø¿¨Ê±Ê¹ÓÃµÄ·½·¨Ò»°ãÒ²²»Ò»Ñù£¬¶øLinuxÇý¶¯³ÌÐò£¨Èç¹ûÓÐµÄ»°£©¾ÍÒÔÔÊÐíLinuxÊ¹ÓÃ´Ë¿¨µÄ¸ñÊ½°üº¬ÁËÕâÑùµÄ¿ØÖÆÐÅÏ¢¡£Èç¹ûÄãÃ»ÓÐÊÖ²áÒ»ÀàµÄ¶«Î÷ÈÃÄãÖªµÀÍø¿¨µÄÀàÐÍ£¬ÄÇÃ´Äã¿ÉÒÔ³¢ÊÔ´¦Àí¡°ÉñÃØ¡±Íø¿¨µÄÕÂ½Ú(²Î¿¼ÕÂ½Ú£º\ref{mystery} {(Ê¶±ðÎ´ÖªÍø¿¨)})¡£

ÏÖÔÚÄãÖªµÀÁËÄãµÄÍø¿¨ÀàÐÍ£¬ÔÄ¶ÁÌØ¶¨Íø¿¨ÕÂ½ÚÖÐÓÐ¹ØÄãµÄÍø¿¨µÄÏ¸½Ú£¨²Î¿¼ÕÂ½Ú£º\ref{card-intro} {(ÓÐ¹ØÏúÊÛÉÌ/ÖÆÔì³§¼Ò/ÐÍºÅµÄÐÅÏ¢)}£©£¬ÄÇÀïÒÔ×ÖÄ¸Ë³ÐòÁÐ³öÁËÍø¿¨ÖÆÔì³§¼Ò¡¢¸÷×ÔµÄÀàÐÍºÅÒÔ¼°ÊÇ·ñÓÐLinuxÇý¶¯³ÌÐò¡£Èç¹ûÔÚÁÐ±íÖÐ±»±íÃ÷¡°²»Ö§³Ö¡±£¬Äã¾Í¿ÉÒÔ·ÅÆúÁË¡£Èç¹û´ÓÖÐÕÒ²»µ½ÄãµÄÍø¿¨£¬ÄÇÃ´¿´Ò»ÏÂÄãµÄÍø¿¨ÊÖ²áÊÇ·ñËµËüÓëÄ³¸öÒÑÖªÍø¿¨ÀàÐÍ¡°¼æÈÝ¡±¡£ÀýÈçÖÁÉÙÓÐ¼¸°ÙÖÖÍø¿¨ÓëÔ­À´µÄNovell NE2000Éè¼Æ¼æÈÝ¡£

¼ÙÉèÄãÒÑ¾­·¢ÏÖÁËÄãµÄÍø¿¨ÓÐLinuxÇý¶¯³ÌÐò£¬ÏÖÔÚ¾ÍÕÒµ½²¢ÀûÓÃËü¡£ÒòÎªLinuxÓÐÄãµÄÍø¿¨µÄÇý¶¯³ÌÐò²¢{\itshape ²»\/}ÒâÎ¶ÖøËü´æÔÚÃ¿Ò»¸öÄÚºËÖÐ¡££¨ÄÚºËÊÇÆô¶¯Ê±×îÏÈÔØÈëµÄ²Ù×÷ÏµÍ³ºËÐÄ£¬°üº¬¸÷ÖÖÓ²¼þµÄÇý¶¯³ÌÐò£¬ÒÔ¼°ÆäËüµÈµÈ¡££©¿ÉÄÜÖ»ÓÐºÜÉÙ¼¸¸öÔ¤ÏÈÉú³ÉµÄÄÚºË£¬ºÍÒ»´óÅú½ÏÐ¡µÄ×÷Îª·ÖÁ¢Ä£¿éµÄÇý¶¯³ÌÐò£¬»òÕßÊÇÐí¶àµÄÄÚºË£¬¸²¸ÇÁË´óÁ¿ÄÚ½¨Çý¶¯³ÌÐòµÄ×éºÏ£¬Õâ¶¼ÍêÈ«È¡¾öÓÚÊÇË­Éú³ÉÁËÄãËùÊ¹ÓÃµÄLinux·¢ÐÐ°æ±¾¡£

ÏÖÔÚµÄ´ó¶àÊýLinux·¢ÐÐ°æ±¾¶¼Ìá¹©´óÁ¿½ÏÐ¡µÄ×÷Îª·ÖÁ¢Ä£¿éµÄ²»Í¬Çý¶¯³ÌÐò¡£ÐèÒªµÄÄ£¿éÍ¨³£¿ÉÒÔÔÚÆô¶¯¹ý³ÌµÄºóÆÚÔØÈë£¬»òÕßÔÚ´æÈ¡ÌØ¶¨Éè±¸Ê±ÒÔÃüÁîµÄÐÎÊ½ÔØÈëÒ»¸öÇý¶¯³ÌÐò¡£ÄãÐèÒªÔÚÄÚºËÆô¶¯ºó°Ñ¸ÃÄ£¿é¼ÓÔØµ½ÄÚºËÉÏ¡£²éÔÄÄãËùÓÃµÄ·¢ÐÐ°æ±¾ÖÐÓÐ¹Ø°²×°ºÍÊ¹ÓÃÄ£¿éµÄÐÅÏ¢£¬²¢²Î¿¼±¾ÎÄµµµÄÓÐ¹ØÄ£¿éÕÂ½Ú¡£(\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)})

Èç¹ûÄãÃ»ÓÐÕÒµ½°üº¬ÄãµÄÍø¿¨Çý¶¯³ÌÐòµÄÒÑÉú³ÉÄÚºË£¬Ò²Ã»ÓÐÕÒµ½¸ÃÇý¶¯³ÌÐòµÄÄ£¿éÐÎÊ½£¬ÄÇÃ´¿ÉÄÜÊÇÄãµÄÍø¿¨²»¹»³£¼û£¬¶øÇÒÐèÒªÄã×Ô¼ºÉú³ÉÒ»¸ö°üº¬¸ÃÇý¶¯³ÌÐòµÄÄÚºË¡£Ö»ÒªÄãÒÑ¾­°²×°ÁËLinux£¬Éú³ÉÒ»¸ö¶¨ÖÆµÄÄÚºËÒ»µã¶ù¶¼²»ÄÑ¡£ÄãÖ»Òª¶ÔÄÚºËÐèÒª°üº¬Ð©Ê²Ã´»Ø´ðÊÇ»òÕß²»ÊÇ£¬È»ºóÈÃËüÉú³É¾ÍÐÐÁË¡£ÓÐÒ»¸öKernel-HowTo¿ÉÒÔ°ïÖúÄã¡£

´ËÊ±Äã»¹ÐèÒªÒÔÄ³ÖÖ·½Ê½Æô¶¯ÄÚ½¨ÁËÄãµÄÇý¶¯³ÌÐòµÄÄÚºË£¬»òÕßÒÔÄ£¿éµÄÐÎÊ½ÔØÈëÇý¶¯³ÌÐò¡£´óÔ¼ÈËÃÇÅöµ½µÄÎÊÌâÓÐÒ»°ë¶ù³öÔÚÃ»ÓÐÒÔÕâÖÖ»òÄÇÖÖ·½Ê½ÔØÈëÇý¶¯³ÌÐò£¬ËùÒÔÄã»á·¢ÏÖÍø¿¨ÏÖÔÚ¹¤×÷ÁË¡£

Èç¹ûËü»¹²»¹¤×÷£¬ÄÇÃ´ÄãÐèÒªÖ¤ÊµÒ»ÏÂÄÚºËÈ·Êµ¼ì²âµ½ÁËÍø¿¨¡£Òª×öµ½ÕâÒ»µã£¬ÄãÐèÒªÔÚÏµÍ³Æô¶¯ÒÔ¼°ËùÓÐÄ£¿éÔØÈëÖ®ºó¼üÈë{\ttfamily dmesg $|$ more}¡£Õâ¿ÉÒÔÈÃÄã²é¿´Æô¶¯¹ý³ÌÖÐÄÚºËËùÏÔÊ¾µÄÆô¶¯ÐÅÏ¢¡£Èç¹ûÍø¿¨±»¼ì²âµ½£¬Äã¿ÉÒÔ´ÓÖÐÕÒµ½ÒÔ{\ttfamily eth0}¿ªÍ·µÄÍø¿¨Çý¶¯³ÌÐòÏÔÊ¾ÐÅÏ¢£¬Ö¸³öÍø¿¨ËùÊ¹ÓÃµÄÇý¶¯³ÌÐòÃû³ÆºÍÓ²¼þ²ÎÊý£¨ÖÐ¶ÏÉèÖÃ¡¢I/OµØÖ·µÈµÈ£©¡££¨×¢Òâ£ºÔÚÆô¶¯Ê±£¬Linux»áÁÐ³öËùÓÐÏµÍ³ÖÐ°²×°µÄPCI¿¨£¬ÎÞÂÛÊÇ·ñÓÐÇý¶¯³ÌÐò¡ª¡ª²»Òª°ÑÕâ¸öÎóÈÏÎªÆäºóµÄÇý¶¯³ÌÐò¼ì²â£¡£©

Èç¹ûÄãÃ»¿´µ½ÕâÑùµÄÇý¶¯³ÌÐòÊ¶±ðÐÅÏ¢£¬ÄÇÃ´Çý¶¯³ÌÐò¾ÍÃ»ÓÐ¼ì²âµ½ÄãµÄÍø¿¨£¬Õâ¾ÍÊÇÎÊÌâËùÔÚ¡£²é¿´FAQ(\ref{faq} {(³£¼ûÎÊÌâ)})Ñ°ÕÒÍø¿¨Î´¼ì²âµ½Ê±¸Ã×öÐ©Ê²Ã´¡£Èç¹ûÄãµÄÍø¿¨ÊÇNE2000¼æÈÝµÄ£¬ÔÚFAQÖÐÓÐÒ»Ð©ÓÐ¹ØNE2000Íø¿¨¼ì²âµÄ¼¼ÇÉ¡£

Èç¹ûÍø¿¨±»¼ì²âµ½ÁË£¬µ«¼ì²âÐÅÏ¢±¨¸æÁËÒ»Ð©´íÎó£¬±ÈÈç×ÊÔ´³åÍ»£¬ÄÇÃ´Çý¶¯³ÌÐò¿ÉÄÜÎÞ·¨Õý³£³õÊ¼»¯£¬Íø¿¨»¹ÊÇ²»¿ÉÓÃ¡£ÕâÒ»ÀàµÄ×î³£¼û´íÎóÐÅÏ¢Ò²ÔÚFAQÖÐÁÐ³öÀ´ÁË£¬²¢¸ø³öÁËÏàÓ¦µÄ½â¾ö·½°¸¡£

Èç¹û¼ì²âÐÅÏ¢¿´ÆðÀ´Ã»ÎÊÌâ£¬ÄÇÃ´ÔÙ¼ì²éÒ»ÏÂÇý¶¯³ÌÐò±¨¸æµÄÍø¿¨×ÊÔ´ÊÇ·ñÓëÍø¿¨µÄÎïÀíÉèÖÃÒ»ÖÂ£¨Íø¿¨µÄÎïÀíÉèÖÃ»òÕßÊÇÍ¨¹ýÍø¿¨ÉÏµÄÌøÏß£¬»òÕßÊÇÍø¿¨ÖÆÔì³§¼ÒÌá¹©µÄÈí¼þ¹¤¾ßÍê³É¡££©ËüÃÇ±ØÐëÍêÈ«Ò»ÖÂ¡£ÀýÈç£¬Íø¿¨µÄÌøÏß»òÅäÖÃÎªIRQ 15£¬¶øÇý¶¯³ÌÐòÔÚÆô¶¯ÐÅÏ¢ÖÐ±¨¸æÎªIRQ 10£¬ÄÇÃ´¾Í»á³öÎÊÌâ¡£ÔÚFAQÖÐÌÖÂÛÁË×î³£¼ûµÄÇý¶¯³ÌÐò´íÎóµØ¼ì²â¸÷ÖÖÍø¿¨ÅäÖÃÐÅÏ¢µÄÇé¿ö¡£

ÏÖÔÚÄãÒÑ¾­Ê¹ÄãµÄÍø¿¨ÒÔÕýÈ·µÄ²ÎÊý±»¼ì²âµ½ÁË£¬µ«Ô¸Ò»ÇÐÕý³£¡£Èç¹û»¹ÓÐÎÊÌâ£¬ÄÇÃ´»òÕßÊÇÈí¼þÅäÖÃÓÐ´í£¬»òÕßÊÇÓ²¼þÅäÖÃÓÐ´í¡£Èí¼þÅäÖÃ´íÎó¾ÍÊÇÔÚ{\ttfamily ifconfig}ºÍ{\ttfamily route}ÃüÁîÖÐÃ»ÓÐÉèÖÃÕýÈ·µÄÍøÂçµØÖ·£¬Æä´¦ÀíÏ¸½Ú¿ÉÒÔÔÚNetwork HowToºÍ¡°Network Administrator's Guide¡±ÖÐÕÒµ½£¬ËüÃÇ¿ÉÄÜ¶¼ÔÚÄãÓÃÀ´°²×°µÄCD-ROMÉÏ¡£

Ó²¼þÅäÖÃ´íÎóÊÇÄ³Ð©×ÊÔ´³åÍ»»òÍü¼ÇÅäÖÃ£¨¼´ÔÚÆô¶¯Ê±Ã»¼ì²âµ½Çý¶¯³ÌÐò£©£¬Ê¹Íø¿¨ÎÞ·¨Õý³£¹¤×÷¡£Í¨³£¿ÉÒÔÓÃ¼¸ÖÖ²»Í¬µÄ·½·¨À´¼ì²é¡£(1) ÔÚ{\ttfamily ifconfig}ÊÔÍ¼´ò¿ªÉè±¸À´Ê¹ÓÃÊ±±¨¸æ³ö´íÐÅÏ¢£¬Èç¡°SIOCSFFLAGS: Try again¡±¡£(2) Çý¶¯³ÌÐò±¨¸æ{\ttfamily eth0}³ö´íÐÅÏ¢£¨ÓÃ{\ttfamily dmesg $|$ more}²é¿´£©»òÕßÃ¿´ÎÊÔÍ¼·¢ËÍ»ò½ÓÊÕÊý¾ÝÊ±Ææ¹ÖµÄ²»Ò»ÖÂ¡£(3) ¼üÈë{\ttfamily cat /proc/net/dev}À´ÏÔÊ¾{\ttfamily eth0}µÄerrs¡¢drop¡¢fifo¡¢frame»òcarrierÁÐÖÐµÄ·ÇÁãÊý×Ö¡£(4) ¼üÈë{\ttfamily cat /proc/interrupts}ÏÔÊ¾Íø¿¨µÄÁãÖÐ¶Ï¼ÆÊý¡£´ó¶àÊýµäÐÍµÄÓ²¼þÅäÖÃ´íÎóÒ²ÔÚFAQÖÐ½øÐÐÁËÌÖÂÛ¡£

ºÃ°É£¬Èç¹ûÄãÏÖÔÚ»¹ÓÐÂé·³£¬ÔÄ¶Á±¾ÎÄµµµÄFAQ£¬ÔÄ¶ÁÓÐ¹ØÏúÊÛÉÌÕÂ½ÚÖÐÓÐ¹ØÄãµÄÍø¿¨µÄÏ¸½Ú£¬{\itshape Èç¹ûÎÊÌâ»¹Ã»½â¾ö\/}£¬ÄÇÃ´ÄãÖ»ºÃÇóÖúÓÚÄ³¸öÏàÓ¦µÄÐÂÎÅ×éÁË¡£ÔÚÇóÖúÎÄÕÂÖÐÇë¸ø³öËùÓÐÏà¹ØµÄÏ¸½Ú×ÊÁÏ£¬±ÈÈçÍø¿¨ÉÌ±ê¡¢ÄÚºË°æ±¾¡¢Çý¶¯³ÌÐòµÄÆô¶¯ÐÅÏ¢¡¢{\ttfamily cat /proc/net/dev}µÄÊä³ö¡¢ÇåÎúµÄÎÊÌâÃèÊö£¬µ±È»»¹ÓÐÄãÔÚÊÔÍ¼½â¾öÎÊÌâÊ±³¢ÊÔ²ÉÓÃµÄ·½·¨¡£

Äã¿ÉÄÜ»áÆæ¹ÖÓÐÄÇÃ´¶àµÄÈË·¢³öÖîÈç¡°Can someone help me? My ethernet doesn't work.¡±¶øÃ»ÓÐÆäËüÄÚÈÝµÄÎÞÓÃÐÅ¼þ¡£ÐÂÎÅ×éµÄ¶ÁÕßÒ»°ã»áºöÂÔµôÕâÐ©ÓÞ´ÀµÄÐÅ¼þ£¬¶øÏêÏ¸µÄÓÐÄÚÈÝµÄÎÊÌâÃèÊöÔò»áÈÃ¡°Linux×¨¼Ò¡±Á¢¼´Ö¸³öÄãµÄÎÊÌâËùÔÚ¡£µ±È»ÔÚÓÃµç×ÓÓÊ¼þ·¢ËÍÎÊÌâ±¨¸æÊ±ÕâÒ²Í¬Ñù³ÉÁ¢¡ª¡ª×ÜÊÇÌá¹©¾¡¿ÉÄÜ¶àµÄÐÅÏ¢¡£






\subsection{Íø¿¨Ó¦¸ÃÖ§³ÖµÄµçÀÂÀàÐÍ\label{cable-intro}}



Ê¹ÓÃRJ-45£¨´óµÄµç»°²åÍ·£©Á¬½ÓÆ÷µÄË«½ÊÏß´Ó¼¼ÊõÉÏÀ´Ëµ½Ð×ö10BaseT¡£Äã¿ÉÄÜÌýµ½¹ýËü±»³ÆÎªUTP£¨ÎÞÆÁ±ÎË«½ÊÏß£©¡£

Ê¹ÓÃBNC£¨½ðÊôµÄÍÆ½øºÍÐý×ªËø¶¨£©Á¬½ÓÆ÷µÄÒÔÌ«ÍøÏ¸ÀÂ£¨RG-58Í¬ÖáµçÀÂ£©´Ó¼¼ÊõÉÏÀ´Ëµ½Ð×ö10Base2¡£

Ö»»áÔÚÔçÆÚµÄ×°ÖÃÉÏ·¢ÏÖµÄÀÏÊ½ÒÔÌ«Íø´ÖÀÂ£¨10mmÍ¬ÖáµçÀÂ£©±»³ÆÎª10Base5¡£ÔÚÄ³Ð©ÒÔÌ«Íø¿¨ÉÏÊ¹ÓÃµÄ15ÕëDÐÎ²å×ù£¨AUIÁ¬½ÓÆ÷£©ÊÇÓÃÀ´Á¬½ÓÒÔÌ«Íø´ÖÀÂºÍÍâ²¿ÊÕ·¢Æ÷µÄ¡£

´ó¶àÊýÒÔÌ«Íø¿¨¶¼ÓÐ¼Û¸ñÉÔ¸ß\$10-\$20µÄ¡°Combo¡±°æ±¾¡£ËüÃÇÍ¬Ê±Ìá¹©Ë«½ÊÏßºÍÏ¸ÀÂÒÔÌ«ÍøÊÕ·¢Æ÷£¬¿ÉÒÔÈÃÄãÒÔºó¸Ä±äÖ÷Òâ¡£

´ó¶àÊý×°ÖÃÊ¹ÓÃ10BaseT /100BaseT£¬ÒòÎª10Base2ÎÞ·¨Éý¼¶Îª100BaseÖ®ÀàµÄÍøÂç¡£10Base2¶ÔÓÚÒòÎªÄ³ÖÖÔ­Òò²»Ïë¹ºÂòHUBµÄ°®ºÃÕß½¨Á¢ÊÒÄÚÍøÂç¶øÑÔÊÇ×ã¹»µÄ¡£

²Î¿¼\ref{cable} {(µçÀÂ¡¢Í¬ÖáµçÀÂ......)}ÒÔÁË½âÓÐ¹ØÒÔÌ«ÍøÏßÀÂ²»Í¬ÀàÐÍµÄÇé¿ö¡£




\section{³£¼ûÎÊÌâ\label{faq}}



ÕâÀïÊÇÒ»Ð©ÓÐ¹ØÊ¹ÓÃLinux½øÐÐÒÔÌ«ÍøÁ¬½ÓµÄ³£¼ûÎÊÌâ¡£Ä³Ð©ÌØ¶¨ÎÊÌâ°´ÕÕÖÆÔìÉÌ½øÐÐ·ÖÀà¡£¿ÉÄÜÄãÏëÎÊµÄÎÊÌâ±ðÈËÒÑ¾­ÎÊ¹ý£¨¶øÇÒ±»»Ø´ðÁË£¡£©£¬ËùÒÔ¼´Ê¹Ã»ÓÐÔÚÕâÀïÕÒµ½ÄãµÄ´ð°¸£¬»¹¿ÉÄÜÔÚÖîÈç\nameurl{http://www.dejanews.com}{Dejanews}Ö®ÀàµÄÐÂÎÅµµ°¸ÖÐÕÒµ½ÄãËùÒªµÄ¡£




\subsection{¸ÃÎªLinuxÂòÊ²Ã´Íø¿¨£¿\label{what-card}}



Õâ¸öÎÊÌâµÄ´ð°¸ºÜ´ó³Ì¶ÈÈ¡¾öÓÚÄãÏ£ÍûÓÃÍøÂçÁ¬½Ó¸ÉÐ©Ê²Ã´£¬ÒÔ¼°»áÓöµ½¶à´óµÄÊý¾ÝÁ÷Á¿¡£

Èç¹ûÄãÖ»Ïë×÷ÎªÒ»¸öÓÃ»§Å¼¶ûÊ¹ÓÃÒ»ÏÂFTP»òWWW£¬ÄÇÃ´¼´Ê¹ÊÇ8±ÈÌØµÄÀÏISAÍø¿¨¶¼ÄÜÂú×ãÄãµÄÐèÒª¡£

Èç¹ûÄãÏë½¨Á¢Ò»¸ö·þÎñÆ÷£¬²¢ÒªÇó½ÓÊÕ»ò·¢ËÍÍøÂçÊý¾Ý¸øCPU´øÀ´µÄ¸ºÔØ×îÐ¡£¬ÄÇÃ´Äã¿ÉÄÜÐèÒª¿´Ò»ÏÂÊ¹ÓÃ¾ßÓÐ×ÜÏß¿ØÖÆÄÜÁ¦µÄÐ¾Æ¬µÄPCIÍø¿¨£¬±ÈÈçDEC tulip (21xxx)Ð¾Æ¬£¬»òÕßAMD PCnet-PCIÐ¾Æ¬¡£

Èç¹ûÄãµÄÐèÇóÔÚÕâ¶þÕßÖ®¼ä£¬ÄÇÃ´Ê¹ÓÃÓÐÎÈ¶¨µÄÇý¶¯³ÌÐòµÄ±ãÒËµÄPCIÍø¿¨»ò16±ÈÌØµÄISAÍø¿¨¾Í¿ÉÒÔÁË¡£




\subsection{AlphaÇý¶¯³ÌÐò¡ª¡ª»ñÈ¡ÓëÊ¹ÓÃ\label{alfa}}



ÎÒÌýËµÎÒµÄÍø¿¨ÓÐÒ»¸ö¸üÐÂµÄ»ò³õ²½µÄ/alphaÇý¶¯³ÌÐò¡£´ÓÄÄ¶ùµÃµ½ËüÄØ£¿

×îÐÂµÄ¡°ÐÂ¡±Çý¶¯³ÌÐò¿ÉÒÔÔÚDonaldµÄFTPÕ¾µã£º{\ttfamily cesdis.gsfc.nasa.gov}ÀïÃæµÄ{\ttfamily /pub/linux/}ÏÂÕÒµ½¡£ÒòÎªÊÂÇé±ä»¯ºÜÆµ·±£¬¿ÉÄÜÐèÒªËÄ´¦ÕÒÒ»ÕÒ¡£»òÕßÊ¹ÓÃWWWä¯ÀÀÆ÷È¥£º

\nameurl{http://cesdis.gsfc.nasa.gov/linux/}{Don's Linux Home Page}

²éÕÒÄãÏëÒªµÄÇý¶¯³ÌÐò¸ü¼òµ¥Ò»Ð©¡££¨ÁôÉñWWWä¯ÀÀÆ÷»áÇÄÇÄµØ°ÑÔ´ÂëÖÐµÄTABsÌæ»»Îª¿Õ¸ñ£¬µÈµÈ¡ª¡ªÈç¹ûÎÞ·¨È·¶¨µÄ»°£¬Ê¹ÓÃFTPÏÂÔØ£¬ÖÁÉÙÒ²µÃÓÃWWWä¯ÀÀÆ÷µÄFTP URL¡££©

Èç¹ûÇý¶¯³ÌÐòÈ·ÊµÊÇalpha°æ±¾£¬»òpre-alpha°æ±¾£¬ÄÇÃ´ÇëÇ¡µ±µØ¶Ô´ýËü¡£»»¾ä»°Ëµ£¬²»Òª±§Ô¹£¬ÒòÎªÄãÎÞ·¨ÅªÇåÓÃËüÄÜ×öÐ©Ê²Ã´¡£Èç¹ûÅª²»ÇåÈçºÎ°²×°£¬×îºÃ²»ÒªÈ¥ÊÔ¡£Í¬Ñù£¬Èç¹ûËüÊ¹ÄãµÄ»úÆ÷å´»úÁË£¬²»Òª±§Ô¹¡£Ïà·´£¬ÄãÓ¦¸Ã·¢¸øÎÒÃÇÒ»·Ý²ÄÁÏ×éÖ¯ºÜºÃµÄBug±¨¸æ£¬Èç¹ûÊÇÒ»¸ö²¹¶¡£¬ÄÇ¾Í¸üºÃ£¡

×¢Òâ£¬Ä³Ð©¡°¿ÉÓÃ¡±µÄÊµÑéÐÔ/alphaÇý¶¯³ÌÐòÒÑ¾­°üº¬ÔÚ±ê×¼µÄÄÚºËÔ´ÂëÊ÷ÖÐ¡£ÔÚÔËÐÐ{\ttfamily make config}Ê±ÄãÊ×ÏÈÒª»Ø´ðµÄÒ»¸öÎÊÌâ¾ÍÊÇ¡°Prompt for development and/or incomplete code/drivers¡±¡£ÔÚ´ËÄãÒª»Ø´ð¡°Y¡±ÒÔ°üÀ¨ÈÎºÎalpha/ÊµÑéÐÔÇý¶¯³ÌÐò¡£




\subsection{Ò»Ì¨»úÆ÷Ê¹ÓÃ¶à¸öÒÔÌ«Íø¿¨\label{two-card}}



×öÐ©Ê²Ã´²ÅÄÜÈÃLinuxÔËÐÐÁ½¿éÒÔÌ«Íø¿¨£¿

Õâ¸öÎÊÌâµÄ´ð°¸È¡¾öÓÚÇý¶¯³ÌÐòÊÇ·ñ±»ÓÃ×ö¿ÉÔØÈëµÄÄ£¿é»òÕßÖ±½Ó±àÒë½øÁËÄÚºË¡£´ó¶àÊýLinux·¢ÐÐ°æ±¾ÏÖÔÚ¶¼Ê¹ÓÃÄ£¿é»¯µÄÇý¶¯³ÌÐò¡£ÕâÑù¾Í²»ÓÃ·¢ÐÐÐí¶àÄÚºË£¬Ã¿ÖÖÄÚºËÉèÖÃÒ»¸ö²»Í¬µÄÄÚ½¨Çý¶¯³ÌÐò¡£Ê¹ÓÃÒ»¸öµ¥Ò»µÄ»ù±¾ÄÚºË£¬Èç¹ûÌØ¶¨ÓÃ»§ÏµÍ³ÐèÒª£¬Ò»µ©ÏµÍ³Æô¶¯£¬¾Í¿ÉÒÔ´ÓÇý¶¯³ÌÐòÄ£¿éÎÄ¼þ£¨Í¨³£´æ·ÅÔÚ{\ttfamily /lib/modules/}£©ÖÐÔØÈë¸ö±ðµÄÇý¶¯³ÌÐò¡£

{\itshape °ÑÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ£º\/}¶ÔÓÚPCIÇý¶¯³ÌÐò£¬Ä£¿éÍ¨³£»á×Ô¶¯¼ì²â¸ÃÆ·ÅÆÀàÐÍËùÓÐ°²×°µÄÍø¿¨¡£µ«¶ÔÓÚISAÍø¿¨£¬Ì½Ñ°Ò»¸öÍø¿¨ÊÇ²»°²È«µÄ²Ù×÷£¬Òò´ËÄãÐèÒªÌá¹©Íø¿¨µÄI/OµØÖ·ÒÔ±ãÄ£¿éÖªµÀÈ¥ÄÄÀï²éÕÒ¡£ÕâÒ»ÐÅÏ¢´æ´¢ÔÚÎÄ¼þ{\ttfamily /etc/conf.modules}ÖÐ¡£

ÀýÈç£¬Èç¹ûÒ»¸öÓÃ»§ÓÐÁ½¿éISA NE2000Íø¿¨£¬Ò»¿éÔÚ{\ttfamily 0x300}£¬Ò»¿éÔÚ{\ttfamily 0x240}£¬ËüÃÇÔÚ{\ttfamily /etc/conf.modules}ÎÄ¼þÖÐÏÔÊ¾ÈçÏÂ£º

\begin{verbatim}
        alias eth0 ne
        alias eth1 ne
        options ne io=0x240,0x300
\end{verbatim}


Õâ¼¸ÐÐµÄÒâÒå£º¾ÍÊÇËµÈç¹û¹ÜÀíÔ±£¨»òÄÚºË£©½øÐÐ{\ttfamily modprobe eth0}»òÕß{\ttfamily modprobe eth1}£¬ÄÇÃ´Îª{\ttfamily eth0}»òÕß{\ttfamily eth1}ÔØÈë{\ttfamily ne.o}Çý¶¯³ÌÐò¡£´ËÍâ£¬ÔÚÔØÈë{\ttfamily ne.o}Ä£¿éÊ±£¬Ê¹ÓÃÑ¡Ïî{\ttfamily io=0x240,0x300}£¬ÕâÑùÇý¶¯³ÌÐò¾ÍÖªµÀÈ¥ÄÄÀïÑ°ÕÒÍø¿¨¡£×¢Òâ{\ttfamily 0x}ºÜÖØÒª¡ª¡ªDOSÀï³£ÓÃµÄ{\ttfamily 300h}ÔÚÕâÀïÃ»ÓÐÓÃ¡£¸Ä±ä{\ttfamily 0x240}ºÍ{\ttfamily 0x300}µÄË³Ðò»áÊ¹ÄÄÒ»¿éÎïÀíÍø¿¨ÒÔ{\ttfamily eth0}ºÍ{\ttfamily eth1}½áÎ²·¢Éú¸Ä±ä¡£

Í¬Õâ¸öÀý×ÓÒ»Ñù£¬´ó¶àÊýISAÄ£¿éÇý¶¯³ÌÐò¿ÉÒÔ½ÓÊÜ¶à¸öÒÔ¶ººÅ·Ö¸ôµÄI/OÖµÒÔ´¦Àí¶à¿éÍø¿¨¡£µ«ÊÇ£¬Ä³Ð©£¨ÀÏµÄ£¿£©Çý¶¯³ÌÐò£¬±ÈÈç3c501.oÄ£¿é£¬Ä¿Ç°ÔØÈëÒ»¸öÄ£¿éÖ»ÄÜ´¦ÀíÒ»¿éÍø¿¨¡£ÕâÑù£¬Òª¼ì²âÁ½¿éÍø¿¨¾Í±ØÐëÔØÈëÁ½´Î¸ÃÄ£¿é¡£´ËÊ±£¬ÎÄ¼þ{\ttfamily /etc/conf.modules}½«ÈçÏÂËùÊ¾£º

\begin{verbatim}
        alias eth0 3c501
        alias eth1 3c501
        options eth0 -o 3c501-0 io=0x280 irq=5
        options eth1 -o 3c501-1 io=0x300 irq=7
\end{verbatim}


ÔÚ´ËÀýÖÐ£¬Ñ¡Ïî{\ttfamily -o}ÓÃÀ´¸øÃ¿¸öÄ£¿éÊµÀýÒ»¸öÎ¨Ò»µÄÃû×Ö£¬ÒòÎª²»ÄÜÓÃÍ¬Ò»¸öÃû×ÖÔØÈëÁ½¸öÄ£¿é¡£Ñ¡Ïî{\ttfamily irq=}Ò²ÊÇÓÃÀ´Ö¸¶¨Íø¿¨ÉèÖÃµÄÓ²¼þIRQ¡££¨´Ë·½·¨Ò²ÄÜÓÃÓÚ¿É½ÓÊÜ¶à¸öÒÔ¶ººÅ·Ö¸ôµÄI/OÖµµÄÄ£¿é£¬µ«ÕâÑù»áÊ¹Ä£¿é±»²»±ØÒªµØÔØÈëÁ½´Î£¬½µµÍÁËÐ§ÂÊ¡££©

×îºóÒ»¸öÀý×Ó£¬¼ÙÉèÓÃ»§ÓÐÒ»¿éÔÚ{\ttfamily 0x350}µÄ3c503Íø¿¨ºÍÒ»¿éÔÚ{\ttfamily 0x280}µÄSMC Elite16 (wd8013)Íø¿¨¡£ÔòÓ¦¸ÃÕâÑù£º

\begin{verbatim}
        alias eth0 wd
        alias eth1 3c503
        options wd io=0x280
        options 3c503 io=0x350
\end{verbatim}


¶ÔÓÚPCIÍø¿¨£¬Ö»ÒªÓÃ{\ttfamily alias}Óï¾ä°Ñ{\ttfamily ethN}½Ó¿ÚºÍÏàÓ¦µÄÇý¶¯³ÌÐòÃûÁªÏµÆðÀ´¾ÍÐÐÁË£¬ÒòÎªPCIÍø¿¨µÄI/OµØÖ·¿ÉÒÔ±»°²È«µØ¼ì²âµ½¡£

¿ÉÓÃµÄÄ£¿éÒ»°ã´æ·ÅÔÚ{\ttfamily /lib/modules/`uname -r`/net}ÏÂ£¬ÕâÀï{\ttfamily uname -r}ÃüÁî¿ÉÒÔµÃµ½ÄÚºËµÄ°æ±¾£¨±ÈÈç2.0.34£©¡£Äã¿ÉÒÔÔÚÕâÀï¿´¿´ÄÄÒ»¸öÇý¶¯³ÌÐòÊÊºÏÄãµÄÍø¿¨¡£Ò»µ©ÄãÔÚ{\ttfamily conf.modules}ÎÄ¼þÀï½øÐÐÁËÕýÈ·µÄÉèÖÃ£¬¾Í¿ÉÒÔÓÃÏÂÃæµÄ·½·¨¼ì²éÒ»ÏÂ£º

\begin{verbatim}
        modprobe ethN
        dmesg | tail
\end{verbatim}


ÕâÀï¡°N¡±ÊÇÄãÒª¼ì²âµÄÒÔÌ«Íø¿¨µÄ½Ó¿ÚºÅ¡£



{\itshape Ê¹ÓÃ±àÒë½øÄÚºËµÄÇý¶¯³ÌÐò£º\/}Èç¹ûÄãÐèÒªµÄÇý¶¯³ÌÐò±àÒë½øÁËÄÚºË£¬ÄÇÃ´´¦Àí¶à¿éÒÔÌ«Íø¿¨µÄ½Ó¿ÚÒÑ¾­´æÔÚÁË¡£µ«È±Ê¡Çé¿öÏÂÖ»×Ô¶¯¼ì²â{\itshape Ò»¿é\/}ÒÔÌ«Íø¿¨¡£ÕâÑù¾Í±ÜÃâÁËÆô¶¯Ê±¼ì²âÃô¸ÐÍø¿¨¿ÉÄÜÒýÆðµÄÂé·³¡£

£¨×¢Òâ£ºÔÚ2.1.xÖ®ºóµÄÄÚºËÖÐ£¬Æô¶¯¼ì²â±»·ÖÎª°²È«ºÍ²»°²È«µÄÁ½Àà£¬ËùÓÐ°²È«µÄ¼ì²â£¨Èç¶ÔPCIºÍEISAÍø¿¨£©¿ÉÒÔ×Ô¶¯ÕÒµ½ËùÓÐÏà¹ØµÄÍø¿¨¡£ÔÚÖÁÉÙÓÐÒ»¿éISAÍø¿¨µÄ¶àÍø¿¨ÏµÍ³ÖÐ»¹ÐèÒª½øÐÐÒÔÏÂµÄ´¦Àí¡££©

ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÆô¶¯¶ÔµÚ¶þ¿é£¨»òµÚÈý¿éµÈµÈ£©Íø¿¨µÄ×Ô¶¯¼ì²â¡£×î¼òµ¥µÄ·½·¨ÊÇÏòÄÚºË´«µÝÆô¶¯²ÎÊý£¬ÓÉLILOÍê³É¡£Ê¹ÓÃ{\ttfamily ether=0,0,eth1}ÕâÑù¼òµ¥µÄÆô¶¯²ÎÊý¾Í¿ÉÒÔÍê³É¶ÔµÚ¶þ¿éÍø¿¨µÄ¼ì²â¡£´ËÊ±°´ÕÕÆô¶¯Ê±ÕÒµ½µÄÍø¿¨Ë³Ðò·ÖÅä{\ttfamily eth0}ºÍ{\ttfamily eth1}¡£¼ÙÈçÄãÏëÈÃ{\ttfamily 0x300}´¦µÄÍø¿¨Îª{\ttfamily eth0}£¬¶ø{\ttfamily 0x280}´¦µÄÍø¿¨Îª{\ttfamily eth1}£¬ÄÇÃ´¿ÉÒÔÊ¹ÓÃ

\begin{tscreen}
LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1
\end{tscreen}


ÃüÁî{\ttfamily ether=}¿ÉÒÔ½ÓÊÜµÄ²ÎÊý²¢²»½öÏÞÓÚÈçÉÏËùÊ¾µÄIRQ + I/O + name¡£Çë²Î¿´\ref{lilo} {(´«µÝÒÔÌ«Íø²ÎÊý......)}ÒÔÁË½âÈ«²¿µÄ¾ä·¨¡¢Íø¿¨ÌØ¶¨²ÎÊýºÍLILOÊ¹ÓÃ¼¼ÇÉ¡£

ÕâÐ©Æô¶¯²ÎÊý¿ÉÒÔ¹Ì¶¨£¬ÕâÑù¾Í²»ÓÃÃ¿´Î¶¼±ØÐëÖØÐÂÇÃÒ»±é¡£²Î¿´LILOÊÖ²áÖÐÓÐ¹ØLILOµÄÅäÖÃÑ¡Ïî¡°{\ttfamily append}¡±¡£

µÚ¶þÖÖ·½·¨£¨²»½¨ÒéÊ¹ÓÃ£©ÊÇ±à¼­ÎÄ¼þ{\ttfamily Space.c}²¢ÓÃÁãÌæ»»I/OµØÖ·ÖÐµÄ{\ttfamily 0xffe0}Èë¿Ú¡£{\ttfamily 0xffe0}Èë¿ÚÊÇÓÃÀ´¸æËßÄÚºË²»Òª¼ì²â¸ÃÉè±¸¡ª¡ª°ÑËüÌæ»»ÎªÁã¾ÍÆô¶¯ÁË¶Ô¸ÃÉè±¸µÄ×Ô¶¯¼ì²â¡£




\subsection{Õâ¸ö{\ttfamily ÒÔÌ«}¶«¶«²»¸É»î¡£ÎªÊ²Ã´£¿}



ÈçÉÏËùÊö£¬{\ttfamily ether=}ÃüÁî{\itshape Ö»\/}¶Ô±àÒë½øÁËÄÚºËµÄÇý¶¯³ÌÐòÆð×÷ÓÃ¡£ÏÖÔÚ´ó¶àÊýµÄ·¢ÐÐ°æ±¾¶¼ÓÃÄ£¿éµÄ·½Ê½Ê¹ÓÃÇý¶¯³ÌÐò£¬ËùÒÔºÜÉÙÔÙÊ¹ÓÃ{\ttfamily ether=}ÃüÁîÁË¡££¨Ä³Ð©ÔçÆÚÎÄµµÐèÒª¸üÐÂÒÔ·´Ó³ÕâÒ»±ä»¯¡££©Èç¹ûÄãÏëÊ¹ÓÃÄ£¿é»¯µÄÒÔÌ«ÍøÇý¶¯³ÌÐòµÄÑ¡Ïî£¬{\itshape ±ØÐë\/}ÐÞ¸Ä{\ttfamily /etc/conf.modules}ÎÄ¼þ¡£

Èç¹ûÄã{\itshape ÊÇ\/}Ê¹ÓÃ±àÒëµÄÇý¶¯³ÌÐò£¬¶øÇÒÒÑ¾­°Ñ{\ttfamily ether=}¼Ó½øÁËLILOÅäÖÃÎÄ¼þ£¬ÐèÒªÖØÐÂÔËÐÐ{\ttfamily lilo}Ê¹¸üÐÂºóµÄÅäÖÃÎÄ¼þÉúÐ§¡£




\subsection{NE1000/NE2000Íø¿¨£¨¼°Æä¼æÈÝ¿¨£©µÄÎÊÌâ\label{ne2k-probs}}



{\bfseries ÎÊÌâ£º}
ÔÚÓÃv2.0.xÆô¶¯Ê±Ã»ÓÐ¼ì²âµ½PCI NE2000¼æÈÝÍø¿¨¡£

{\bfseries Ô­Òò£º}
ÔÚv2.0.30Ö®Ç°µÄ{\ttfamily ne.c}Çý¶¯³ÌÐòÖ»ÖªµÀ»ùÓÚRealTek 8029µÄ¼æÈÝÍø¿¨µÄPCI IDºÅ¡£ÔÚ´ËÖ»ºó²Å³öÏÖÁËÊ¹ÓÃÆäËüPCI IDºÅµÄPCI NE2000¼æÈÝÍø¿¨£¬ËùÒÔÇý¶¯³ÌÐòÎÞ·¨¼ì²âÕâÐ©Íø¿¨¡£

{\bfseries ½â¾ö·½°¸£º}
×î¼òµ¥µÄ·½·¨ÊÇ°ÑLinuxÄÚºËÉý¼¶µ½v2.0.31ÒÔÉÏ°æ±¾¡£Ëü¿ÉÒÔÊ¶±ðÎåÖÖ²»Í¬µÄNE2000-PCIÐ¾Æ¬µÄIDºÅ£¬ÔÚÆô¶¯»òÔØÈëÄ£¿éÊ±×Ô¶¯¼ì²âµ½ËüÃÇ¡£Èç¹ûÄãÉý¼¶µ½ÁË2.0.34ÒÔÉÏ°æ±¾£¬»áÓÐÒ»¸ö±ÈÔ­ÏÈµÄISA/PCIÇý¶¯³ÌÐòÉÔÐ¡µ«¸ü¸ßÐ§µÄPCI×¨ÓÃNE2000Çý¶¯³ÌÐò¡£

{\bfseries ÎÊÌâ£º}
Æô¶¯Ê±PCI NE2000¼æÈÝÍø¿¨±»±¨¸æÎªne1000£¨8±ÈÌØÍø¿¨£¡£©»òÕßÔÚv2.0.xÏÂÔØÈëne.oÄ£¿é²»Æð×÷ÓÃ¡£

{\bfseries Ô­Òò£º}
Ä³Ð©PCI¼æÈÝÍø¿¨²»Ö§³Ö×Ö½Ú´æÈ¡£¨Òò´Ë²»ÊÇ°Ù·ÖÖ®°Ù¼æÈÝµÄNE2000£©¡£ÕâÊ¹ËüÔÚ¼ì²âÊ±±»ÎóÈÏÎªNE1000Íø¿¨¡£

{\bfseries ½â¾ö·½°¸£º}
ÄãÐèÒªÉý¼¶µ½v2.0.31ÒÔÉÏ°æ±¾¡£ÏÖÔÚµÄÇý¶¯³ÌÐò»á¼ì²âµ½ÕâÖÖÓ²¼þBug¡£

{\bfseries ÎÊÌâ£º}
PCI NE2000Íø¿¨µÄÐÔÄÜºÜ²î£¬¼´Ê¹°´ÕÕÐÔÄÜ¼¼ÇÉÕÂ½ÚËùËµµÄ¼õÐ¡ÁË´°¿Ú´óÐ¡¡£

{\bfseries Ô­Òò£º}
Ê®¶àÄêÇ°Éè¼ÆºÍ³öÊÛµÄ³õÊ¼8390Ð¾Æ¬µÄ¼¼ÊõÊý¾ÝÊÖ²áÉÏÌáµ½£¬ÎªÁËµÃµ½×î¸ßµÄ¿É¿¿ÐÔ£¬ÔÚÃ¿´ÎÐ´²Ù×÷Ö®Ç°ÐèÒªÒ»¸ö¶Á²Ù×÷¡£Çý¶¯³ÌÐòÄÜ¹»ÇáÒ×µØ×öµ½ÕâÒ»µã£¬µ«´Óv1.2ÄÚºËÊ±´úÆð£¬È±Ê¡Çé¿öÏÂÈ¡ÏûÁËÕâÒ»²Ù×÷¡£ÓÐÒ»¸öÓÃ»§±¨¸æËµÖØÐÂÆôÓÃÕâÒ»¡°´íÎóµÄÌØÐÔ¡±¾Í¿ÉÒÔ¸ÄÉÆÁ®¼ÛµÄPCI NE2000¼æÈÝÍø¿¨µÄÐÔÄÜ¡£

{\bfseries ½â¾ö·½°¸£º}
ÓÉÓÚÖ»ÓÐÒ»¸öÓÃ»§Ìá³ö±¨¸æ°ÑËü×÷Îª½â¾ö·½°¸£¬²»Òª¶Ô´Ë¼ÄÓèÌ«´óµÄÏ£Íû¡£ÖØÐÂÊ¹ÓÃÐ´Ö®Ç°µÄ¶Á²Ù×÷¿ÉÒÔ¼òµ¥µØ±à¼­{\ttfamily linux/drivers/net/}ÏÂµÄÇý¶¯³ÌÐòÎÄ¼þ£¬È¡Ïû°üº¬{\ttfamily NE\_RW\_BUGFIX}µÄÄÇÒ»ÐÐµÄ×¢ÊÍ£¬È»ºóÖØ½¨ÄÚºË»òÔØÈëÏàÓ¦µÄÄ£¿é¡£Èç¹ûÕâÑùÈ·ÊµÓÐÐ§£¬Çë¸øÎÒ·¢Ò»·âe-mail£¬ÃèÊöÐÔÄÜÉÏµÄ²îÒìºÍÄãËùÊ¹ÓÃµÄÍø¿¨/Ð¾Æ¬ÀàÐÍ¡££¨¶Ô{\ttfamily ne2k-pci.c}Çý¶¯³ÌÐòÒ²¿ÉÒÔÈç·¨ÅÚÖÆ¡££©

{\bfseries ÎÊÌâ£º}
{\ttfamily ne2k-pci.c}Çý¶¯³ÌÐò¶ÔPCI NE2000Íø¿¨±¨¸æÖîÈç{\ttfamily timeout waiting for Tx RDC}´íÎóÐÅÏ¢£¬ÎÞ·¨Õý³£¹¤×÷¡£

{\bfseries Ô­Òò£º}
ÄãµÄÍø¿¨»òÍø¿¨µ½PCI×ÜÏßµÄÁ¬½ÓÎÞ·¨´¦Àí¸ÃÇý¶¯³ÌÐòÊ¹ÓÃµÄ³¤×ÖI/OÓÅ»¯¡£

{\bfseries ½â¾ö·½°¸£º}
Ê×ÏÈ£¬¼ì²éBIOS/CMOSÉèÖÃ£¬¿´¿´ÓëPCI×ÜÏßÏà¹ØµÄ¼ÆÊ±¶ÔÓÚ¿É¿¿µÄ²Ù×÷ÊÇ·ñ¹ýÓÚÑÏ¸ñÁË¡£·ñÔò£¬Ê¹ÓÃISA/PCIµÄ{\ttfamily ne.c}Çý¶¯³ÌÐò£¨»òÕßÉ¾³ý{\ttfamily ne2k-pci.c}ÖÐµÄ{\ttfamily \#define USE\_LONGIO}£©£¬Ê¹ÄãµÄÍø¿¨¿ÉÓÃ¡£

{\bfseries ÎÊÌâ£º}
Ã»¼ì²âµ½ISAµÄ¼´²å¼´ÓÃNE2000Íø¿¨£¨ÈçRealTek 8019£©¡£

{\bfseries Ô­Òò£º}
³õÊ¼µÄNE2000ÌØÐÔ²»Ö§³Ö¼´²å¼´ÓÃ£¬Òò´ËLinuxµÄNE2000Çý¶¯³ÌÐòÒ²²»Ö§³Ö¼´²å¼´ÓÃ¡£

{\bfseries ½â¾ö·½°¸£º}
Ê¹ÓÃÍø¿¨Ëù¸½µÄDOSÅäÖÃÅÌÈ¡ÏûPnP£¬²¢Îª¸ÃÍø¿¨ÉèÖÃÒ»¸öÖ¸¶¨µÄI/OµØÖ·ºÍIRQ¡£ÔÚ{\ttfamily /etc/conf.modules}ÀïÔö¼ÓÕâÑùµÄÒ»ÐÐ{\ttfamily options ne io=0xNNN}£¬ÆäÖÐ{\ttfamily 0xNNN}ÊÇÄãÎªÍø¿¨ÉèÖÃµÄ16½øÖÆI/OµØÖ·¡££¨¼ÙÉèÄãÊ¹ÓÃµÄÊÇÄ£¿é»¯Çý¶¯³ÌÐò£»·ñÔò£¬ÔÚÆô¶¯Ê±Ê¹ÓÃÒ»¸ö{\ttfamily ether=0,0xNNN,eth0}²ÎÊý£©¡£ÄãÒ²¿ÉÒÔ½øÈëBIOS/CMOSÉèÖÃ£¬°ÑIRQ´ÓPnP¸ÄÎªLegacy-ISA¡£Èç¹ûÄãÐèÒªÎª¼æÈÝÆäËüµÄ²Ù×÷ÏµÍ³¶ø±£ÁôPnPÉèÖÃ£¬ÄÇÃ´Äã¿ÉÒÔ¿´Ò»ÏÂ{\itshape isapnptools\/}Èí¼þ°ü¡£Ê¹ÓÃ{\ttfamily man isapnp}¿´¿´ËüÊÇ·ñÒÑ¾­°²×°ÔÚÄãµÄÏµÍ³ÉÏÁË¡£Èç¹ûÃ»ÓÐ£¬ä¯ÀÀÒ»ÏÂÏÂÃæµÄÁ¬½Ó£º

\nameurl{http://www.roestock.demon.co.uk/isapnptools/}{ISA PNP Tools}

{\bfseries ÎÊÌâ£º}
ÔÚÆô¶¯¼ì²âÊ±NE*000Çý¶¯³ÌÐò±¨¸æ¡°not found (no reset ack)¡±¡£

{\bfseries Ô­Òò£º}
Õâ¸úÉÏÃæËùËµµÄ¸Ä¶¯ÓÐ¹Ø¡£ÔÚÖ¤Êµ8390´¦ÓÚËù¼ì²âµÄI/OµØÖ·Ö®ºó£¬½øÐÐÖØÐÂÉèÖÃ¡£ÔÚÍø¿¨Íê³ÉÖØÐÂÉèÖÃºó£¬Ó¦µ±Í¨ÖªÖØÐÂÉèÖÃÍê³É¡£ÄãµÄÍø¿¨Ã»ÓÐÍ¨Öª£¬ËùÒÔÇý¶¯³ÌÐòÈÏÎª²»´æÔÚNEÍø¿¨¡£

{\bfseries ½â¾ö·½°¸£º}
Äã¿ÉÒÔÔÚÆô¶¯Ê±Ê¹ÓÃÒ»¸öÎ´±»Ê¹ÓÃµÄ{\ttfamily mem\_end}µÄ16½øÖÆÖµ{\ttfamily 0xbad}£¬¸æËßÇý¶¯³ÌÐòÄãÓÐÒ»¸ö»µÍø¿¨¡£ÔÚÊ¹ÓÃ{\ttfamily 0xbad}¸²¸ÇÊ±Äã{\itshape ±ØÐë\/}ÎªÍø¿¨Ìá¹©Ò»¸ö·ÇÁãµÄI/OµØÖ·¡£ÀýÈç£¬ÔÚ{\ttfamily 0x340}µÄÍø¿¨²»ÏìÓ¦ÖØÐÂÉèÖÃÊ±£¬ÔòÊ¹ÓÃÈçÏÂ·½·¨£º

\begin{tscreen}
LILO: linux ether=0,0x340,0,0xbad,eth0
\end{tscreen}




ÕâÑù£¬¼´Ê¹ÄãµÄÍø¿¨²»ÏìÓ¦ÖØÐÂÉèÖÃ£¬Íø¿¨¼ì²â»¹ÄÜ¼ÌÐøÏÂÈ¥¡£Èç¹ûÄãÊÇÒÔÄ£¿é·½Ê½Ê¹ÓÃÇý¶¯³ÌÐò£¬ÄÇÃ´¿ÉÒÔÏóÌá¹©I/OµØÖ·Ò»ÑùÌá¹©Ñ¡Ïî{\ttfamily bad=0xbad}¡£

{\bfseries ÎÊÌâ£º}
NE*000Íø¿¨Ê¹»úÆ÷ÔÚµÚÒ»´ÎÍøÂç·ÃÎÊÊ±ËÀ»ú¡£

{\bfseries Ô­Òò£º}
Õâ¸öÎÊÌâ´ÓÔçÆÚµÄ1.1.57ÄÚºËµ½ÏÖÔÚ¶¼³öÏÖ¹ý£¬¶øÇÒÖ»ÔÚÓÐÏÞµÄ¼¸ÖÖÈí¼þÅäÖÃµÄ¼æÈÝÍø¿¨ÉÏ³öÏÖ¡£¿´À´ÊÇÐèÒªÓÃÄ³Ð©ÌØÊâµÄ·½·¨À´³õÊ¼»¯ËüÃÇ¡£

{\bfseries ½â¾ö·½°¸£º}
ÓÐ¼¸¸öÈË±¨¸æÔÚÈÈÆô¶¯£¨¼´loadlin»òCtrl-Alt-Del£©LinuxÖ®Ç°£¬ÔËÐÐÌá¹©µÄDOSÈí¼þÅäÖÃ³ÌÐò»òÌá¹©µÄDOSÇý¶¯³ÌÐò¿ÉÒÔÊ¹Íø¿¨¹¤×÷¡£Õâ±íÃ÷ÕâÐ©¿¨ÐèÒªÒÔÄ³ÖÖÌØÊâµÄ·½Ê½³õÊ¼»¯£¬Óëµ±Ç°µÄLinuxÇý¶¯³ÌÐòÉÔÓÐÇø±ð¡£

{\bfseries ÎÊÌâ£º}
ÔÚ{\ttfamily 0x360}µÄNE*000ÒÔÌ«Íø¿¨Ã»ÓÐ¼ì²âµ½¡£

{\bfseries Ô­Òò£º}
ÄãµÄNE2000Íø¿¨ÔÚI/O¿Õ¼äÕ¼¾ÝÁË{\ttfamily 0x20}¸ö×Ö½Ú£¬Ê¹ËüÓë{\ttfamily 0x378}´¦µÄ²¢¿Ú·¢Éú³åÍ»¡£ÆäËü¿ÉÄÜµÄÉè±¸ÊÇ{\ttfamily 0x370}´¦µÄµÚ¶þ¸öÈíÅÌ¿ØÖÆÆ÷£¨Èç¹ûÓÐµÄ»°£©£¬ÒÔ¼°{\ttfamily 0x376--0x377}´¦µÄµÚ¶þ¸öIDE¿ØÖÆÆ÷¡£Èç¹û¸Ã¿ÚÒÑ±»ÆäËüÇý¶¯³ÌÐò×¢²á£¬ÄÚºË½«²»ÔÙ½øÐÐ¼ì²â¡£

{\bfseries ½â¾ö·½°¸£º}
»òÕß°ÑÄãµÄÍø¿¨ÒÆµ½{\ttfamily 0x280, 0x340, 0x320}Ò»ÀàµÄµØÖ·£¬»òÕßÔÚ±àÒëÊ±²»Ö§³Ö²¢ÐÐ´òÓ¡»ú¡£

{\bfseries ÎÊÌâ£º}
Ã¿´Î´òÓ¡Ê±ÍøÂç¶¼¶Ï¿ª£¨NE2000£©¡£

{\bfseries Ô­Òò£º}
ÓëÉÏÒ»¸öÎÊÌâÏàÍ¬£¬µ«ÄãµÄÄÚºË±È½ÏÀÏ£¬²»Ö§³Ö¶ÔÖØµþI/OÇøÓòµÄ¼ì²é¡£Ê¹ÓÃÈçÉÏµÄ½â¾ö·½°¸£¬ÓÐ¿ÕÊ±»ñÈ¡Ò»¸öÐÂµÄÄÚºË¡£

{\bfseries ÎÊÌâ£º}
Ã»¼ì²âµ½0xNNN: 00 00 C5 ... ´¦µÄNE*000ÒÔÌ«Íø¿¨¡££¨·Ç·¨±êÊ¶yy zz£©

{\bfseries Ô­Òò£º}
Ê×ÏÈ£¬ÄãÊÇ·ñÔÚµØÖ·0xNNN´¦ÓÐÒ»¸öNE1000»òNE2000Íø¿¨£¿Èç¹ûÓÐ£¬±¨¸æµÄÓ²¼þµØÖ·ÊÇ·ñÏóÒ»¸öºÏ·¨µØÖ·£¿Èç¹ûÊÇµÄ»°£¬ÄÇÃ´ÄãµÄNE*000¼æÈÝÍø¿¨ºÜ²î¾¢¡£ËùÓÐµÄNE*000¼æÈÝÍø¿¨¶¼¼Ù¶¨Íø¿¨ÉÏµÄSA PROMµÄµÚ14ºÍ15×Ö½ÚÎª{\ttfamily 0x57}¡£¶øÄãµÄÍø¿¨²»ÊÇÕâÑù¡ª¡ªËüµÄÖµÎª¡°yy zz¡±¡£

{\bfseries ½â¾ö·½°¸£º}
ÓÐÁ½ÖÖ½â¾ö·½·¨¡£×î¼òµ¥µÄ·½·¨¾ÍÊÇÈçÉÏËùÊöµÄ¡°no reset ack¡±½â¾ö·½°¸£¬Ê¹ÓÃÒ»¸ö{\ttfamily 0xbad}µÄmem\_endÖµ¡£ÕâÑùÔÚÌá¹©Ò»¸ö·ÇÁãµÄI/OµØÖ·Ê±¾Í¿ÉÒÔºöÂÔ±êÊ¶¼ì²é¡£´Ë·½·¨ÎÞÐèÖØÐÂ±àÒëÄÚºË¡£

µÚ¶þÖÖ·½·¨£¨¶ÔºÚ¿Í£©ÐèÒªÐÞ¸ÄÇý¶¯³ÌÐò£¬²¢ÖØÐÂ±àÒëÄÚºË£¨»òÄ£¿é£©¡£ÔÚÇý¶¯³ÌÐò£¨/usr/src/linux/drivers/net/ne.c£©µÄ42ÐÐÓÐÒ»¸ö¡°Hall of Shame¡±ÁÐ±í¡£Õâ¸ö±íÊÇÓÃÀ´¼ì²âÄÇÐ©²î¾¢µÄ¼æÈÝÍø¿¨µÄ¡£ÀýÈç£¬DFIÍø¿¨ÔÚPROMµÄÇ°Èý¸ö×Ö½ÚÊ¹ÓÃ¡°DFI¡±£¬¶ø²»ÊÇÏóÒªÇóµÄÄÇÑùÔÚµÚ14ºÍ15×Ö½ÚÊ¹ÓÃ{\ttfamily 0x57}¡£

{\bfseries ÎÊÌâ£º}
»úÆ÷ÔÚÆô¶¯Ê±³öÏÖ¡°8390...¡±»ò¡°WD....¡±ÐÅÏ¢ºóËÀ»ú¡£°ÎµôNE2000¾ÍºÃÁË¡£

{\bfseries Ô­Òò£º}
ÄãµÄNE2000¼æÈÝÍø¿¨¼æÈÝÐÔ²»ºÃ¡£Ò»¸ö¼¤»îµÄNE2000ÊÇ¸öÎÞµ×¶´£¬»áÊ¹ÆäËüµÄÇý¶¯³ÌÐòÏÝÔÚÆä¿Õ¼äÄÚ½øÐÐ×Ô¶¯¼ì²â¡£°ÑNE2000¸Äµ½Ò»¸ö²»³£ÓÃµÄµØÖ·¾Í¿ÉÒÔ´ÓÆäËüµÄ×Ô¶¯¼ì²âÖÐÏû³ýÕâÒ»ÏÝÚå£¬»úÆ÷Ò²¾Í¿ÉÒÔÆô¶¯ÁË¡£

{\bfseries ½â¾ö·½°¸£º}
°ÑÄãµÄNE2000µØÖ·¸ÄÎª{\ttfamily 0x340}Ò»ÀàµÄµØÖ·¡£´ËÍâ£¬Äã¿ÉÒÔÔÚºÍ¡°ether=¡±²ÎÊýÒ»ÆðÊ¹ÓÃ¡°reserve=¡±Æô¶¯²ÎÊý£¬±£»¤Íø¿¨²»ÊÜÆäËüÉè±¸Çý¶¯³ÌÐò¼ì²âµÄÓ°Ïì¡£

{\bfseries ÎÊÌâ£º}
»úÆ÷Æô¶¯Ê±ÔÚ½øÐÐSCSI¼ì²âÊ±ËÀ»ú¡£

{\bfseries Ô­Òò£º}
Õâ¸öÎÊÌâ¸úÉÏÃæµÄÒ»Ñù£¬¸Ä±äÒÔÌ«Íø¿¨µÄµØÖ·£¬»òÊ¹ÓÃreserve/etherÆô¶¯²ÎÊý¡£

{\bfseries ÎÊÌâ£º}
»úÆ÷Æô¶¯Ê±ÔÚ½øÐÐÉù¿¨¼ì²âÊ±ËÀ»ú¡£

{\bfseries Ô­Òò£º}
²»¶Ô£¬Êµ¼ÊÉÏÊÇ·¢ÉúÔÚ¾²Ä¬·½Ê½µÄSCSI¼ì²â¹ý³ÌÖÐ£¬ÓëÉÏÃæµÄÎÊÌâÒ»Ñù¡£

{\bfseries ÎÊÌâ£º}
Æô¶¯Ê±¼ì²â²»µ½NE2000 -- ¸ù±¾¾ÍÃ»ÓÐÆô¶¯ÐÅÏ¢¡£

{\bfseries ½â¾ö·½°¸£º}
ÒòÎªÔì³É¼ì²â²»µ½µÄÔ­ÒòºÜ¶à£¬ËùÒÔÃ»ÓÐ¡°ÉñÆæµÄ½â¾ö·½°¸¡±¡£ÏÂÃæÁÐ³öÁË¿ÉÄÜÓÐËù°ïÖúµÄÒ»Ð©´ëÊ©¡£

1) ¹¹½¨Ò»¸öÖ»°üº¬ÐèÒªµÄÉè±¸Çý¶¯³ÌÐòµÄÄÚºË¡£Ö¤ÊµÄãÈ·ÊµÊÇ´ÓÐÂÄÚºËÆô¶¯µÄ¡£Íü¼ÇÔËÐÐliloµÈ»áÊ¹Äã´ÓÀÏµÄÄÚºËÆô¶¯¡££¨×ÐÏ¸¹Û²ìÆô¶¯Ê±±¨¸æµÄ¹¹½¨Ê±¼ä/ÈÕÆÚ¡££©ÌýÆðÀ´ºÜÃ÷ÏÔ£¬µ«ÎÒÃÇÒÔÇ°¶¼·¸¹ýÕâ¸ö´í¡£Í¨¹ý¼ì²é{\ttfamily System.map}ÎÄ¼þÀï{\ttfamily ne\_probe}Ò»ÀàµÄÃû³Æ£¬È·¶¨Çý¶¯³ÌÐòÒÑ°üº¬ÔÚÐÂµÄÄÚºËÀï¡£

2) ×ÐÏ¸¹Û²ìÆô¶¯ÐÅÏ¢¡£¿´¿´ËüÊÇ·ñÌá¼°ÕýÔÚ½øÐÐÖîÈç¡°NE*000 probe at 0xNNN: not found (blah blah)¡±Ò»ÀàµÄne2k¼ì²â£¬»òÕß¾ÍÊÇ¾²ÇÄÇÄµØÊ§°ÜÁË¡£ÕâÀïµÄÇø±ðºÜ´ó¡£Ê¹ÓÃ{\ttfamily dmesg$|$more}ÔÚµÇÂ¼ºóä¯ÀÀÆô¶¯ÐÅÏ¢£¬»òÕßÔÚÆô¶¯Íê³ÉÏÔÊ¾µÇÂ¼ÌáÊ¾·ûÊ±Ê¹ÓÃShift-PgUp¾í»ØÆÁÄ»¡£

3) Æô¶¯ºó£¬Ö´ÐÐ{\ttfamily cat /proc/ioports}£¬Ö¤ÊµÍø¿¨ÒªÇóµÄÈ«²¿I/O¿Õ¼äÊÇ¿ÕµÄ¡£Èç¹ûÍø¿¨ÔÚ{\ttfamily 0x300}£¬ÄÇÃ´ne2kÇý¶¯³ÌÐòÒªÇóµÄ¿Õ¼äÎª{\ttfamily 0x300-0x31f}¡£Èç¹ûÆäËüÉè±¸µÄÇý¶¯³ÌÐò×¢²áÁËÆäÖÐµÄÒ»¸ö¿Ú£¬¾Í²»»á¶Ô¸ÃµØÖ·½øÐÐ¼ì²â£¬¶øÊÇ¾²ÇÄÇÄµØ¼ì²âÏÂÒ»¸öÒª¼ì²âµÄµØÖ·¡£³£¼ûµÄÇé¿öÊÇlpÇý¶¯³ÌÐò±£ÁôÁË
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
0x378
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}
£¬»òÕßµÚ¶þ¸öIDEÍ¨µÀ±£ÁôÁË{\ttfamily 0x376}£¬Õâ¾ÍÊ¹neÇý¶¯³ÌÐòÍ£Ö¹¼ì²â{\ttfamily 0x360-0x380}¡£

4) ÓëÉÏÃæÒ»ÑùÖ´ÐÐ{\ttfamily cat /proc/interrupts}¡£È·¶¨Ã»ÓÐÆäËüÉè±¸×¢²áÁËÄãÎªÒÔÌ«Íø¿¨ÉèÖÃµÄÖÐ¶Ï¡£ÕâÖÖÇé¿öÏÂ£¬¼ì²â¿ÉÒÔ½øÐÐ£¬ÒÔÌ«Íø¿¨Çý¶¯³ÌÐò»áÔÚÆô¶¯Ê±´óÉù±§Ô¹ÎÞ·¨µÃµ½ËùÒªÇóµÄIRQÖÐ¶ÏÏß¡£

5) Èç¹ûÄã»¹ÎªÇý¶¯³ÌÐò¾²ÇÄÇÄµØÊ§°Ü¶ø¿àÄÕ£¬ÄÇÃ´±à¼­²¢¸ø¼ì²âÔö¼ÓÒ»Ð©printk()¡£±ÈÈç£¬¶ÔÓÚne2k£¬Äã¿ÉÒÔÔÚ{\ttfamily linux/drivers/net/ne.c}ÖÐÔö¼Ó/É¾³ýÄ³Ð©ÐÐ£¨ÓÃ¡°+¡±»ò¡°-¡±±íÊ¾£©£¬ÈçÏÂËùÊ¾£º

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
    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;
+    }
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ÄÇÃ´Ëü¾Í»áÊä³ö¼ì²éµÄÃ¿Ò»¸ö¿ÚµØÖ·ÐÅÏ¢£¬Äã¿ÉÒÔ¿´µ½ÄãµÄÍø¿¨µØÖ·ÊÇ·ñ±»¼ì²âÁË¡£

6) Äã»¹¿ÉÒÔ´ÓDonµÄftpÕ¾µã£¨ÔÚhowtoÖÐÒ²Ìá¼°ÁË£©»ñÈ¡ne2kµÄÕï¶Ï³ÌÐò£¬¿´¿´ÄãÔÚÆô¶¯½øÈëLinuxºóÄÜ·ñÓÃËü¼ì²âÄãµÄÍø¿¨¡£Ê¹ÓÃ¡°{\ttfamily -p 0xNNN}¡±Ñ¡Ïî¸æËßËüÔÚÄÄÀïÑ°ÕÒÄãµÄÍø¿¨¡££¨È±Ê¡Çé¿öÏÂÖ»¼ì²â{\ttfamily 0x300}£¬ÓëÆô¶¯Ê±µÄÌ½²â²»Í¬£¬²»»á¼ì²âÆäËüµÄµØÖ·¡££©ÔÚÕÒµ½Íø¿¨Ê±µÄÊä³öÈçÏÂ£º

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
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.
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ÄãµÄ×¢²áÖµºÍPROMÖµ¿ÉÄÜ»á²»Ò»Ñù¡£×¢Òâ£¬¶Ô16±ÈÌØÍø¿¨£¬ËùÓÐPROMÖµ¶¼Ôö¼ÓÒ»±¶£¬ÒÔÌ«Íø¿¨µØÖ·£¨00:00:c0:b0:05:65£©³öÏÖÔÚµÚÒ»ÐÐ£¬¼Ó±¶ºóµÄ{\ttfamily 0x57}±êÊ¶³öÏÖÔÚPROMµÄ½áÎ²¡£

ÔÚ{\ttfamily 0x300}´¦Ã»ÓÐ°²×°Íø¿¨Ê±µÄÊä³öÈçÏÂ£º

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
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.
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


³öÏÖÖµ{\ttfamily 0xff}µÄÔ­ÒòÊÇÔÚ¶ÁÈ¡¿ÕI/O¿ÚÊ±·µ»ØµÄ¾ÍÊÇ¸ÃÖµ¡£Èç¹ûÔÚ¼ì²âµÄÇøÓòÄÚÓÐÆäËüÓ²¼þ£¬Äã¿ÉÒÔ¿´µ½Ò»Ð©·Ç{\ttfamily 0xff}µÄÖµ¡£

7) ³¢ÊÔÔÚÔËÐÐÌá¹©µÄDOSÇý¶¯³ÌÐò»òÅäÖÃ³ÌÐòÖ®ºó£¬´ÓDOSÆô¶¯ÈíÅÌ£¨Í¨¹ýloadlin£©ÈÈÆô¶¯½øÈëLinux¡£Õâ¿ÉÄÜ»á½øÐÐÒ»Ð©¶îÍâµÄ£¨¼´·Ç±ê×¼µÄ£©¡°Ä§·¨¡±À´³õÊ¼»¯Íø¿¨¡£

8) ÊÔÒ»ÏÂRuss NelsonµÄne2000.com°üÇý¶¯³ÌÐò£¬¿´ËüÄÜ·ñ¿´¼ûÄãµÄÍø¿¨¡ª¡ªÈç¹û»¹²»ÐÐ£¬ÊÂÇé¾Í²»´óÃîÁË¡£ÀýÈç£º

\begin{tscreen}
A:{$>$} ne2000 0x60 10 0x300
\end{tscreen}


ËùÓÃ²ÎÊýÎªÈí¼þÖÐ¶ÏÏòÁ¿¡¢Ó²¼þIRQºÍI/OµØÖ·¡£Äã¿ÉÒÔ´ÓÈÎÒâµÄmsdosµµ°¸ÎÄ¼þÖÐµÄpktdrv11.zipÀïÕÒµ½Ëü¡ª¡ªÏÖÔÚµÄ°æ±¾´ó¸ÅÊÇ11ÒÔÉÏÁË¡£






\subsection{SMC Ultra/EtherEZºÍWD80*3Íø¿¨µÄÎÊÌâ\label{8013-probs}}



{\bfseries ÎÊÌâ£º}
ÄãµÃµ½ÁËÈçÏÂÐÅÏ¢£º

\begin{verbatim}
        eth0: bogus packet size: 65531, status=0xff, nxpg=0xff
\end{verbatim}


{\bfseries Ô­Òò£º}
ÊÇ¹²ÏíÄÚ´æµÄÎÊÌâ¡£

{\bfseries ½â¾ö·½°¸£º}
×îÆÕ±éµÄÔ­ÒòÊÇÅäÖÃµÄPCI»úÆ÷Ã»ÓÐÓ³Éäµ½ISAÄÚ´æÉè±¸Àï¡£Òò´ËÄã¶Áµ½µÄÊÇPCµÄRAM£¨È«¶¼ÊÇ{\ttfamily 0xff}Öµ£©£¬¶ø²»ÊÇ´æ·Å½ÓÊÕÊý¾Ý°üÊý¾ÝµÄÍø¿¨ÉÏµÄRAM¡£

ÁíÒ»¸öÈÝÒ×½â¾öµÄµäÐÍÎÊÌâÊÇ°å¿¨³åÍ»£¬ÔÚ´ËÇøÓòÓÐ»º´æ»ò¡°shadow ROM¡±£¬»òÕßÄãµÄISA×ÜÏßÔËÐÐËÙ¶È¸ßÓÚ8Mhz¡£ÒÔÌ«Íø¿¨ÉÏµÄÄÚ´æÊ§Ð§µÄÊýÄ¿Ò²ÁîÈË¾ªÆæ£¬ËùÒÔÈç¹ûÄãµÄÒÔÌ«Íø¿¨ÓÐÕï¶Ï³ÌÐòµÄ»°£¬ÔËÐÐÒ»ÏÂ¡£

{\bfseries ÎÊÌâ£º}
SMC EtherEZÔÚ·Ç¹²ÏíÄÚ´æ£¨PIO£©Ä£Ê½ÏÂ²»¹¤×÷¡£

{\bfseries Ô­Òò£º}
ÀÏ°æ±¾µÄUltraÇý¶¯³ÌÐòÖ»Ö§³Ö¹²ÏíÄÚ´æÄ£Ê½ÏÂµÄ²Ù×÷¡£

{\bfseries ½â¾ö·½°¸£º}
°æ±¾2.0ÒÔÉÏµÄÄÚºËËù¸½Çý¶¯³ÌÐò¾ÍÖ§³Ö¿É±à³ÌI/OÄ£Ê½µÄ²Ù×÷¡£Éý¼¶µ½v2.0ÒÔÉÏ°æ±¾¡£

{\bfseries ÎÊÌâ£º}
ÀÏµÄwd8003»ò¿ÉÌøÏßµÄwd8013×ÜÊÇµÃµ½´íÎóµÄIRQ¡£

{\bfseries Ô­Òò£º}
ÀÏµÄwd8003Íø¿¨»ò¿ÉÌøÏßµÄwd8013¼æÈÝ¿¨Ã»ÓÐÇý¶¯³ÌÐò¿ÉÒÔ´ÓÖÐ¶ÁÈ¡ÉèÖÃµÄIRQµÄEEPROM¡£Èç¹ûÇý¶¯³ÌÐòÎÞ·¨¶Áµ½IRQ£¬¾Í³¢ÊÔÓÃauto-IRQ·¢ÏÖËü¡£Èôauto-IRQ·µ»Ø0£¬ÄÇÃ´Çý¶¯³ÌÐò¾Í¸ø8±ÈÌØÍø¿¨·ÖÅäIRQ 5£¬»òÕßÎª16±ÈÌØÍø¿¨·ÖÅäIRQ 16¡£

{\bfseries ½â¾ö·½°¸£º}
Ê¹auto-IRQ´úÂëÎÞÐ§£¬²¢ÔÚÄãµÄÄ£¿éÅäÖÃÎÄ¼þ£¨¶ÔÓÚÄÚ½¨µÄÇý¶¯³ÌÐòÔòÍ¨¹ýÆô¶¯²ÎÊý£©¸æËßÄÚºËÄã°ÑÍø¿¨Ìø³ÉÁËÊ²Ã´IRQ¡£

{\bfseries ÎÊÌâ£º}
SMC UltraÍø¿¨±»¼ì²â³ÉÁËwd8013£¬µ«IRQºÍ¹²ÏíÄÚ´æµØÖ·ÊÇ´íµÄ¡£

{\bfseries Ô­Òò£º}
UltraÍø¿¨¿´ÆðÀ´¸úwd8013ºÜÏàÏó£¬Èç¹ûÄÚºËÀïÃ»ÓÐUltraÇý¶¯³ÌÐò£¬wdÇý¶¯³ÌÐò¾Í»á°ÑultraÎóÈÏÎªwd8013¡£ultra¼ì²âÔÚwdÖ®Ç°£¬ËùÒÔÒ»°ã²»»á³öÎÊÌâ¡£ultraÔÚEEPROM±£´æµÄIRQºÍÄÚ´æµØÖ·Óëwd8013±£´æµÄÎ»ÖÃ²»Í¬£¬ËùÒÔ±¨¸æµÄÖµÊÇ¼ÙµÄ¡£

{\bfseries ½â¾ö·½°¸£º}
Ö»±£ÁôÐèÒªµÄÇý¶¯³ÌÐòÖØÐÂ±àÒëÄÚºË¡£Èç¹ûÄãÔÚÍ¬Ò»Ì¨»úÆ÷ÉÏÍ¬Ê±Ê¹ÓÃwdºÍultraÍø¿¨£¬²¢Ê¹ÓÃÄ£¿é£¬ÄÇÃ´Ê×ÏÈÔØÈëultraÄ£¿é¾ÍÐÐÁË¡£




\subsection{3ComÍø¿¨µÄÎÊÌâ\label{3com-probs}}

{\bfseries ÎÊÌâ£º}
3c503Ñ¡ÔñÁËIRQ N£¬µ«ÆäËüÉè±¸Ò²ÐèÒªIRQ N¡££¨±ÈÈçCD ROMÇý¶¯³ÌÐò¡¢modemµÈ¡££©¿ÉÒÔ²»±àÒë½øÄÚºË¾Í½â¾öÕâ¸öÎÊÌâÂð£¿

{\bfseries ½â¾ö·½°¸£º}
3c503Çý¶¯³ÌÐò°´ÕÕË³Ðò$\{$5, 9/2, 3, 4$\}$¼ì²â¿ÕÏÐµÄIRQÏß£¬´ÓÖÐÕÒµ½Ò»¸öÎ´±»Ê¹ÓÃµÄIRQ¡£ÔÚÍø¿¨±»{\ttfamily ifconfig}²Ù×÷ÅäÖÃÊ±Ñ¡ÔñÖÐ¶ÏIRQ¡£

Èç¹ûÄãÊ¹ÓÃµÄÊÇÄ£¿é»¯µÄÇý¶¯³ÌÐò£¬¿ÉÒÔÓÃÄ£¿é²ÎÊýÉèÖÃ¸÷ÖÖÇé¿ö£¬°üÀ¨ÖÐ¶ÏIRQµÄÖµ¡£

ÏÂÃæµÄÓï¾äÑ¡ÔñIRQ9¡¢»ùÖ·{\ttfamily 0x300}¡¢$<$ignored value$>$ºÍif\_port \#1£¨Íâ²¿ÊÕ·¢Æ÷£©¡£



\begin{tscreen}
io=0x300 irq=9 xcvr=1
\end{tscreen}


ÁíÍâ£¬Èç¹ûÇý¶¯³ÌÐò±»±àÒë½øÁËÄÚºË£¬Äã»¹¿ÉÒÔÍ¨¹ýLILOÔÚÆô¶¯Ê±´«µÝ²ÎÊýÀ´ÉèÖÃÍ¬ÑùµÄÖµ¡£

\begin{tscreen}
LILO: linux ether=9,0x300,0,1,eth0
\end{tscreen}


ÏÂÃæµÄÓï¾äÑ¡ÔñIRQ3¡¢¼ì²â»ùÖ·¡¢$<$ignored value$>$ºÍÈ±Ê¡if\_port \#0£¨Íâ²¿ÊÕ·¢Æ÷£©¡£

\begin{tscreen}
LILO: linux ether=3,0,0,0,eth0
\end{tscreen}


{\bfseries ÎÊÌâ£º}
3c503: configured interrupt X invalid, will use autoIRQ.

{\bfseries Ô­Òò£º}
3c503Íø¿¨Ö»ÄÜÊ¹ÓÃÖÐ¶ÏIRQ$\{$5, 2/9, 3, 4$\}$ÖÐµÄÒ»¸ö£¨ÕâÐ©ÊÇÍø¿¨ËùÄÜÁ¬½ÓµÄÖÐ¶ÏÏß¡££©Èç¹ûÄãÊ¹ÓÃÒ»¸ö²»ÔÚÆäÖÐµÄIRQÖµ£¬¾Í»áµÃµ½ÈçÉÏµÄÌáÊ¾¡£Ò»°ãÇé¿öÏÂ£¬Ã»±ØÒªÎª3c503Ö¸¶¨ÖÐ¶ÏÖµ¡£3c503»áÔÚifconfigÅäÖÃÊ±Ê¹ÓÃautoIRQ£¬²¢´ÓIRQ$\{$5, 2/9, 3, 4$\}$ÖÐÑ¡ÔñÒ»¸ö¡£

{\bfseries ½â¾ö·½°¸£º}
Ê¹ÓÃÉÏÊöµÄºÏ·¨IRQÖµ£¬»òÕß²»Ö¸¶¨IRQÒÔÆôÓÃautoIRQ¡£

{\bfseries ÎÊÌâ£º}
Ìá¹©µÄ3c503Çý¶¯³ÌÐòÎÞ·¨Ê¹ÓÃAUI£¨´ÖÀÂÒÔÌ«Íø£©¶Ë¿Ú¡£ÔõÑù²ÅÄÜ²»Ê¹ÓÃÈ±Ê¡µÄÏ¸ÀÂÒÔÌ«Íø¶Ë¿Ú¶øÑ¡ÔñAUI¶Ë¿Ú£¿

{\bfseries ½â¾ö·½°¸£º}
3c503µÄAUI¶Ë¿Ú¶ÔÓÚÄÚ½¨Çý¶¯³ÌÐò¿ÉÒÔÔÚÆô¶¯Ê±Ñ¡Ôñ£¬¶ÔÓÚÄ£¿é»¯Çý¶¯³ÌÐò¿ÉÒÔÔÚ²åÈëÄ£¿éÊ±Ñ¡Ôñ¡£ÕâÒ»Ñ¡Ôñ»á¸²¸ÇÎ´Ê¹ÓÃµÄdev-$>$rmem\_start±äÁ¿µÄµÍ±ÈÌØÎ»£¬ËùÒÔÆô¶¯²ÎÊý£º

\begin{tscreen}
LILO: linux ether=0,0,0,1,eth0
\end{tscreen}


¿ÉÒÔ¶ÔÄÚ½¨ÔÚÄÚºËµÄÇý¶¯³ÌÐòÆð×÷ÓÃ¡£

ÒªÔÚÔØÈëÄ£¿éÊ±Ö¸¶¨AUI¶Ë¿Ú£¬Ö»Ðè°Ñ{\ttfamily xcvr=1}¸½¼ÓÔÚÄ£¿éÑ¡Ïî°üº¬ÄãµÄI/OºÍIRQÖµµÄÄÇÒ»ÐÐ¾ÍÐÐÁË¡£




\subsection{·ÇÌØ¶¨Íø¿¨µÄFAQ¡£}






\subsubsection{LinuxÓëISAµÄ¼´²å¼´ÓÃÒÔÌ«Íø¿¨¡£}



Òª»ñµÃ×î¼ÑÐ§¹û£¨ÎÊÌâ×îÉÙ£©£¬ÍÆ¼öÊ¹ÓÃËæÍø¿¨¸½µÄ³ÌÐò£¨Í¨³£ÊÇDOS³ÌÐò£©È¡ÏûPnP»úÖÆ£¬²¢¸øÍø¿¨ÉèÖÃÒ»¸ö¹Ì¶¨µÄI/OµØÖ·ºÍIRQ¡£È·¶¨Ê¹ÓÃµÄI/OµØÖ·ÔÚÆô¶¯Ê±±»Çý¶¯³ÌÐò¼ì²âµ½£¬Èç¹ûÊ¹ÓÃÄ£¿é£¬ÔòÔÚ{\ttfamily /etc/conf.modules}ÖÐÊ¹ÓÃ{\ttfamily io=}Ñ¡ÏîÌá¹©µØÖ·¡£Ò²¿ÉÒÔ½øÈëBIOS/CMOSÉèÖÃ£¬°ÑIRQ´ÓPnP¸ÄÎªLegacy-ISA£¨Èç¹û¼ÆËã»úÓÐ´ËÑ¡ÏîµÄ»°£©¡£

×¢Òâ£¬ÔËÐÐ»ùÓÚDOSµÄÅäÖÃ³ÌÐòÒ»°ã²¢²»ÐèÒª°²×°DOS¡£¿ÉÒÔÓÃDOSÈíÅÌÆô¶¯£¬È»ºó´ÓÌá¹©µÄÈíÅÌÉÏÔËÐÐËüÃÇ¾Í¿ÉÒÔÁË¡£Í¬Ñù¿ÉÒÔ×ÔÓÉµØÏÂÔØOpenDOSºÍFreeDOS¡£

Èç¹ûÐèÒªÊ¹ÓÃPnPÒÔÓëÆäËü²Ù×÷ÏµÍ³¼æÈÝ£¬¾ÍµÃÃ¿´ÎÆô¶¯Ê±¶¼Ê¹ÓÃLinuxµÄisapnptools°üÅäÖÃÍø¿¨¡£»¹ÐèÒªÈ·¶¨ÎªÍø¿¨Ñ¡ÔñµÄI/OµØÖ·±»Çý¶¯³ÌÐò¼ì²âµ½£¬»òÓÃ{\ttfamily io=}Ñ¡ÏîÌá¹©I/OµØÖ·¡£

ÓÐÐ©ÏµÍ³ÔÚBIOS/CMOSÉèÖÃ²Ëµ¥ÖÐÓÐ¡°enable PnP OS¡±£¨»òÀàËÆµÄÃû³Æ£©Ñ¡Ïî£¬¼¸ºõÔÚËùÓÐÇé¿öÏÂ»òÍø¿¨ÎÞ·¨Õý³£¹¤×÷ÉõÖÁ¼ì²â²»µ½µÄÇé¿öÏÂ¶¼ÐèÒª½ûÓÃ´ËÑ¡Ïî¡£Ò»¸öÓÃ»§¶Ô´ËÃèÊöµÃºÜºÃ¡°ÎÒ²»ÖªµÀËüÔÚÆÁÄ»ºó¸ÉÁËÐ©Ê²Ã´£¬µ«¿´ÆðÀ´ÊÇÔÚµ·ÂÒ¡£¡±




\subsubsection{Æô¶¯Ê±Ã»ÓÐ¼ì²âµ½ÒÔÌ«Íø¿¨¡£}



³öÏÖÕâ¸öÎÊÌâµÄ³£¼ûÔ­ÒòÊÇÈËÃÇÊ¹ÓÃµÄÄÚºË²»Ö§³ÖÌØ¶¨µÄÍø¿¨¡£¶ÔÓÚÄ£¿é»¯µÄÄÚºË£¬ÕâÒ»°ãËµÃ÷ÒªÇóµÄÄ£¿éÉÐÎ´±»ÔØÈë£¬»òÕßÐèÒªÓÃÄ£¿éÑ¡ÏîÖ¸¶¨ÆäI/OµØÖ·¡£

Èç¹ûÊ¹ÓÃµÄÊÇÄ£¿é»¯µÄÄÚºË£¬¾ÍÏó´ó¶àÊýÓÃLinux·¢ÐÐ°æ°²×°µÄÄÇÑù£¬ÊÔÖøÓÃÒ»ÏÂ¸Ã·¢ÐÐ°æµÄÅäÖÃ¹¤¾ßÀ´Ñ¡ÔñÍø¿¨ËùÓÃÄ£¿é¡£¶ÔÓÚISAÍø¿¨Ò»¸ö½ÏºÃµÄÖ÷ÒâÊÇ£¬È·¶¨Íø¿¨µÄI/OµØÖ·£¬Èç¹ûÅäÖÃ¹¤¾ßÒªÇóÑ¡ÏîÔò°ÑËü×÷ÎªÒ»¸öÑ¡Ïî£¨Èç{\ttfamily io=0x340}£©¼Ó½øÈ¥¡£Èç¹ûÃ»ÓÐÅäÖÃ¹¤¾ß£¬ÄÇÃ´ÐèÒªÔÚ{\ttfamily /etc/conf.modules}ÀïÌí¼ÓÕýÈ·µÄÄ£¿éÃû³Æ£¨¼°Ñ¡Ïî£©¡ª¡ªÔÄ¶Á{\ttfamily man modprobe}ÒÔÁË½â¸ü¶àµÄÏ¸½Ú¡£

Èç¹ûÊ¹ÓÃµÄÊÇ·¢ÐÐ°æÌ×¼þÀïµÄÔ¤±àÒëÄÚºË£¬ÄÇÃ´ÐèÒª²é¿´ÎÄµµÒÔÈ·¶¨°²×°µÄÊÇÄÄÒ»ÖÖÄÚºË£¬ÒÔ¼°ÊÇ·ñÖ§³ÖËùÓÃµÄÍø¿¨¡£Èç¹û²»Ö§³ÖµÄ»°£¬ÒªÃ´ÊÔÖøÕÒÒ»¸öÖ§³ÖËùÓÃÍø¿¨µÄÄÚºË£¬ÒªÃ´×Ô¼ºÉú³ÉÒ»¸öÄÚºË¡£

Ö»±£ÁôËùÐèµÄÇý¶¯³ÌÐòÉú³É×Ô¼ºµÄÄÚºËÊÇ¸ö´ÏÃ÷µÄÖ÷Òâ£¬ÒòÎªÕâ»á¼õÐ¡ÄÚºË´óÐ¡£¨ÎªÓ¦ÓÃ³ÌÐò±£Áô±¦¹óµÄRAM£¡£©£¬¼õÉÙ´òÈÅÃô¸ÐÓ²¼þµÄÉè±¸¼ì²âÊýÄ¿¡£Éú³ÉÄÚºË²¢²»ÏóÌýÆðÀ´ÄÇÃ´¸´ÔÓ¡£ÄãÖ»ÐèÒª¶ÔÒ»Ð©ÓÐ¹ØÏëÒªÄÄÐ©Çý¶¯³ÌÐòµÄÎÊÌâ»Ø´ðÊÇ»ò²»ÊÇ£¬ÆäËüµÄÊÂ¶¼ÓÉ³ÌÐòÍê³É¡£

ÁíÒ»¸öÖ÷ÒªÔ­ÒòÊÇÆäËüµÄÉè±¸Õ¼ÓÃÁËÍø¿¨ËùÐèµÄ²¿·ÖI/O¿Õ¼ä¡£´ó¶àÊýÍø¿¨ÔÚI/O¿Õ¼äÀïÕ¼ÓÃÁË16»ò32¸ö×Ö½Ú¡£Èç¹ûÄãµÄÍø¿¨ÉèÔÚ{\ttfamily 0x300}²¢ÐèÒª32¸ö×Ö½Ú£¬ÄÇÃ´Çý¶¯³ÌÐò¾ÍÒªÇó{\ttfamily 0x300-0x31f}¡£Èç¹ûÄ³¸öÆäËüÉè±¸Çý¶¯³ÌÐò×¢²áÁËÄÄÅÂÆäÖÐÒ»¸ö¶Ë¿Ú£¬Çý¶¯³ÌÐò¾Í²»»á¶Ô¸ÃµØÖ·½øÐÐ¼ì²â£¬¶øÊÇ¾²ÇÄÇÄµØ½øÈëÏÂÒ»¸ö¼ì²âµØÖ·¡£ËùÒÔ£¬ÔÚÆô¶¯Ö®ºó£¬ÔËÐÐÒ»ÏÂ{\ttfamily cat /proc/ioports}ÒÔÈ·¶¨Íø¿¨ÒªÇóµÄÈ«²¿I/O¿Õ¼ä¶¼ÊÇ¿ÕµÄ¡£

»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇÍø¿¨Ìøµ½µÄI/OµØÖ·²»ÊÇÈ±Ê¡¼ì²âµÄµØÖ·¡£Ã¿¸öÇý¶¯³ÌÐòµÄ¼ì²âµØÖ·ÁÐ±í¿ÉÒÔºÜÈÝÒ×µØÔÚÇý¶¯³ÌÐòÔ´ÂëÖÐµÄÎÄ±¾×¢ÊÍÀïÕÒµ½¡£¼´Ê¹Íø¿¨Éè¶¨µÄI/OµØÖ·²»ÔÚ¼ì²âµØÖ·ÁÐ±íÉÏ£¬ÄãÒ²¿ÉÒÔÔÚÆô¶¯Ê±ÓÃ{\ttfamily ether=}ÃüÁîÌá¹©£¨¶ÔÄÚ½¨Çý¶¯³ÌÐò£©£¬²Î¼û\ref{lilo} {(´«µÝÒÔÌ«Íø²ÎÊý...)}¡£Ä£¿é»¯µÄÇý¶¯³ÌÐò¿ÉÒÔÔÚ{\ttfamily /etc/conf.modules}ÀïÊ¹ÓÃ{\ttfamily io=}Ñ¡ÏîÖ¸¶¨Ò»¸ö·ÇÈ±Ê¡¼ì²âµÄµØÖ·¡£






\subsubsection{{\ttfamily ifconfig}±¨¸æÁË´íÎóµÄÍø¿¨I/OµØÖ·¡£}



Õâ²»¿ÉÄÜ¡£ÄãÖ»ÊÇÀí½â´íÎó¡£Õâ{\itshape ²»\/}ÊÇÒ»¸öBug£¬¶øÇÒ±¨¸æµÄÊý×ÖÊÇÕýÈ·µÄ¡£ÕâÖ»³öÏÖÔÚÄ³Ð©»ùÓÚ8390µÄÍø¿¨ÉÏ£¨Èçwd80x3¡¢smc-ultraµÈ£©£¬Êµ¼ÊµÄ8390Ð¾Æ¬Î»ÓÚµÚÒ»¸ö¸ø¶¨I/O¶Ë¿Ú¼ÓÉÏÒ»¸öÆ«ÒÆÁ¿´¦¡£´ËÆ«ÒÆÁ¿±£´æÔÚ{\ttfamily dev-{$>$}base\_addr}Àï£¬Ò²¾ÍÊÇ{\ttfamily ifconfig}±¨¸æµÄÖµ¡£Èç¹ûÄãÏë¿´µ½Íø¿¨Ê¹ÓÃµÄÈ«²¿¶Ë¿Ú£¬ÊÔÒ»ÏÂ{\ttfamily cat /proc/ioports}ÒÔµÃµ½ÏëÒªµÄÊý×Ö¡£




\subsubsection{PCI»úÆ÷Ì½²âµ½ÁËÍø¿¨£¬µ«Çý¶¯³ÌÐò¼ì²âÊ§°Ü¡£}



Ä³Ð©PCIµÄBIOSÔÚÉÏµçÊ±Ã»ÓÐÆôÓÃËùÓÐµÄPCI¿¨£¬ÌØ±ðÊÇÔÚÊ¹ÓÃÁË¡°PNP OS¡±µÄBIOSÑ¡ÏîÇé¿öÏÂ¡£ÕâÒ»ÌØÐÔÊÇÎªÁËÖ§³Öµ±Ç°ÒÀÈ»Ê¹ÓÃÄ³Ð©ÊµÄ£Ê½Çý¶¯³ÌÐòµÄWindows°æ±¾¡£»òÕß½ûÓÃ¸ÃÑ¡Ïî£¬»òÕßÉý¼¶µ½Ò»¸ö¿ÉÒÔÆôÓÃ±»½ûÓÃÍø¿¨µÄÐÂÇý¶¯³ÌÐò¡£




\subsubsection{PCI»úÆ÷ÀïµÄ¹²ÏíÄÚ´æISAÍø¿¨²»¹¤×÷£¨{\ttfamily 0xffff}£©}



Õâ³£±íÏÖÎªÏÔÊ¾¶Á³ö´óÁ¿{\ttfamily 0xffff}Öµ¡£³ý·ÇÄãÕýÈ·µØÉèÖÃÁËPCI ROM BIOS/CMOS SETUPÅäÖÃ£¬ÈÎºÎÀàÐÍµÄ¹²ÏíÄÚ´æÍø¿¨¶¼²»»áÔÚPCI»úÆ÷ÉÏ¹¤×÷¡£Äã±ØÐë°ÑÍø¿¨ËùÓÃÄÚ´æÇøÓòÉèÖÃÎª¿ÉÒÔ´ÓISA×ÜÏß·ÃÎÊ¹²ÏíÄÚ´æ¡£Èç¹ûÄã²»ÖªµÀÄÄÐ©ÉèÖÃÓÐÓÃ£¬ÄÇÃ´Ñ¯ÎÊÄãµÄ¹©Ó¦ÉÌ»òÕßµ±µØµÄ¼ÆËã»ú´óÄÃ¡£¶ÔÓÚAMI BIOS£¬ÔÚ¡°Plug and Play¡±²¿·ÖÓÐÒ»¸ö¡°ISA Shared Memory Size¡±ºÍ¡°ISA Shared Memory Base¡±µÄÉèÖÃ¡£¶ÔÓÚÀàËÆwd8013ºÍSMC UltraµÄÍø¿¨£¬°Ñ¹²ÏíÄÚ´æµÄ´óÐ¡´ÓÈ±Ê¡µÄ½ûÓÃ¸ÄÎª16kB£¬²¢°Ñ»ùÖ·¸ÄÎªÍø¿¨µÄ¹²ÏíÄÚ´æµØÖ·¡£






\subsubsection{Íø¿¨¿´À´ÔÚ·¢ËÍÊý¾Ý£¬µ«Ã»ÓÐÊÕµ½¹ýÊý¾Ý¡£}



Ö´ÐÐ{\ttfamily cat /proc/interrupts}¡£ÕâÑù²úÉúµÄÁÐ±í»áÏÔÊ¾Íø¿¨²úÉúµÄËùÓÐÖÐ¶ÏÊÂ¼þµÄÊµÊ±ÊýÄ¿¡£Èç¹ûÎª0»òÔÚÊÔÍ¼Ê¹ÓÃÍø¿¨Ê±Ã»ÓÐÔö¼Ó£¬ÄÇÃ´¿ÉÄÜÊÇÓë¼ÆËã»ú°²×°µÄÆäËüÉè±¸·¢ÉúÎïÀíÖÐ¶Ï³åÍ»£¨ÎÞÂÛÆäËüµÄÉè±¸ÊÇ·ñ°²×°/Ìá¹©ÁËÇý¶¯³ÌÐò£©¡£°ÑÆäÖÐÒ»¸öÉè±¸µÄIRQ¸Ä³ÉÎ´Ê¹ÓÃµÄIRQ¡£






\subsubsection{Òì²½´«ÊäÄ£Ê½(ATM)Ö§³Ö}



Werner AlmesbergerÔÚ½øÐÐLinuxµÄATMµÄÖ§³Ö¹¤×÷¡£ËûÊ¹ÓÃµÄÊÇEfficient NetworksµÄENI155p°å£¨\nameurl{http://www.efficient.com/}{Efficient Networks}£©ºÍZeitnetµÄZN1221°å£¨\nameurl{http://www.zeitnet.com/}{Zeitnet}£©¡£

WernerËµENI155pµÄÇý¶¯³ÌÐòÒÑ¾­ºÜÎÈ¶¨ÁË£¬¶øZN1221µÄÇý¶¯³ÌÐòÄ¿Ç°»¹Ã»ÓÐÍê³É¡£

È¥ÏÂÃæµÄÁ¬½Ó²é¿´Ò»ÏÂ×îÐÂµÄ½øÕ¹£º

\nameurl{http://lrcwww.epfl.ch/linux-atm/}{Linux ATM Support}




\subsubsection{¼ª±ÈÌØÒÔÌ«ÍøÖ§³Ö}



LinuxÖ§³Ö¼ª±ÈÌØÒÔÌ«ÍøÂð£¿

ÊÇµÄ£¬Ä¿Ç°ÖÁÉÙÒÑ¾­ÓÐÁËÁ½¸öÇý¶¯³ÌÐò¡£ÔÚv2.0ºÍv2.2ÄÚºËÀïÓÐÒ»¸öPacket Engines G-NIC PCI¼ª±ÈÌØÒÔÌ«ÍøÊÊÅäÆ÷µÄÇý¶¯³ÌÐò¡£Çý¶¯³ÌÐòµÄ¸ü¶àÏ¸½Ú¡¢Ö§³ÖºÍ¸üÐÂ¿É·ÃÎÊ£º

{\ttfamily http://www.scyld.com/linux/drivers/yellowfin.html}

v2.2ÄÚºËÌá¹©µÄ{\ttfamily acenic.c}Çý¶¯³ÌÐò¿ÉÓÃÓÚAlteonµÄAceNIC¼ª±ÈÌØÒÔÌ«Íø¿¨ºÍÆäËüÈç3ComµÄ3c985Ò»ÀàµÄ»ùÓÚTigonµÄÍø¿¨¡£Õâ¸öÇý¶¯³ÌÐò»¹¿ÉÒÔÓÃÓÚNetGearµÄGA620£¬µ«»¹ÐèÒªÖ¤Êµ¡£




\subsubsection{FDDIÖ§³Ö}

LinuxÖ§³ÖFDDIÂð£¿

ÊÇµÄ¡£Larry StefaniÎªv2.0±àÐ´ÁËDigitalµÄDEFEA£¨FDDI EISA£©ºÍDEFPA£¨FDDI PCI£©Íø¿¨Çý¶¯³ÌÐò¡£Ëü±»°üº¬½øv2.0.24ÄÚºË¡£Ä¿Ç°»¹Ã»ÓÐÆäËüµÄÍø¿¨±»Ö§³Ö¡£




\subsubsection{È«Ë«¹¤Ö§³Ö}



È«Ë«¹¤ÄÜ´ïµ½20MBpsÂð£¿LinuxÖ§³ÖÂð£¿

Cameron Spitzer¶ÔÈ«Ë«¹¤10Base-TÍø¿¨ÓÐÈçÏÂÂÛ¶Ï£º¡°Èç¹ûÄãÁ¬ÔÚÈ«Ë«¹¤½»»»HUBÉÏ£¬ÄãµÄÏµÍ³×ã¹»¿ì¶øÇÒ²»×öÌ«¶àÆäËüµÄ¹¤×÷£¬Ëü»áÊ¹ÄãµÄÍøÂçÔÚÁ½¸ö·½ÏòÉÏ¶¼±£³ÖÃ¦Âµ¡£²»´æÔÚÊ²Ã´È«Ë«¹¤µÄ10BASE-2»ò10BASE-5£¨Ï¸ÀÂºÍ´ÖÀÂ£©¡£È«Ë«¹¤ÊÇÍ¨¹ýÈ¡ÏûÊÊÅäÆ÷µÄÅö×²¼ì²âÀ´´ïµ½µÄ¡£Õâ¾ÍÊÇÎªÊ²Ã´ÓÃÍ¬ÖáµçÀÂÊµÏÖ²»ÁËÈ«Ë«¹¤£»LANÎÞ·¨ÒÔÈ«Ë«¹¤·½Ê½ÔË×ª¡£10BASE-T£¨RJ45½Ó¿Ú£©Ê¹ÓÃ²»Í¬µÄÏß½øÐÐ·¢ËÍºÍ½ÓÊÕ£¬ËùÒÔ¶þÕß¿ÉÄÜÍ¬Ê±½øÐÐ¡£½»»»HUB´¦ÀíÅö×²ÎÊÌâ¡£ÐÅºÅËÙÂÊÊÇ10Mbps¡£¡±

ËùÒÔ£¬ÄãÖ»ÄÜÒÔ10MbpsËÙÂÊ½ÓÊÕ»ò·¢ËÍÊý¾Ý£¬ÎÞ·¨ÆÚÍûµÃµ½Á½±¶µÄÐÔÄÜÌá¸ß¡£¶ÔÓÚÊÇ·ñÖ§³Ö£¬È¡¾öÓÚÍø¿¨ºÍ¿ÉÄÜµÄÇý¶¯³ÌÐò¡£ÓÐÐ©Íø¿¨¿ÉÒÔ×Ô¶¯Ð­ÉÌ£¬ÓÐÐ©ÐèÒªÇý¶¯³ÌÐòÖ§³Ö£¬»¹ÓÐµÄÐèÒªÓÃ»§ÔÚÍø¿¨µÄEEPROMÅäÖÃÖÐÉèÖÃÑ¡Ïî¡£Ö»ÓÐÄÇÐ©ÈÏÕæµÄÓÃ»§»á×¢Òâµ½È«Ë«¹¤Óë°ëË«¹¤Ä£Ê½¼äµÄ²î±ð¡£




\subsubsection{SMP»úÆ÷ÉÏµÄLinuxÒÔÌ«Íø¿¨}



Èç¹ûÓÐÇ®Âò¶à´¦ÀíÆ÷£¨MP£©µÄ¼ÆËã»ú£¬ÄÇÃ´×îºÃÂòÒ»¸öºÃµã¶ùµÄÒÔÌ«Íø¿¨¡£¶Ôv2.0ÄÚºËÕâ»¹²»ÊÇ¸öÎÊÌâ£¬µ«¶Ôv2.2¾Í³ÉÎÊÌâÁË¡£´ó¶àÊýÀÏÊ½µÄ·ÇÖÇÄÜ£¨ÈçISA×ÜÏßµÄPIOºÍ¹²ÏíÄÚ´æÉè¼Æ£©Íø¿¨ÔÚÉè¼ÆÊ±¸ù±¾Ã»¿¼ÂÇ¶à´¦ÀíÆ÷Ó¦ÓÃ¡£¼òµ¥µØËµ¾ÍÊÇÂòÒ»¸öÏÖ´úÉè¼ÆµÄÖÇÄÜÍø¿¨£¬²¢È·¶¨ÓÐÄÜ¹»´¦Àí¶à´¦ÀíÆ÷²Ù×÷µÄÇý¶¯³ÌÐò¡££¨×¢ÒâÕâÀïµÄ¡°ÏÖ´úÉè¼Æ¡± - PCI-NE2000¾ÍÊÇÔÚÏÖ´ú×ÜÏßÉÏÓÐ10¶àÄêÀúÊ·µÄÀÏÊ½Éè¼Æ¡££©ÔÚÇý¶¯³ÌÐòµÄÔ´ÂëÀï²éÕÒ{\ttfamily spin\_lock}¿ÉÒÔºÜºÃµØËµÃ÷¸ÃÇý¶¯³ÌÐòÊÇ·ñÄÜ¹»´¦Àí¶à´¦ÀíÆ÷²Ù×÷¡£ÏÂÃæÏêÏ¸½âÊÍÁËÎªºÎÒªÎª¶à´¦ÀíÆ÷Ó¦ÓÃ¹ºÂòºÃµÄÍø¿¨£¨ÒÔ¼°²»Âò»á³öÏÖÊ²Ã´ÎÊÌâ£©¡£

ÔÚv2.0ÄÚºË£¬ÔÚÈÎÒâÊ±¿ÌÖ»ÓÐÒ»¸ö´¦ÀíÆ÷ÔÊÐí½øÈë¡°ÄÚºËÌ¬¡±£¨¼´¸Ä±äÄÚºËÊý¾Ý»òÔËÐÐÉè±¸Çý¶¯³ÌÐò£©¡£ËùÒÔ´ÓÍø¿¨£¨¼°Ïà¹ØÇý¶¯³ÌÐò£©µÄ½Ç¶ÈÀ´¿´£¬ÕâÓëµ¥´¦ÀíÆ÷²Ù×÷Ã»ÓÐÊ²Ã´²»Í¬£¬ËùÒÔ²»»á³öÎÊÌâ¡£(ÕâÒ²ÊÇµÃµ½Ò»¸ö¿ÉÒÔ¹¤×÷µÄLinux¶à´¦ÀíÆ÷°æ±¾µÄ×î¼òµ¥µÄ°ì·¨¡ª¡ªÊ¹ÓÃÒ»¸ö´óËøÊ¹µÃÒ»´ÎÖ»ÓÐÒ»¸ö´¦ÀíÆ÷´¦ÓÚÄÚºË×´Ì¬¡£ÕâÑùÄã¾ÍÖªµÀ²»¿ÉÄÜÓÐÁ½¸ö´¦ÀíÆ÷Í¬Ê±ÒªÐÞ¸ÄÍ¬Ò»Êý¾Ý£¡£©

ÔÚÈÎÒâÊ±¿ÌÖ»ÓÐÒ»¸ö´¦ÀíÆ÷ÔÊÐí½øÈëÄÚºËÌ¬µÄ²»ÀûÖ®´¦ÔÚÓÚÖ»ÓÐÔËÐÐ×ÔÎÒ¿ØÖÆºÍÃÜ¼¯¼ÆËãµÄ³ÌÐòÊ±²Å»á»ñµÃ¶à´¦ÀíÆ÷µÄÓÅÔ½ÐÔ¡£Èç¹û³ÌÐò½øÐÐÁË´óÁ¿ÖîÈçÏò´ÅÅÌ»òÍøÂç¶Á/Ð´Êý¾ÝµÄI/O²Ù×÷£¬ÔÚ´¦ÓÚÄÚºËµÄÄÇ¸ö´¦ÀíÆ÷Å¬Á¦ÔËÐÐËùÓÐµÄÉè±¸Çý¶¯³ÌÐòÒÔÂú×ãI/OÇëÇóµÄÍ¬Ê±£¬ÆäËüµÄ´¦ÀíÆ÷¶¼±ØÐëµÈ´ý×Ô¼ºµÄI/OÇëÇó±»´¦ÀíÍê³É¡£ÕâÑùÄÚºË¾Í³ÉÎªÁËÆ¿¾±£¬ÓÉÓÚÖ»ÓÐÒ»¸ö´¦ÀíÆ÷ÔËÐÐÔÚÄÚºËÌ¬£¬¶à´¦ÀíÆ÷»úÆ÷µÄÐÔÄÜÔÚI/OÈÎÎñÖØ¡¢µ¥ËøµÄÇé¿öÏÂÑ¸ËÙ½µ¼¶µ½½Ó½üµ¥´¦ÀíÆ÷µÄË®Æ½¡£

ºÜÃ÷ÏÔÕâÓëÀíÏëÇé¿öÏà²îÌ«Ô¶£¨ÓÈÆäÊÇ¶ÔÓÚÎÄ¼þ/WWW·þÎñÆ÷¡¢Â·ÓÉÆ÷µÈ£©£¬v2.2µÄÄÚºË¾ÍÊ¹ÓÃÁËÁ£¶È¸üÐ¡µÄËø¡ª¡ªÒ²¾ÍÊÇËµÍ¬Ê±¿ÉÒÔÓÐ¶à¸ö´¦ÀíÆ÷½øÈëÄÚºË¡£²»ÔÙÊÇ¶ÔÕû¸öÄÚºËÊ¹ÓÃÒ»¸ö´óËø£¬¶øÊÇÊ¹ÓÃÐí¶à½ÏÐ¡µÄËø±£»¤¹Ø¼üÊý¾Ý£¬·ÀÖ¹Í¬Ê±±»¶à¸ö´¦ÀíÆ÷¿ØÖÆ¡ª¡ªÀýÈç£¬Ò»¸ö´¦ÀíÆ÷¿ÉÒÔÔËÐÐÍø¿¨Çý¶¯³ÌÐò£¬Í¬Ê±ÁíÒ»¸ö´¦ÀíÆ÷¿ÉÒÔÔËÐÐ´ÅÅÌÇý¶¯Æ÷µÄÇý¶¯³ÌÐò¡£

ºÃµÄ£¬ÕâÑù¾ÍÓÐÎÊÌâÁË£º¸üÐ¡µÄËø¶¨¾ÍÒâÎ¶Öø¿ÉÒÔÓÐÒ»¸ö´¦ÀíÆ÷ÊÔÍ¼Í¨¹ýÒÔÌ«ÍøÇý¶¯³ÌÐò·¢ËÍÊý¾Ý£¬Í¬Ê±ÁíÒ»¸ö´¦ÀíÆ÷ÊÔÍ¼·ÃÎÊÍ¬Ò»¸öÇý¶¯³ÌÐò/Íø¿¨À´×ö±ðµÄÊÂÇé£¨±ÈÈçÍ¨¹ý{\ttfamily cat /proc/net/dev}µÃµ½Íø¿¨Í³¼ÆÊý¾Ý£©¡£°¥ßÏ¡ª¡ªÄãµÄÍø¿¨ÕýÔÚÍ¨¹ýÍøÏß·¢Êý¾Ý£¬ÄãÓÖÒªÓÃËüÀ´ÊÕÊý¾Ý¡£Íø¿¨±»Í¬Ê±ÒªÇó×öÁ½¼þÊÂ£¨»ò¸ü¶à£©£¬»áÅªºýÍ¿µÄ£¬ËùÒÔÓÐ¿ÉÄÜÔÚ´¦Àí¹ý³ÌÖÐÍø¿¨Ê¹ÄãµÄ»úÆ÷ËÀ»ú¡£

Òò´Ë£¬Îªµ¥´¦ÀíÆ÷Ð´µÄÇý¶¯³ÌÐò²»ÔÙÊÊÓÃ¡ª¡ªËüÐèÒª¸üÐÂ¿ØÖÆ¶ÔÍø¿¨·ÃÎÊµÄËø£¬Ê¹µÃÍø¿¨µÄ½ÓÊÕ¡¢·¢ËÍºÍ²Ù×÷ÅäÖÃÊý¾ÝÕâÈýÖÖÈÎÎñÒÔÍø¿¨ÎÈ¶¨²Ù×÷ËùÒªÇóµÄ³Ì¶È´®ÐÐ»¯ÆðÀ´¡£Ã»ÓÐ¸üÐÂÎªÊ¹ÓÃÎÈ¶¨¶à´¦ÀíÆ÷²Ù×÷µÄËøµÄÇý¶¯³ÌÐòÔÚÇáµÄÍøÂç¸ºÔØÏÂ¿ÉÄÜ¿´ÆðÀ´»áÕý³£¹¤×÷£¬µ«ÔÚÁ½¸ö£¨»ò¸ü¶à£©´¦ÀíÆ÷ÊÔÍ¼Í¬Ê±½øÐÐ¶à¸öÈÎÎñÊ±¾Í»áÔì³ÉËÀ»ú£¬»òÖÁÉÙ±íÏÖ³öÆæ¹ÖµÄÐÐÎª£¬Õâ¾ÍÊÇÎÊÌâ¡£

¸üÐÂºóµÄÒâÊ¶µ½¶à´¦ÀíÆ÷µÄÒÔÌ«ÍøÇý¶¯³ÌÐò½«ÒªÇóÒ»¸öÇý¶¯³ÌÐò·¶Î§µÄËø£¬Ê¹µÃÄÚºË½øÈëÇý¶¯³ÌÐòµÄ·ÃÎÊÈë¿Ú±»ÏÞÖÆÎªÒ»´ÎÒ»¸ö¡£ÕâÑù£¬ÈÎÎñ¾Í±»´®ÐÐ»¯£¬¶ø¶ÔÓ²¼þµÄ´¦Àí¾ÍÈçÍ¬ÔÚµ¥´¦ÀíÆ÷ÏÂÒ»Ñù£¬Ò²¾ÍÒ»¶¨Ó¦µ±ÎÈ¶¨¡£Ê¹ÓÃÇý¶¯³ÌÐò·¶Î§µÄËøµÄ²»ÀûÖ®´¦ÔÚÓÚËüÀàËÆÓÚ¶ÔÕû¸öÄÚºË¼ÓËø£¨µ«¹æÄ£½ÏÐ¡£©¶ÔÐÔÄÜµÄÓ°Ïì¡ª¡ªÒ²¾ÍÊÇËµ£¬Ò»´ÎÖ»¿ÉÒÔÓÐÒ»¸ö´¦ÀíÆ÷´¦ÀíÍø¿¨¡£
{[}¼¼ÊõÌáÊ¾£ºÈç¹ûÔö¼ÓµÄËøÊÇ{\ttfamily irqsave}ÀàÐÍµÄ¶øÇÒ±»³ÖÓÐ½Ï³¤Ê±¼ä£¬¶ÔÐÔÄÜµÄÓ°Ïì»¹°üÀ¨Ôö¼ÓÁËÖÐ¶ÏÑÓ³Ù¡£{]}

ÕâÀï¿ÉÒÔ½øÐÐµÄ¸Ä½øÓÐÁ½´¦¡£¿ÉÒÔ³¢ÊÔ¼õÉÙ»ñµÃÓëÊÍ·ÅËøÖ®¼äËùÓÃµÄÊ±¼ä£¬»òÕßÔÚÇý¶¯³ÌÐòÄÚ²¿ÊµÏÖ¸üÎªÏ¸»¯µÄËø£¨±ÈÈçÂú×ãÍø¿¨ÐèÇóµÄÇ°ÌáÏÂ£¬°ÑÕû¸öÇý¶¯³ÌÐòµÄËøÌæ»»ÎªÈô¸É±£»¤Í¬Ê±·ÃÎÊÈô¸ÉÃô¸Ð¼Ä´æÆ÷»òÉèÖÃµÄËø£©¡£

µ«ÊÇ£¬¶ÔÓÚÀÏÊ½µÄ·ÇÖÇÄÜÍø¿¨¶øÑÔ£¬ÔÚÉè¼ÆÊ±¸ù±¾¾ÍÃ»ÓÐ¿¼ÂÇ¹ý¶à´¦ÀíÆ÷µÄÓ¦ÓÃ£¬ÕâÑùµÄ¸Ä½ø¿ÉÄÜÎÞ·¨ÊµÏÖ¡£¸üÔãµÄÊÇ·ÇÖÇÄÜÍø¿¨Ò»°ãÒªÇó´¦ÀíÆ÷ÔÚÍø¿¨ºÍÄÚ´æÖ®¼ä´«ËÍÊý¾Ý£¬ËùÒÔÔÚ×î»µµÄÇé¿öÏÂ£¬Ã¿µ±ÔÚISA×ÜÏß´«ËÍ1.5kBÊý¾Ý°üÊ±£¬Ëø¶¼±»Ò»Ö±±£³ÖÖø¡£

ÏÖ´úµÄÖÇÄÜÍø¿¨Ò»°ãÎÞÐè´¦ÀíÆ÷µÄ°ïÖú¾Í¿ÉÒÔÖ±½ÓÔÚÍø¿¨ºÍÄÚ´æÖ®¼ä´«µÝÍøÂçÊý¾Ý¡£ÕâÊÇ¸öºÜ´óµÄ¸Ä½ø£¬ÒòÎªÖ»ÐèÒªÔÚ´¦ÀíÆ÷Í¨ÖªÍø¿¨Ê¹ÓÃÄÄÒ»¿éÄÚ´æ±£´æÏÂÒ»¸öÍøÂçÊý¾Ý°üµÄÄÇÒ»Ð¡¶ÎÊ±¼ä³ÖÓÐËø¡£ÏÖ´úµÄÍø¿¨ÔÚÉè¼ÆÊ±Í¬ÑùÒ²²»ÒªÇó¶ÔÕû¸öÇý¶¯³ÌÐòÊ¹ÓÃÒ»¸ö´óËø¡£






\subsubsection{Alpha/AXP PCI°åÉÏµÄLinuxÒÔÌ«Íø¿¨}



¶ÔÓÚv2.0£¬Ö»ÓÐ3c509¡¢depca¡¢de4x5¡¢pcnet32ºÍËùÓÐ8390Çý¶¯³ÌÐò£¨wd¡¢smc-ultra¡¢ne¡¢3c503µÈµÈ£©ÊÇ±àÐ´³É¡°½á¹¹ÎÞ¹Ø¡±µÄ£¬ËùÒÔËüÃÇ¿ÉÒÔÔËÐÐÔÚ»ùÓÚDECµÄAlpha CPUÏµÍ³ÉÏ¡£ÆäËüÒ»Ð©´ÓDonaldµÄWWWÖ÷Ò³ÉÏÏÂÔØµÄ¸üÐÂ¹ýµÄPCIÇý¶¯³ÌÐòÒ²¿ÉÒÔ¹¤×÷£¬ÒòÎªËüÃÇÒ²ÊÇ°´ÕÕ½á¹¹ÎÞ¹ØµÄË¼Ïë±àÐ´µÄ¡£

×¢Òâ£¬Ê¹Çý¶¯³ÌÐòÓë½á¹¹ÎÞ¹ØËùÐèÒª½øÐÐµÄ¸Ä¶¯²¢²»ºÜ¸´ÔÓ¡£Ö»ÐèÒªÈçÏÂ½øÐÐ£º

¡ª¡ª°ÑËùÓÐÓë{\ttfamily jiffies}ÓÐ¹ØµÄÖµ¶¼³ËÒÔHZ/100£¬µÃµ½AlphaÊ¹ÓÃµÄ²»Í¬µÄHZÖµ¡££¨¼´{\ttfamily timeout=2;}±ä³É{\ttfamily timeout=2*HZ/100;}£©

¡ª¡ª°ÑËùÓÐI/OÄÚ´æ£¨´Ó640kµ½1MB£©µÄÖ¸ÕëÒýÓÃÌæ»»ÎªÏàÓ¦µÄreadb() writeb() readl() writel()µ÷ÓÃ£¬ÈçÏÂÀýËùÊ¾¡£

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
-       int *mem_base = (int *)dev->mem_start;
-       mem_base[0] = 0xba5eba5e;
+       unsigned long mem_base = dev->mem_start;
+       writel(0xba5eba5e, mem_base);
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¡ª¡ª°ÑËùÓÐÊ¹ÓÃI/OÄÚ´æ×÷ÎªÔ´»òÄ¿µÄµØÖ·µÄmemcpy()µ÷ÓÃÌæ»»ÎªÏàÓ¦µÄ{\ttfamily memcpy\_fromio()}»òÕß{\ttfamily memcpy\_toio()}µ÷ÓÃ¡£

ÒÔ½á¹¹ÎÞ¹ØµÄ·½Ê½´¦ÀíÄÚ´æ·ÃÎÊµÄÏ¸½ÚÔÚ½üÆÚµÄÄÚºËËù¸½µÄÎÄ¼þ{\ttfamily linux/Documentation/IO-mapping.txt}ÖÐ½øÐÐÁËËµÃ÷¡£




\subsubsection{SUN/SparcÓ²¼þÉÏµÄLinuxÒÔÌ«Íø¿¨¡£}

ÒªµÃµ½×îÐÂµÄSparcÐÅÏ¢£¬¿ÉÒÔ·ÃÎÊÒÔÏÂURL£º

\nameurl{http://www.geog.ubc.ca/sparc}{Linux Sparc}

×¢Òâ£¬ÓÐÐ©SparcµÄÒÔÌ«ÍøÓ²¼þ´ÓÖ÷»ú»ñµÃÆäMACµØÖ·£¬Òò´Ë¿ÉÄÜ»áÓÐ¶à¸ö½Ó¿Ú¾ßÓÐÏàÍ¬µÄMACµØÖ·¡£Èç¹ûÏëÔÚÍ¬Ò»¸öÍøÂçÉÏÊ¹ÓÃ¶à¸ö½Ó¿Ú£¬¿ÉÒÔÊ¹ÓÃ{\ttfamily ifconfig}µÄ{\ttfamily hw}Ñ¡ÏîÒÔ·ÖÅäÎ¨Ò»µÄMACµØÖ·¡£

°ÑPCIÇý¶¯³ÌÐòÒÆÖ²µ½SparcÆ½Ì¨ÉÏÓëÉÏÃæÌáµ½µÄAXPÆ½Ì¨ÏàËÆ¡£¿ÉÄÜµÄ²îÒì³öÔÚendianÉÏ£¬ÒòÎªSparcÊÇbig endian£¬¶øAXPºÍix86ÊÇlittle endian¡£




\subsubsection{ÆäËüÓ²¼þÉÏµÄLinuxÒÔÌ«Íø¿¨¡£}

»¹ÓÐÒ»Ð©ÆäËüÓ²¼þÆ½Ì¨¿ÉÒÔÔËÐÐLinux£¬±ÈÈçAtari/Amiga£¨m68k£©¡£¾ÍÏóSparcÒ»Ñù£¬×îºÃÊÇ·ÃÎÊÃ¿¸öLinuxÖ§³ÖµÄÆ½Ì¨Ö÷Ò³£¬ÒÔÁË½âµ±Ç°¶¼Ö§³ÖÄÄÐ©Ó²¼þ¡££¨»¶Ó­Ìá¹©ÕâÑùµÄÕ¾µãÁ¬½Ó¡ª¡ª°ÑËüÃÇ·¢¸øÎÒ£¡£©




\subsubsection{²»Ê¹ÓÃHubÁ¬½Ó10/100BaseT}

¿ÉÒÔ²»Ê¹ÓÃHubÁ¬½Ó»ùÓÚ10/100BaseT£¨RJ45£©µÄÏµÍ³Âð£¿

Èç¹û²»Ê¹ÓÃ¶îÍâµÄÉè±¸»ò»úÐµ×°ÖÃ£¬¿ÉÒÔºÜÈÝÒ×µØÁ¬½ÓÁ½Ì¨ÕâÑùµÄ»úÆ÷£¬ µ«²»¿ÉÄÜÔÙ¶à¡£²ÎÔÄ\ref{utp} {(Ë«½ÊÏß)} ¡ª¡ª½âÊÍÁËÈçºÎ×öµ½ÕâÒ»µã¡£¶øÇÒÄã²»¿ÉÄÜ¼òµ¥µØ½»²æ¼¸¸ùÏß»òÆäËüÊ²Ã´ ¾ÍÅª³öÒ»¸öHub£¬²»¸´ÖÆHubÒ²ÎÞ·¨ÕýÈ·Íê³É³åÍ»ÐÅºÅ¡£




\subsubsection{SIOCSIFxxx: No such device}

ÔÚÆô¶¯Ê±³öÏÖÁËÒ»´ó¶Ñ¡°SIOCSIFxxx: No such device¡±ÐÅÏ¢£¬ºóÃæ»¹ÓÐÒ»Ìõ¡°SIOCADDRT: Network is unreachable¡±£¬ÔõÃ´»ØÊÂ£¿

ÄãµÄÒÔÌ«ÍøÉè±¸ÔÚÆô¶¯/²åÈëÄ£¿éÊ±Ã»ÓÐ±»¼ì²âµ½£¬µ±{\ttfamily ifconfig}ºÍ{\ttfamily route}ÔËÐÐÊ±£¬ËüÃÇÃ»ÓÐ¿ÉÓÃµÄÉè±¸¡£Ê¹ÓÃ{\ttfamily dmesg $|$ more}À´ä¯ÀÀÆô¶¯ÐÅÏ¢£¬¿´¿´ÓÐÃ»ÓÐ¼ì²âÒÔÌ«Íø¿¨µÄÐÅÏ¢¡£




\subsubsection{SIOCSFFLAGS: Try again}

ÔÚÔËÐÐ¡°ifconfig¡±Ê±³öÏÖ¡°SIOCSFFLAGS: Try again¡±¡ª¡ªÔõÃ´»ØÊÂ£¿

Ä³Ð©ÆäËüµÄÉè±¸Ê¹ÓÃÁËÒÔÌ«Íø¿¨ÏëÓÃµÄIRQ£¬ËùÒÔÒÔÌ«Íø¿¨ÎÞ·¨Ê¹ÓÃ¸ÃIRQ¡£Äã²»±ØÖØÐÂÆô¶¯À´½â¾öÕâ¸öÎÊÌâ£¬ÒòÎªÄ³Ð©Éè±¸Ö»ÊÇÔÚÐèÒªÊ±²Å»ñÈ¡IRQ£¬ÔÚÍê³Éºó¾ÍÊÍ·ÅÁË¡£ÀýÈçÄ³Ð©Éù¿¨¡¢´®¿Ú¡¢ÈíÅÌÇý¶¯Æ÷µÈ¡£Äã¿ÉÒÔ¼üÈë{\ttfamily cat /proc/interrupts}À´¿´¿´ÄÄÐ©ÖÐ¶ÏÕýÔÚ {\itshape ±»Ê¹ÓÃ\/}¡£¾ø´ó¶àÊýLinuxÒÔÌ«Íø¿¨Çý¶¯³ÌÐòÖ»ÓÐÔÚÓÃ¡°ifconfig¡±´ò¿ªÊ±²Å»ñÈ¡IRQ¡£Èç¹ûÄãÄÜÈÃÆäËüÉè±¸¡°·Å¿ª¡±ËùÐèµÄIRQÖÐ¶ÏÏß£¬ÄÇÃ´Äã¾Í¿ÉÒÔÓÃifconfigÀ´¡°Try again¡±ÁË¡£




\subsubsection{Ê¹ÓÃ¡°ifconfig¡±µÃµ½µÄÁ¬½ÓÎªUNSPEC£¬¶øÓ²¼þµØÖ·ÊÇ00:00:00:00:00:00}

ÔÚ²»´ø²ÎÊýÔËÐÐifconfigÊ±£¬±¨¸æËµÁ¬½ÓÎªUNSPEC£¨¶ø²»ÊÇ10MbsÒÔÌ«Íø£©£¬¶øÇÒÓ²¼þµØÖ·¶¼ÊÇÁã¡£

ÕâÊÇÒòÎªÔËÐÐµÄ¡°ifconfig¡±³ÌÐò°æ±¾±ÈÄÚºËµÄ°æ±¾¸ß¡£ÔÚÓëÀÏ°æ±¾µÄÄÚºËÒ»ÆðÔËÐÐÊ±£¬ÐÂ°æ±¾µÄifconfigÎÞ·¨±¨¸æÕâÐ©ÌØÐÔ¡£Äã¿ÉÒÔÉý¼¶ÄÚºË£¬»òÕß¡°½µ¼¶¡±ifconfig£¬»òÕß¸É´à²»Àí»áÕâ¸ö´íÎó¡£ÄÚºËÖªµÀÓ²¼þµØÖ·£¬ËùÒÔ¼´Ê¹ifconfigÎÞ·¨¶Á³öËüÒ²Ã»ÓÐ¹ØÏµ¡£

Èç¹ûÊ¹ÓÃµÄ{\ttfamily ifconfig}³ÌÐò±ÈÊ¹ÓÃµÄÄÚºË¾ÉºÜ¶àµÄ»°£¬Ò²»á³öÏÖÒ»Ð©Ææ¹ÖµÄÐÅÏ¢¡£




\subsubsection{´óÁ¿µÄRXºÍTX´íÎó}

ÔÚ²»´ø²ÎÊýÔËÐÐifconfigÊ±£¬±¨¸æ´óÁ¿µÄ½ÓÊÕºÍ·¢ËÍÊý¾Ý°ü´íÎó¡£µ«¿´ÆðÀ´¹¤×÷Õý³£¡ª¡ªÔõÃ´»ØÊÂ£¿

ÔÙ¿´Ò»±é¡£±¨¸æÊÇËµ{\ttfamily RX packets} {\itshape big number\/} {\bfseries Í£¶Ù}{\ttfamily errors 0} {\bfseries Í£¶Ù} {\ttfamily dropped 0} {\bfseries Í£¶Ù} {\ttfamily overrun 0}¡£ËùÒÔÄã¿´µ½µÄÄÇ¸ö´óÊý×ÖÊÇ»úÆ÷½ÓÊÕºÍ·¢ËÍµÄÊý¾Ý°ü×ÜÊý¡£Èç¹û»¹¾õµÃ²»¿ÉË¼Òé£¬¼üÈë{\ttfamily cat /proc/net/dev}¿´¿´¡£




\subsubsection{{\ttfamily /dev/}ÏÂµÄÒÔÌ«Íø¿¨Èë¿Ú}

/dev/eth0ÏñÊÇ¸öµ½/dev/xxxµÄÁ¬½Ó¡£ÕâÑù¶ÔÂð£¿

ÓëÄãÌý¹ýµÄÕýºÃÏà·´£¬/dev/*ÏÂµÄÎÄ¼þÃ»±»Ê¹ÓÃ¡£Äã¿ÉÒÔÉ¾³ýµôÈÎºÎ {\ttfamily /dev/wd0¡¢/dev/ne0}ÒÔ¼°ÀàËÆµÄÈë¿Ú¡£




\subsubsection{LinuxÓë¡°trailers¡±}

ÔÚ¡°ifconfig¡±Íø¿¨Ê±£¬ÐèÒª½ûÖ¹trailersÂð£¿

²»ÄÜ½ûÖ¹trailers£¬¶øÇÒÒ²Ã»±ØÒª¡£¡°trailers¡±ÊÇ±ÜÃâÔÚÍøÂç²ã¸´ÖÆÊý¾ÝµÄ¹¤¾ß¡£ÆäÏë·¨ÊÇÊ¹ÓÃÒ»¸ö´óÐ¡Îª¡°H¡±µÄ¹Ì¶¨´óÐ¡µÄÍ·£¬°Ñ¿É±ä´óÐ¡µÄÍ·ÐÅÏ¢·ÅÔÚ°üµÄÎ²²¿£¬²¢°ÑËùÓÐ°ü¶¨Î»ÔÚÒ³¿ªÊ¼Ö®Ç°µÄ¡°H¡±×Ö½Ú¡£ÕâÖ»ÊÇ¸öºÃÏë·¨£¬ÔÚÊµ¼ÊÖÐ¹¤×÷µÃ²¢²»ºÃ¡£Èç¹ûÓÐÈË½¨ÒéÊ¹ÓÃ¡°-trailers¡±£¬ÄÇ²»¹ýÊÇÕÒ¸öÌæ×ïÑò°ÕÁË¡£Õâ¶Ô½â¾öÎÊÌâÃ»ÓÐÈÎºÎÒâÒå£¬µ«Èç¹ûÎÊÌâÕæµÄ×ÔÐÐ½â¾öÁË£¬ÄÇÃ´Ëû¾Í¿ÉÒÔ´µÐê×Ô¼ºµÄÉñÆæ±¾ÁìÁË¡£






\subsubsection{·ÃÎÊÔ­Ê¼ÒÔÌ«ÍøÉè±¸}

ÔÚLinuxÏÂÔõÑù²»Í¨¹ýTCP/IPÖ®ÀàµÄ¶«Î÷·ÃÎÊÔ­Ê¼µÄÒÔÌ«ÍøÉè±¸£¿

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ÕâÑù¾Í¿ÉÒÔµÃµ½Ò»¸ö½ÓÊÕËùÓÐÐ­ÒéÀàÐÍµÄsocket¡£¶ÔËüÖ´ÐÐ{\ttfamily recvfrom()}µ÷ÓÃ£¬Ëü¾Í»áÓÃsa\_familyÀïµÄÉè±¸ÀàÐÍºÍsa\_dataÊý×éÀïµÄÉè±¸ÃûÀ´Ìî³äsockaddr¡£ÎÒ²»ÖªµÀÊÇË­×îÔçÔÚLinuxÀïÊ¹ÓÃSOCK\_PACKET£¬µ«ËüÈ·ÊµÊÇ¸ö·Ç³£ºÃµÄ¶«Î÷¡£ÄãÒ²¿ÉÒÔÍ¨¹ý{\ttfamily sendto()}µ÷ÓÃ·¢ËÍÔ­Ê¼Êý¾Ý°ü¡£µ±È»£¬ÔÚÕâÑù×öÊ±Äã±ØÐëÓµÓÐrootµÄÈ¨ÏÞ¡£




\section{ÐÔÄÜÐ¡¼¼ÇÉ\label{perf}}

Èç¹ûÄãµÄÒÔÌ«ÍøÍÌÍÂÁ¿Ì«Ð¡£¬»òÕßÏëÌá¸ßftp´«ÊäµÄËÙ¶È£¬¿ÉÒÔÊ¹ÓÃÕâÀïµÄÒ»Ð©Ð¡¼¼ÇÉ¡£

³ÌÐò{\ttfamily ttcp.c}ÊÇ²âÊÔÔ­Ê¼ÍÌÍÂÁ¿´óÐ¡µÄºÃÊµÑé¡£ÁíÒ»¸öÆÕÍ¨µÄ¼¼ÇÉÊÇ°ÑÒ»¸ö´óÓÚ1MBµÄ{\ttfamily large\_file}×¤ÁôÔÚ·¢ËÍ»úÆ÷µÄ»º³åÄÚ´æÀï£¬È»ºóÖ´ÐÐ{\ttfamily ftp{$>$} get large\_file /dev/null}¡££¨ÖÁÉÙÒª¡°get¡±Á½´Î£¬ÒòÎªµÚÒ»´ÎÊÇ°ÑÎÄ¼þ×¤ÁôÔÚ·¢ËÍ»úÆ÷µÄ»º³åÄÚ´æÖÐ¡££©°ÑÎÄ¼þ×¤ÁôÔÚ»º³åÄÚ´æµÄÔ­ÒòÊÇÄã¶Ô²âÁ¿Àï»ì½ø´Ó´ÅÅÌ´æÈ¡ÎÄ¼þµÄËÙ¶È²»¸ÐÐËÈ¤¡£ÕâÒ²ÊÇ°ÑÊäÈëÊý¾Ý·¢ËÍµ½{\ttfamily /dev/null}¶ø²»ÊÇ´ÅÅÌÉÏµÄÔ­Òò¡£




\subsection{Ò»°ã¸ÅÄî}

¼´Ê¹Ò»¸ö8±ÈÌØµÄÍø¿¨ÔÚ½ÓÊÕ±³¿¿±³µÄÊý¾Ý°üÊ±Ò²Ã»ÓÐÎÊÌâ¡£µ«ÔÚ¼ÆËã»úÎÞ·¨Ñ¸ËÙµØ´ÓÍø¿¨½ÓÊÕÊý¾Ý°üÎª¸ü¶à½øÀ´µÄÊý¾Ý°üÌÚ³ö¿Õ¼äÊ±£¬À§ÄÑ¾Í³öÏÖÁË¡£Èç¹û¼ÆËã»ú²»ÄÜÑ¸ËÙµØÇå³ýÒÑ¾­½ÓÊÕµ½µÄÊý¾Ý°üÕ¼¾ÝµÄÍø¿¨ÄÚ´æ£¬Íø¿¨¾ÍÃ»ÓÐ¿Õ¼ä´æ·ÅÐÂµÄÊý¾Ý°üÁË¡£

ÔÚÕâÖÖÇé¿öÏÂ£¬Íø¿¨»òÕß¶ªÆúÐÂµÄÊý¾Ý°ü£¬»òÕß°ÑËü·ÅÔÚÒÔÇ°½ÓÊÕµÄÊý¾Ý°üÎ»ÖÃÉÏ¡£ÈÎºÎÒ»¸ö¶¼»áÒýÆðÖØÐÂ´«ËÍ¶øÑÏÖØµØÖÐ¶ÏÆ½»¬µÄÊý¾Ý´«ÊäÁ÷£¬²¢Ê¹ÐÔÄÜ±»ÑÏÖØ½µµÍ£¬Æä½µ¼¶Òò×ÓÉõÖÁ¿ÉÒÔ´ïµ½5£¡

ÓµÓÐ¸ü¶à°åÉÏÄÚ´æµÄÍø¿¨¿ÉÒÔ¡°»º³å¡±¸ü¶àµÄÊý¾Ý°ü£¬Òò´Ë¿ÉÒÔÎÞÐè¶ªÆú¾Í´¦Àí¸ü´óÁ¿µÄÍ»·¢±³¿¿±³Êý¾Ý°ü¡£ÕâÒ²¾ÍÒâÎ¶ÖøÍø¿¨²»ÐèÒªÖ÷»úÏìÓ¦´Ó»º´æ¶ÁÈ¡Êý¾Ý°üµÄÑÓ³Ù¸üÐ¡ÒÔ±ÜÃâ¶ªÆúÊý¾Ý°ü¡£

´ó¶àÊý8±ÈÌØÍø¿¨ÓÐ8kB»º´æ£¬¶ø´ó¶àÊý16±ÈÌØÍø¿¨ÓÐ16kB»º´æ¡£´ó¶àÊýµÄLinuxÇý¶¯³ÌÐòÒª±£Áô3kBµÄ»º´æ£¨×÷ÎªÁ½¸öTx»º´æ£©£¬ÕâÑù¾ÍÖ»¸ø8±ÈÌØÍø¿¨Ê£ÏÂ5kB×÷Îª½ÓÊÕµÄ¿Õ¼ä¡£ËüÖ»¹»´æ·ÅÈý¸öÍêÈ«´óÐ¡£¨1500×Ö½Ú£©µÄÒÔÌ«ÍøÊý¾Ý°ü¡£




\subsection{ISAÍø¿¨ºÍISA×ÜÏßËÙ¶È}

ÔÚÉÏÃæÌáµ½£¬Èç¹û´ÓÍø¿¨ÒÆ×ßÊý¾Ý°üµÄËÙ¶È×ã¹»¿ì£¬¼´Ê¹RxÊý¾Ý°ü»º³åÄÚ´æµÄÊýÁ¿Ð¡£¬¶ªÆú/¸²¸ÇµÄÇé¿öÒ²²»»á³öÏÖ¡£ÉèÖÃÊý¾Ý°ü´ÓÍø¿¨ÒÆµ½¼ÆËã»úÄÚ´æµÄËÙÂÊµÄÒò×ÓÊÇÁ¬½ÓÕâ¶þÕßµÄÊý¾ÝÍ¨µÀµÄËÙ¶È¡ª¡ª¼´ISA×ÜÏßµÄËÙ¶È¡££¨Èç¹ûCPUÊÇºÜÂýµÄ386sx-16£¬ËüÒ²»áÆðÒ»¶¨µÄ×÷ÓÃ¡££©

ÍÆ¼öµÄISA×ÜÏßÊ±ÖÓÎª8MHz£¬µ«ºÜ¶àÖ÷°åºÍÖÜ±ßÉè±¸¿ÉÒÔÔËÐÐÔÚ¸ü¸ßµÄÆµÂÊÉÏ¡£Ò»°ãÍ¨¹ýÔÚCMOSÉèÖÃÀïÑ¡ÔñÖ÷°å/CPUÊ±ÖÓÆµÂÊÒò×Ó£¬¿ÉÒÔÉèÖÃISA×ÜÏßµÄÊ±ÖÓÆµÂÊ¡£ÓÐÐ©ISAºÍPCI/ISAÖ÷°å¿ÉÄÜÃ»ÓÐÕâÒ»Ñ¡Ïî£¬ÄÇÃ´¾ÍÖ»ÄÜÊ¹ÓÃÖÆÔìÉÌµÄÈ±Ê¡ÖµÁË¡£

ÀýÈç£¬ÏÂÃæÊÇÔÚÒ»Ì¨40MHzµÄ486ÉÏ£¬²»Í¬ISA×ÜÏßËÙ¶ÈÏÂ£¬8±ÈÌØWD8003EPÍø¿¨ÓÃTTCP³ÌÐò²âÁ¿µÃµ½µÄÒ»Ð©½ÓÊÕËÙ¶È¡£

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        ISA×ÜÏßËÙ¶È(MHz)    Rx TTCP (kB/s)
        -------------------                  --------------
        6.7                     740
        13.4                    970
        20.0                    1030
        26.7                    1075
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


Ê¹ÓÃTCP/IP£¬¶Ô{\itshape ÈÎºÎ\/}10Mb/sÒÔÌ«Íø¿¨¶¼ÄÑÒÔµÃµ½¸ßÓÚ1075kB/sµÄ½á¹û¡£µ«ÊÇ£¬²»ÒªÆÚÍûÃ¿Ò»¸öÏµÍ³¶¼¿ÉÒÔ¹¤×÷ÔÚ¿ìµÄISA×ÜÏßËÙ¶ÈÏÂ¡£´ó¶àÊýÏµÍ³ÔÚ¸ßÓÚ13MHzµÄËÙ¶ÈÉÏÎÞ·¨Õý³£¹¤×÷¡££¨Í¬Ñù£¬Ä³Ð©PCIÏµÍ³µÄISA×ÜÏßËÙ¶È¹Ì¶¨ÔÚ8MHz£¬ËùÒÔÓÃ»§Ã»ÓÐ»ú»áÌá¸ßËü¡££©

ÁíÍâ£¬¶ÔÓÚ¿ìµÄ´«ÊäËÙ¶È£¬¿ÉÒÔ´Ó½Ï¶ÌµÄÄÚ´æºÍI/OÖÜÆÚ¼õÉÙCPUÕ¼ÓÃÁ¿ÖÐ»ñÒæ¡££¨×¢Òâ£¬ÉèÖÃÔÚISA×ÜÏßÉÏµÄÓ²ÅÌºÍÊÓÆµ¿¨Ò²»á´ÓÌá¸ßµÄISA×ÜÏßËÙ¶ÈÖÐ¸ÐÊÜµ½ÐÔÄÜµÄÌá¸ß¡££©

ÔÚÊµÑé³¬¹ý8MHzµÄISA×ÜÏßËÙ¶ÈÖ®Ç°£¬Ò»¶¨Òª±¸·ÝÄãµÄÊý¾Ý£¬²¢ÔÚÌá¸ßËÙ¶Èºó³¹µ×²âÊÔËùÓÐµÄISAÖÜ±ßÉè±¸ÊÇ·ñ¹¤×÷Õý³£¡£




\subsection{ÉèÖÃTCPµÄRx´°¿Ú}



ÔÙËµÒ»±é£¬Íø¿¨µÄ°åÉÏRAMÐ¡ÒÔ¼°Íø¿¨Óë¼ÆËã»úÄÚ´æ¼äµÄÊý¾ÝÍ¨µÀÏà¶Ô½ÏÂý»áÒýÆðÂé·³¡£TCPÈ±Ê¡µÄRx´°¿ÚÉèÖÃÎª32kB£¬Ò²¾ÍÊÇËµÓëÄãÔÚÍ¬Ò»×ÓÍøµÄÒ»Ì¨½Ï¿ìµÄ¼ÆËã»ú»áÒ»ÏÂ×Ó·¢¸øÄã32kBµÄÊý¾Ý£¬¶ø²»»áÍ£ÏÂÀ´¿´¿´ÄãÊÇ·ñÕý³£µØ½ÓÊÕµ½ÁËËüÃÇ¡£

½üÆÚ°æ±¾µÄ{\ttfamily route}ÃüÁîÄÜ¹»ÔÚÔËÐÐ¹ý³ÌÖÐÉèÖÃÕâ¸ö´°¿ÚµÄ´óÐ¡¡£Ò»°ãËüÖ»ÓÃÔÚÐèÒª¼õÐ¡¸Ã´°¿ÚµÄ¾ÖÓòÍø£¬ÒòÎªÔÚÈô¸ÉÂ·ÓÉÆ÷»òÍø¹ØºóÃæµÄ¼ÆËã»ú»áµÃµ½×ã¹»µÄ¡°»º³å¡±¶ø²»Ôì³ÉÎÊÌâ¡£ÏÂÀýÎªÒ»¸ö¿ÉÄÜµÄÓÃ·¨£º

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        route add <whatever> ... window <win_size>
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ÆäÖÐµÄ{\ttfamily win\_size}ÊÇÄãÏ£ÍûÊ¹ÓÃµÄ´°¿Ú´óÐ¡£¨ÒÔ×Ö½Ú¼ÆËã£©¡£Ò»¸öÔËÐÐÔÚ8MHz»ò¸üµÍËÙ¶ÈÏÂµÄISA×ÜÏßÉÏµÄ8±ÈÌØ3c503Íø¿¨£¬¿ÉÒÔÔÚ4kB´óÐ¡µÄ´°¿ÚÏÂºÜºÃµØ¹¤×÷¡£Ì«´óµÄ´°¿Ú»áµ¼ÖÂ¸²¸ÇºÍ¶ªÆúÊý¾Ý°ü£¬²¢ÑÏÖØ½µµÍÒÔÌ«ÍøµÄÍÌÍÂÁ¿¡£Äã¿ÉÒÔÓÃ{\ttfamily cat /proc/net/dev}¼ì²é²Ù×÷×´Ì¬£¬Ëü»áÏÔÊ¾³öÏÖµÄ¶ªÆú»ò¸²¸Ç×´¿ö¡£




\subsection{ÔöÇ¿NFSÐÔÄÜ}

ÓÐÐ©ÈË·¢ÏÖÔÚÊ¹ÓÃ8kB£¨SunµÄÔ­Ê¼Öµ£©µÄNFSÊý¾Ý°ü´óÐ¡Ê±£¬ÔÚNFS¿Í»§¶ËÊ¹ÓÃ8±ÈÌØÍø¿¨µÃµ½µÄÐÔÄÜ±ÈÔ¤ÆÚµÄÒª²î¡£

¿ÉÄÜµÄÔ­ÒòÔÚÓÚ8±ÈÌØÍø¿¨Óë16±ÈÌØÍø¿¨µÄ°åÉÏ»º´æ´óÐ¡²»Í¬¡£×î´óµÄÒÔÌ«ÍøÊý¾Ý°ü´óÐ¡Îª1500×Ö½Ú¡£ÕâÑù8kBµÄNFSÊý¾Ý°ü¾Í³ÉÎª´óÔ¼6¸ö±³¿¿±³µÄ×î´ó´óÐ¡µÄÒÔÌ«ÍøÊý¾Ý°ü¡£8±ÈÌØÍø¿¨ºÍ16±ÈÌØÍø¿¨ÔÚ½ÓÊÕ±³¿¿±³Êý¾Ý°üÊ±¶¼Ã»ÓÐÎÊÌâ¡£ÔÚ»úÆ÷ÎÞ·¨¼°Ê±´ÓÍø¿¨»º´æÒÆ×ßÊý¾Ý°üÊ±¾ÍÓÐÎÊÌâÁË£¬»º´æ»áÒç³ö¡£8±ÈÌØÍø¿¨Ã¿´Î´«ËÍÊ±Òª¶àÕ¼ÓÃÒ»¸öISA×ÜÏßÖÜÆÚµÄÊÂÊµÒ²°ï²»ÉÏÃ¦¡£Èç¹ûÓÃµÄÊÇ8±ÈÌØÍø¿¨£¬Äã{\itshape ÄÜ\/}×öµÄÊÇ°ÑNFS´«ËÍ´óÐ¡ÉèÖÃÎª2kB£¨ÉõÖÁ1kB£©£¬»òÕßÊÔÖøÌá¸ßISA×ÜÏßËÙ¶ÈÒÔ¼Ó¿ìÇå¿ÕÍø¿¨ÉÏµÄ»º´æ¡£ÎÒ·¢ÏÖ8MHzÏÂ£¨Ã»ÓÐÆäËüÏµÍ³¸ºÔØ£©£¬Ò»¸ö¾ÉµÄWD8003EÍø¿¨¿ÉÒÔ¸úµÃÉÏ2kB´óÐ¡µÄNFS½ÓÊÕ£¬µ«ÔÚ4kBÊ±£¬ÐÔÄÜ½µµÍµÄÒò×ÓÎª3¡£

ÁíÒ»·½Ãæ£¬Èç¹ûÈ±Ê¡µÄ°²×°Ñ¡ÏîÎª1kB´óÐ¡£¬¶øÄãµÄÍø¿¨ÖÁÉÙÎª16±ÈÌØµÄ
ISAÍø¿¨£¬°ÑÆä´óÐ¡Ìá¸ßµ½4kB£¨ÉõÖÁ8kB£©»áÊ¹ÐÔÄÜÏÔÖøÌá¸ß¡£




\section{ÓÐ¹ØÏúÊÛÉÌ/ÖÆÔì³§¼Ò/ÐÍºÅµÄÐÅÏ¢\label{card-intro}}



ÏÂÃæ°´ÕÕÏúÊÛÉÌÃû³ÆºÍ²úÆ·±êÊ¶µÄ×ÖÄ¸Ë³ÐòÁÐ³öÁËÐí¶àÍø¿¨¡£ÔÚÃ¿¸ö²úÆ·IDÅÔ¶¼±êÃ÷ÁË¡°Ö§³Ö¡±¡¢¡°°ëÖ§³Ö¡±»ò¡°²»Ö§³Ö¡±¡£

Ö§³ÖÒâÎ¶Öø¸ÃÍø¿¨µÄÇý¶¯³ÌÐò´æÔÚ£¬¶øÇÒÐí¶àÈËÔÚÓä¿ìµØÊ¹ÓÃÖø´ËÇý¶¯³ÌÐò£¬Ëü¿´ÆðÀ´Ïàµ±¿É¿¿¡£

°ëÖ§³ÖÒâÎ¶Öø¸ÃÍø¿¨µÄÇý¶¯³ÌÐò´æÔÚ£¬µ«ÖÁÉÙÏÂÃæµÄÃèÊöÖÐÓÐÒ»¸öÊÇÕæÊµµÄ£º(1) Çý¶¯³ÌÐò»òÓ²¼þÓÐBug£¬»áµ¼ÖÂÐÔÄÜ²î¡¢Á¬½ÓÊ§°ÜÉõÖÁËÀ»ú¡£(2) Çý¶¯³ÌÐòÊÇÐÂµÄ»òÍø¿¨²»¹»ÆÕ¼°£¬Òò´ËÇý¶¯³ÌÐòµÃµ½µÄÊ¹ÓÃ/²âÊÔ»ú»áºÜÉÙ£¬Çý¶¯³ÌÐòµÄ×÷ÕßÊÕµ½ºÜÉÙµÄ·´À¡ÐÅÏ¢¡£ºÜÃ÷ÏÔ(2)±È(1)ÒªºÃÒ»Ð©£¬ÔÚÍø¿¨/Çý¶¯³ÌÐòµÄ¶ÀÁ¢ÃèÊöÖÐ»áÖ¸Ã÷ËüÊôÓÚÄÄÖÖÇé¿ö¡£¶ÔÕâÁ½ÖÖÇé¿ö£¬ÔÚÔËÐÐ{\ttfamily make config}»Ø´ð¡°Prompt for development and/or incomplete code/drivers?¡±Ê±¶¼Ó¦¸Ã»Ø´ð¡°Y¡±¡£

²»Ö§³ÖÒâÎ¶Öø¸ÃÍø¿¨Ä¿Ç°»¹Ã»ÓÐ¿ÉÊ¹ÓÃµÄÇý¶¯³ÌÐò¡£Õâ¿ÉÄÜÊÇÓÉÓÚ¶ÔºÜÉÙ¼ûµÄÓ²¼þÈ±·¦ÐËÈ¤£¬Ò²¿ÉÄÜÊÇÏúÊÛÉÌ»¹Ã»ÓÐ·¢²¼±àÐ´Çý¶¯³ÌÐòËùÐèµÄÓ²¼þ×ÊÁÏ¡£

×¢Òâ£¬¡°Ö§³Ö¡±ºÍ¡°°ëÖ§³Ö¡±Ö®¼äµÄÇø±ðÊÇÏàµ±Ö÷¹ÛµÄ£¬ÊÇ»ùÓÚÐÂÎÅ×éºÍÓÊ¼þÁÐ±íÐÅÏ¢ÉÏµÃµ½µÄÓÃ»§·´À¡½øÐÐÇø·ÖµÄ¡££¨ÎÞÂÛÈçºÎ£¬Ò»¸öÈËÀ´²âÊÔÃ¿¸ö°æ±¾ÄÚºËÉÏËùÓÐÍø¿¨µÄËùÓÐÇý¶¯³ÌÐòÊÇ²»¿ÉÄÜµÄ£¡£¡£¡£©ËùÒÔÄã¿ÉÄÜ»á·¢ÏÖÒ»¸ö±»±êÎª°ëÖ§³ÖµÄÍø¿¨¹¤×÷µÃºÜºÃ£¨ÕâÑùºÜ²»´í£©£¬»òÕßÒ»¸ö±»±êÎªÖ§³ÖµÄÍø¿¨¸øÄã´øÀ´ÎÞÇîµÄÂé·³£¨ÕâÑù¾Í²»¹»ºÃ£©¡£

ÔÚÕâÐ©×´Ì¬ºóÃæ£¬ÁÐ³öÁËLinuxÄÚºËÖÐ¸ø³öµÄÇý¶¯³ÌÐòÃû³Æ¡£ÕâÒ²ÊÇ{\ttfamily /etc/conf.modules}Ä£¿éÅäÖÃÎÄ¼þÀï{\ttfamily alias eth0 driver\_name}Ò»ÐÐËùÊ¹ÓÃµÄÇý¶¯³ÌÐòÄ£¿éµÄÃû³Æ¡£






\subsection{3Com\label{3com}}



Èç¹ûÄãÈ·¶¨²»ÁËÄãµÄÍø¿¨ÊÇÊ²Ã´£¬µ«ÈÏÎªËüÊÇ3ComÍø¿¨£¬Äã¿ÉÒÔÍ¨¹ý¼¯³É¿é±àºÅÀ´Ê¶±ðËü¡£3ComÓÐÒ»±¾×ÊÁÏ¡°Í¨¹ý¼¯³É¿é±àºÅÊ¶±ðÊÊÅäÆ÷¡±£¨ref 24500002£©£¬ËüÓ¦¸ÃÄÜÈÃÄãÅªÃ÷°×¡£²Î¼û\ref{3com-tech} {(3ComµÄ¼¼ÊõÐÅÏ¢)}ÒÔÁË½âÈçºÎ´Ó3ComË÷È¡¸Ã×ÊÁÏ¡£

×¢Òâ£¬3Com»¹ÓÐ¸öÓÐ¸÷ÖÖºÃ¶«Î÷µÄWWW/FTPÕ¾µã£º{\ttfamily ftp.3Com.com}£¬ÄãÒ²ÐíÏëÈ¥¿´¿´¡£¶ÔÓÚÄ³Ð©ËûÃÇµÄÍø¿¨ÉõÖÁ»¹ÓÐLinuxÇý¶¯³ÌÐò£¬¿ÉÄÜÄãÏë¼ìÑéÒ»ÏÂ¡£¾ÝËµËûÃÇµÄÇý¶¯³ÌÐò²»Ì«ÎÈ¶¨£¬»òÕßÔÚSMPºÍ·Ç»ùÓÚix86µÄ»úÆ÷ÉÏ²»ÎÈ¶¨£¬ËùÒÔÐèÒª¼Ç×¡ÕâÒ»µã¡£






\subsubsection{3c501\label{3c501}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c501

ÕâÖÖ¹ýÊ±µÄÊ¯Æ÷Ê±´úµÄ8±ÈÌØÍø¿¨ÓÃÆðÀ´»áºÜÍ·ÌÛµÄ¡£ÏóÎÁÒßÒ»Ñù¶ã¿ªËü°É¡£²»ÒªÂòÕâÖÖÍø¿¨£¬ÄÄÅÂÊÇ¿ªÍæÐ¦Ò²²»ÒªÂò¡£ËüµÄÐÔÄÜºÜ²î¾¢£¬¶øÇÒºÜÈÝÒ×»µµô¡£

¶ÔÄÇÐ©»¹²»¿ÏÏàÐÅµÄÈËÀ´Ëµ£¬3c501Ò»´ÎÖ»ÄÜ¸ÉÒ»¼þÊÂ¡ª¡ªÔÚ´ÓÆäµ¥°ü»º´æÒÆ³öÒ»¸öÊý¾Ý°üÊ±£¬Ëü²»ÄÜ½ÓÊÕÁíÒ»¸ö°ü£¬ÔÚÔØÈëÒ»¸ö·¢ËÍ°üÊ±Ò²²»ÄÜ½ÓÊÕÒ»¸ö°ü¡£¶ÔÓÚÁ½Ì¨´¦ÀíÒ»¸ö°ü²¢»Ø´ð»á»¨µô10ºÁÃëµÄ»ùÓÚ8088µÄ¼ÆËã»úÖ®¼äµÄÍøÂç¶øÑÔ£¬Õâ¾Í²»´íÁË£¬µ«ÏÖ´úÍøÂç¼¸ºõÃ¿´ÎÊÂÎñ¶¼»á·¢ËÍ±³¿¿±³Êý¾Ý°ü¡£

AutoIRQ¿ÉÒÔ¹¤×÷£¬Ã»Ê¹ÓÃDMA£¬×Ô¶¯¼ì²âÖ»ÄÜ²é¿´{\ttfamily 0x280}ºÍ{\ttfamily 0x300}£¬Õï¶Ï¼¶±ðÍ¨¹ýµÚÈý¸öÆô¶¯²ÎÊýÉèÖÃ¡£

ÔÙËµÒ»±é£¬{\itshape Ç¿ÁÒ·´¶Ô\/}Ê¹ÓÃ3c501£¡¸ü²îµÄÊÇÔÚIP¹ã²¥ÄÚºËÖÐ£¬ÔÚÕìÌý{\itshape ËùÓÐ\/}¹ã²¥°üÊ±Äã»á½øÈëÔÝÍ£×´Ì¬¡£ÔÄ¶ÁÔ´ÂëÍ·²¿µÄ×¢ÊÍÒÔµÃµ½¸ü¶àµÄÏ¸½Ú¡£




\subsubsection{EtherLink II, 3c503, 3c503/16\label{3c503}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c503 (+8390)

3c503Ã»ÓÐ¡°EEPROM setup¡±£¬ËùÒÔÔÚLinuxÏÂÔËÐÐ¸ÃÍø¿¨ÎÞÐèÊ¹ÓÃÕï¶Ï/ÉèÖÃ³ÌÐò¡£3c503µÄ¹²ÏíÄÚ´æµØÖ·ÊÇÓÃÌøÏßÉèÖÃµÄ£¬ÓëÆô¶¯PROMµØÖ·¹²Ïí¡£ÊìÏ¤ÆäËüISAÍø¿¨µÄÈË¿ÉÄÜ»á±»ÅªºýÍ¿£¬ÒòÎªÆäËüISAÍø¿¨³ý·ÇÓÐÆô¶¯PROM£¬¶¼ÊÇÈÃÌøÏßÉèÎª¡°½ûÖ¹¡±µÄ¡£

ÒòÎªWD80x3µÄ×ÜÏß¿í¶ÈÒ»Ñù£¬ÕâÐ©Íø¿¨µÄËÙ¶ÈÒ²Ó¦¸ÃÒ»Ñù£¬µ«Êµ¼ÊÉÏ¸üÂýÒ»Ð©¡£ÕâÐ©¹²ÏíÄÚ´æµÄµÄÒÔÌ«Íø¿¨»¹ÓÐÒ»ÖÖ²»Ê¹ÓÃ8390¹¤¾ßµÄ¿É±à³ÌI/OÄ£Ê½£¨ËüÃÇµÄ¹¤³ÌÊ¦·¢ÏÖÁËÌ«¶àµÄBug£¡£©¡£LinuxµÄ3c503Çý¶¯³ÌÐòÒ²¿ÉÒÔ¹¤×÷ÔÚ3c503µÄ¿É±à³ÌI/OÄ£Ê½£¬µ«²»Èç¹²ÏíÄÚ´æÄ£Ê½¿É¿¿£¬¶øÇÒ¸üÂý¡£Í¬Ñù£¬ÔÚ¸üÐÂÇý¶¯³ÌÐòÊ±¿É±à³ÌI/OÄ£Ê½Ã»ÓÐºÜºÃµØ²âÊÔ¡£²»ÒªÊ¹ÓÃ¿É±à³ÌI/OÄ£Ê½£¬³ý·ÇÒªÓëMS-DOS¼æÈÝ¡£

3c503µÄIRQÖÐ¶ÏÏßÓÃÈí¼þÉèÖÃ£¬ÔÚEEPROMÖÐÃ»ÓÐÆäºÛ¼£¡£ÓëMS-DOSÇý¶¯³ÌÐò²»Í¬£¬LinuxµÄÇý¶¯³ÌÐòÓÐautoIRQµÄÄÜÁ¦£ºËüÊ¹ÓÃ$\{$5,2/9,3,4$\}$ÖÐµÚÒ»Ìõ¿ÉÓÃIRQÖÐ¶ÏÏß£¬ÔÚÃ¿´ÎÔËÐÐifconfigÊ±½øÐÐÑ¡Ôñ¡££¨ÀÏÊ½µÄÇý¶¯³ÌÐò°æ±¾ÔÚÆô¶¯Ê±Ñ¡ÔñIRQ¡££©Èç¹ûÃ»ÓÐIRQÖÐ¶ÏÏß¿ÉÓÃ£¬¡°ifconfig¡±ÀïµÄioctl()µ÷ÓÃ½«·µ»ØEAGAIN¡£

Ä³Ð©Ê¹ÓÃ503»áÓöµ½µÄ³£¼ûÎÊÌâÔÚ\ref{3com-probs} {(3ComÍø¿¨µÄÎÊÌâ)}ÖÐ½øÐÐÁËÌÖÂÛ¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£

×¢Òâ£¬Ò»Ð©¾ÉµÄÎÞÅÌ386¹¤×÷Õ¾ÓÐÒ»¸ö°åÉÏµÄ3c503£¨3ComÖÆÔì£¬µ«ÓÃÆäËüÃû³ÆÏúÊÛ£¬Èç¡°Bull¡±£©£¬µ«ÏúÊÛÉÌID²»ÊÇ3ComµÄID£¬ËùÒÔ¼ì²â²»³öÀ´¡£¸ü¶àµÄ×ÊÁÏ¿ÉÒÔÔÚEtherbootÈí¼þ°üÀïÕÒµ½£¬ÒªÆô¶¯ÕâÐ©ÎÞÅÌ¹¤×÷Õ¾ÄãÒ»¶¨µÃÓÐÕâÐ©¶«Î÷¡£




\subsubsection{Etherlink Plus 3c505\label{3c505}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c505

ÕâÐ©Íø¿¨Ê¹ÓÃi82586Ð¾Æ¬£¬µ«Ã»ÓÐÌ«¶àµÄÓÐ¹ØÕâÐ©Íø¿¨µÄ×ÊÁÏ¡£±ê×¼ÄÚºË°üº¬¸ÃÇý¶¯³ÌÐò£¬µ«Ëü±»¹éÎªalpha°æ±¾µÄÇý¶¯³ÌÐò¡£²Î¼û\ref{alfa} {(AlphaÇý¶¯³ÌÐò)}ÒÔÁË½âÔÚLinuxÏÂÊ¹ÓÃalpha/²âÊÔ°æ±¾ÒÔÌ«ÍøÇý¶¯³ÌÐòµÄÖØÒªÐÅÏ¢¡£

Èç¹ûÄãÒªÊ¹ÓÃÕâÑùµÄÍø¿¨£¬»¹Ó¦¸Ã¶ÁÒ»ÏÂ{\ttfamily /usr/src/linux/drivers/net/README.3c505}ÎÄ¼þ¡£Ëü°üº¬ÁËÄã¿ÉÒÔÊ¹ÓÃ/½ûÖ¹µÄ¸÷ÖÖÑ¡Ïî¡£




\subsubsection{Etherlink-16 3c507\label{3c507}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c507

¸ÃÍø¿¨Ê¹ÓÃÁËÒ»¿éIntelÐ¾Æ¬£¬ÆäÇý¶¯³ÌÐòµÄ¿ª·¢ÓëIntelµÄEther ExpressÇý¶¯³ÌÐò¿ª·¢¹ØÏµºÜÃÜÇÐ¡£ÔÚ±ê×¼µÄÄÚºË·¢ÐÐ°æ±¾ÖÐ°üº¬ÁËÆäÇý¶¯³ÌÐò£¬µ«ÊÇÊÇ×÷ÎªÒ»¸öalpha°æ±¾µÄÇý¶¯³ÌÐò¡£²Î¼û\ref{alfa} {(AlphaÇý¶¯³ÌÐò)}ÒÔÁË½âÔÚLinuxÏÂÊ¹ÓÃalpha/²âÊÔ°æ±¾ÒÔÌ«ÍøÇý¶¯³ÌÐòµÄÖØÒªÐÅÏ¢¡£




\subsubsection{Etherlink III, 3c509 / 3c509B\label{3c509}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c509

ÕâÖÖÍø¿¨Ïàµ±±ãÒË£¬¶øÇÒ¶ÔISAµÄÎÞ×ÜÏß¿ØÖÆµÄÉè¼Æ¶øÑÔÐÔÄÜÏàµ±ºÃ¡£ÆäÈ±µãÔÚÓÚÔ­Ê¼µÄ3c509ÒªÇóºÜµÍµÄÖÐ¶ÏÑÓ³Ù¡£3c509BÓÐÒ»¸ö½Ï´óµÄ»º´æ£¬Ó¦¸ÃÃ»ÓÐÕâ¸öÎÊÌâ¡££¨¼ûÏÂÎÄ¡££©ÕâÐ©Íø¿¨Ê¹ÓÃPIO´«Êä£¬Óëne2000Íø¿¨ÏàËÆ£¬Ïà¶Ô¶øÑÔ£¬wd8013Ò»ÀàÊ¹ÓÃ¹²ÏíÄÚ´æµÄÍø¿¨Ð§ÂÊ¸ü¸ßÒ»Ð©¡£

Ô­Ê¼µÄ3c509ÓÐÒ»¸öÐ¡µÄ°ü»º´æ£¨×Ü¹²4kB£¬2kB Rx£¬2kB Tx£©£¬Èç¹ûÖÐ¶ÏÆÁ±ÎµÄÊ±¼ä¹ý³¤£¬Çý¶¯³ÌÐò¾Í»á¶ªÆúÊý¾Ý°ü¡£Òª¼õÇáÕâ¸öÎÊÌâ£¬¿ÉÒÔ³¢ÊÔÔÚIDE´ÅÅÌ´«Êä¹ý³ÌÖÐ²»ÆÁ±ÎÖÐ¶Ï£¨²Î¼û{\ttfamily man hdparm}£©£¬»òÕßÌá¸ßISA×ÜÏßËÙ¶ÈÊ¹IDE´«Êä½áÊøµÃÔçÒ»Ð©¡£

ÐÂÐÍºÅµÄ3c509B°åÉÏ»º´æÎª8kB£¬²¢ÇÒ¿ÉÒÔ°ÑRx/Tx»®·Ö³É4/4¡¢5/3»ò6/2¡£ÕâÒ»ÉèÖÃÒªÓÃDOSÅäÖÃ¹¤¾ßÀ´¸Ä±ä£¬²¢±£´æÔÚEEPROMÉÏ¡£Õâ»á¼õÇáÉÏÃæÌáµ½Ô­Ê¼3c509µÄÎÊÌâ¡£

3c509BµÄÓÃ»§¿ÉÒÔÊ¹ÓÃÌá¹©µÄDOS¹¤¾ßÀ´½ûÖ¹{\itshape ¼´²å¼´ÓÃ\/}Ö§³Ö£¬{\itshape ²¢\/}°ÑÊä³öÃ½½éÉèÖÃÎªÒªÇóµÄ¶«Î÷¡£Ä¿Ç°µÄLinuxÇý¶¯³ÌÐò»¹{\itshape ²»\/}Ö§³Ö×Ô¶¯¼ì²âÃ½½éÉèÖÃ£¬ËùÒÔ{\itshape ±ØÐë\/}Ñ¡Ôñ10Base-T¡¢10Base-2»òAUI¡£×¢Òâ£¬ÒªÍêÈ«½ûÖ¹PnP£¬ÐèÒªÊ¹ÓÃ{\ttfamily 3C5X9CFG /PNP:DISABLE}²¢ÖØÐÂÀäÆô¶¯ÒÔÈ·±£ÉèÖÃÉúÐ§¡£

ÓÐÐ©ÈËÑ¯ÎÊDOSÅäÖÃ¹¤¾ßÖÐ³öÏÖµÄ¡°Server or Workstation¡±ºÍ¡°Highest Modem Speed¡±ÉèÖÃ¡£DonaldÐ´µÀ£º¡°ÕâÐ©Ö»²»¹ýÊÇ¸øÇý¶¯³ÌÐòµÄÌáÊ¾£¬¶øLinuxÇý¶¯³ÌÐò²»Ê¹ÓÃÕâÐ©²ÎÊý£ºËü×ÜÊÇÓÅ»¯Îª¸ßÍÌÍÂÁ¿£¬¶ø·ÇµÍÑÓ³Ù£¨¡®Server¡¯£©¡£µÍÑÓ³Ù¶ÔÓÚÀÏÊ½µÄÎÞ´°¿ÚIPXÍÌÍÂÁ¿·Ç³£¹Ø¼ü¡£ÎªÁË¼õÉÙÑÓ³Ù£¬3c509µÄMS-DOSÇý¶¯³ÌÐò¶ÔÄ³Ð©²Ù×÷½ûÖ¹ÖÐ¶Ï£¬×èÈû´®¿ÚÖÐ¶Ï¡£Òò´ËÐèÒª¡®modem speed¡¯ÉèÖÃ¡£LinuxÇý¶¯³ÌÐòÖ»¶ÔÕû¸ö°ü½øÐÐ²Ù×÷£¬ÀýÈçÔÚÊý¾Ý°üÍêÈ«´«µ½Íø¿¨ºó²Å¿ªÊ¼·¢ËÍ¸ÃÊý¾Ý°ü£¬´Ó¶ø±ÜÃâÁË³¤Ê±¼ä½ûÖ¹ÖÐ¶ÏµÄÐèÒª¡£¡±

×¢Òâ£¬ISAÍø¿¨¼ì²âÊ¹ÓÃµÄ·½·¨Óë´ó¶àÊýÍø¿¨²»Í¬¡£»ù±¾ÉÏÊÇÍ¨¹ý·¢ËÍÊý¾Ýµ½ID\_PORT£¨´Ó¶Ë¿Ú{\ttfamily 0x100}µ½{\ttfamily 0x1ff}£¬¼ä¸ôÎª{\ttfamily 0x10}£©ÒªÇóÍø¿¨ÏìÓ¦¡£ÕâÒ»¼ì²â·½·¨ÒâÎ¶ÖøÔÚ¶àISAµÄ3c509ÅäÖÃÖÐ£¬Ä³¸öÌØ¶¨Íø¿¨{\itshape ×Ü\/}ÊÇÊ×ÏÈ±»¼ì²â£¬¶øÓ²¼þÒÔÌ«ÍøµØÖ·×îµÍµÄÍø¿¨{\itshape ×Ü\/}ÊÇ×÷Îª{\ttfamily eth0}¡£ÕâÆäÊµÃ»Ê²Ã´ÎÊÌâ£¬µ«ÓÐÐ©ÈËÏëÎªÌØ¶¨µÄ½Ó¿Ú·ÖÅäÒ»¸ö6×Ö½ÚµÄÓ²¼þµØÖ·¡£Èç¹ûÓÐ¶à¿é3c509Íø¿¨£¬×îºÃ²»Ö¸¶¨I/O¶Ë¿Ú£¨¼´Ê¹ÓÃI/O=zero£©Ê¹ÓÃ{\ttfamily ether=0,0,ethN}ÃüÁî£¬ÈÃ×Ô¶¯¼ì²âÀ´ÅÅÁÐÄÄÒ»¿éÍø¿¨×÷ÎªµÚÒ»¿éÍø¿¨¡£Ê¹ÓÃ·ÇÁãµÄI/OÖµ»áÊ¹¸ÃÃüÁîÎÞ·¨¼ì²âËùÓÐµÄÍø¿¨£¬ËùÒÔ²»ÒªÕâÑù×ö¡£

Èç¹ûÕâÊ¹Äã¸Ðµ½À§ÈÅ£¬¿´Ò»ÏÂDonaldµÄ×îÐÂÇý¶¯³ÌÐò£¬Äã¿ÉÒÔÔÚÎ´Ê¹ÓÃµÄÄÚ´æµØÖ·ÓòÖÐÊ¹ÓÃÒ»¸ö{\ttfamily 0x3c509}Öµ£¬Ê¹¼ì²âµÄË³Ðò·ûºÏÄãµÄÒªÇó¡£




\subsubsection{3c515\label{cork}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c515

ÕâÊÇ3ComµÄISA 100Mbps²úÆ·£¬±àÂëÃûÎª¡°CorkScrew¡±¡£v2.2ÄÚºËÀï°üº¬ÁË´ÓDonaldÄÇ¶ùµÃµ½µÄÕâÐ©Íø¿¨µÄÏà¶Ô½ÏÐÂµÄÇý¶¯³ÌÐò¡£Òª»ñµÃ¸üÐÂµÄ×ÊÁÏ£¬¿ÉÒÔ·ÃÎÊVortexµÄÍøÒ³£º

\nameurl{http://www.scyld.com/linux/drivers/vortex.html}{Vortex}






\subsubsection{3c523\label{3c523}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c523

Õâ¸öMCA×ÜÏßµÄÍø¿¨Ê¹ÓÃi82586£¬Chris BeauregardÐÞ¸ÄÁËni52Çý¶¯³ÌÐòÓÃÓÚÕâÐ©Íø¿¨¡£ÔÚv2.2ÄÚºËÔ´ÂëÊ÷Àï¿ÉÒÔÕÒµ½ËüµÄÇý¶¯³ÌÐò¡£

¸ü¶àµÄÏ¸½Ú¿ÉÒÔÔÚMCA-LinuxµÄÍøÒ³ÉÏÕÒµ½
{\ttfamily http://glycerine.cetmm.uni.edu/mca/}




\subsubsection{3c527\label{3c527}}

×´Ì¬£º²»Ö§³Ö¡£

¶Ô£¬ÕâÊÇÁíÒ»¸öMCAÍø¿¨£¬¶ÔËüÃ»ÐËÈ¤¡£Èç¹ûÄã¼á³ÖÓÃMCA£¬×îºÃÓÃ3c529¡£




\subsubsection{3c529\label{3c529}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c509

Õâ¸öÍø¿¨Êµ¼ÊÉÏÊ¹ÓÃÓë3c509ÏàÍ¬µÄÐ¾Æ¬×é¡£Êµ¼ÊÉÏÔçÔÚÄÚºËÀï¼Ó½ø¶ÔMCAµÄÖ§³ÖÖ®Ç°£¬Donald¾ÍÒÑ¾­ÔÚ3c509µÄÇý¶¯³ÌÐòÀï·ÅÁËÐ©¹³×Óº¯Êý£¬ÔÚÌ½²âÍêEISAÍø¿¨ºó£¬¿ªÊ¼Ì½²âISAÍø¿¨Ö®Ç°£¬¼ì²éMCAÍø¿¨¡£ËùÐèµÄMCAÌ½²â´úÂë±»°üº¬ÔÚÓëv2.2ÄÚºËÒ»ÆðÌá¹©µÄÇý¶¯³ÌÐòÀï¡£¸ü¶àµÄÏ¸½Ú¿ÉÒÔÔÚMCA-LinuxÍøÒ³ÉÏÕÒµ½£º

{\ttfamily http://glycerine.cetmm.uni.edu/mca/}




\subsubsection{3c562}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c589£¨¶ÀÁ¢·¢ÐÐ£©

Õâ¸öPCMCIAÍø¿¨ÊÇ3c589BÍø¿¨ÓëmodemµÄ×éºÏ¡£¶ÔÓÚÖÕ¶ËÓÃ»§£¬modemÓëÒ»¸ö±ê×¼µÄmodemÒ»Ñù¡£Î¨Ò»µÄÂé·³ÊÇÒªÊ¹Á½¸ö¶ÀÁ¢µÄLinuxÇý¶¯³ÌÐò¹²ÓÃÒ»¸öÖÐ¶Ï¡£¸Ã¿¨ÉÏÓÐÒ»Ð©ÐÂµÄ¼Ä´æÆ÷ºÍÒ»Ð©Ö§³Ö¹²ÏíÖÐ¶ÏµÄÓ²¼þ¡£ÐèÒªÊ¹ÓÃÖ§³Ö¹²ÏíÖÐ¶ÏµÄv2.0ÒÔÉÏµÄÄÚºË°æ±¾¡£



ÔÙ´Î¸ÐÐ»CameronÌá¹©¸øDavid HindsµÄÑùÆ·ºÍ×ÊÁÏ¡£ÇëÔÚDavid·¢ÐÐµÄPCMCIAÈí¼þ°üÀïÑ°ÕÒÖ§³Ö¡£

²Î¼û\ref{pcmcia} {(PCMCIAÖ§³Ö)}ÒÔÁË½â¸ü¶àµÄÓÐ¹ØPCMCIAÐ¾Æ¬×é¡¢socketÆôÓÃÈí¼þµÈÐÅÏ¢¡£




\subsubsection{3c575}

×´Ì¬£ºÎ´Öª¡£

Õâ¸öPCMCIAÍø¿¨µÄÇý¶¯³ÌÐòÕýÔÚ¿ª·¢ÖÐ£¬µ«Ô¸ÒÔºó»á°üº¬ÔÚDavidµÄPCMCIAÈí¼þ°üÀï¡£×îºÃ¼ì²éÒ»ÏÂPCMCIAÈí¼þ°üÒÔÁË½âÄ¿Ç°µÄ×´Ì¬¡£




\subsubsection{3c579\label{3c579}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c509

EISA°æ±¾µÄ509¡£Ä¿Ç°µÄEISA°æ±¾»¹Ê¹ÓÃÍ¬ÑùµÄ16±ÈÌØ¿íµÄÐ¾Æ¬£¬¶ø²»ÊÇ32±ÈÌØµÄ½Ó¿Ú£¬ËùÒÔÐÔÄÜÉÏµÄ¸ÄÉÆ²¢²»ÁîÈË¾ªÆæ¡£È·¶¨Íø¿¨±»ÅäÖÃÎªEISAÑ°Ö·Ä£Ê½¡£ÔÄ¶ÁÉÏÃæµÄ3c509Ò»½ÚÒÔÁË½âÇý¶¯³ÌÐòµÄÐÅÏ¢¡£




\subsubsection{3c589 / 3c589B\label{3c589}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c589

ÏÖÔÚÕâÖÖPCMCIAÍø¿¨ÒÑ¾­±»ºÜ¶àÈËÊ¹ÓÃÁËÏàµ±³¤Ê±¼ä¡£×¢Òâ¶ÔËüµÄÖ§³Ö£¨Ä¿Ç°£©»¹²»°üÀ¨ÔÚÈ±Ê¡µÄÄÚºËÔ´ÂëÊ÷ÄÚ¡£Ãû³ÆÖÐ¡°B¡±µÄº¬ÒåÓë3c509µÄÇé¿öÏàÍ¬¡£

ÔÚDonaldµÄftpÕ¾µãºÍDavid HindsµÄPCMCIAÈí¼þ°üÀï¶¼ÓÐ¿ÉÓÃµÄÇý¶¯³ÌÐò¡£Äã»¹ÐèÒªÒ»Ì×Ö§³ÖPCMCIA¿ØÖÆÆ÷µÄÐ¾Æ¬×é¡£²Î¼û\ref{pcmcia} {(PCMCIAÖ§³Ö)}ÒÔÁË½â¸ü¶àµÄÓÐ¹ØPCMCIAÐ¾Æ¬×é¡¢socketÆôÓÃÈí¼þµÈÐÅÏ¢¡£




\subsubsection{3c590 / 3c595\label{vortex}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c59x

ÕâÐ©¡°Vortex¡±Íø¿¨ÊÇÓÃÔÚPCI×ÜÏß»úÆ÷ÉÏµÄ£¬'590ÊÇ10MbpsµÄ²úÆ·£¬'595ÊÇ3ComµÄ100Mbs²úÆ·¡£×¢Òâ'595Ò²¿ÉÒÔÏó'590Ò»ÑùÔËÐÐ£¨¼´Ê¹ÓÃ10MbpsÄ£Ê½£©¡£Çý¶¯³ÌÐò°üº¬ÔÚv2.0ÄÚºËÔ´ÂëÖÐ£¬µ«»¹ÔÚ²»¶ÏÉý¼¶¡£Èç¹ûÔÚÊ¹ÓÃv2.0ÄÚºËÀïµÄÇý¶¯³ÌÐòÊ±Óöµ½ÎÊÌâ£¬¿ÉÒÔ´ÓÏÂÃæµÄURL»ñÈ¡Ò»¸ö¸üÐÂµÄÇý¶¯³ÌÐò£º

\nameurl{http://www.scyld.com/linux/drivers/vortex.html}{Vortex}

×¢Òâ£¬ÏÖÔÚÓÐÁ½ÖÖ²»Í¬µÄ3c590Íø¿¨£¬½ÏÔçµÄÐÍºÅÓÐ32kBµÄ°åÉÏÄÚ´æ£¬ºóÀ´µÄÐÍºÅÖ»ÓÐ8kBµÄ°åÉÏÄÚ´æ¡£¿ÉÄÜÄãÂòÒ»¸öÐÂµÄ3c59x»¹Ã»ÓÐ¶à¾Ã£¬Ëü¾ÍÕýÔÚ±»3c90xËùÈ¡´ú¡£Èç¹ûÄãÊÇÂò±ðÈËµÄ¶þÊÖ»õ£¬Ïë·¨Åªµ½Ò»¸ö32kBµÄÐÍºÅ¡£3c595Íø¿¨ÓÐ64kB°åÉÏÄÚ´æ£¬ÒòÎªÎÞ·¨Ö»ÓÃ8kBµÄRAM¾ÍÄÜ´ïµ½100Mbps£¡

¸ÐÐ»Cameron SpitzerºÍ3ComµÄTerry Murphy¸øDonaldÌá¹©Íø¿¨ºÍ×ÊÁÏ£¬Ê¹DonaldÄÜÐ´³öÇý¶¯³ÌÐòÀ´¡£




\subsubsection{3c592 / 3c597}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c59x

ÕâÐ©ÊÇEISA°æ±¾µÄ3c59xÏµÁÐÍø¿¨¡£3c592/3c597£¨ÓÖÃûÎªDemon£©¿ÉÒÔÊ¹ÓÃÉÏÃæÌÖÂÛµÄvortexÇý¶¯³ÌÐò¡£




\subsubsection{3c900 / 3c905 / 3c905B / 3c905C}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c59x

ÕâÐ©Íø¿¨£¨ÓÖÃûÎª¡°Boomerang¡±£¬»òEtherLink III XL£©ÊÇÓÃÀ´È¡´ú3c590/3c595Íø¿¨µÄ¡£

¶ÔCycloneµÄ¡°B¡±°æ±¾µÄÖ§³Ö×î½ü²Å¼Ó½øÀ´¡£ÒªÔÚv2.0Ö®Ç°µÄÄÚºËÊ¹ÓÃ¸ÃÍø¿¨£¬±ØÐë´ÓÈçÏÂµÄDonaldÕ¾µã»ñÈ¡¸üÐÂºóµÄ{\ttfamily 3c59x.c}Çý¶¯³ÌÐò£º

\nameurl{http://www.scyld.com/network}{Vortex-Page}






\subsubsection{3c985}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºacenic

Jes SorensenÌá¹©µÄÇý¶¯³ÌÐòÔÚv2.2ÄÚºËÀïÄÜÕÒµ½¡£³ýÁË3ComµÄÐÍºÅ£¬Ëü»¹Ö§³Ö¼¸ÖÖÆäËüµÄ¼ª±ÈÌØÍø¿¨¡£




\subsection{Accton\label{accton}}






\subsubsection{Accton MPX}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

²»Òª±»ËüµÄÃû×ÖÆ­ÁË¡£Ëü»¹ÊÇNE2000¼æÈÝÍø¿¨£¬¿ÉÒÔÊ¹ÓÃne2000Çý¶¯³ÌÐò¡£




\subsubsection{Accton EN1203, EN1207, EtherDuo-PCI}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip»òrtl8139

ÏÔÈ»ÓÐ¼¸ÖÖÐÞ¶©°æµÄEN1207£¨Aµ½D£©£¬ÆäÖÐA¡¢BºÍCÊÇ»ùÓÚtulipµÄ£¬¶øD°æ±¾µÄÊÇ»ùÓÚRealTek 8139£¨Çý¶¯³ÌÐò²»Í¬£©¡£ËùÒÔÔÚ¹ºÂòÊ±ÒªÈ·¶¨Èç¹û³öÎÊÌâ¿ÉÒÔÍË»Ø¡£




\subsubsection{Accton EN2209 Parallel Port Adaptor (EtherPocket)}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º?

ÏÖÔÚÓÐÕâÐ©²¢¿ÚÊÊÅäÆ÷µÄÇý¶¯³ÌÐò£¬µ«»¹²»°üÀ¨ÔÚ2.0»ò2.1°æ±¾ÄÚºËÔ´ÂëÖÐ¡£¿ÉÒÔ´ÓÈçÏÂÖ÷Ò³»ñÈ¡Çý¶¯³ÌÐò£º

{\ttfamily http://www.unix-ag.uni-siegen.de/\~{}nils/accton\_linux.html}






\subsubsection{Accton EN2212 PCMCIA Card}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º?

David HindsÔÚ±àÐ´¸ÃÍø¿¨µÄÇý¶¯³ÌÐò£¬×îºÃ¼ì²éÒ»ÏÂËûµÄPCMCIAÈí¼þ°üÒÔÁË½âÄ¿Ç°µÄ×´Ì¬¡£






\subsection{Allied Telesyn/Telesis\label{allied-telesis}}






\subsubsection{AT1500\label{at-1500}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

ÕâÐ©ÊÇÊ¹ÓÃ79C960°æ±¾µÄAMD LANCEµÄÏµÁÐµÍ³É±¾ÒÔÌ«Íø¿¨¡£ËüÃÇÊÇ¿ÉÒÔ¿ØÖÆ×ÜÏßµÄÍø¿¨£¬Òò´ËÊÇÒ»ÖÖ¿ÉÓÃµÄ½Ï¿ìµÄISA×ÜÏßÒÔÌ«Íø¿¨¡£

DMAÑ¡ÔñºÍÐ¾Æ¬ºÅÂëÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£

¸ü¶àÓÐ¹Ø»ùÓÚAMD LANCEµÄÒÔÌ«Íø¿¨µÄ¼¼ÊõÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÕÒµ½¡£




\subsubsection{AT1700\label{at1700}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºat1700

×¢Òâ£¬ÒªÔÚ{\ttfamily make config}Ê±·ÃÎÊ¸ÃÇý¶¯³ÌÐòÒÀÈ»ÐèÒªÏÈÔÚ»Ø´ð¡°Prompt for development and/or incomplete code/drivers?¡±Ê±»Ø´ð¡°Y¡±¡£ÕâÖ»ÊÇÒòÎªÕâÖÖÍø¿¨ºÜÉÙ¼û£¬µ¼ÖÂÇý¶¯³ÌÐòÎÈ¶¨ÐÔµÄ·´À¡Ì«ÉÙ¡£Èç¹ûÓëÄÚºËÒ»ÆðÌá¹©µÄÇý¶¯³ÌÐò³öÏÖÎÊÌâ£¬Ò²ÐíÄã»á¶ÔÒÔÏÂµÄÌæ´úÇý¶¯³ÌÐò¸ÐÐËÈ¤£º{\ttfamily http://www.cc.hit-u.ac.jp/nagoya/at1700/}

Allied TelesisµÄAT1700ÏµÁÐÍø¿¨ÊÇ»ùÓÚFujitsuµÄMB86965Ð¾Æ¬µÄ¡£¸ÃÐ¾Æ¬Ê¹ÓÃ¿É±à³ÌI/O½Ó¿ÚºÍÒ»¶Ô¹Ì¶¨´óÐ¡µÄ´«Êä»º´æ¡£ÕâÑùÔÚ·¢ËÍ±³¿¿±³µÄÒ»Ð¡×éÊý¾Ý°üÊ±£¬ÇÐ»»»º´æ´øÀ´µÄÍ£¶Ù½ÏÐ¡¡£

¸ÃÍø¿¨µÄÒ»¸ö¶ÀÌØÖ®´¦ÔÚÓÚ³ýÁËÄÜ¹»Çý¶¯10baseTµÄ100Å·Ä·UTP£¨·ÇÆÁ±ÎË«½ÊÏß£©Ö®Íâ£¬»¹ÄÜ¹»Çý¶¯Ò»°ã°²×°ÔÚÁîÅÆ»·ÉÏµÄ150Å·Ä·STP£¨ÆÁ±ÎË«½ÊÏß£©¡£¸ÃÍø¿¨»¹ÓÐÒ»¸ö¹âÏË°æ±¾(AT1700FT)¡£

ÓÃÔÚAT1700ÉÏµÄFujitsuÐ¾Æ¬ÓÐÒ»¸öÉè¼ÆÉÏµÄÈ±ÏÝ£ºËüÐèÒª»úÆ÷¶ÏµçÀ´ÍêÈ«ÖØÆð¡£Ê¹ÓÃreset°´Å¥ÎÞ·¨ÖØÆð×ÜÏß½Ó¿Ú¡£ÕâÒ²²»ÊÇÌ«»µ£¬Ö»²»¹ýÔÚÖØÆðºó²ÅÄÜ¿É¿¿µØ±»¼ì²âµ½¡£½â¾ö·½·¨ÊÇÔÚÄÚºË¼ì²âAT1700ÓÐÎÊÌâÊ±¹Ø»úÆ÷ÖØÆð¡£






\subsubsection{AT2400\label{at2400}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º ne, ne2k-pci (+8390) 

»¹ÊÇPCI NE2000¼æÈÝÍø¿¨£¬ËüÊÇ»ùÓÚRealTek 8029Ð¾Æ¬µÄ¡£




\subsubsection{AT2450\label{at2450}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÊÇPCI°æ±¾µÄAT1500£¬¶øÇÒÃ»ÓÐBocaµÄ79c970 PCIÍø¿¨ÄÇÑùµÄÎÊÌâ¡£DMAÑ¡ÔñºÍÐ¾Æ¬ºÅÂëÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£

¸ü¶àÓÐ¹Ø»ùÓÚAMD LANCEµÄÒÔÌ«Íø¿¨µÄ¼¼ÊõÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÕÒµ½¡£




\subsubsection{AT2500}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºrtl8139

¸ÃÍø¿¨Ê¹ÓÃRealTekµÄ8139Ð¾Æ¬¡ª¡ª²Î¼û\ref{rtl8139} {(RealTek 8139)}Ò»½Ú¡£




\subsubsection{AT2540FX\label{at2540}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeepro100

¸ÃÍø¿¨Ê¹ÓÃi82557Ð¾Æ¬£¬Òò´Ë¿ÉÄÜ/Ó¦¸ÃÄÜ¹»Ê¹ÓÃeepro100µÄÇý¶¯³ÌÐò¡£Èç¹ûÄãÊÔÓÃ¹ý£¬Çë·¢¸øÎÒÒ»·Ý±¨¸æÒÔ¸üÐÂ±¾ÐÅÏ¢¡£




\subsection{AMD / Advanced Micro Devices\label{amd}}



AMDµÄCarl ChingÓÑºÃµØÌá¹©ÁË·Ç³£Ïê¾¡µÄËùÓÐÓÐ¹ØAMDÒÔÌ«Íø²úÆ·µÄ×ÊÁÏ£¬¶Ô³ÎÇå±¾½ÚÄÚÈÝºÜÓÐ°ïÖú¡£




\subsubsection{AMD LANCE (7990, 79C960/961/961A, PCnet-ISA)\label{lance}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

ÕâÊµ¼ÊÉÏ²»ÊÇAMDµÄÒÔÌ«Íø¿¨¡£Äã»áÔÄ¶Á±¾Ð¡½ÚµÄÔ­ÒòÊÇ£¬ÄãÔÚÍø¿¨ÉÏÖ»ÄÜÕÒµ½AMD±ê¼ÇºÍÉÏÊöÊý×Ö¡£7990ÊÇÔ­Ê¼µÄ¡°LANCE¡±Ð¾Æ¬£¬µ«´ó¶àÊý×ÊÁÏ£¨°üÀ¨±¾ÎÄµµ£©¶¼°´ÕÕ¡°LANCE¡±Ð¾Æ¬¶Ô´ýËùÓÐÕâÐ©ÀàËÆµÄÐ¾Æ¬¡££¨......ÎÒ¿ÉÒÔ¼ÓÒ»¾ä£ºÕâÑùÊÇ²»¶ÔµÄ¡££©

ÉÏÃæÕâÐ©Êý×ÖÖ¸Ã÷ÁË×÷ÎªÐí¶àÒÔÌ«Íø¿¨µÄºËÐÄµÄAMDÐ¾Æ¬¡£ÀýÈç£¬Allied TelesisµÄAT1500£¨²Î¼û\ref{at-1500} {(AT1500)}£©ºÍNE1500/2100£¨²Î¼û\ref{ne1500} {(NE1500)}£©¾ÍÊ¹ÓÃÁËÕâÐ©Ð¾Æ¬¡£

7990/79c90ÔçÒÑ±»ÐÂ°æ±¾ËùÈ¡´ú¡£79C960£¨ÓÖÃûPCnet-ISA£©Ö÷Òª°üº¬79c90ºËÐÄÒÔ¼°ËùÓÐÆäËü±ØÐëµÄÓ²¼þÖ§³Ö£¬¿É×÷Îªµ¥Æ¬ÒÔÌ«Íø¿¨µÄ½â¾ö·½°¸¡£79c961(PCnet-ISA+)ÊÇ'960µÄÎÞÌøÏß¼´²å¼´ÓÃ°æ±¾¡£ISAÏµÁÐµÄ×îºóÒ»¸öÐ¾Æ¬ÊÇ79c961A(PCnet-ISA II)£¬Ôö¼ÓÁËÈ«Ë«¹¤µÄ¹¦ÄÜ¡£³ýÁËÄÇÐ©Ê¹ÓÃ¹²ÏíÄÚ´æÅäÖÃµÄÔ­Ê¼7990µÄ·Ç³£¹ÅÀÏµÄÍø¿¨£¬ËùÓÐÊ¹ÓÃÕâÐ©Ð¾Æ¬µÄÍø¿¨¶¼¿ÉÒÔÊ¹ÓÃlance.cÇý¶¯³ÌÐò¡£¿ÉÒÔÍ¨¹ýDMAÍ¨µÀÃ»ÓÐÌøÏßÀ´±æÈÏ³öÕâÐ©ÀÏÍø¿¨¡£

Ò»¸ö³£¼ûµÄÎÊÌâÊÇÓöµ½¡°busmaster arbitration failure¡±ÏûÏ¢¡£ÔÚ¹Ì¶¨µÄÊ±¼äÖ®ÄÚ£¨50us£©LANCEÇý¶¯³ÌÐòÎÞ·¨·ÃÎÊ×ÜÏßÊ±¾Í»á³öÏÖÕâÒ»ÏûÏ¢¡£ÕâÍ¨³£Ô¤Ê¾Ö÷°åÉÏµÄ×ÜÏß¿ØÖÆDMA±»ÆÆ»µ£¬»òÕßÄ³Ð©ÆäËüÉè±¸°ÔÕ¼ÁË×ÜÏß£¬»òÕßDMAÍ¨µÀ³öÏÖ³åÍ»¡£Èç¹ûÄãµÄBIOSÉèÖÃÖÐÓÐ¡°GAT option¡±£¨±£Ö¤´æÈ¡Ê±¼ä£©£¬ÄÇÃ´ÊÔÖø¸Ä±äÒ»ÏÂÆäÉèÖÃ¿´¿´ÓÐÃ»ÓÐÐ§¡£

Í¬ÑùÒª×¢Òâ£¬¶ÔÒ»¸öºÏ·¨Íø¿¨£¬Çý¶¯³ÌÐòÖ»²é¿´ÒÔÏÂµØÖ·£º{\ttfamily 0x300, 0x320, 0x340, 0x360}£¬Æô¶¯²ÎÊý{\ttfamily ether=}ËùÌá¹©µÄµØÖ·±»¾²ÇÄÇÄµØÂÔ¹ýÁË£¨¶Ô´Ë½«½øÐÐÐÞ¸Ä£©£¬ËùÒÔÏÖÔÚÒªÈ·¶¨ÄãµÄÍø¿¨ÅäÖÃÎªÉÏÊöµÄÒ»¸öI/OµØÖ·¡£

¼´Ê¹°²×°ÁË³¬¹ý16MBµÄÄÚ´æ£¬¸ÃÇý¶¯³ÌÐòÒÀÈ»¹¤×÷µÃºÜºÃ£¬ÒòÎª±ØÒªÊ±Ëü»áÊ¹ÓÃµÍ¶ËÄÚ´æ¡°bounce-buffers¡±£¨¼´ÔÚ·¢ËÍÊý¾Ýµ½Íø¿¨½øÐÐ´«ÊäÖ®Ç°£¬16MBÒÔÉÏÄÚ´æµÄÊý¾Ý»áÏÈ¿½±´µ½16MBÒÔÏÂµÄÒ»¸ö»º´æÀï¡££©

DMAÍ¨µÀ¿ÉÒÔÓÃ³ý´ËÖ®Íâ²»±»Ê¹ÓÃµÄdev-{$>$}mem\_startÖµµÄµÍÎ»½øÐÐÉèÖÃ£¨ÓÖÃûPARAM\_1£©¡££¨²Î¼û\ref{ether} {(PARAM\_1)}£©Èç¹ûÃ»ÓÐÉèÖÃ£¬ÄÇÃ´°´´ÎÐòÆôÓÃÃ¿¸ö¿ÕÏÐµÄDMAÍ¨µÀ²¢¼ì²éÊÇ·ñ³õÊ¼»¯³É¹¦À´½øÐÐÌ½²â¡£

HP-J2405A°åÊÇ¸öÀýÍâ£ºÔÚ¸Ã°åÉÏºÜÈÝÒ×¶Á³öEEPROMÉèÖÃµÄIRQºÍDMAµÄÖµ¡£

²Î¼û\ref{amd-notes} {(Notes on AMD...)}ÒÔÁË½â¸ü¶àÓÐ¹ØÕâÐ©Ð¾Æ¬µÄÐÅÏ¢¡£




\subsubsection{AMD 79C965 (PCnet-32)\label{pcnet-32}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÊÇPCnet-32¡ª¡ªÓÃÓÚVL×ÜÏßºÍ¾Ö²¿×ÜÏßÏµÍ³µÄÔ­Ê¼LANCEÐ¾Æ¬µÄ32±ÈÌØ×ÜÏß¿ØÖÆ°æ±¾¡£ÕâÐ©Ð¾Æ¬¿ÉÒÔÓÃ±ê×¼µÄ{\ttfamily lance.c}Çý¶¯³ÌÐò²Ù×÷£¬Í¬Ê±»¹ÓÐÒ»¸ö²»ÊÜÈÎºÎISA×ÜÏßÓÐ¹Ø16MBÏÞÖÆµÄ32±ÈÌØ°æ±¾µÄÇý¶¯³ÌÐò£¨{\ttfamily pcnet32.c}£©¡£




\subsubsection{AMD 79C970/970A (PCnet-PCI)\label{pcnet-pci}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÊÇPCnet-PCI¡ª¡ªÓëPCnet-32ÏàËÆ£¬²»¹ýÊÇÎª»ùÓÚPCI×ÜÏßÏµÍ³Éè¼ÆµÄ¡£Çë²ÎÔÄÉÏÃæµÄPCnet-32ÐÅÏ¢¡£ÕâÒâÎ¶ÖøÐèÒª¹¹½¨Ò»¸öÆôÓÃPCI BIOSÖ§³ÖµÄÄÚºË¡£'970AÔÚÔ­Ê¼µÄ'970Éè¼ÆÉÏÔö¼ÓÁËÈ«Ë«¹¤Ö§³Ö¼°ÆäËüÒ»Ð©ÌØÐÔ¡£

×¢Òâ£¬BocaÖÆÔìµÄ79C970ÎÞ·¨ÓÃÔÚ½Ï¿ìµÄ±¼ÌÚ»úÆ÷ÉÏ¡£ÕâÊÇ¸öÓ²¼þ´íÎó£¬ËüÒ²»áÓ°ÏìDOSÓÃ»§¡£²Î¿¼BocaÒ»½ÚÒÔÁË½â¸ü¶àµÄÏ¸½Ú¡£




\subsubsection{AMD 79C971 (PCnet-FAST)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÊÇÓÃÓÚPCIÏµÍ³µÄAMDµÄ100MbitÐ¾Æ¬£¬Ò²Ö§³ÖÈ«Ë«¹¤²Ù×÷¡£1996Äê6ÔÂ³ö²ú¡£




\subsubsection{AMD 79C972 (PCnet-FAST+)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÒÑ¾­Ö¤Êµ¸ÃÍø¿¨¹¤×÷Çé¿öÓë'971Ò»Ñù¡£




\subsubsection{AMD 79C974 (PCnet-SCSI)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÊÇPCnet-SCSI¡ª¡ª´ÓÒÔÌ«ÍøµÄ¹ÛµãÀ´¿´»ù±¾ÉÏ°´'970´¦Àí¡£²Î¿´ÉÏÎÄ¡£²»ÒªÎÊÊÇ·ñÖ§³ÖÐ¾Æ¬µÄSCSI²¿·Ö¡ª¡ª±¾ÎÄÊÇ{\itshape ÒÔÌ«Íø-HowTo\/}£¬²»ÊÇSCSI-HowTo¡£




\subsection{Ansel Communications\label{ansel}}






\subsubsection{AC3200 EISA}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºac3200

×¢Òâ£¬ÒªÔÚ{\ttfamily make config}Ê±·ÃÎÊ¸ÃÇý¶¯³ÌÐòÒÀÈ»ÐèÒªÏÈÔÚ»Ø´ð¡°Prompt for development and/or incomplete code/drivers?¡±Ê±»Ø´ð¡°Y¡±¡£ÕâÖ»ÊÇÒòÎªÕâÖÖÍø¿¨ºÜÉÙ¼û£¬µ¼ÖÂÇý¶¯³ÌÐòÎÈ¶¨ÐÔµÄ·´À¡Ì«ÉÙ¡£

ÆäÇý¶¯³ÌÐò×÷Îªalpha²âÊÔÇý¶¯³ÌÐò±»°üº¬ÔÚÄ¿Ç°µÄÄÚºËÀï¡£¸ÃÍø¿¨ÊÇ»ùÓÚne2000ºÍwd80x3Íø¿¨ÉÏÊ¹ÓÃµÄÆÕÍ¨µÄNS8390Ð¾Æ¬¡£Çë²Î¼û±¾ÎÄµÄ\ref{alfa} {(AlphaÇý¶¯³ÌÐò)}ÒÔÁË½âÔÚLinuxÏÂÊ¹ÓÃalpha°æÇý¶¯³ÌÐòµÄÖØÒªÐÅÏ¢¡£

Èç¹ûÄãÔÚÊ¹ÓÃ¸ÃÍø¿¨£¬ÇëÈÃÎÒÃÇÖªµÀËüµÄ¹¤×÷Çé¿ö£¬ËäÈ»ÔÚv1.1.25ÄÚºËÀï¾Í°üº¬ÁËÆäÇý¶¯³ÌÐò£¬µ«·´À¡ÐÅÏ¢ºÜÉÙ¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsection{Apricot}






\subsubsection{Apricot Xen-II On Board Ethernet}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºapricot

ÕâÊÇÊ¹ÓÃi82596×ÜÏß¿ØÖÆÐ¾Æ¬µÄ°åÉÏÒÔÌ«Íø¿¨¡£ËüµÄI/OµØÖ·Ö»ÄÜÊÇ{\ttfamily 0x300}¡£´ÓÇý¶¯³ÌÐòµÄÔ´ÂëÉÏµÃÖª£¬ÆäIRQÒ²±»Ó²¼þ¹Ì¶¨Îª10¡£

ÔçÆÚ°æ±¾µÄÇý¶¯³ÌÐòÇãÏòÓÚÈÏÎª{\ttfamily 0x300}´¦´æ·ÅµÄÒ»¶¨ÊÇapricot NIC¡£ºóÀ´²Å¶ÔÓ²¼þµØÖ·½øÐÐ¼ì²éÒÔ±ÜÃâ´íÎóµÄ¼ì²â¡£




\subsection{Arcnet\label{arcnet}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºarcnet (arc-rimi, com90xx, com20020)

ÓÉÓÚ¸ÃÍø¿¨µÄ¼Û¸ñ·Ç³£µÍÁ®¶øÇÒÒÔÌ«ÍøÐÔÄÜºÜºÃ£¬¿ÉÄÜÈËÃÇ»áÓÐºÜ¶à»ú»á¾èÏ×³öËûÃÇµÄArcnetÓ²¼þ£¬Ê¹µÃºÜ¶à¼ÒÓÃÏµÍ³¶¼Ê¹ÓÃArcnet¡£

ArcnetµÄÒ»¸öÓÅµãÔÚÓÚËùÓÐµÄÍø¿¨½Ó¿Ú¶¼Ò»Ñù£¬ËùÒÔÖ»ÐèÒªÒ»¸öÇý¶¯³ÌÐò¡£Ëü»¹ÄÚ½¨ÁË´íÎó´¦Àí»úÖÆ£¬¾ÝÐÅ²»»á¶ªÊ§Êý¾Ý°ü¡££¨¶ÔUDPÀ´ËµÕâ¿ÉÌ«°ôÁË£¡£©×¢Òâ£¬arcnetÇý¶¯³ÌÐòÊ¹ÓÃ¡°arc0¡±×÷Îª×Ô¼ºµÄÃû×Ö£¬¶ø²»ÊÇÍ¨³£µÄÒÔÌ«ÍøÉè±¸Ãû¡°eth0¡±¡£

ÔÚ±ê×¼ÄÚºËÀï°üº¬ÁËÈô¸ÉÉèÖÃÌøÏß¡¢Ò»°ãÌáÊ¾ºÍÓÊ¼ÄBug±¨¸æµØÖ·µÄÐÅÏ¢ÎÄ¼þ¡£

¾ÝÐÅ100MbsµÄARCnetÍø¿¨Ò²¿ÉÒÔÍ¬ÑùÊ¹ÓÃ¸ÃÇý¶¯³ÌÐò£¡




\subsection{AT\&T}



×¢Òâ£¬AT\&TµÄStarLANÊÇÒ»ÖÖ¹Âµº¼¼Êõ£¬¸úSynOpticsµÄLattisNetÒ»Ñù£¬²»ÄÜÔÚ±ê×¼µÄ10Base-T»·¾³ÀïÊ¹ÓÃ£¬Ã»ÓÐÄÜ½øÐÐ¡°Ïà»¥½»Á÷¡±µÄHub¡£




\subsubsection{AT\&T T7231 (LanPACER+)}

×´Ì¬£º²»Ö§³Ö¡£

ÕâÐ©StarLANÍø¿¨Ê¹ÓÃµÄ½Ó¿ÚÀàËÆÓÚi82586Ð¾Æ¬¡£Matthijs Melchior£¨{\ttfamily matthijs.n.melchior@att.com}£©Ôø¾­ÊÔÖøÓÃ¹ý3c507µÄÇý¶¯³ÌÐò£¬ºÃÏó²î²»¶à¿ÉÒÔ¹¤×÷ÁË¡£µ«´ÓÄÇÖ®ºó¾ÍÔÙÃ»Ìý¹ý¶àÉÙÏûÏ¢ÁË¡£




\subsection{Boca Research\label{boca}}



²»´í£¬ËûÃÇ²»¹âÊÇÖÆÔì¶à¿Ú´®ÐÐ¿¨¡£




\subsubsection{Boca BEN400}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ÏÔÈ»ÕâÊÇÒ»¿îNE2000¼æÈÝÍø¿¨£¬Ê¹ÓÃVIA VT86C916Ð¾Æ¬¡£




\subsubsection{Boca BEN (ISA, VLB, PCI)\label{boca-ben}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance, pcnet32

ÕâÐ©Íø¿¨¶¼ÊÇ»ùÓÚAMDµÄPCnetÐ¾Æ¬¡£ÐèÒª¾¯¸æÒ»ÏÂÇ±ÔÚµÄÂò¼Ò£¬Ðí¶àÓÃ»§ÔÚÊ¹ÓÃÕâÐ©VLB/PCIÍø¿¨Ê±Óöµ½ÁËÃ»ÍêÃ»ÁËµÄÂé·³¡£¿ìµÄ±¼ÌÚÏµÍ³ÓÃ»§ÊÜµ½ÁËÌØ±ðµÄ´ò»÷¡£×¢ÒâÕâ²¢²»ÊÇÇý¶¯³ÌÐòµÄÎÊÌâ£¬ÒòÎªDOS/Win/NTÓÃ»§Ò²Ò»ÑùÓöµ½Âé·³¡£BocaµÄ¼¼ÊõÖ§³Öµç»°ºÅÂëÊÇ(407) 241-8088£¬Ò²¿ÉÒÔÍ¨¹ý{\ttfamily 75300.2672@compuserve.com}ÕÒµ½ËûÃÇ¡£ÀÏÊ½µÄISAÍø¿¨¿´À´Ã»Óöµ½ÕâÖÖÎÊÌâ¡£

Boca¶ÔÊÜÓ°ÏìµÄÊ¹ÓÃÕßÌá¹©¡°°üÐÞ¡±·þÎñ£¬ÐèÒªÔö¼ÓÒ»¸öÈ±ÉÙµÄµçÈÝ£¬ËäÈ»¿ÉÒÔ½â¾öÒ»Ð©ÎÊÌâ£¬µ«¶Ô´ó¶àÊýÈËÀ´Ëµ²¢·Ç°Ù·ÖÖ®°Ù×àÐ§¡£

Èç¹ûÄú{\itshape ÈÔÈ»\/}ÏëÂòÕâÖÖÍø¿¨£¬ÖÁÉÙÊÔÖøµÃµ½Ò»¸ö7ÌìÎÞÌõ¼þÍË»õµÄÌõ¿î£¬ÕâÑùÒ»µ©³öÎÊÌâÄã¾Í¿ÉÒÔÍË»õ¡£

ÓÐ¹ØAMDÐ¾Æ¬¸üÒ»°ãµÄÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£

»ùÓÚAMD LANCEµÄÒÔÌ«Íø¿¨µÄ¸ü¶à¼¼ÊõÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÕÒµ½¡£




\subsection{Cabletron\label{ctron}}



DonaldÐ´µÀ£º¡°ÊÇµÄ£¬ÓÖÒ»¸ö²»¿ÏÌá¹©±à³Ì×ÊÁÏµÄ¹«Ë¾¡£ËûÃÇÒªµÈ´ý¼¸¸öÔÂÀ´×îÖÕÈ·¶¨
ËùÓÐËûÃÇµÄ×ÊÁÏ¶¼ÊÇË½ÓÐµÄ£¬ÐîÒâÀË·ÑÎÒµÄÊ±¼ä¡£Èç¹û¿ÉÒÔµÄ»°£¬Ïó¶ã±ÜÎÁÒßÒ»Ñù±ÜÃâÊ¹ÓÃËûÃÇµÄÍø¿¨¡£»¹Òª×¢Òâ£¬ÓÐÈËÔø´òµç»°¸øCabletron£¬½á¹ûÌýµ½Ê²Ã´¡®ÓÐ¸öD. BeckerÔÚ±àÐ´LinuxÏÂµÄÇý¶¯³ÌÐò¡¯Ö®ÀàµÄ»°¡ª¡ªºÃÏóÎÒÊÇÎªËûÃÇ¹¤×÷µÄ¡£ÍêÈ«²»ÊÇÕâÃ´»ØÊÂ¡£¡±



¿´À´×Ô´Ó¼¸ÄêÇ°DonaldÐ´ÁËÉÏÊö×¢ÊÍºó£¬Cabletron¸Ä±äËûÃÇ¶ÔÓÚ±à³Ì×ÊÁÏµÄÕþ²ß£¨ÏóXircomÒ»Ñù£©¡ª¡ªÈç¹ûÄãÏëÖ¤ÊµÕâÒ»µã»òË÷È¡±à³ÌÐÅÏ¢µÄ»°£¬·¢¸öe-mail¸ø{\ttfamily support@ctron.com}¡£µ«ÊÇ£¬ÏÖÔÚ¼¸ºõÃ»ÓÐÈË¶ÔÀÏÊ½µÄE20xxºÍE21xxÍø¿¨Ìá³öÐÞ¸Ä/¸üÐÂÇý¶¯³ÌÐòµÄÒªÇóÁË¡£




\subsubsection{E10**, E10**-x, E20**, E20**-x\label{e10xx}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ÕâÐ©²î²»¶àËãÊÇNEx000¼æÈÝÍø¿¨£¬¾Ý±¨¸æ¿ÉÒÔÊ¹ÓÃ±ê×¼µÄNEx000Çý¶¯³ÌÐò£¬ÕâÒª¸ÐÐ»Ì½²âÊ±µÄctronÌØÐÔ¼ì²é¡£Èç¹ûÓÐÎÊÌâ£¬¼¸ºõ²»¿ÉÄÜÐÞ¸´£¬ÒòÎªÃ»ÓÐ±à³Ì×ÊÁÏ¡£




\subsubsection{E2100\label{e2100}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºe2100 (+8390)

ÓÖÀ´ÁË£¬ÔÚ±à³Ì×ÊÁÏË½ÓÐµÄÇé¿öÏÂÊ²Ã´¶¼×ö²»ÁË¡£E2100µÄÉè¼ÆºÜ²î¾¢¡£Ã¿´Î´«ËÍÊý¾Ý°üÓ³ÉäËüµÄ¹²ÏíÄÚ´æÊ±£¬Ëü¶¼ÒªÓ³Éäµ½{\itshape Õû¸ö128KµÄÇøÓò£¡\/}Õâ¾ÍÒâÎ¶ÖøÄã{\bfseries ÎÞ·¨}ÔÚ´ËÇøÓò°²È«µØÊ¹ÓÃÁíÒ»¸öÖÐ¶ÏÇý¶¯µÄ¹²ÏíÄÚ´æÉè±¸£¬°üÀ¨ÁíÒ»¸öE2100¡£¾ø´ó¶àÊýÊ±¼äËü¶¼Õý³£¹¤×÷£¬µ«Ê±²»Ê±µØ»áÒ§ÄãÒ»¿Ú¡££¨¶Ô£¬Õâ¸öÎÊÌâ¿ÉÒÔÍ¨¹ý´«ËÍÊý¾Ý°üÊ±¹ØÖÐ¶ÏÀ´±ÜÃâ£¬µ«ÄÇÑù¼¸ºõ¿Ï¶¨»á¶ªÊ§Ê±ÖÓticks¡££©Í¬Ñù£¬Èç¹û´íÎóµØ¶Ô°å½øÐÐÁË±à³Ì£¬»òÕßÔÚ´íÎóµÄÊ±¿ÌÔÝÍ£»úÆ÷£¬¼´Ê¹reset°´Å¥¶¼ÎÞ·¨ÉúÐ§¡£Äã{\itshape ±ØÐë\/}¹Ø»ú²¢{\itshape ±£³Ö\/}30ÃëÖ®ºóÔÙ¿ª»ú¡£

Ã½½éÑ¡ÔñÊÇ×Ô¶¯½øÐÐµÄ£¬µ«¿ÉÒÔÓÃdev-$>$mem\_end²ÎÊýµÄµÍ±ÈÌØÎ»À´¸²¸Ç¡£²Î¼û\ref{ether} {(PARAM\_2)}¡£Ä£¿éÓÃ»§¿ÉÒÔÔÚ{\ttfamily /etc/conf.modules}ÎÄ¼þÀïÖ¸¶¨{\ttfamily xcvr=N}Öµ×÷Îª{\ttfamily option}¡£

Í¬Ñù£¬²»Òª°ÑE2100µ±³ÉNE2100µÄ¼æÈÝÍø¿¨¡£E2100ÊÇ²ÉÓÃNatSemiµÄDP8390µÄ¹²ÏíÄÚ´æÉè¼Æ£¬´óÖÂÓëÉËÄÔ½îµÄWD8013ÏàËÆ£¬¶øNE2100£¨ºÍNE1500£©ÊÇÓÃ×ÜÏß¿ØÖÆµÄAMDµÄLANCEÉè¼ÆµÄ¡£

ÔÚ±ê×¼ÄÚºËÀï°üº¬ÁËE2100µÄÇý¶¯³ÌÐò¡£µ«ÊÇ£¬ÎÞ·¨¿´µ½Æä±à³Ì×ÊÁÏ£¬²»ÒªÖ¸ÍûÓÐBugÐÞ¸´¡£³ý·ÇÄãÒÑ¾­ÂòÁË¸ÃÍø¿¨£¬²»ÒªÓÃËü¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsubsection{E22**\label{e2200}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

°´ÕÕCabletron¼¼Êõ¹«¸æÅÆÉÏµÄ×ÊÁÏ£¬ÕâÐ©Íø¿¨Ê¹ÓÃ±ê×¼AMDµÄPC-NetÐ¾Æ¬×é£¨²Î¼û\ref{lance} {(AMD PC-Net)}£©¶øÇÒ¿ÉÒÔÊ¹ÓÃÆÕÍ¨µÄlanceÇý¶¯³ÌÐò¡£




\subsection{Cogent}



ÏÂÃæÊÇ½øÐÐÁªÏµµÄµØÖ·ºÍ·½·¨£º



\begin{verbatim}
        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.

        ¼¼ÊõÖ§³Ö£º
        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
\end{verbatim}





\subsubsection{EM100-ISA/EISA}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsmc9194

ÕâÐ©Íø¿¨Ê¹ÓÃSMCµÄ91c100Ð¾Æ¬£¬¿ÉÒÔÊ¹ÓÃSMCµÄ91c92Çý¶¯³ÌÐò£¬µ«»¹Ã»µÃµ½Ö¤Êµ¡£




\subsubsection{Cogent eMASTER+, EM100-PCI, EM400, EM960, EM964}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÕâÐ©ÊÇÁíÒ»ÖÖDECµÄ21040Íø¿¨£¬Ï£Íû¿ÉÒÔÊ¹ÓÃ±ê×¼21040Çý¶¯³ÌÐòºÜºÃµØ¹¤×÷¡£

EM400ºÍEM964ÊÇÊ¹ÓÃDECµÄ21050ÇÅ½ÓÆ÷ºÍ4Æ¬21040Ð¾Æ¬µÄ4¶Ë¿ÚÍø¿¨¡£

²Î¼û\ref{dec-21040} {(DEC 21040)}ÒÔÁË½âÕâÐ©Íø¿¨µÄ¸ü¶àÐÅÏ¢ºÍµ±Ç°Çý¶¯³ÌÐòµÄ×´¿ö¡£




\subsection{Compaq}



Compaq²¢²»ÕæÕý´ÓÊÂÖÆÔìÒÔÌ«Íø¿¨£¬µ«ËûÃÇµÄºÜ¶àÏµÍ³¶¼ÔÚÖ÷°åÉÏÇ¶ÈëÁËÒÔÌ«Íø¿ØÖÆÆ÷¡£




\subsubsection{Compaq Deskpro / Compaq XL (Embedded AMD Chip)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÖîÈçXLÏµÁÐµÄ»úÆ÷ÔÚÖ÷°åÉÏÓÐÒ»Æ¬AMDµÄ79c97x PCIÐ¾Æ¬£¬¿ÉÒÔÊ¹ÓÃ±ê×¼µÄLANCEÇý¶¯³ÌÐò¡£µ«ÔÚÊ¹ÓÃÇ°£¬±ØÐëÊ¹ÓÃÒ»Ð©¼¼ÇÉ°ÑPCI BIOS·Åµ½¿ÉÒÔ±»Linux·¢ÏÖµÄµØ·½¡£Frank MaasÓÑºÃµØÌá¹©ÁËÆäÖÐµÄÏ¸½Ú£º

¡°Compaq»úÆ÷µÄÕâ¸öÎÊÌâÔÚÓÚÆäPCIÄ¿Â¼±»ÔØÈë¸ß¶ËÄÚ´æ£¬LinuxÄÚºËÎÞ·¨´ïµ½ÄÇÒ»µã¡£½á¹û£ºÍø¿¨¼ì²â²»µ½£¬Ò²ÎÞ·¨Ê¹ÓÃ£¨ÁíÍâÊó±êÒ²²»¹¤×÷£©¡£Æä½â¾ö·½·¨£¨ÔÚhttp://www-c724.uibk.ac.at/XL/ÀïÓÐÏê¾¡µÄÃèÊö£©ÊÇÔØÈëMS-DOS£¬Ê¹ÓÃCompaq±àÐ´µÄÒ»¸öÐ¡Çý¶¯³ÌÐò£¬È»ºóÓÃLOADLINÔØÈëLinuxÄÚºË¡£ºÃ°É£¬ÄãÒ²ÐíÏëËµ¡°ÅÞ¡¢ÅÞ¡±£¬µ«µ½Ä¿Ç°ÎªÖ¹£¬ÕâÊÇËùÎÒÖªµÀµÄÎ¨Ò»°ì·¨¡£ÄÇ¸öÐ¡Çý¶¯³ÌÐòµÄ×÷ÓÃÖ»²»¹ýÊÇ°ÑPCIÄ¿Â¼·Åµ½ÆäÕý³£µÄ´æ´¢Î»ÖÃ£¨ÕâÑùLinux¾Í¿ÉÒÔÕÒµ½ËüÁË£©¡±

¸ü¶àÓÐ¹ØAMDÐ¾Æ¬µÄÒ»°ã×ÊÁÏ¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£




\subsubsection{Compaq Nettelligent/NetFlex£¨Ç¶ÈëThunderLANÐ¾Æ¬£©}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºtlan

ÕâÐ©ÏµÍ³Ê¹ÓÃTexas InstrumentsµÄThunderLANÐ¾Æ¬¡£ÓÐ¹ØThunderLANÇý¶¯³ÌÐòµÄ×ÊÁÏ¿ÉÔÚ\ref{tlan} {(ThunderLAN)}ÕÒµ½¡£




\subsubsection{Compaq PCI card}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeepro100

¼ì²éÄãµÄÍø¿¨¡ª¡ªÈç¹ûËüµÄÁã¼þµÇ¼ÇºÅÊÇ323551-821»òÕßÉÏÃæÓÐÒ»Æ¬intel 82558Ð¾Æ¬£¬ÄÇËü¾ÍÊÇÁíÒ»ÖÖ»ùÓÚIntel EEPro100µÄÍø¿¨¡£






\subsection{Danpex}






\subsubsection{Danpex EN9400}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÓÖÒ»¸ö»ùÓÚDECµÄ21040Ð¾Æ¬µÄÍø¿¨£¬¾Ý±¨¸æÐÔÄÜÍ¦ºÃ£¬¼Û¸ñ±È½Ï±ãÒË¡£

²Î¼û\ref{dec-21040} {(DEC 21040)}ÒÔÁË½âÕâÐ©Íø¿¨µÄ¸ü¶àÐÅÏ¢ºÍµ±Ç°Çý¶¯³ÌÐòµÄ×´¿ö¡£




\subsection{D-Link\label{d-link}}






\subsubsection{DE-100, DE-200, DE-220-T, DE-250\label{de-100}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

Ò»Ð©ÔçÆÚµÄD-LinkÍø¿¨Ã»ÓÐPROMµÄ±êÊ¶{\ttfamily 0x57}£¬µ«ne2000Çý¶¯³ÌÐòÄÜÊ¶±ðËüÃÇ¡£¶ÔÓÚÈí¼þÅäÖÃµÄÍø¿¨£¬¿ÉÒÔ´Ó{\ttfamily www.dlink.com}µÃµ½ÅäÖÃ³ÌÐò¡£DE2**Íø¿¨Ôø¾­¹ãÎª±¨µÀÔÚÔçÆÚ°æ±¾µÄLinuxÏÂ»á²úÉú´«ÊäµØÖ·²»Æ¥ÅäµÄÐé¼Ù´íÎó¡£×¢Òâ£¬ÓÐÒ»Ð©Digital (DEC)µÄÍø¿¨Ò²½Ð×öDE100ºÍDE200£¬Ö»ÊÇÃû³ÆÏàÍ¬¶øÒÑ¡£




\subsubsection{DE-520\label{de-520}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÊÇÊ¹ÓÃPCI°æ±¾AMDµÄLANCEÐ¾Æ¬µÄPCIÍø¿¨¡£DMAÑ¡ÔñºÍÐ¾Æ¬ºÅÂëÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£

¸ü¶àÓÐ¹Ø»ùÓÚAMD LANCEµÄÒÔÌ«Íø¿¨µÄ¼¼ÊõÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÕÒµ½¡£




\subsubsection{DE-528}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne, ne2k-pci (+8390)

ºÜÃ÷ÏÔD-LinkÒÑ¾­¿ªÊ¼ÖÆÔìPCI NE2000¼æÈÝÍø¿¨ÁË¡£






\subsubsection{DE-530\label{de-530}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÕâÊÇÒ»¿îÊ¹ÓÃDECµÄ21040 PCIÐ¾Æ¬µÄÍ¨ÓÃÍø¿¨£¬¾Ý±¨¸æ¿ÉÒÔÊ¹ÓÃÍ¨ÓÃµÄ21040 tulipÇý¶¯³ÌÐò¡£×¢Òâ£¬Ëü²»ÊÇDFE-530¡£

²Î¼û\ref{dec-21040} {(DEC 21040)}ÒÔÁË½âÕâÐ©Íø¿¨µÄ¸ü¶àÐÅÏ¢ºÍµ±Ç°Çý¶¯³ÌÐòµÄ×´¿ö¡£




\subsubsection{DE-600\label{de-600}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde600

±Ê¼Ç±¾µçÄÔÒÔ¼°ÏëÈÃµçÄÔ¿ì½ÝµØÁªÉÏÒÔÌ«ÍøµÄÓÃ»§¿ÉÄÜÓÃ¸ÃÍø¿¨±È½ÏºÃ¡£ÔÚÈ±Ê¡µÄÄÚºËÔ´ÂëÊ÷ÀïÓÐËüµÄÇý¶¯³ÌÐò£¬ÊÇBjorn Ekwall {\ttfamily bj0rn@blox.se}±àÐ´µÄ¡£Í¨¹ý²¢¿Ú¿ÉÒÔ´Ó¸ÃÍø¿¨»ñµÃ180kb/sµÄ´«ËÍËÙ¶È¡£ÇëÔÄ¶ÁÄÚºËÔ´ÂëÊ÷ÀïµÄREADME.DLINKÎÄ¼þ¡£

×¢Òâ£¬{\itshape ÏÖÔÚ\/}´«µÝ¸ø{\ttfamily ifconfig}µÄÉè±¸ÃûÎª{\ttfamily eth0}£¬¶ø²»ÊÇÒÔÇ°ÓÃµÄ{\ttfamily dl0}¡£

Èç¹ûÄãµÄ²¢¿Ú{\itshape ²»\/}ÊÇÔÚ±ê×¼µÄ{\ttfamily 0x378}£¬ÄÇÃ´ÐèÒªÖØÐÂ½øÐÐ±àÒë£¬ÒòÎªµØÖ·ÊÇÖ±½Ó±àÒëµ½Çý¶¯³ÌÐòÀïµÄ¡£Í¬Ñù»¹Òª×¢Òâ£¬Ä³Ð©±Ê¼Ç±¾µçÄÔÖ÷°åÉÏµÄ²¢¿ÚÎ»ÓÚ{\ttfamily 0x3bc}£¬Ä³Ð©Ò»Ìå»¯°å¿¨µÄ²¢¿ÚÒ²ÊÇÕâÑù¡£




\subsubsection{DE-620\label{de-620}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde620

ÓëDE-600Ò»Ñù£¬Ö»ÊÇÓÐÁ½ÖÖÊä³ö¸ñÊ½¡£BjornÎª1.1ÒÔÉÏ°æ±¾ÄÚºËÀïµÄÕâÖÖÐÍºÅÍø¿¨±àÐ´ÁËÇý¶¯³ÌÐò¡£²Î¼ûÉÏÃæÓÐ¹ØDE-600µÄÐÅÏ¢¡£




\subsubsection{DE-650\label{de-650}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde650 (?)

ÕâÖÖPCMCIAÍø¿¨ÒÑ¾­±»ÓÐÐ©ÈËÔÚËûÃÇµÄ±Ê¼Ç±¾µçÄÔÉÏÊ¹ÓÃÒ»¶ÎÊ±¼äÁË¡£ËüÊÇ¸ö»ù±¾µÄ8390Éè¼Æ£¬ÓëNE2000ºÜÏàÏó¡£LinkSysµÄPCMCIAÍø¿¨ºÍIC-CardµÄEthernet¶¼±»ÈÏÎªÊÇDE-650¼æÈÝÍø¿¨¡£×¢Òâ£¬Ä¿Ç°ÆäÇý¶¯³ÌÐò»¹{\itshape ²»\/}ÊÇ±ê×¼ÄÚºËµÄÒ»²¿·Ö£¬ËùÒÔÐèÒª×öÒ»Ð©´ò²¹¶¡µÄ¹¤×÷¡£²Î¼û±¾ÎÄµµµÄ\ref{pcmcia} {(PCMCIAÖ§³Ö)}¡£




\subsubsection{DFE-530TX}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºvia-rhine

ÓÖÒ»¿îÊ¹ÓÃVIA RhineÐ¾Æ¬×é¡££¨²Î¼û\ref{rhine} {(VIA Rhine)}£©²»Òª°ÑËüÍ¬»ùÓÚtulipµÄÍø¿¨DE-530Ïà»ìÏý¡£




\subsubsection{DFE-538TX}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºrtl8139, 8139too

¸ÃÍø¿¨Ê¹ÓÃRealTek 8139Ð¾Æ¬¡ª¡ª²Î¼û\ref{rtl8139} {(RealTek 8139)}Ò»½Ú¡£




\subsection{DFI\label{dfi}}






\subsubsection{DFINET-300ºÍDFINET-400\label{dfi-300}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ÓÖÒ»¿î×¾ÁÓÉè¼ÆµÄNE¼æÈÝÍø¿¨¡ª¡ªÕâÐ©Íø¿¨ÔÚPROMµÄÇ°Èý¸ö×Ö½ÚÊ¹ÓÃ¡°DFI¡±£¬¶ø²»ÊÇÏóËùÓÐNE1000ºÍNE2000Íø¿¨ÄÇÑùÔÚµÚ14ºÍ15×Ö½ÚÊ¹ÓÃ{\ttfamily 0x57}¡££¨300ÊÇ8±ÈÌØµÄÎ±NE1000¼æÈÝ¿¨£¬400ÊÇÎ±NE2000¼æÈÝ¿¨¡££©






\subsection{Digital / DEC\label{dec}}






\subsubsection{DEPCA, DE100/1, DE200/1/2, DE210, DE422\label{dec-200}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºdepca

Ô´ÎÄ¼þ¡°depca.c¡±ÀïµÄËµÃ÷°üº¬ÁËÔÚÒ»Ì¨»úÆ÷ÀïÈçºÎÊ¹ÓÃ¶à¿é´ËÀàÍø¿¨¡£×¢Òâ£¬DE422ÊÇEISAÍø¿¨¡£ÕâÐ©Íø¿¨¶¼ÊÇ»ùÓÚAMDµÄLANCEÐ¾Æ¬¡£²Î¼û\ref{lance} {(AMD LANCE)}ÒÔÁË½â¸ü¶àÐÅÏ¢¡£Í¬Ê±×î¶àÖ»ÄÜÊ¹ÓÃÁ½¿éISAÍø¿¨£¬ÒòÎªËüÃÇµÄI/O»ùÖ·Ö»ÄÜÉèÖÃÔÚ{\ttfamily 0x300}ºÍ{\ttfamily 0x200}¡£Èç¹ûÏëÕâÃ´×öµÄ»°£¬ÇëÔÄ¶Á±ê×¼ÄÚºËÔ´ÂëÊ÷ÖÐµÄÇý¶¯³ÌÐòÔ´ÎÄ¼þ{\ttfamily depca.c}ÀïµÄ×¢ÊÍ¡£

ÆäÇý¶¯³ÌÐòÒ²¿ÉÒÔÓÃÔÚ»ùÓÚAlpha CPUµÄ»úÆ÷ÉÏ£¬ÓÃ»§»¹¿ÉÒÔÊ¹ÓÃÆäÖÐµÄ¸÷ÖÖioctl()º¯Êý¡£




\subsubsection{Digital EtherWorks 3 (DE203, DE204, DE205)\label{dec-ewrk3}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºewrk3

ÕâÐ©Íø¿¨Ê¹ÓÃDECµÄË½ÓÐÐ¾Æ¬£¬¶ø²»ÊÇÏóÔçÆÚµÄDE200Íø¿¨ÄÇÑùÊ¹ÓÃLANCEÐ¾Æ¬¡£ËüÃÇÖ§³Ö¹²ÏíÄÚ´æºÍ¿É±à³ÌI/OÁ½ÖÖ¹¤×÷·½Ê½£¬µ«ÔÚÊ¹ÓÃPIOÄ£Ê½Ê±ÆäÐÔÄÜ»áÏÂ½µ50\%¡£¹²ÏíÄÚ´æµÄ´óÐ¡¿ÉÒÔÉèÖÃÎª2kB¡¢32kB»ò64kB£¬µ«Çý¶¯³ÌÐòÖ»½øÐÐÁË2kBºÍ32kBÏÂµÄ²âÊÔ¡£ÔÚÇý¶¯³ÌÐòÎÄ¼þ{\ttfamily ewrk3.c}µÄ¿ªÍ·ÓÐ¸ü¶àµÄÐÅÏ¢£¨°üÀ¨ÈçºÎ°ÑËü×÷Îª¿ÉÔØÈëÄ£¿éÊ¹ÓÃ£©£¬ÔÚ{\ttfamily README.ewrk3}ÀïÒ²ÓÐ´ËÀàÐÅÏ¢¡£ÔÚ·¢ÐÐµÄ±ê×¼ÄÚºËÀï°üº¬ÁËÕâÁ½¸öÎÄ¼þ¡£Óëdepca.cÒ»Ñù£¬¸ÃÇý¶¯³ÌÐòÒ²Ö§³ÖAlpha CPU¡£

±ê×¼µÄÇý¶¯³ÌÐòÀïÓÐÒ»Ð©ÓÐÈ¤µÄioctl()µ÷ÓÃ£¬¿ÉÒÔÓÃÀ´»ñÈ¡»òÇå³ýÊý¾Ý°üÍ³¼ÆÐÅÏ¢¡¢¶Á/Ð´EEPROM¡¢¸Ä±äÓ²¼þµØÖ·µÈ¡£ºÚ¿Í¿ÉÒÔÔÄ¶ÁÔ´´úÂëÒÔÁË½â¸ü¶à´ËÀàÐÅÏ¢¡£

³ýÁËÆäËü¹¤¾ßÈí¼þ£¬David»¹ÎªÕâÐ©Íø¿¨±àÐ´ÁËÒ»¸öÅäÖÃ¹¤¾ß£¨ÒÀÕÕDOS³ÌÐò{\ttfamily NICSETUP.EXE}£©¡£ÕâÐ©¶¼¿ÉÒÔÔÚ´ó¶àÊýLinuxµÄFTPÕ¾µãµÄÄ¿Â¼{\ttfamily /pub/Linux/system/Network/management}ÏÂÕÒµ½¡ª¡ª²éÕÒÎÄ¼þ{\ttfamily ewrk3tools-X.XX.tar.gz}¡£






\subsubsection{DE425 EISA, DE434, DE435, DE500  \label{dec-eisa}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÕâÐ©Íø¿¨ÊÇ»ùÓÚÏÂÃæ»áÌáµ½µÄ21040Ð¾Æ¬¡£DE500Ê¹ÓÃ21140Ð¾Æ¬Ìá¹©10/100MbsÒÔÌ«ÍøµÄÁ¬½Ó¡£ÔÄ¶ÁÏÂÃæµÄ21040Ò»½ÚÒÔÁË½âÆäËüÐÅÏ¢¡£ÔÚ·ÇDECÍø¿¨Ê¹ÓÃ´ËÇý¶¯³ÌÐòÊ±»¹ÓÐÒ»Ð©±àÒëÊ±µÄÑ¡Ïî¡£Ï¸½Ú¿É¼û{\ttfamily README.de4x5}¡£

ËùÓÐDigitalÍø¿¨¶¼×Ô¶¯Ì½²âÃ½½é£¨³ýÁËDE500ÔÝÊ±ÒòÎª×¨ÀûµÄÔ­Òò»¹²»Ö§³ÖÕâÒ»µã£©¡£

Çý¶¯³ÌÐòÒ²Ö§³ÖAlpha CPU£¬¿ÉÒÔ±»×÷ÎªÄ£¿éÔØÈë¡£ÓÃ»§¿ÉÒÔÍ¨¹ýioctl()µ÷ÓÃ·ÃÎÊÇý¶¯³ÌÐòµÄÄÚ²¿¡ª¡ª²Î¿¼¡°ewrk3¡±¹¤¾ßºÍde4x5.cÔ´ÂëÒÔÁË½âÈçºÎÊ¹ÓÃ¡£




\subsubsection{DEC 21040, 21041, 2114x, Tulip \label{dec-21040}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

DEC 21040ÊÇDigitalµÄ×ÜÏß¿ØÖÆµ¥Æ¬ÒÔÌ«Íø¿¨²úÆ·£¬ÓëAMDµÄPCnetÐ¾Æ¬ÀàËÆ¡£21040ÊÇÎªPCI×ÜÏß½á¹¹ÌØ±ðÉè¼ÆµÄ¡£ÏÔÈ»Ä¿Ç°²»ÔÙÉú²úÕâÐ©Ð¾Æ¬ÁË£¬ÒòÎªIntel¹ºÂòÁËDECµÄ°ëµ¼Ìå²¿·Ö£¬¸üÇãÏòÓÚÊ¹ÓÃËûÃÇ×Ô¼ºµÄÒÔÌ«Íø¿¨Ð¾Æ¬¡£

¶Ô»ùÓÚ´ËÐ¾Æ¬µÄÍø¿¨¿ÉÒÔÔÚ{\itshape Á½¸ö\/}Çý¶¯³ÌÐòÖ®¼ä½øÐÐÑ¡Ôñ¡£ÉÏÃæÌÖÂÛÁËDE425Çý¶¯³ÌÐò£¬»¹ÓÐÒ»¸öÍ¨ÓÃµÄ21040¡°tulip¡±Çý¶¯³ÌÐò¡£

{\bfseries ¾¯¸æ£º}¼´Ê¹ÄãµÄÍø¿¨ÊÇ»ùÓÚ¸ÃÐ¾Æ¬µÄ£¬{\itshape Çý¶¯³ÌÐòÒ²¿ÉÄÜ³öÎÊÌâ\/}¡£DaviesÐ´µÀ£º

¡°ÎÞ·¨±£Ö¤¡®tulip.c¡¯»ò¡®de4x5.c¡¯¿ÉÒÔÇý¶¯ÈÎÒ»»ùÓÚDC2114xµÄÍø¿¨£¬³ý·ÇËµÃ÷Ö§³Ö¸ÃÍø¿¨¡£ÎªÊ²Ã´£¿£¿ÒòÎªÒ»¸ö¼Ä´æÆ÷£¬Í¨ÓÃ¼Ä´æÆ÷£¨CSR12£©£¬(1)DC21140AÖÐµÄCSR12ÊÇ¿É±à³ÌµÄ£¬¶ø¸÷¸öÏúÊÛÉÌµÄÊµÏÖ¸÷²»ÏàÍ¬£»(2)DC21142/3ÖÐµÄCSR12ÏÖÔÚÊÇ¸öSIA¿ØÖÆ¼Ä´æÆ÷£¨°´ÕÕDC21041µÄ·½Ê½£©¡£Î¨Ò»µÄÏ£ÍûÊÇSROM¿ÉÒÔ±àÂëÀ´°ïÖú¹¹½¨Çý¶¯³ÌÐò¡£µ«Õâ²¢·Ç¿ÉÒÔÈ·±£µÄ½â¾ö·½°¸£¬ÒòÎªÓÐÐ©ÏúÊÛÉÌ£¨ÈçSMCµÄ9332Íø¿¨£©²¢Î´×ñ´ÓDigital SemiconductorÍÆ¼öµÄSROM±à³Ì¸ñÊ½¡£¡±

´Ó·Ç¼¼ÊõµÄ½Ç¶ÈÉÏËµ£¬Õâ¾ÍÒâÎ¶ÖøÄãÎÞ·¨È·¶¨Ò»¸öÎ´ÖªµÄ²ÉÓÃDC2114xÐ¾Æ¬µÄÍø¿¨¿ÉÒÔÊ¹ÓÃLinuxÇý¶¯³ÌÐò£¬ËùÒÔÔÚ¹ºÂòÍø¿¨{\itshape Ö®Ç°\/}£¬×îºÃÈ·¶¨Ò»ÏÂ¿ÉÒÔÍË»õ¡£

ÔÚºÜ¶à½üÆÚµÄSMC EtherPowerÍø¿¨ÖÐÒ²·¢ÏÖ21041Ð¾Æ¬±»ÓÃÀ´´úÌæ21040¡£21140¿ÉÒÔÖ§³Ö100Base-T£¬²¢Ê¹ÓÃ21040Ð¾Æ¬µÄLinuxÇý¶¯³ÌÐò¡£Èç¹ûÒª¶Ô·ÇDECµÄÍø¿¨Ê¹ÓÃDavidµÄ{\ttfamily de4x5}Çý¶¯³ÌÐò£¬ÇëÏÈ¿´Ò»ÏÂ{\ttfamily README.de4x5}ÀïµÄÏ¸½Ú¡£

Èç¹ûÓÐÎÊÌâµÄ»°£¬ÇëÊÔÖø´ÓDonaldµÄftp/WWWÕ¾µã»ñÈ¡×îÐÂµÄÇý¶¯³ÌÐò°æ±¾¡£

\nameurl{http://www.scyld.com/network}{Tulip Driver}

ÄÇÀï»¹ÓÐÒ»¸ö¸÷ÖÖÊ¹ÓÃ21040Ð¾Æ¬µÄÍø¿¨/ÏúÊÛÉÌµÄ£¨·ÇÍêÈ«£©ÁÐ±í¡£




\subsection{Farallon}

FarallonÏúÊÛEtherWaveÊÊÅäÆ÷ºÍÊÕ·¢Æ÷¡£ÆäÉè±¸¿ÉÒÔ°Ñ¶à¸ö10baseTÉè±¸¹¹³É¾Õ»¨Á´¡£




\subsubsection{Farallon Etherwave}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c509

¾ÝËµÕâÊÇÒ»¸ö°üº¬EtherWaveÊÕ·¢Æ÷µÄ3c509¼æÈÝÍø¿¨¡£¿ÉÒÔ³É¹¦µØÊ¹ÓÃÄ¿Ç°µÄLinuxµÄ3c509Çý¶¯³ÌÐò¡£¶ÔÓÚÒ»°ãµÄÓ¦ÓÃ£¬¸ÃÍø¿¨¹ýÓÚ°º¹óÁË£¬µ«ÔÚÄ³Ð©ÌØÊâÇé¿öÏÂ¿ÉÒÔÊ¹ÓÃËü¡£Ð¡HubµÄ¼Û¸ñÔÚ\$125ÒÔÉÏ£¬Etherwave»¹ÒªÔÚ°å¿¨µÄ¼Û¸ñÖ®ÉÏÔö¼Ó\$75-\$100¡ª¡ªÈç¹ûÀ­Ò»¸ùÏßÌ«ÉÙµÄ»°¾ÍÎïÓÐËùÖµ£¬Èç¹ûÊÇÈ±ÉÙÁ½¸öÍøÂç¾Í²»ÖµµÃÕâÃ´×öÁË¡£




\subsubsection{Farallon PCI 593}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

¾ÝËµ¸ÃÍø¿¨¿ÉÒÔ±»{\ttfamily de4x5}Çý¶¯³ÌÐò¼ì²âµ½¡£




\subsection{Fujitsu}



ÓëÐí¶àÍøÂçÐ¾Æ¬ÖÆÔìÉÌ²»Í¬£¬Fujitsu»¹ÖÆÔìºÍÏúÊÛÒ»Ð©»ùÓÚËûÃÇ×Ô¼ºÐ¾Æ¬µÄÍø¿¨¡£




\subsubsection{Fujitsu FMV-181/182/183/184}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºfmv18x

´ÓÇý¶¯³ÌÐòÀ´¿´£¬ÕâÐ©Íø¿¨¾ÍÊÇFujitsuµÄMB86965Íø¿¨µÄ¼òµ¥¸Ä½ø£¬ÕâÊ¹ËüÃÇÓëAllied TelesisµÄAT1700Íø¿¨ºÜÏàËÆ¡£




\subsection{Hewlett Packard\label{hp}}



272**Íø¿¨Ê¹ÓÃ¿É±à³ÌI/O£¬ÓëNE*000°å¿¨ÀàËÆ£¬µ«ÊÇÊý¾Ý´«Êä¶Ë¿Ú¿ÉÒÔÔÚ²»·ÃÎÊµÄÊ±ºò¡°¹Ø±Õ¡±£¬ÒÔ±ÜÃâ×Ô¶¯Ì½²âÇý¶¯³ÌÐòÊ±µÄÂé·³¡£

¸ÐÐ»Glenn Talbott°ïÖú³ÎÇåÁË±¾½ÚÓÐ¹ØHPÓ²¼þ°æ±¾ºÅµÄÒÉ»ó¡£




\subsubsection{HP Night Director+ 10/100}



×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

¿´À´ÕâÐ©Íø¿¨Ê¹ÓÃµÄÊÇAMD 79C972Ð¾Æ¬¡£






\subsubsection{27245A\label{hp-27245a}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºhp (+8390)

ÕâÊÇ»ùÓÚ8±ÈÌØ8390µÄ10BaseTÍø¿¨£¬³öÓÚËùÓÐ8±ÈÌØµÄÔµ¹Ê²»ÍÆ¼öÊ¹ÓÃ¡£¼¸ÄêÇ°¸ÃÍø¿¨±»ÖØÐÂÉè¼ÆÎª¸ß¶È¼¯³ÉµÄ£¬ÒýÆðÁËÒ»Ð©Ö»Ó°Ïì²âÊÔ³ÌÐòµÄ³õÊ¼»¯Ê±µÄ±ä»¯£¬¶ÔLANÇý¶¯³ÌÐòÃ»ÓÐÓ°Ïì¡££¨ÐÂµÄÍø¿¨ÔÚÇÐ»»½øÈëºÍÍË³ö»·»ØÄ£Ê½ºó²¢²»Á¢¿Ì´¦ÓÚ¡°×¼±¸ºÃ¡±µÄ×´Ì¬¡££©

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsubsection{HP EtherTwist, PC Lan+ (27247, 27252A)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºhp+ (+8390)

HPµÄPC Lan+Óë±ê×¼µÄHP PC LanÍø¿¨²»Í¬¡£´Óv1.1.x¿ª·¢Ê±ÆäÇý¶¯³ÌÐò¾Í±»¼ÓÈëµ½±ê×¼ÄÚºËµÄÇý¶¯³ÌÐòÁÐ±íÖÐ¡£Ëü¿ÉÒÔÏóne2000Ò»Ñù¹¤×÷ÔÚPIOÄ£Ê½£¬Ò²¿ÉÒÔÏówd8013Ò»Ñù¹¤×÷ÔÚ¹²ÏíÄÚ´æÄ£Ê½¡£

47BÊÇ»ùÓÚ16±ÈÌØ8390µÄ10BaseT w/AUI£¬¶ø52AÊÇ»ùÓÚ16±ÈÌØ8390µÄThinLAN w/AUI¡£ÕâÐ©Íø¿¨ÓÃÓÚÊÕ·¢Êý¾Ý°ü»º³åµÄ°åÉÏRAMÎª32K£¬¶ø²»ÊÇÒ»°ãµÄ16KB£¬¶øÇÒ¶¼Ìá¹©×Ô¶¯Ê¶±ðLANÁ¬½ÓÆ÷µÄ¹¦ÄÜ¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsubsection{HP-J2405A}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

ÕâÐ©Íø¿¨±È27247/27252A±ãÒË¶øÇÒÉÔÎ¢¿ìÒ»µã¶ù£¬µ«ÉÙÁËÒ»Ð©ÌØÐÔ£¬ÈçAUI¡¢ThinLANÁ¬½ÓÓëÆô¶¯PROM²å×ù¡£ÕâÊÇÒ»¸öÏàµ±Í¨ÓÃµÄLANCEÉè¼Æ£¬µ«Éè¼ÆÊ±µÄÒ»¸ö²»ÆðÑÛµÄ¾ö¶¨Ê¹ËüÓëÍ¨ÓÃµÄ¡°NE2100¡±Çý¶¯³ÌÐò²»¼æÈÝ¡£¸ÐÐ»HPµÄGlenn TalbottÌá¹©µÄ×ÊÁÏ£¬Ê¹Çý¶¯³ÌÐòÄÜ¹»°üº¬¶ÔËüµÄÌØ±ðÖ§³Ö£¨°üÀ¨´Ó°åÉÏ¶ÁÈ¡DMAÍ¨µÀ£©¡£

¸ü¶àÓÐ¹Ø»ùÓÚLANCEµÄÍø¿¨ÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÖÐÕÒµ½¡£




\subsubsection{HP-Vectra On Board Ethernet}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

HP-VectraÔÚÖ÷°åÉÏÓÐÒ»¸öAMDµÄPCnetÐ¾Æ¬¡£  DMAÑ¡ÔñºÍÐ¾Æ¬ºÅÂëÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£

¸ü¶àÓÐ¹Ø»ùÓÚAMD LANCEµÄÒÔÌ«Íø¿¨µÄ¼¼ÊõÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÕÒµ½¡£




\subsubsection{HP 10/100 VG Any Lan Cards (27248B, J2573, J2577, J2585, J970, J973)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºhp100

¸ÃÇý¶¯³ÌÐò»¹Ö§³ÖÄ³Ð©Compex VG²úÆ·¡£ÓÉÓÚÇý¶¯³ÌÐòÖ§³ÖISA¡¢EISAºÍPCIÍø¿¨£¬ËùÒÔÔÚ¶ÔÄÚºËÔ´ÂëÔËÐÐ{\ttfamily make config}Ê±¿ÉÒÔÔÚISAÍø¿¨ÏÂÕÒµ½Ëü¡£




\subsubsection{HP NetServer 10/100TX PCI (D5013A)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeepro100

ÏÔÈ»ÕâÖ»ÊÇÖØÐÂ±ê¼Ç¹ýµÄIntel EtherExpress Pro 10/100BÍø¿¨¡£²Î¼ûIntelÒ»½ÚÒÔÁË½â¸ü¶àÐÅÏ¢¡£






\subsection{IBM / International Business Machines\label{ibm}}






\subsubsection{IBM Thinkpad 300\label{thinkpad-300}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºznet

ËüÓë»ùÓÚIntelµÄZenith Z-note¼æÈÝ¡£²Î¼û\ref{z-note} {(Z-note)}ÒÔÁË½â¸ü¶àÐÅÏ¢¡£

¾ÝÐÅÏÂÃæÕâ¸öÕ¾µãÓÐÒ»¸öÐÂ°æ±¾ThinkpadµÄÈ«ÃæµÄÓÐÓÃ×ÊÁÏÊý¾Ý¿â¡£ÎÒ»¹Ã»ÓÐÇ××ÔÈ¥²é¿´¹ý¡£

\nameurl{http://peipa.essex.ac.uk/html/linux-thinkpad.html}{Thinkpad-info}

¶Ô²»±ãÓÚÊ¹ÓÃWWWä¯ÀÀÆ÷µÄ¶ÁÕß£¬¿ÉÒÔÊÔÊÔ{\ttfamily peipa.essex.ac.uk:/pub/tp750/}




\subsubsection{IBM Credit Card Adaptor for Ethernet}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º?£¨¶ÀÁ¢·¢ÐÐ£©

¸ÃPCMCIAÍø¿¨¿ÉÒÔÔÚLinuxÏÂÕý³£Ê¹ÓÃ¡£Í¬ÑùÐèÒªÖ¸³öµÄÊÇ£¬±Ê¼Ç±¾µçÄÔÐèÒªÓÐÖ§³ÖPCMCIAµÄÐ¾Æ¬×é£¬¶øÇÒÒª°ÑÖ§³ÖPCMCIAµÄ²¹¶¡¼Ó½ø±ê×¼ÄÚºË¡£²Î¼û±¾ÎÄµµÖÐµÄ\ref{pcmcia} {(PCMCIAÖ§³Ö)}¡£




\subsubsection{IBM 10/100 EtherJet PCI}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeepro100

¾ÝËµ¸ÃÍø¿¨ÓëIntel EtherExpress Pro 100Çý¶¯³ÌÐò¼æÈÝ¡£




\subsubsection{IBM Token Ring}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºibmtr

ÒªÖ§³ÖÁîÅÆ»·²»½ö½öÐèÒªÐ´Ò»¸öÉè±¸Çý¶¯³ÌÐò£¬»¹ÒªÎªÁîÅÆ»·±àÐ´Ô´Â·ÓÉÀý³Ì¡£±àÐ´Ê±»¨·ÑÊ±¼ä×î¶àµÄµØ·½¾ÍÊÇÔ´Â·ÓÉ¡£

¿ªÊ¼µÄÇý¶¯³ÌÐò¿ª·¢ÊÇÕë¶ÔIBMµÄISAºÍMCAÁîÅÆ»·Íø¿¨£¬²¢ÔÚMCA 16/4 MegabitÁîÅÆ»·°åÉÏ½øÐÐ¹ý²âÊÔ£¬µ«ÔÚÆäËü»ùÓÚTropicµÄ°åÉÏÒ²¿ÉÒÔ¹¤×÷¡£




\subsection{ICL Ethernet Cards}






\subsubsection{ICL EtherTeam 16i/32}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeth16i

Çý¶¯³ÌÐòÖ§³Ö¸ÃÍø¿¨µÄISA (16i)ºÍEISA (32)Á½¸ö°æ±¾¡£ËüÊ¹ÓÃµÄFujitsuµÄMB86965Ð¾Æ¬Ò²±»ÓÃÔÚat1700Íø¿¨ÉÏ¡£




\subsection{Intel Ethernet Cards\label{intel}}



×¢Òâ£¬¸÷ÖÖIntelÍø¿¨µÄÃüÃûÊÇÂÒÆß°ËÔãµÄ¡£Èç¹ûÓÐÎÊÌâ£¬¼ì²éÍø¿¨ÉÏÖ÷ÒªÐ¾Æ¬µÄ{\ttfamily i8xxxx}ºÅÂë£¬¶ÔPCIÍø¿¨Ê¹ÓÃ{\ttfamily /proc}Ä¿Â¼ÏÂµÄPCIÐÅÏ¢£¬È»ºóÔÙÓëÕâÀïÁÐ³öµÄÊý×Ö½øÐÐ±È½Ï¡£




\subsubsection{Ether Express}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeexpress

¸ÃÍø¿¨Ê¹ÓÃintelµÄi82586Ð¾Æ¬¡£Çý¶¯³ÌÐòµÄÔçÆÚ°æ±¾£¨ÔÚv1.2ÄÚºËÀï£©ÊÇalpha-²âÊÔÇý¶¯³ÌÐò£¬´ó¶àÊýÈËÔÚÊ¹ÓÃÊ±»áÓöµ½Âé·³¡£v2.0ÄÚºËÀïµÄÇý¶¯³ÌÐòÒªºÃµÃ¶à£¬ËäÈ»ÆäÔ´Âë»¹±»ÁÐÎªÊµÑéÐÔµÄ£¬¶øÇÒÔÚ½Ï¿ìµÄ»úÆ÷ÉÏÎÊÌâ¸ü¶à¡£

ÔÚÇý¶¯³ÌÐòÔ´Âë¿ªÍ·µÄ×¢ÊÍÀïÁÐ³öÁËÒ»Ð©ÓëÕâÐ©Íø¿¨ÓÐ¹ØµÄÎÊÌâ£¨²¢½øÐÐÁËÐÞÕý£¡£©¡£ÖÁÉÙÓÐÒ»¸öÓÃ»§±¨¸æËµÓÐËÀËø£¬Ê¹µÃ°ÑÇý¶¯³ÌÐòÀïËùÓÐµÄ{\ttfamily outb}Ìæ»»Îª{\ttfamily outb\_p}µÄ¹¤×÷·ÅÂýÏÂÀ´¡£Í¬Ê±»¹Òª¼ì²éÒ»ÏÂÇý¶¯³ÌÐò±¨¸æµÄRAM»º´æ´óÐ¡ÓëIntelÅäÖÃ¹¤¾ß±¨¸æµÄÊÇ·ñÒ»ÖÂ¡£




\subsubsection{Ether Express PRO/10 (PRO/10+)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeepro

Bao Chau Ha±àÐ´ÁËÕâÐ©Íø¿¨µÄÇý¶¯³ÌÐò£¬ÔçÔÚ1.3.xÄÚºËÖÐ¾Í°üº¬ÁËËü¡£¸ÃÇý¶¯³ÌÐòÒ²¿ÉÒÔÊ¹ÓÃÔÚÒ»Ð©»ùÓÚi82595Ð¾Æ¬µÄCompaqÄÚ½¨ÒÔÌ«ÍøÏµÍ³ÉÏ¡£¿ÉÄÜÐèÒªÔÚÊÊµ±µÄµØ·½Ê¹ÓÃÍø¿¨×Ô´øµÄÅäÖÃ¹¤¾ß½ûÓÃPnPÖ§³Ö¡£




\subsubsection{Ether Express PRO/10 PCI (EISA)}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º?£¨¶ÀÁ¢·¢ÐÐ£©

ÓÐÒ»¸öÔÚÈ±Ê¡ÄÚºËÍâ¶ÀÁ¢·¢ÐÐµÄPCI°æ±¾µÄÇý¶¯³ÌÐò¡£ÕâÐ©Íø¿¨Ê¹ÓÃPLX9036 PCI½Ó¿ÚÐ¾Æ¬ºÍIntelµÄi82596 LAN¿ØÖÆÆ÷Ð¾Æ¬¡£Èç¹ûÄãµÄÍø¿¨ÉÏÓÐi82557Ð¾Æ¬£¬ÄÇÃ´ÄãµÄÍø¿¨¾Í{\itshape ²»\/}ÊÇ¸ÃÀàÐÍÍø¿¨£¬¶øÊÇÏÂÃæÒªÌÖÂÛµÄ°æ±¾£¬ÐèÒªEEPro100Çý¶¯³ÌÐò¡£

¿ÉÒÔ´ÓÈçÏÂÕ¾µã»ñµÃPRO/10 PCIÍø¿¨µÄalphaÇý¶¯³ÌÐò¼°Ê¹ÓÃÖ¸µ¼£º

\nameurl{http://www.ultranet.com/~stalba/eep10pci.html}{EEPro10 Driver}

Èç¹ûÊÇEISAÍø¿¨£¬¿ÉÄÜÒª¸ÄÒ»ÏÂÇý¶¯³ÌÐòÔÚ²»Í¬Çé¿öÏÂ£¨PCIÓëEISA£©Ê¹ÓÃµÄ¼ì²â»úÖÆ¡£






\subsubsection{Ether Express PRO 10/100B\label{eepro100}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºeepro100

×¢Òâ£¬¸ÃÇý¶¯³ÌÐò{\itshape ²»\/}Ö§³ÖÀÏÊ½µÄ100AÍø¿¨¡£Çý¶¯³ÌÐòÀïÁÐ³öµÄÐ¾Æ¬ºÅÂëÊÇi82557/i82558¡£¸üÐÂÇý¶¯³ÌÐò»òÑ°ÕÒÖ§³Ö£¬Çë·ÃÎÊ£º

\nameurl{http://www.scyld.com/network}{EEPro-100B Page}




\subsection{Kingston}

KingstonÖÆÔì¸÷ÖÖÍø¿¨£¬°üÀ¨NE2000+¡¢»ùÓÚAMD PCnetµÄÍø¿¨ºÍ»ùÓÚDEC tulipµÄÍø¿¨¡£´ó¶àÊýÍø¿¨¶¼¿ÉÒÔÊ¹ÓÃÏàÓ¦µÄÇý¶¯³ÌÐò¡£²Î¼û\nameurl{http://www.kingston.com}{Kingston Web Page}¡£






\subsection{LinkSys}

LinkSysÖÆÔìÉÙÁ¿²»Í¬µÄNE2000¼æÈÝÍø¿¨¡¢Ò»Ð©ÕýÍ³µÄISAÍø¿¨¡¢Ò»Ð©¼´²å¼´ÓÃµÄISAÍø¿¨ÒÔ¼°Ò»Ð©»ùÓÚÖ§³Öne2000-PCIÐ¾Æ¬×éµÄne2000-PCI¼æÈÝÍø¿¨¡£ËüÃÇµÄÐÍºÅÌ«¶à£¬ÕâÀï¾Í²»Ò»Ò»ÁÐ³öÁË¡£

LinkSys¶ÔLinuxÊÇÓÑºÃµÄ£¬ÓµÓÐÒ»¸ö×¨ÃÅµÄLinuxÖ§³ÖWWWÖ÷Ò³£¬ÉõÖÁÔÚÄ³Ð©²úÆ·µÄ°ü×°ºÐÉÏÓ¡ÓÐLinux×ÖÑù¡£Çë·ÃÎÊ£º

{\ttfamily http://www.linksys.com/support/solution/nos/linux.htm}




\subsubsection{LinkSys Etherfast 10/100 Cards.}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºtulip

×¢Òâ£¬ÕâÐ©Íø¿¨ÓÐ¼¸ÖÖ¡°ÐÞ¶©°æ¡±£¨¼´Ê¹ÓÃ²»Í¬µÄÐ¾Æ¬×é£©£¬¶¼Ê¹ÓÃÒ»ÑùµÄÍø¿¨Ãû¡£µÚÒ»ÖÖÊ¹ÓÃDECÐ¾Æ¬×é¡£µÚ¶þÖÖÐÞ¶©°æÊ¹ÓÃLite-On PNIC 82c168 PCIÍøÂç½Ó¿Ú¿ØÖÆÆ÷£¬¸ÃÍø¿¨µÄµÚÈýÖÖÐÞ¶©°æÊ¹ÓÃLinkSys 82c169 NICÐ¾Æ¬¡£¶ÔºóÁ½ÖÖ°æ±¾Íø¿¨µÄÖ§³ÖÒÑ¾­±»ºÏ²¢µ½±ê×¼µÄtulipÇý¶¯³ÌÐòÀï¡ª¡ª°´ÕÕµ±Ç°ËùÓÃÇý¶¯³ÌÐòµÄ°æ±¾£¬¿ÉÄÜÐèÒª½øÐÐ°æ±¾Éý¼¶À´Ö§³ÖËüÃÇ¡£

¸ü¶àµÄÓÐ¹ØPNICÐÅÏ¢¿ÉÔÚÏÂÃæÕÒµ½£º

{\ttfamily http://www.scyld.com/linux/drivers/pnic.html}

ÓÐ¹ØÕâÐ©Íø¿¨¸÷ÖÖ°æ±¾µÄ½øÒ»²½×ÊÁÏ¿ÉÒÔÔÚÉÏÃæÌáµ½¹ýµÄLinkSysµÄWWWÕ¾µãµÃµ½¡£






\subsubsection{LinkSys Pocket Ethernet Adapter Plus (PEAEPP)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde620

¾ÝËµÕâÊÇDE-620¼æÈÝÍø¿¨£¬¶øÇÒ¾Ý±¨µÀ¿ÉÒÔÕý³£Ê¹ÓÃDE-620µÄÇý¶¯³ÌÐò¡£²Î¼û\ref{de-620} {(DE-620)}ÒÔÁË½â¸ü¶àÐÅÏ¢¡£




\subsubsection{LinkSys PCMCIA Adaptor}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde650 (?)

ÓÐÈË²ÂÏëÕâÊÇÖØÐÂ±ê¼Ç¹ýµÄDE-650¡£²Î¼û\ref{de-650} {(DE-650)}ÒÔÁË½â¸ü¶àÐÅÏ¢¡£




\subsection{Microdyne (Eagle)}

Eagle Technology£¨ÓÖ³ÆNovellÍø¿¨£©±»Âô¸øMicrodyne¡£Èç¹ûÔÚÕâÀïµÄÁÐ±íÉÏÕÒ²»µ½ÄãµÄÍø¿¨£¬Çë¼ì²é±¾ÎÄµµµÄNovellÒ»½Ú¡£ËäÈ»MicrodyneÏÖÔÚ²»ÔÙ»ý¼«ÏúÊÛÍø¿¨£¬ÔÚËûÃÇµÄÍøÕ¾{\ttfamily ftp.mcdy.com}ÉÏ»¹ÓÐÒ»Ð©Óë²úÆ·Ïà¹ØµÄ×ÊÁÏ¡£




\subsubsection{Microdyne Exos 205T}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º?

ÕâÊÇÁíÒ»¿î»ùÓÚi82586µÄÍø¿¨¡£Dirk Niggemann {\ttfamily dirk-n@dircon.co.uk}±àÐ´ÁËÒ»¸ö×Ô¼ºÈÏÎªÊôÓÚ¡°pre-alpha¡±µÄÇý¶¯³ÌÐò£¬Ï£ÍûÓÐÈË½øÐÐ²âÊÔ¡£ÒªÁË½âÏ¸½ÚÇëÐ´ÐÅ¸øËû¡£




\subsection{Mylex}



Èç¹ûÏëÑ¯ÎÊÓÐ¹ØMylexµÄÎÊÌâ£¬ÇëÍ¨¹ýÈçÏÂºÅÂëÓëËûÃÇÁªÏµ¡£

\begin{verbatim}
        MYLEX CORPORATION, Fremont
        Sales:  800-77-MYLEX, (510) 796-6100
        FAX:    (510) 745-8016.
\end{verbatim}


ËûÃÇÒ²ÓÐÒ»¸öWEBÕ¾µã£º
\nameurl{http://www.mylex.com}{Mylex WWW Site}




\subsubsection{Mylex LNE390A, LNE390B}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlne390 (+8390)

ÕâÐ©ÊÇÏàµ±ÀÏµÄÊ¹ÓÃÓëwd80x3ÏàËÆµÄ¹²ÏíÄÚ´æ·½Ê½µÄEISAÍø¿¨¡£ÔÚÄ¿Ç°µÄ2.1.xÏµÁÐÄÚºËÀïÓÐËüÃÇµÄÇý¶¯³ÌÐò¡£Ó¦¸ÃÈ·¶¨¹²ÏíÄÚ´æµØÖ·±»ÉèÖÃÔÚ1MBÒÔÏÂ£¬»òÕßÔÚ»úÆ÷Ëù°²×°ÎïÀíRAMµÄ×î¸ßµØÖ·Ö®ÉÏ¡£




\subsubsection{Mylex LNP101}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÕâÊÇ»ùÓÚDECµÄ21040Ð¾Æ¬µÄPCIÍø¿¨¡£¿ÉÒÔÑ¡Ôñ10BaseT¡¢10Base2ºÍ10Base5Êä³ö¡£LNP101Íø¿¨±»Ö¤Êµ¿ÉÒÔÊ¹ÓÃÍ¨ÓÃµÄ21040Çý¶¯³ÌÐò¡£

²Î¼ûÓÐ¹Ø21040Ð¾Æ¬Ò»½Ú£¨\ref{dec-21040} {(DEC 21040)}£©ÒÔÁË½â¸ü¶àÐÅÏ¢¡£




\subsubsection{Mylex LNP104}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

LNP104Ê¹ÓÃDECµÄ21050Ð¾Æ¬À´´¦Àí{\itshape ËÄ¸ö\/}¶ÀÁ¢µÄ10BaseT¶Ë¿Ú¡£ËüÓ¦¸Ã¿ÉÒÔÊ¹ÓÃ×î½üµÄ¿ÉÒÔ¹²ÏíÖÐ¶ÏµÄ21040Çý¶¯³ÌÐò£¬µ«£¨ÎÒ¾õ²ìµ½£©ÕâÒ»³¢ÊÔ»¹Ã»ÓÐÈË±¨¸æÊ¹ÓÃ¹ý¡£




\subsection{Novell Ethernet, NExxxx¼°ÆäÏà¹Ø¼æÈÝ¿¨¡£\label{novell}}



Ç°×º¡°NE¡±À´×ÔNovell Ethernet¡£Novell°´ÕÕ×î±ãÒËµÄNatSemiÊý¾ÝÊÖ²áÉè¼Æ²¢°ÑÖÆÔìÈ¨Âô£¨ÈÓ£¿£©¸øÁËEagle£¬¾ÍÊÇÎªÁËÏòÊÐ³¡Ìá¹©¼Û¸ñºÏÀíµÄÒÔÌ«Íø¿¨¡££¨Ä¿Ç°±»¹ã·ºÊ¹ÓÃµÄNE2000Íø¿¨¡££©




\subsubsection{NE1000, NE2000\label{ne2k}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ne2000ÏÖÔÚÊÇ°´ÕÕNatSemiµÄ8390Ð¾Æ¬½øÐÐ»ù±¾Éè¼ÆµÄÍ¨ÓÃÃû³Æ¡£ËüÃÇÊ¹ÓÃ¿É±à³ÌI/O£¬¶ø²»ÊÇ¹²ÏíÄÚ´æ£¬Ê¹µÃ°²×°¼òµ¥£¬µ«ÐÔÄÜÓÐÒ»µã½µµÍ£¬¶øÇÒ´øÀ´¼¸¸öÎÊÌâ¡£ÓÐ¹ØNE2000Íø¿¨µÄÒ»Ð©ÆÕ±éÐÔÎÊÌâÁÐÔÚ\ref{ne2k-probs} {(Problems with...)}Àï¡£

ÓÐÐ©NE2000¼æÈÝ¿¨Ê¹ÓÃNational SemiconductorµÄ¡°AT/LANTic¡±83905Ð¾Æ¬£¬Ìá¹©Óëwd8013ÏàËÆµÄ¹²ÏíÄÚ´æÄ£Ê½ºÍEEPROMÈí¼þÅäÖÃ¡£¹²ÏíÄÚ´æÄ£Ê½±È¿É±à³ÌI/OÄ£Ê½Õ¼ÓÃµÄCPUÒªÉÙ£¨Ò²¾ÍÊÇ¸üÓÐÐ§£©¡£

Ò»°ãÀ´Ëµ£¬°ÑNE2000¼æÈÝ¿¨µÄI/OµØÖ··ÅÔÚ{\ttfamily 0x300}²»ÊÇ¸öºÃÖ÷Òâ£¬ÒòÎª¼¸ºõ{\itshape Ã¿Ò»¸ö\/}Éè±¸Çý¶¯³ÌÐòÆô¶¯Ê±¶¼Ì½²âÕâ¸öµØÖ·¡£Ä³Ð©²î¾¢µÄNE2000¼æÈÝ¿¨ÔÚ±»Ì½²âµ½´íÎóÇøÓòÊ±´¦Àí²»µ±»áµ¼ÖÂ»úÆ÷ËÀËø¡£Í¬Ñù£¬{\ttfamily 0x320}Ò²²»ºÃ£¬ÒòÎªSCSIÇý¶¯³ÌÐò»áÌ½²â{\ttfamily 0x330}¡£

DonaldÎªËùÓÐne2000Íø¿¨±àÐ´ÁËÒ»¸öNE2000Õï¶Ï³ÌÐò£¨ne2k.c£©¡£²Î¼û\ref{diag} {(Õï¶Ï³ÌÐò)}ÒÔÁË½â¸ü¶àÐÅÏ¢¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsubsection{NE2000-PCI (RealTek/Winbond/Compex)\label{ne2k-pci}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne, ne2k-pci (+8390)

ÊÇµÄ£¬ÎÞÂÛÏàÐÅÓë·ñ£¬ÈËÃÇÖÆÔìµÄPCIÍø¿¨ÊÇ»ùÓÚÊ®¶àÄêÇ°Éè¼ÆµÄne2000½Ó¿Ú¡£Ä¿Ç°¼¸ºõËùÓÐÕâÐ©Íø¿¨¶¼ÊÇ»ùÓÚRealTekµÄ8029Ð¾Æ¬»òWinbondµÄ89c940Ð¾Æ¬¡£ÏÔÈ»Compex¡¢KTI¡¢VIAºÍNetvinµÄÍø¿¨Ò²Ê¹ÓÃÕâÐ©Ð¾Æ¬£¬Ö»ÊÇPCI ID²»Í¬¡£

×îÐÂµÄv2.0ÄÚºËÖ§³Ö¶ÔËùÓÐÕâÐ©Íø¿¨µÄ×Ô¶¯¼ì²âÓëÊ¹ÓÃ¡££¨Èç¹ûÄãÊ¹ÓÃv2.0.34Ö®Ç°µÄÄÚºË°æ±¾£¬°ÑËüÉý¼¶ÒÔÈ·±£Íø¿¨±»¼ì²âµ½¡££©Ä¿Ç°ÓÐÁ½¸ö¿ÉÑ¡µÄÇý¶¯³ÌÐò£¬Ò»¸öÊÇÔ­Ê¼µÄISA/PCIÇý¶¯³ÌÐò{\ttfamily ne.c}£¬ÁíÒ»¸öÊÇÏà¶Ô½ÏÐÂµÄÖ»Ö§³ÖPCIµÄÇý¶¯³ÌÐò{\ttfamily ne2k-pci.c}¡£

ÒªÊ¹ÓÃÔ­Ê¼µÄISA/PCIÇý¶¯³ÌÐò£¬ÔÚÔËÐÐ{\ttfamily make config}Ê±±ØÐë¶Ô¡°Other ISA cards¡±Ñ¡Ïî»Ø´ð¡°Y¡±£¬ÓëISAÍø¿¨Ê¹ÓÃÍ¬Ò»¸öNE2000Çý¶¯³ÌÐò¡££¨Õâ»áÈÃÄãÒâÊ¶µ½ÕâÐ©Íø¿¨²¢²»ÏñPCNet-PCI»òDEC 21040Íø¿¨Ò»ÑùÖÇÄÜ......£©

½ÏÐÂµÄÖ»Ö§³ÖPCIµÄÇý¶¯³ÌÐòÓëISA/PCIÇý¶¯³ÌÐòµÄÇø±ðÔÚÓÚÈ¥µôÁË¶ÔËùÓÐÀÏÊ½8±ÈÌØÍø¿¨µÄÖ§³Ö£¬¶øÇÒÔÚÒÆ¶¯Íø¿¨ÉÏµÄÊý¾ÝÊ±Ê¹ÓÃ¸ü´óµÄÊý¾Ý¿é£¬²»ÔÙÓÐÀÏÊ½ISA-NE2000Íø¿¨¿É¿¿²Ù×÷Ëù±ØÐèµÄÖÐ¼äÔÝÍ£¡£ÕâÑùÇý¶¯³ÌÐò±äµÃÐ¡ÁËÒ»Ð©£¬Ð§ÂÊÒ²¸ßÁËÒ»Ð©£¬µ«ÔÚÆÕÍ¨Ó¦ÓÃÖÐÕâÒ»Çø±ð²¢Ã»Ã÷ÏÔµ½ÁîÈË¼¤¶¯µÄµØ²½¡££¨Èç¹ûÏ£ÍûµÃµ½×î¸ßÐ§ÂÊ/×îµÍµÄCPUÕ¼ÓÃÂÊ£¬ÄÇÃ´PCI-NE2000²»¹ýÊÇ¸ö²î¾¢µÄÑ¡Ôñ¡££©Çý¶¯³ÌÐò¸üÐÂ¼°¸ü¶àÐÅÏ¢¿ÉÒÔÔÚÏÂÃæÕÒµ½£º

{\ttfamily http://www.scyld.com/linux/drivers/ne2k-pci.html}

Èç¹ûÄãµÄNE2000 PCIÍø¿¨{\itshape Ã»ÓÐ\/}±»×îÐÂ°æ±¾µÄÇý¶¯³ÌÐò¼ì²âµ½£¬ÇëÓë{\ttfamily /usr/src/linux/MAINTAINERS}ÀïÁÐ³öµÄNE2000Çý¶¯³ÌÐòÎ¬»¤ÕßÁªÏµ£¬²¢¸½ÉÏ{\ttfamily cat /proc/pci}ºÍ{\ttfamily dmesg}µÄÊä³ö£¬ÒÔ±ã°Ñ¶Ô¸ÃÍø¿¨µÄÖ§³Ö¼Óµ½Çý¶¯³ÌÐòÀï¡£

»¹Òª×¢Òâ£¬ÓÐÐ©Íø¿¨µÄÖÆÔìÉÌÔÚÃ÷ÖªµÀËûÃÇµÄÍø¿¨ÍêÈ«²»Í¬Ê±£¨ÈçPCNet-PCI»òRealTekµÄ8139£©£¬ÒÀÈ»ÔÚ²úÆ·°ü×°ÉÏÐ´Öø¡°NE2000 Compatible¡±¡£Èç¹ûÓÐÒÉÎÊµÄ»°£¬°´ÕÕ±¾ÎÄµµ²é¿´Ò»ÏÂÖ÷ÒªÐ¾Æ¬µÄ±àºÅ¡£




\subsubsection{NE-10/100}

×´Ì¬£º²»Ö§³Ö¡£

ÕâÐ©ÊÇ»ùÓÚNational SemiconductorµÄDP83800ºÍDP83840Ð¾Æ¬µÄISA 100MbpsÍø¿¨¡£Ä¿Ç°Ã»ÓÐÇý¶¯³ÌÐòÖ§³ÖËü£¬Ò²Ã»ÌýËµÓÐË­ÔÚ±àÐ´ÕâÑùµÄÇý¶¯³ÌÐò¡£³ýÁËÒ»¸ö¼òµ¥µÄPDFÎÄ¼þ£¬Ä¿Ç°»¹Ã»ÓÐ×ãÒÔ±àÐ´Çý¶¯³ÌÐòµÄÓÐ¹Ø¸ÃÐ¾Æ¬µÄ×ÊÁÏ¡£




\subsubsection{NE1500, NE2100\label{ne1500}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

ÕâÐ©Íø¿¨Ê¹ÓÃAMDµÄÔ­Ê¼7990 LANCEÐ¾Æ¬£¬¿ÉÒÔÊ¹ÓÃLinuxµÄlanceÇý¶¯³ÌÐò¡£½ÏÐÂµÄNE2100¼æÈÝ¿¨Ê¹ÓÃAMD¸üÐÂºóµÄPCnet/ISAÐ¾Æ¬¡£

Ä³Ð©ÀÏ°æ±¾µÄlanceÇý¶¯³ÌÐòÔÚÊ¹ÓÃautoIRQ´ÓÔ­Ê¼Novell/Eagle 7990Íø¿¨»ñÈ¡ÖÐ¶ÏÏßÊ±»áÓöµ½Âé·³¡£Ï£ÍûÏÖÔÚÒÑ¾­±»ÐÞÕýÁË¡£Èç¹ûÎÊÌâÃ»½â¾ö£¬¾ÍÓÃLILOÀ´Ö¸¶¨IRQ£¬»¹ÓÐÎÊÌâµÄ»°£¬Çë¸æËßÎÒÃÇ¡£

DMAÑ¡ÔñºÍÐ¾Æ¬ºÅÂëÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£

¸ü¶àÓÐ¹Ø»ùÓÚAMD LANCEµÄÒÔÌ«Íø¿¨µÄ¼¼ÊõÐÅÏ¢¿ÉÒÔÔÚ\ref{amd-notes} {(Notes on AMD...)}ÕÒµ½¡£






\subsubsection{NE/2 MCA}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne2

Èô¸É¹«Ë¾Éú²úÁË¼¸ÖÖNE2000Î¢Í¨µÀÍø¿¨¡£v2.2ÄÚºËÀïÌá¹©µÄne2Çý¶¯³ÌÐò¿ÉÒÔ¼ì²âÈçÏÂMCAÍø¿¨£ºNovell Ethernet Adapter NE/2¡¢Compex ENET-16 MC/PºÍArco Ethernet Adapter AE/2¡£




\subsubsection{NE3200\label{ne3200}}

×´Ì¬£º²»Ö§³Ö¡£

ÕâÖÖÀÏÊ½µÄEISAÍø¿¨°ÑÒ»Æ¬8MHzµÄ80186ÓëÒ»Æ¬i82586»ìºÏÊ¹ÓÃ¡£Ã»ÈËÎªËü±àÐ´Çý¶¯³ÌÐò£¬ÒòÎªÃ»ÓÐ¸ÃÍø¿¨µÄ×ÊÁÏ£¬¶øÇÒÒ²Ã»ÓÐ¶ÔÆäÇý¶¯³ÌÐòµÄÕæÕýÐèÇó¡£




\subsubsection{NE3210\label{ne3210}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne3210 (+8390)

ÕâÒ»EISAÍø¿¨ÓëNE3200ÍêÈ«²»Í¬£¬ËüÊ¹ÓÃNat SemiµÄ8390Ð¾Æ¬¡£ÆäÇý¶¯³ÌÐò¿ÉÒÔÔÚv2.2ÄÚºËÔ´ÂëÊ÷ÖÐÕÒµ½¡£È·¶¨¹²ÏíÄÚ´æµØÖ·±»ÉèÖÃÔÚ1MBÒÔÏÂ£¬»òÕßÔÚ»úÆ÷Ëù°²×°ÎïÀíRAMµÄ×î¸ßµØÖ·Ö®ÉÏ¡£




\subsubsection{NE5500}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºpcnet32

ÕâÐ©²»¹ýÊÇAMD PCnet-PCIÍø¿¨£¨'970A£©Ð¾Æ¬¡£¸ü¶àÓÐ¹Ø»ùÓÚLANCE/PCnetµÄÍø¿¨ÐÅÏ¢¿ÉÒÔÔÚ\ref{lance} {(AMD LANCE)}ÕÒµ½¡£






\subsection{Proteon}






\subsubsection{Proteon P1370-EA}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ºÜÃ÷ÏÔÕâÊÇÒ»¿îNE2000¼æÈÝ¿¨£¬ÔÚLinuxÏÂ¹¤×÷µÃÍ¦ºÃ¡£




\subsubsection{Proteon P1670-EA}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÕâÊÇÁíÒ»¿î»ùÓÚDECµÄTulipÐ¾Æ¬µÄPCIÍø¿¨¡£¾ÝËµÔÚLinuxÏÂ¹¤×÷µÃÍ¦ºÃ¡£

²Î¼ûÓÐ¹Ø21040Ð¾Æ¬Ò»½Ú£¨\ref{dec-21040} {(DEC 21040)}£©ÒÔÁË½â¸ü¶àÐÅÏ¢¡£






\subsection{Pure Data}






\subsubsection{PDUC8028, PDI8023}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºwd (+8390)

PureDataµÄPDUC8028ºÍPDI8023ÏµÁÐÍø¿¨²î²»¶à¾ÍÊÇwd80x3µÄ¼æÈÝÍø¿¨¡ª¡ªÔÚ{\ttfamily wd.c}Çý¶¯³ÌÐòÀïÓÐÌØ±ðµÄ´úÂëÀ´Ì½²âÕâÐ©Íø¿¨¡£




\subsection{Racal-Interlan}



¿ÉÒÔÍ¨¹ýWWWÕ¾µã{\ttfamily www.interlan.com}ÁªÏµRacal Interlan¡£ÎÒÈÏÎªÔÚ¹ýÈ¥ËûÃÇÔø±»³ÆÎªMiCom-Interlan¡£




\subsubsection{ES3210}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºes3210

ÕâÊÇÒ»¿î»ùÓÚEISA 8390µÄ¹²ÏíÄÚ´æÍø¿¨¡£ÓÐÒ»¸öÊµÑéÐÔµÄÇý¶¯³ÌÐòÓëv2.2ÄÚºËÒ»Æð·¢ÐÐ£¬¾ÝËµ¹¤×÷µÃÍ¦ºÃ£¬µ«£¨ÖÁÉÙ£©¶ÔÔçÆÚ°æ±¾Íø¿¨µÄEISA IRQºÍ¹²ÏíÄÚ´æµØÖ·µÄ¼ì²âÓÐµãÎÊÌâ¡££¨Õâ¸öÎÊÌâ²¢²»½öÏÞÓÚLinux......£©ÕâÑù¾ÍÐèÒª¸øÇý¶¯³ÌÐòÌá¹©ÖÐ¶ÏºÍµØÖ·¡£ÀýÈç£¬Íø¿¨ÎªIRQ 5£¬¹²ÏíÄÚ´æÔÚ{\ttfamily 0xd0000}£¬Ê¹ÓÃÄ£¿é»¯Çý¶¯³ÌÐò£¬ÔòÔÚ{\ttfamily /etc/conf.modules}ÀïÌíÉÏ{\ttfamily options es3210 irq=5 mem=0xd0000}¡£»òÕßÊ¹ÓÃ±àÒë½øÄÚºËµÄÇý¶¯³ÌÐò£¬ÔÚÆô¶¯Ê±Ìá¹©{\ttfamily ether=5,0,0xd0000,eth0}¡£I/O»ùÖ·ÊÇ×Ô¶¯¼ì²âµÄ£¬ËùÒÔÔÚ´ËÊ¹ÓÃÒ»¸öÁãÖµ¡£




\subsubsection{NI5010}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºni5010

ÒÔÇ°ÐèÒªÁíÍâÑ°ÕÒÕâÐ©ÀÏÊ½8±ÈÌØMiCom-InterlanÍø¿¨µÄÇý¶¯³ÌÐò£¬ÏÖÔÚËü±»×÷ÎªÒ»¸öÊµÑéÐÔµÄÇý¶¯³ÌÐòÓëv2.2ÄÚºËÒ»Æð·¢ÐÐÁË¡£




\subsubsection{NI5210}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºni52

¸ÃÍø¿¨Ò²ÊÇÊ¹ÓÃIntelµÄÐ¾Æ¬¡£Michael Hipp±àÐ´ÁËÒ»¸öÇý¶¯³ÌÐò£¬×÷Îª¡°alpha¡±Çý¶¯³ÌÐò±»°üº¬ÔÚ±ê×¼ÄÚºËÀï¡£MichaelÏ£ÍûµÃµ½¸ÃÍø¿¨ÓÃ»§µÄ·´À¡¡£²Î¼û\ref{alfa} {(AlphaÇý¶¯³ÌÐò)}ÒÔÁË½âÔÚLinuxÏÂÊ¹ÓÃalpha/²âÊÔ°æ±¾ÒÔÌ«ÍøÇý¶¯³ÌÐòµÄÖØÒªÐÅÏ¢¡£




\subsubsection{NI6510 £¨²»ÊÇEB£©\label{ni65xx}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºni65

Ò²ÓÐÒ»¸ö»ùÓÚLANCEµÄNI6510Íø¿¨µÄÇý¶¯³ÌÐò£¬¶øÇÒÒ²ÊÇMichael Hipp±àÐ´µÄ¡£ËüÍ¬ÑùÒ²ÊÇ¡°alpha¡±Çý¶¯³ÌÐò¡£³öÓÚÄ³Ð©Ô­Òò£¬¸ÃÍø¿¨ÓëÍ¨ÓÃµÄLANCEÇý¶¯³ÌÐò²»¼æÈÝ¡£²Î¼û\ref{alfa} {(AlphaÇý¶¯³ÌÐò)}ÒÔÁË½âÔÚLinuxÏÂÊ¹ÓÃalpha/²âÊÔ°æ±¾ÒÔÌ«ÍøÇý¶¯³ÌÐòµÄÖØÒªÐÅÏ¢¡£




\subsubsection{EtherBlaster£¨ÓÖÃûNI6510EB£©}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºlance

´Ó1.3.23ÄÚºË¿ªÊ¼£¬Í¨ÓÃµÄlanceÇý¶¯³ÌÐòÀïÔö¼ÓÁË¶ÔNI6510EB×¨ÓÐ±êÊ¶{\ttfamily 0x52, 0x44}½øÐÐµÄ¼ì²é¡£µ«ÓÐÈË±¨¸æËµ²»ÊÇËùÓÐNI6510EBÍø¿¨¸Ã±êÊ¶¶¼Ò»Ñù£¬Õâ»áµ¼ÖÂlanceÇý¶¯³ÌÐò¼ì²â²»³öÄãµÄÍø¿¨¡£Èç¹û³öÏÖÁËÕâÒ»ÎÊÌâ£¬¿ÉÒÔ°ÑÌ½²â£¨´óÔ¼ÔÚlance.cµÄµÚ322ÐÐ£©¸ÄÎªprintk()£¬°ÑÄãµÄÍø¿¨ÉÏµÄÖµ´òÓ¡³öÀ´£¬È»ºóÓÃËüÃÇÀ´´úÌæÈ±Ê¡µÄ{\ttfamily 0x52, 0x44}¡£

ÔÚÊ¹ÓÃlanceÇý¶¯³ÌÐòÊ±£¬Íø¿¨¿ÉÄÜÔËÐÐÔÚ¡°¸ßÐÔÄÜ¡±Ä£Ê½ÏÂ£¬¶ø²»ÊÇNI6510¼æÈÝÄ£Ê½¡£






\subsection{RealTek}






\subsubsection{RealTek RTL8002/8012 (AT-Lan-Tec) Pocket adaptor\label{aep-100}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºatp

ÕâÊÇÒ»¿îAT-Lan-TecÓë£¨¿ÉÄÜµÄ£©ÆäËüÒ»Ð©¹©Ó¦ÉÌ³öÊÛµÄÍ¨ÓÃµÍ³É±¾µÄOEMÐäÕäÊÊÅäÆ÷¡£ÔÚ±ê×¼ÄÚºËÀï°üº¬ÆäÇý¶¯³ÌÐò¡£×¢Òâ£¬Çý¶¯³ÌÐòÔ´ÎÄ¼þ¡°atp.c¡±Àï°üº¬ÁËÒ»Ð©ÊµÖÊÐÔµÄÐÅÏ¢¡£

×¢Òâ£¬¶ÔÓÚÔçÆÚ°æ±¾µÄÇý¶¯³ÌÐò£¬´«µÝ¸ø{\ttfamily ifconfig}µÄÉè±¸Ãû{\itshape ²»\/}ÊÇ{\ttfamily eth0}£¬¶øÊÇ{\ttfamily atp0}¡£




\subsubsection{RealTek 8009}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ÕâÊÇÒ»¿îISA NE2000¼æÈÝÍø¿¨£¬¾ÝËµÊ¹ÓÃLinuxµÄNE2000Çý¶¯³ÌÐò¹¤×÷µÃÍ¦ºÃ¡£³ÌÐò{\ttfamily rset8009.exe}¿ÉÒÔ´ÓRealTekµÄWWWÕ¾µã{\ttfamily http://www.realtek.com.tw}»ñÈ¡¡ª¡ª»òÕßÓÃFTP´Ó¸ÃÕ¾µãÏÂÔØ¡£




\subsubsection{RealTek 8019}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ÕâÊÇÉÏÊöÍø¿¨µÄ¼´²å¼´ÓÃ°æ±¾¡£Ê¹ÓÃDOSÈí¼þ½ûÖ¹PnP¹¦ÄÜ£¬ÆôÓÃÎÞÌøÏßÅäÖÃ£¬°ÑÍø¿¨µÄI/OµØÖ·ºÍÖÐ¶ÏÉèÎª¿ÉÓÃÖµ£¬È»ºó¾ÍÐÐÁË¡££¨Èç¹ûÒª°ÑÇý¶¯³ÌÐòÓÃ×÷Ä£¿éµÄ»°£¬²»ÒªÍü¼ÇÔÚ{\ttfamily /etc/conf.modules}ÀïÌí¼ÓÒ»¸ö{\ttfamily io=0xNNN}Ñ¡Ïî¡££©³ÌÐò{\ttfamily rset8019.exe}¿ÉÒÔ´ÓRealTekµÄWWWÕ¾µã{\ttfamily http://www.realtek.com.tw}»ñÈ¡¡ª¡ª»òÕßÓÃFTP´Ó¸ÃÕ¾µãÏÂÔØ¡£




\subsubsection{RealTek 8029}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne, ne2k-pci (+8390)

ÕâÊÇÒ»¿îNE2000¼æÈÝµÄPCIµ¥Ð¾Æ¬²úÆ·¡£ÏÖÔÚ¸÷¸öÏúÊÛÉÌ¶¼ÔÚÏúÊÛÊ¹ÓÃ¸ÃÐ¾Æ¬µÄÍø¿¨¡£²Î¼û\ref{ne2k-pci} {(NE2000-PCI)}ÒÔÁË½âÊ¹ÓÃ¸ÃÍø¿¨µÄÓÐ¹ØÐÅÏ¢¡£×¢Òâ£¬ÕâÒÀÈ»ÊÇ¸½ÔÚPCI×ÜÏßÉÏµÄÊ®¶àÄêÇ°µÄÀÏÊ½Éè¼Æ¡£ÆäÐÔÄÜ²¢²»±ÈÏàÓ¦µÄISAÐÍºÅºÃ¶àÉÙ¡£






\subsubsection{RealTek 8129/8139\label{rtl8139}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºrtl8139

ÁíÒ»¿îRealTekµÄPCIµ¥Ð¾Æ¬ÒÔÌ«Íø²úÆ·¡£»ùÓÚ¸ÃÐ¾Æ¬µÄÍø¿¨µÄÇý¶¯³ÌÐò±»°üÀ¨ÔÚLinuxµÄv2.0.34·¢ÐÐ°æ±¾ÖÐ¡£Ä¿Ç°ÔÚ»Ø´ðÊÇ·ñÒªÊ¹ÓÃv2.2ÄÚºËÀïµÄÊµÑéÐÔÇý¶¯³ÌÐòÊ±£¬ÒÀÈ»Òª»Ø´ð¡°Y¡±ÒÔ»ñµÃÊ¹ÓÃ¸ÃÇý¶¯³ÌÐòµÄÈ¨Àû¡£

DonaldËµ»ùÓÚ¸ÃÐ¾Æ¬µÄÍø¿¨µÄ¼Û¸ñÓëPCI NE2000¼æÈÝÍø¿¨´óÖÂÏàÍ¬£¨ÔÚÓÐÐ©µØ·½ÉõÖÁ»á±ãÒË13ÃÀÔª£¡£©£¬ËäÈ»8139µÄÉè¼Æ²¢·Ç×îºÃµÄ10/100°å×Ó£¬»¹ÊÇÒª±ÈPCI NE2000¼æÈÝÍø¿¨ºÃ¡£

2.4.xÄÚºË»¹ÓÐÒ»¸ö½Ð×ö{\ttfamily 8139too}µÄÇý¶¯³ÌÐò£¬ÊÇ»ùÓÚrtl8139µÄ£¬µ«ÊÔÍ¼´¦ÀíÒ»Ð©ÈËÃÇ±¨¸æµÄ¸üÆÕ±éµÄÎÊÌâ£¬ËùÒÔÈç¹ûÊ¹ÓÃµÄÊÇ2.4ÄÚºË£¬¿ÉÒÔÊÔÒ»ÏÂ¡£




\subsection{Sager}






\subsubsection{Sager NP943}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º3c501

ÕâÖ»²»¹ýÊÇÒ»¿îS.A. PROMÇ°×º²»Í¬µÄ3c501¼æÈÝÍø¿¨¡£ÎÒÈÏÎªËü¸úÔ­Ê¼µÄ3c501Ò»ÑùÉËÄÔ½î¡£ÆäÇý¶¯³ÌÐò¼ì²éNP943 I.D.Ö®ºó°ÑËüµ±³É3c501À´´¦Àí¡£²Î¼û\ref{3c501} {(3Com 3c501)}ÒÔÁË½âÎªÊ²Ã´Êµ¼ÊÉÏ²»ÐèÒªÊ¹ÓÃÕâÐ©Íø¿¨¡£




\subsection{Schneider \& Koch}






\subsubsection{SK G16}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsk\_g16

ÆäÇý¶¯³ÌÐò±»°üº¬ÔÚv1.1ÄÚºËÖÐ£¬ÊÇPJD WeichmannºÍSWS Bern±àÐ´µÄ¡£ËÆºõSK G16ÓëNI6510ÏàËÆ£¬¶¼ÊÇ»ùÓÚLANCEÐ¾Æ¬µÄµÚÒ»°æ£¨7990£©¡£ÔÙÖØ¸´Ò»´Î£¬ËÆºõ¸ÃÍø¿¨ÎÞ·¨Ê¹ÓÃÍ¨ÓÃµÄLANCEÇý¶¯³ÌÐò¡£




\subsection{SEEQ}






\subsubsection{SEEQ 8005}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºseeq8005

Çý¶¯³ÌÐòÀïÖ»°üº¬ÁËºÜÉÙµÄÍø¿¨ÐÅÏ¢£¬ËùÒÔÕâÀïÒ²Ã»ÓÐ¶àÉÙÏà¹ØÐÅÏ¢¡£Èç¹ûÓÐÎÊÌâµÄ»°£¬×îºÃ·¢e-mail¸øÔ´ÂëÖÐÁÐ³öµÄÇý¶¯³ÌÐò×÷Õß¡£




\subsection{SMC (Standard Microsystems Corp.) \label{smc}}





ÔÚÐí¶àÄêÇ°wd8003ºÍwd8013»¹ÊÇÖ÷Á÷²úÆ·Ê±£¬Western DigitalµÄÒÔÌ«Íø²¿ÃÅ¾Í±»SMCÊÕ¹ºÁË¡£ÔÚÄÇÖ®ºó£¬SMC¼ÌÐøÖÆÔì»ùÓÚ8390µÄISAÍø¿¨£¨Elite16¡¢Ultra¡¢EtherEZ£©£¬²¢Ôö¼ÓÁË¼¸ÖÖPCI²úÆ·¡£

Óë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:
{\ttfamily techsupt@ccmail.west.smc.com}. FTP Site: {\ttfamily ftp.smc.com}.
WWW Site: \nameurl{http://www.smc.com}{SMC}.




\subsubsection{WD8003, SMC Elite}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºwd (+8390)

ÕâÐ©ÊÇÍø¿¨µÄ8±ÈÌØ°æ±¾¡£8±ÈÌØµÄ8003±È½Ï±ãÒË£¬µ«Ö»ÔÚÁ÷Á¿Ð¡µÄÓÃÍ¾ÉÏÊÇ»®ËãµÄ¡£×¢Òâ£¬Ä³Ð©Ã»ÓÐEEPROMµÄÍø¿¨£¨Ê¹ÓÃÌøÏßµÄ¼æÈÝ¿¨£¬»ò·Ç³£{\itshape ·Ç³£¹ÅÀÏ\/}µÄwd8003Íø¿¨£©ÎÞ·¨±¨¸æËüÃÇÊ¹ÓÃµÄÖÐ¶ÏÏß¡£´ËÊ±£¬Èç¹ûÊ¹ÓÃauto-irqÊ§°Ü£¬Çý¶¯³ÌÐò¾Í»á¾²ÇÄÇÄµØ·ÖÅäIRQ 5¡£Äã¿ÉÒÔ´ÓSMCµÄFTPÕ¾µã»ñÈ¡ÉèÖÃ/Çý¶¯³ÌÐò´ÅÅÌ¡£×¢Òâ£¬Ä³Ð©½ÏÐÂµÄSMCµÄ¡°SuperDisk¡±³ÌÐò¼ì²â²»µ½ÄÇÐ©È·Êµ¹ÅÀÏµÄÎÞEEPROMµÄÍø¿¨¡£ÎÄ¼þ{\ttfamily SMCDSK46.EXE}¿´À´ÊÇ¸öÏàµ±È«ÃæµÄ·½·¨¡£Ç°ÃæÌáµ½µÄµµ°¸ÖÐµÄÒ»¸öASCIIÎÄ±¾ÎÄ¼þÀï¸ø³öÁËËùÓÐÕâÐ©Íø¿¨µÄÌøÏßÉèÖÃ¡£×îÐÂ£¨×îºÃ£¿£©µÄ°æ±¾¿ÉÒÔ´Ó{\ttfamily ftp.smc.com}µÃµ½¡£

ÕâÐ©»ù±¾ÉÏÓëËüÃÇµÄ16±ÈÌØ¶ÔÓ¦Íø¿¨£¨WD8013 / SMC Elite16£©ÊÇÒ»Ñù£¬ËùÒÔ¿ÉÒÔ´ÓÏÂÒ»½ÚÁË½â¸ü¶àµÄÐÅÏ¢¡£






\subsubsection{WD8013, SMC Elite16\label{8013}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºwd (+8390)

Èô¸ÉÄêºó£¬SMCÔÚÉè¼ÆÖÐÌí¼ÓÁË¸ü¶àµÄ¼Ä´æÆ÷ºÍÒ»¸öEEPROM¡££¨µÚÒ»¿éwd8003Íø¿¨ÒÑ¾­ÃæÊÀÊ®ÄêÁË£¡£©¼æÈÝ¿¨Ò»°ãÊ¹ÓÃµÄÃû³ÆÎª¡°8013¡±£¬¶øÇÒÍ¨³£²ÉÓÃÎÞEEPROM£¨ÓÃÌøÏß£©µÄÉè¼Æ¡£½üÆÚÐÍºÅµÄSMCÍø¿¨Ê¹ÓÃSMCµÄ83c690Ð¾Æ¬£¬´úÌæÁËÔçÆÚÍø¿¨ÉÏµÄÔ­Ê¼Nat SemiµÄDP8390¡£¹²ÏíÄÚ´æÉè¼ÆÊ¹Íø¿¨µÄËÙ¶È±ÈPIOÍø¿¨¿ìÁËÒ»µã£¬ÓÈÆäÊÇ¶Ô½Ï´óµÄÊý¾Ý°ü¡£¸üÖØÒªµÄÊÇ£¬´ÓÇý¶¯³ÌÐòµÄ½Ç¶ÈÀ´¿´£¬±ÜÃâÁË8390¿É±à³ÌI/OÄ£Ê½µÄ¼¸¸öBug£¬ÔÊÐí¶à¸öÏß³Ì°²È«µØ·ÃÎÊÊý¾Ý°ü»º´æ£¬¶øÇÒÔÚÈÈÆô¶¯Ì½²âÊ±²»»áÒòÎª¿É±à³ÌI/OÊý¾Ý¼Ä´æÆ÷µ¼ÖÂËÀ»ú¡£

ÎÞEEPROMµÄÍø¿¨ÔÚÎÞ·¨¶ÁÈ¡Ñ¡¶¨µÄÖÐ¶ÏÊ±»á³¢ÊÔauto-irq£¬Èç¹ûÊ§°ÜµÄ»°£¬Ëü»á¾²ÇÄÇÄµØ·ÖÅäIRQ 10¡££¨8±ÈÌØ°æ±¾·ÖÅäIRQ 5¡££©

°åÉÏÄÚ´æ´óÐ¡²»±ê×¼µÄÍø¿¨¿ÉÒÔÔÚÆô¶¯Ê±Ö¸¶¨ÄÚ´æ´óÐ¡£¨Èç¹ûÊ¹ÓÃÄ£¿éµÄ»°£¬°ÑËü×÷Îª{\ttfamily /etc/conf.modules}ÖÐµÄÒ»¸öÑ¡Ïî£©¡£8±ÈÌØÍø¿¨µÄ±ê×¼ÄÚ´æ´óÐ¡Îª8kB£¬16±ÈÌØÍø¿¨Îª16kB¡£ÀýÈç£¬ÀÏÊ½µÄWD8003EBTÍø¿¨¿ÉÒÔÓÃÌøÏßÉèÖÃÎª32kBÄÚ´æ¡£ÒªÍêÈ«Ê¹ÓÃÕâÐ©RAM£¬ÐèÒªÈçÏÂ²Ù×÷£¨¶ÔI/O=0x280ºÍIRQ 9£©£º
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        LILO: linux ether=9,0x280,0xd0000,0xd8000,eth0
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


²Î¼û\ref{8013-probs} {(8013ÎÊÌâ)}ÒÔÁË½âÄ³Ð©³£¼ûÎÊÌâ¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsubsection{SMC Elite Ultra\label{ultra}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsmc-ultra (+8390)

¸ÃÒÔÌ«Íø¿¨ÊÇ»ùÓÚSMCµÄ83c790Ð¾Æ¬£¬±È83c690¶à¼¸¸öÐÂÌØÐÔ¡£ËäÈ»ÓÐÒ»ÖÖÓëÀÏÊ½SMCÒÔÌ«Íø¿¨ÏàËÆµÄÄ£Ê½£¬ËüÎÞ·¨ÓëÀÏµÄWD80*3Çý¶¯³ÌÐòÍêÈ«¼æÈÝ¡£µ«ÔÚÕâÖÖÄ£Ê½ÏÂ£¬Ëü¿ÉÒÔÓëÆäËü8390Çý¶¯³ÌÐò¹²Ïí´ó²¿·Ö´úÂë£¬¶øÇÒ²Ù×÷±ÈWD8013¼æÈÝÍø¿¨ÉÔÎ¢¿ìÒ»µã¡£

ÓÉÓÚUltra²¿·Ö{\itshape ¿´ÆðÀ´Ïó\/}8013£¬ËùÒÔUltraÌ½²âÓ¦µ±ÔÚwd8013Ì½²â´íÎóµØÊ¶±ðÒ»¸öUltraÍø¿¨Ö®Ç°ÕÒµ½Ëü¡£

DonaldÌáµ½¿ÉÒÔÎªUltraµÄ¡°Altego¡±Ä£Ê½±àÐ´Ò»¸ö¶ÀÁ¢µÄÇý¶¯³ÌÐò£¬¸ÃÄ£Ê½ÔÊÐí°Ñ·¢ËÍÁ´½ÓÆðÀ´½øÐÐ£¬Æä´ú¼ÛÊÇ½ÓÊÕ»º´æµÄÀûÓÃÐ§ÂÊ»áÏÂ½µ£¬µ«ÊÇÒ²¿ÉÄÜ²»ÏÂ½µ¡£

×ÜÏß¿ØÖÆSCSIÖ÷»úÊÊÅäÆ÷µÄÓÃ»§ÐèÒª×¢Òâ£ºÔÚÓëInteractive UNIXÒ»Æð·¢ÐÐµÄÊÖ²áÀïÌáµ½£¬SMC UltraÀïµÄÒ»¸öBug»áµ¼ÖÂaha-154XÖ÷»úÊÊÅäÆ÷ÔËÐÐµÄSCSI´ÅÅÌÊý¾ÝËð»µ¡£Õâ¿ÉÄÜÓ°Ïìaha-154X¼æÈÝ¿¨£¬ÈçBusLogic°åºÍAMI-FastDisk SCSIÖ÷»úÊÊÅäÆ÷¡£

SMC³ÐÈÏÔÚInteractiveºÍÀÏÊ½Windows NTÇý¶¯³ÌÐòÉÏ»á³öÏÖÕâ¸öÎÊÌâ¡£ËüÊÇÔçÆÚ°æ±¾µÄÍø¿¨´æÔÚµÄÓ²¼þ³åÍ»£¬¿ÉÒÔÍ¨¹ýÇý¶¯³ÌÐòµÄÉè¼Æ½â¾ö¡£Ä¿Ç°µÄUltraÇý¶¯³ÌÐòÍ¨¹ýÖ»ÔÚÓëÍø¿¨´«µÝÊý¾ÝÊ±²ÅÆôÓÃ¹²ÏíÄÚ´æ±ÜÃâÁËÕâ¸öÎÊÌâ¡£È·¶¨ÄãµÄÄÚºË°æ±¾ÖÁÉÙÊÇ1.1.84ÒÔÉÏ£¬»òÕßÆô¶¯Ê±±¨¸æµÄÇý¶¯³ÌÐò°æ±¾ÖÁÉÙÎª{\ttfamily smc-ultra.c:v1.12}£¬·ñÔò¾Í»á³öÎÊÌâ¡£

Èç¹ûÄãÏë°Ñ¸ÃÇý¶¯³ÌÐò×÷ÎªÒ»¸ö¿ÉÔØÈëµÄÄ£¿é£¬Ó¦¸ÃÔÄ¶Á\ref{modules} {(°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ)}ÒÔÁË½âÓÐ¹ØÄ£¿éµÄÐÅÏ¢¡£




\subsubsection{SMC Elite Ultra32 EISA\label{ultra32}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsmc-ultra32 (+8390)

Õâ¸öEISAÍø¿¨ÓëÆäÏàÓ¦µÄISAÍø¿¨ÓÐºÜ¶à¹²Í¬µã¡£ÔÚv2.0ºÍv2.2ÄÚºËÀï¶¼°üº¬ÁËÒ»¸ö¿ÉÒÔÊ¹ÓÃ£¨¶øÇÒÎÈ¶¨£©µÄÇý¶¯³ÌÐò¡£¸ÐÐ»Leonard ZubkoffÂòÁËÒ»Ð©ÕâÑùµÄÍø¿¨£¬Ê¹µÃLinuxÀïÄÜ¹»Ôö¼Ó¶ÔËüÃÇµÄÖ§³Ö¡£




\subsubsection{SMC EtherEZ (8416)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsmc-ultra (+8390)

¸ÃÍø¿¨Ê¹ÓÃSMCµÄ83c795Ð¾Æ¬²¢Ö§³Ö¼´²å¼´ÓÃÌØÐÔ¡£ËüÒ²ÓÐ{\itshape SMC Ultra\/}¼æÈÝÄ£Ê½£¬¿ÉÒÔÊ¹ÓÃLinuxµÄUltraÇý¶¯³ÌÐò¡£ÒªµÃµ½×î¼ÑÐ§¹û£¬ÇëÊ¹ÓÃSMCÌá¹©µÄ³ÌÐò£¨Í¨¹ýËûÃÇµÄFTP/WWWÕ¾µã£©½ûÓÃPnP£¬²¢°ÑËüÅäÖÃÎª¹²ÏíÄÚ´æÄ£Ê½¡£²Î¼ûÉÏÃæÓÐ¹ØUltraÇý¶¯³ÌÐòµÄËµÃ÷¡£

¶ÔÓÚv1.2ÄÚºË£¬¸ÃÍø¿¨±ØÐë±»ÅäÖÃÎª¹²ÏíÄÚ´æÄ£Ê½¡£µ«v2.0ÄÚºË¿ÉÒÔÔÚ¹²ÏíÄÚ´æ»ò¿É±à³ÌI/OÄ£Ê½ÏÂÊ¹ÓÃ¸ÃÍø¿¨¡£¹²ÏíÄÚ´æÄ£Ê½ÉÔÎ¢¿ìÒ»µã£¬¶øÇÒ¶ÔCPU×ÊÔ´µÄÕ¼ÓÃÉÙÒ»Ð©¡£




\subsubsection{SMC EtherPower PCI (8432)\label{smc-pci}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÏÈÉùÃ÷Ò»µã£ºEtherPower IIÊÇÒ»¿îÍêÈ«²»Í¬µÄÍø¿¨¡£ÍùÏÂ¿´£¡ÕâÐ©Íø¿¨ÊÇ»ù±¾µÄDEC 21040²úÆ·£¬¼´Ò»¸ö´óÐ¾Æ¬ºÍÈô¸ÉÊÕ·¢Æ÷¡£DonaldÔÚ¿ª·¢Í¨ÓÃ21040Çý¶¯³ÌÐò£¨ÓÖÃû{\ttfamily tulip.c}£©Ê±Ê¹ÓÃÁËÒ»¿éÕâÑùµÄÍø¿¨¡£ÔÙÒ»´Î¸ÐÐ»Duke KamstraÌá¹©ÁË¿ª·¢Ê±ËùÓÃµÄÍø¿¨¡£

Ä³Ð©½üÆÚ°æ±¾µÄÕâÖÖÍø¿¨Ê¹ÓÃ½ÏÐÂµÄDEC 21041Ð¾Æ¬£¬ÔÚÊ¹ÓÃÔçÆÚ°æ±¾µÄtulipÇý¶¯³ÌÐòÊ±¿ÉÄÜ»áÓÐÎÊÌâ¡£Èç¹ûÓöµ½Âé·³£¬ÇëÈ·¶¨Ê¹ÓÃµÄÊÇ×îÐÂ·¢²¼µÄÇý¶¯³ÌÐò£¬Ëü¿ÉÄÜ»¹Ã»ÓÐ±»°üº¬ÔÚÄ¿Ç°µÄÄÚºËÔ´ÂëÊ÷ÖÐ¡£

²Î¼û\ref{dec-21040} {(DEC 21040)}ÒÔÁË½âÕâÐ©Íø¿¨µÄ¸ü¶àÐÅÏ¢ºÍµ±Ç°Çý¶¯³ÌÐòµÄ×´¿ö¡£

ºÜÃ÷ÏÔ£¬EtherPower-IIÍø¿¨µÄ×îÐÂ°æ±¾Ê¹ÓÃ9432Ð¾Æ¬¡£Ä¿Ç°»¹²»Çå³þËüÊÇ·ñ¿ÉÒÔÊ¹ÓÃÏÖÔÚµÄÇý¶¯³ÌÐò¡£Í¬Ñù£¬Èç¹ûÎÞ·¨È·ÐÅµÄ»°£¬ÔÚ¹ºÂòÍø¿¨{\itshape Ö®Ç°\/}£¬ÏÈÈ·¶¨Èç¹û²»ÄÜÊ¹ÓÃLinuxÇý¶¯³ÌÐò¾Í¿ÉÒÔÍË»õ¡£




\subsubsection{SMC EtherPower II PCI (9432)\label{smc-pci-II}}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºepic100

ÕâÐ©Íø¿¨ÊÇ»ùÓÚSMC 83c170Ð¾Æ¬£¬Óë»ùÓÚTulipµÄÍø¿¨ÍêÈ«²»Í¬¡£ÔÚv2.0ºÍv2.2ÄÚºËÀï°üº¬Ö§³ÖËüµÄÐÂÇý¶¯³ÌÐò¡£¸ü¶àµÄÏ¸½ÚÇë·ÃÎÊ£º

{\ttfamily http://www.scyld.com/linux/drivers/epic100.html}






\subsubsection{SMC 1211TX 10/100}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºrtl8139

ÏÔÈ»SMCÒÑ¾­²»ÔÙÊÇÈçUltraºÍEPICÄÇÑùÌá¹©Íø¿¨µÄÍ¬Ò»¼Ò¹«Ë¾¡£Ð¾Æ¬Éè¼Æ²¿·ÖÏÖÔÚ½Ð×öSMSC£¬¶øSMCµÄÃû³ÆÊÇÓëµÍ¶ËOEM°åÁªÏµÔÚÒ»ÆðµÄ£¬¾ÍÏñÕâ¿é°åÒ»Ñù¡ª¡ª´øÒ»¿éÐÞ¸Ä¹ýµÄEEPROMµÄRealTek 8139¡£




\subsubsection{SMC 3008}

×´Ì¬£º²»Ö§³Ö¡£

ÕâÐ©8±ÈÌØÍø¿¨ÊÇ»ùÓÚFujitsu MB86950µÄ£¬ËüÊÇLinux at1700Çý¶¯³ÌÐòËùÓÃMB86965µÄ¹ÅÀÏ°æ±¾¡£RussËµ¿ÉÒÔÍ¨¹ýÔÄ¶Áat1700.c´úÂëºÍËû×Ô¼ºµÄTiaraÍø¿¨DOSÇý¶¯³ÌÐò°ü£¨tiara.asm£©À´±àÐ´ËüµÄÇý¶¯³ÌÐò¡£ÕâÐ©Íø¿¨²»ÊÇºÜ³£¼û¡£




\subsubsection{SMC 3016}

×´Ì¬£º²»Ö§³Ö¡£

ÕâÐ©ÊÇ16±ÈÌØµÄI/OÓ³Éä8390Íø¿¨£¬ÓëÍ¨ÓÃNE2000Íø¿¨ºÜÏàËÆ¡£Èç¹ûÄãÄÜ´ÓSMCµÃµ½ËµÃ÷×ÊÁÏ£¬ÄÇÃ´ÒÆÖ²NE2000Çý¶¯³ÌÐò½«Ïàµ±¼òµ¥¡£ÕâÐ©Íø¿¨²»ÊÇºÜ³£¼û¡£




\subsubsection{SMC-9000 / SMC 91c92/4}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsmc9194

SMC9000ÊÇ»ùÓÚ91c92Ð¾Æ¬µÄVLBÍø¿¨¡£91c92Ò²³öÏÖÔÚÈô¸ÉÆäËüÆ·ÅÆÍø¿¨ÉÏ£¬µ«Ïàµ±ÉÙ¼û¡£




\subsubsection{SMC 91c100}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºsmc9194

¾ÝËµSMC 91c92Çý¶¯³ÌÐòÖ§³Ö¸Ã¿î»ùÓÚ100Base-TÐ¾Æ¬µÄÍø¿¨£¬µ«Ä¿Ç°»¹Î´µÃµ½Ö¤Êµ¡£




\subsection{Texas Instruments}






\subsubsection{ThunderLAN\label{tlan}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºtlan

¸ÃÇý¶¯³ÌÐò¸²¸ÇÁËÐí¶àCompaqµÄÄÚ½¨ÒÔÌ«ÍøÉè±¸£¬°üÀ¨NetFlexºÍNetelligentÏµÁÐ¡£Ëü»¹Ö§³ÖOlicomµÄ2183¡¢2185¡¢2325ºÍ2326²úÆ·¡£




\subsection{Thomas Conrad}






\subsubsection{Thomas Conrad TC-5048}



ÕâÊÇ»ùÓÚDECµÄ21040Ð¾Æ¬µÄÁíÒ»¿îPCIÍø¿¨¡£

²Î¼ûÓÐ¹Ø21040Ð¾Æ¬Ò»½Ú£¨\ref{dec-21040} {(DEC 21040)}£©ÒÔÁË½â¸ü¶àÐÅÏ¢¡£




\subsection{VIA}



Äã¿ÉÄÜÃ»¼û¹ýVIAÍø¿¨£¬µ«VIAÖÆÔìµÄ¼¸ÖÖÍøÂçÐ¾Æ¬±»ÓÃÔÚÆäËü³§¼ÒµÄÒÔÌ«Íø¿¨ÉÏ¡£ËûÃÇÓÐÒ»¸öWWWÕ¾µã£º

{\ttfamily http://www.via.com.tw/}




\subsubsection{VIA 86C926 Amazon}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne, ne2k-pci (+8390)

¸Ã¿ØÖÆÆ÷Ð¾Æ¬ÊÇVIAÌá¹©µÄPCI-NE2000¡£Äã¿ÉÒÔÑ¡ÔñISA/PCIÇý¶¯³ÌÐò{\ttfamily ne.c}»òÕßÖ»Ö§³ÖPCIµÄÇý¶¯³ÌÐò
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
<tt/ne2k-pci.c/
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}
¡£²Î¼ûPCI-NE2000Ò»½ÚÒÔÁË½â¸ü¶àÐÅÏ¢¡£




\subsubsection{VIA 86C100A Rhine II (and 3043 Rhine I)\label{rhine}}

Status Ö§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºvia-rhine

ÕâÒ»Ïàµ±ÐÂµÄÇý¶¯³ÌÐò¿ÉÒÔÔÚÄ¿Ç°µÄ2.0ºÍ2.1ÄÚºËÀïÕÒµ½¡£ËüÊÇÔÚ86C926 NE2000Ð¾Æ¬ÉÏµÄ¸Ä½ø£¬Ö§³Ö×ÜÏß¿ØÖÆÈ¨´«µÝ£¬µ«ÑÏ¸ñµÄ»º´æ32±ÈÌØ×Ö½Ú¶ÔÆëµÄÒªÇóÏÞÖÆÁË´ÓÖÐµÃµ½µÄºÃ´¦¡£ÒªÁË½â¸ü¶àÏ¸½ÚºÍÇý¶¯³ÌÐò¸üÐÂ£¬²Î¼û£º

{\ttfamily http://www.scyld.com/linux/drivers/via-rhine.html}






\subsection{Western Digital}



Çë²Î¼û\ref{smc} {(SMC)}ÒÔÁË½âÓÐ¹ØSMCÍø¿¨µÄÐÅÏ¢¡££¨SMCÔÚ¶àÄêÇ°¾ÍÊÕ¹ºÁËWestern DigitalµÄÍø¿¨²¿ÃÅ¡££©




\subsection{Winbond}

WinbondÊµ¼ÊÉÏ²¢²»ÖÆÔìºÍÏò´óÖÚÏúÊÛÍêÕûµÄÍø¿¨¡ª¡ªËûÃÇÉú²úµ¥Æ¬ÒÔÌ«ÍøÐ¾Æ¬£¬ÆäËü¹«Ë¾¹ºÂò²¢ÔÚPCI°åÉÏÓ¡ÉÏ×Ô¼ºµÄÃû×Ö£¬È»ºóÍ¨¹ýÁãÊÛµêÏúÊÛ¡£¿ÉÒÔ´ÓÏÂÃæµÃµ½Ò»Ð©ÉèÖÃ³ÌÐòºÍ¼¼ÊõÖ§³Ö£º

{\ttfamily http://www.winbond.com.tw}




\subsubsection{Winbond 89c840}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºwinbond-840

¸ÃÐ¾Æ¬±»ÃèÊöÎª¡°NE2000Íø¿¨ºÍTulip¼æÈÝÍø¿¨ÔÓ½»²úÉúµÄÍ»±äÌå¡±¡ª¡ª²Î¼ûÇý¶¯³ÌÐòµÄ×¢ÊÍÒÔÁË½â¸ü¶à Ï¸½Ú¡£¸ÃÇý¶¯³ÌÐò»¹Ã»ÓÐÓëÄÚºËÒ»Æð·¢ÐÐ£¬ÒòÎªËü»¹´¦ÓÚ²âÊÔ½×¶Î£¨´Ó1998Äê9ÔÂ¿ªÊ¼£©¡£¿ÉÒÔ´ÓÏÂÃæ»ñÈ¡Çý¶¯³ÌÐò£º

{\ttfamily http://www.scyld.com/linux/drivers/test/winbond-840.c}




\subsubsection{Winbond 89c904, 89c905, 89c906}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne (+8390)

ÕâÐ©ÊÇWinbondµÄISA 10Mbps ne2000¼æÈÝÒÔÌ«ÍøÐ¾Æ¬¡£ÉèÖÃ³ÌÐò¿ÉÒÔ´ÓWinbondÕ¾µã»ñµÃ¡£




\subsubsection{Winbond 89c940}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºne, ne2k-pci (+8390)

¸ÃÐ¾Æ¬ÊÇºÜ¶àÖÆÔìÉÌ³öÊÛµÄµÍ¼ÛPCI ne2000Íø¿¨ÉÏ×î³£¼ûµÄÁ½¸öÐ¾Æ¬Ö®Ò»¡£×¢Òâ£¬ÕâÒÀÈ»ÊÇ¸½ÔÚPCI×ÜÏßÉÏµÄÊ®¶àÄêÇ°µÄÀÏÊ½Éè¼Æ¡£ÆäÐÔÄÜ²¢²»±ÈÏàÓ¦µÄISAÐÍºÅºÃ¶àÉÙ¡£




\subsection{Xircom\label{xircom}}



ÔÚºÜ³¤Ò»¶ÎÊ±¼äÀï£¬³ý·ÇÄãÇ©ÊðÎÄ¼þ·ÅÆúÄãµÄÉúÃü£¬Xircom²»Ô¸Òâ·¢²¼±àÐ´Çý¶¯³ÌÐòËùÐèµÄ±à³ÌÐÅÏ¢¡£ÏÔÈ»ÓÐ×ã¹»¶àµÄLinuxÓÃ»§²»¶Ï¾À²øËûÃÇ£¬ÒªµÃµ½Çý¶¯³ÌÐòÖ§³Ö£¨XircomÉù³ÆÖ§³ÖËùÓÐÍ¨ÓÃÍøÂç²Ù×÷ÏµÍ³......£©£¬ËùÒÔËûÃÇ¸Ä±äÁËÕþ²ß£¬ÎÞÐèÔÙÇ©Êð²»¹«¿ªÐ­Òé£¬ÔÊÐí¹«¿ªÓÐ¹Ø×ÊÁÏ¡£ÓÐÐ©ÈËËµËûÃÇ½«Òª¹«¿ªSCOÇý¶¯³ÌÐòµÄÔ´Âë£¬ÁíÒ»Ð©±»¸æÖªËûÃÇ²»ÔÙÌá¹©ÏóÔçÆÚPEÐÍºÅÄÇÑù¡°±»·ÏÆú¡±µÄ²úÆ·×ÊÁÏ¡£Èç¹ûÄã¸ÐÐËÈ¤²¢Ïë×Ô¼ºÁË½âÒ»ÏÂ£¬¿ÉÒÔÁªÏµXircom£º1-800-874-7875, 1-800-438-4526 »ò +1-818-878-7600¡£




\subsubsection{Xircom PE1, PE2, PE3-10B*}

×´Ì¬£º²»Ö§³Ö¡£

²»Òª±§Ì«´óÏ£Íû£¬µ«Èç¹ûÄãÓÐÒ»¸öÕâÑùµÄ²¢¿ÚÊÊÅäÆ÷£¬¿ÉÒÔÔÚDOS·ÂÕæÆ÷ÏÂÊ¹ÓÃXircomÌá¹©µÄDOSÇý¶¯³ÌÐòÊ¹ÓÃËü¡£ÄãÐèÒªÔÊÐíDOSEMU·ÃÎÊ²¢¿Ú£¬¿ÉÄÜ»¹ÒªºÍSIG£¨DOSEMUµÄÉµ¹ÏÖÐ¶ÏÉú³ÉÆ÷£©Ò»ÆðÊ¹ÓÃ¡£




\subsubsection{Xircom PCMCIA Cards}

×´Ì¬£º°ëÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£º????

ÔÚDavid HindsµÄPCMCIAÈí¼þ°üÀïÓÐÒ»Ð©XircomµÄPCMCIAÍø¿¨Çý¶¯³ÌÐò¡£²é¿´Ò»ÏÂÒÔÁË½â×îÐÂÐÅÏ¢¡£




\subsection{Zenith\label{zenith}}






\subsubsection{Z-Note\label{z-note}}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºznet

ÄÚ½¨µÄZ-NoteÍøÂçÊÊÅäÆ÷ÊÇ»ùÓÚÊ¹ÓÃ{\itshape Á½¸ö\/}DMAÍ¨µÀµÄIntel i82593¡£ÔÚÄ¿Ç°µÄÄÚºË°æ±¾ÀïÓÐÒ»¸ö£¨alpha?£©Çý¶¯³ÌÐò¡£ÓëËùÓÐ±Ê¼Ç±¾µçÄÔºÍÐäÕäÊÊÅäÆ÷Ò»Ñù£¬ÔÚÔËÐÐ{\ttfamily make config}Ê±Ëü±»·ÅÔÚ¡°Pocket and portable adaptors¡±²¿·Ö¡£Í¬Ê±»¹Òª×¢Òâ£¬IBM ThinkPad 300ÓëZ-Note¼æÈÝ¡£




\subsection{Znyx\label{zynx}}






\subsubsection{Znyx ZX342 (DEC 21040 based)}

×´Ì¬£ºÖ§³Ö£¬Çý¶¯³ÌÐòÃû³Æ£ºde4x5, tulip

ÔÚÊ¹ÓÃ»ùÓÚ¸ÃÐ¾Æ¬µÄÍø¿¨Ê±¿ÉÒÔÔÚ{\itshape Á½¸ö\/}Çý¶¯³ÌÐòÖÐ½øÐÐÑ¡Ôñ¡£David±àÐ´ÁËDE425Çý¶¯³ÌÐò£¬Donald±àÐ´ÁËÍ¨ÓÃµÄ21040Çý¶¯³ÌÐò¡£

×¢Òâ£¬ÔÚ1.1.91£¬DavidÔö¼ÓÁËÒ»¸ö±àÒëÑ¡Ïî£¬ÔÊÐí·ÇDECÍø¿¨£¨ÈçZnyxÍø¿¨£©Ê¹ÓÃ¸ÃÇý¶¯³ÌÐò¡£ÇëÔÄ¶Á{\ttfamily README.de4x5}ÒÔÁË½âÆäÖÐÏ¸½Ú¡£

²Î¼û\ref{dec-21040} {(DEC 21040)}ÒÔÁË½âÕâÐ©Íø¿¨µÄ¸ü¶àÐÅÏ¢ºÍµ±Ç°Çý¶¯³ÌÐòµÄ×´¿ö¡£




\subsection{Ê¶±ðÎ´ÖªÍø¿¨\label{mystery}}



ºÃ°É£¬¼ÙÉèÄãÊåÊåµÄÖ¶×ÓµÄÁÚ¾ÓµÄÅóÓÑÓÐÒ»¸öÐÖµÜ£¬ÔÚËû¸ø¶ù×ÓµÄ³èÎï´óÀÏÊó×öÎÑµÄATÏä×ÓÀïÕÒµ½ÁËÒ»¿éÀÏÊ½ISAÒÔÌ«Íø¿¨¡£²»ÖªÊ²Ã´Ô­ÒòÕâ¿éÍø¿¨×îºóÂäµ½ÄãµÄÊÖÀï£¬ÏëÔÚLinuxÏÂÊ¹ÓÃ£¬µ«Ã»ÈËÖªµÀÕâ¿éÍø¿¨ÊÇÊ²Ã´£¬Ò²Ã»ÓÐÈÎºÎ×ÊÁÏ¡£

Ê×ÏÈ£¬Ñ°ÕÒ¿ÉÒÔ×÷ÎªÏßË÷µÄÈÎºÎÃ÷ÏÔµÄÐÍºÅ±àÂë¡£Èç¹ûÐÍºÅÀï°üº¬2000£¬ÄÇÃ´ºÜÓÐ¿ÉÄÜÊÇ¿éNE2000¼æÈÝÍø¿¨¡£ÉÏÃæÓÐ8003ºÍ8013µÄÍø¿¨¿ÉÄÜÊÇWestern/DigitalµÄWD80x3Íø¿¨£¬»òÕßÊÇSMC EliteÍø¿¨£¬»òÕßËüÃÇµÄ¼æÈÝÍø¿¨¡£




\subsubsection{Ê¶±ðÍøÂç½Ó¿Ú¿ØÖÆÆ÷}

Ñ°ÕÒÍø¿¨ÉÏ×î´óµÄÐ¾Æ¬¡£ÄÇ¾ÍÊÇÍøÂç¿ØÖÆÆ÷£¨NIC£©£¬´ó¶àÊý¶¼¿ÉÒÔ´Ó²¿·Ö±àºÅÉÏÊ¶±ð³öÀ´¡£Èç¹ûÄãÖªµÀÍø¿¨ÉÏÊÇÄÄÒ»ÖÖNIC£¬ÏÂÎÄ¾ÍÄÜ°ïÄãÅªÇåÊÇÄÄÒ»ÖÖÍø¿¨¡£

¿ÉÄÜ×î³£¼ûµÄNIC»¹ÊÇNational SemiconductorµÄDP8390£¬ÓÖÃûNS32490£¬ÓÖÃûDP83901£¬ÓÖÃûDP83902£¬ÓÖÃûDP83905£¬ÓÖÃûDP83907¡£ÕâÐ©²»¹ýÊÇNationalÉú²úµÄÒ»²¿·ÖÐ¾Æ¬£¡ÆäËüÒ»Ð©¹«Ë¾£¬ÈçWinbondºÍUMC£¬Éú²úDP8390ºÍDP83905¼æÈÝ²¿¼þ£¬ÈçWinbondµÄ89c904£¨ÓëDP83905¼æÈÝ£©ºÍUMCµÄ9090¡£Èç¹ûÍø¿¨ÓÉ8390¹¹³É£¬ÄÇÃ´Ëü¿ÉÄÜ¾ÍÊÇÒ»¸öne1000»òne2000¼æÈÝÍø¿¨¡£Æä´Î³£ÓÃµÄ»ùÓÚ8390µÄÍø¿¨ÊÇwd80x3Íø¿¨¼°Æä¼æÈÝ¿¨¡£Ê¹ÓÃDP83905µÄÍø¿¨¿ÉÒÔ±»ÈÏÎªÊÇne2000{\itshape »ò\/}wd8013¡£ÐÂ°æ±¾µÄÍ¨ÓÃwd80x3ºÍSMC EliteÍø¿¨ÔÚÔ­À´DP8390µÄÎ»ÖÃÉÏÓÃµÄÊÇ83c690¡£SMC UltraÍø¿¨²ÉÓÃ83c790£¬Ê¹ÓÃÓëwd80x3Íø¿¨ÉÔÓÐÇø±ðµÄÇý¶¯³ÌÐò¡£SMC EtherEZÍø¿¨²ÉÓÃ83c795£¬Ê¹ÓÃµÄÇý¶¯³ÌÐòÓëSMC UltraÍø¿¨Ò»Ñù¡£ËùÓÐ»ùÓÚÄ³ÖÖ8390»ò8390¼æÈÝÐ¾Æ¬µÄBNCÍø¿¨¶¼ÓÐÒ»Æ¬½ô¿¿BNCÁ¬½ÓÆ÷µÄ16ÕëDIPÐ¾Æ¬8392£¨»ò83c692£¬ÓÖ»ò???392£©¡£

ÁíÒ»¸öÔÚÀÏÊ½Íø¿¨ÉÏÕÒµ½µÄ³£¼ûNICÊÇIntelµÄi82586¡£Ê¹ÓÃ¸ÃNICµÄÍø¿¨°üÀ¨3c505¡¢3c507¡¢3c523¡¢IntelµÄEtherExpress-ISA¡¢MicrodyneµÄExos-205TºÍRacal-InterlanµÄNI5210¡£

Ô­Ê¼AMD LANCE NICµÄ±àºÅÎªAM7990£¬½ÏÐÂµÄ°æ±¾°üÀ¨79c960¡¢79c961¡¢79c965¡¢79c970ºÍ79c974¡£ÉÏÃæµÄ´ó¶àÊýÍø¿¨¶¼¿ÉÒÔÊ¹ÓÃLinuxµÄLANCEÇý¶¯³ÌÐò£¬ÓÐ¸öÀýÍâÊÇÊ¹ÓÃ×Ô¼ºÇý¶¯³ÌÐòµÄÀÏÊ½Racal-InterlanµÄNI6510Íø¿¨¡£

Ê¹ÓÃDECµÄ21040¡¢21041¡¢21140»òÀàËÆµÄ±àºÅNICµÄ½ÏÐÂµÄPCIÍø¿¨¿ÉÒÔÊ¹ÓÃLinuxµÄtulip»òde4x5Çý¶¯³ÌÐò¡£

ÆäËüÓÐÒ»¸öÓ¡ÖøRTL8029¡¢89C940»ò86C926µÄ´óÐ¾Æ¬µÄPCIÍø¿¨ÊÇne2000¼æÈÝÍø¿¨£¬v2.0ÒÔÉÏ°æ±¾LinuxÀïµÄneÇý¶¯³ÌÐòÔÚÆô¶¯Ê±¿ÉÒÔ×Ô¶¯¼ì²âÕâÐ©Íø¿¨¡£




\subsubsection{Ê¶±ðÒÔÌ«ÍøµØÖ·}



Ã¿Ò»¸öÒÔÌ«Íø¿¨¶¼ÓÐÒ»¸öÎ¨Ò»µÄ6×Ö½ÚÍø¿¨µØÖ·¡£Í¬Ò»¸öÖÆÔìÉÌÉú²úµÄÃ¿Ò»¿éÍø¿¨µÄ¸ÃµØÖ·µÄÇ°Èý¸ö×Ö½Ú¶¼ÊÇÒ»ÑùµÄ¡£ÀýÈç£¬ËùÓÐµÄSMCÍø¿¨¶¼ÒÔ{\ttfamily 00:00:c0}¿ªÊ¼¡£ÖÆÔìÉÌ·ÖÅäµÄºóÈý¸ö×Ö½Ú¶ÔÓÚ×Ô¼ºÉú²úµÄÃ¿Ò»¿éÍø¿¨¶¼ÊÇÎ¨Ò»µÄ¡£

Èç¹ûÄãµÄÍø¿¨ÉÏÓÐ¸ö±êÇ©¸ø³öÁËÍø¿¨µØÖ·µÄÈ«²¿Áù¸ö×Ö½Ú£¬¾Í¿ÉÒÔÍ¨¹ýÇ°Èý¸ö×Ö½Ú²éµ½ËüµÄÏúÊÛÉÌ¡£µ«Ò»°ãPROM²å×ùÉÏÌùµÄ±êÇ©ÉÏÖ»´òÓ¡ÁËºóÈý¸ö×Ö½Ú£¬Ã»Ê²Ã´ÓÃ¡£

Äã¿ÉÒÔ´ÓRFC-1340ÉÏÕÒµ½·ÖÅä¸øÏúÊÛÉÌµÄµØÖ·¡£ÏÔÈ»ÓÐºÜ¶àµØ·½¿ÉÒÔÕÒµ½×îÐÂµÄµØÖ·ÁÐ±í¡£Í¨¹ýWWW»òFTP²éÕÒ{\ttfamily EtherNet-codes}»ò{\ttfamily Ethernet-codes}¾Í¿ÉÒÔÕÒµ½Ò»Ð©×ÊÁÏ¡£




\subsubsection{Í¨¹ýFCC IDºÅÂëÊ¶±ðÍø¿¨}



×÷ÎªÍø¿¨Í¨³£ÔÚÏúÊÛ¸øÓÃ»§Ö®Ç°±ØÐëÍ¨¹ýµÄÑéÖ¤¹ý³ÌµÄÒ»²¿·Ö£¬Íø¿¨Òª±»FCC²âÊÔ£¬²¢°ÑÓÉ´Ë»ñµÃµÄFCC IDÓ¡ÔÚÍø¿¨ÉÏ¡£ÀýÈç£¬Ä³¿éÍø¿¨ÉÏÓÐ{\ttfamily FCC ID: J158013EWC}¡ª¡ªÄÇÃ´¸ÃÍø¿¨¾ÍÊÇSMC/WD8013-EWC¡£{\ttfamily www.driverguide.com}ºÍ{\ttfamily drdriver.com}Ò»ÀàµÄÄ³Ð©WEBÕ¾µãÊ¹ÓÃFCC IDÁÐ±íÀ´°ïÖúIDºÅ²»Ã÷ÏÔµÄÇé¿ö¡£




\subsubsection{Ê¹ÓÃÎ´ÖªÍø¿¨µÄ¼¼ÇÉ}



Èç¹û»¹ÎÞ·¨È·¶¨ÊÇÄÄÒ»ÖÖÍø¿¨£¬µ«ÖÁÉÙËõÐ¡ÁË¿ÉÄÜµÄ·¶Î§£¬ÄÇÃ´Äã¿ÉÒÔ¹¹½¨Ò»¸ö°üÀ¨È«²¿¿ÉÄÜÇý¶¯³ÌÐòµÄÄÚºË£¬È»ºó¿´¿´ÆäÖÐµÄÄÄÒ»¸ö¿ÉÒÔÔÚÆô¶¯Ê±×Ô¶¯¼ì²âµ½Íø¿¨¡£

Èç¹ûÄÚºËÃ»ÓÐ¼ì²âµ½Íø¿¨£¬ÄÇÃ´¾ÍÊÇÍø¿¨Ã»ÓÐ±»ÅäÖÃµ½Ò»¸öÇý¶¯³ÌÐòÑ°ÕÒÍø¿¨Ê±Ì½²âµÄµØÖ·ÉÏ¡£´ËÊ±£¬ÐèÒª´Óµ±µØµÄLinuxµÄFTPÕ¾µãÏÂÔØ{\ttfamily scanport.tar.gz}£¬¿´¿´ËüÄÜ·ñ¶¨Î»³öÄãµÄÍø¿¨ÌøÏßËùÉèµÄµØÖ·¡£ËüÉ¨Ãè´Ó{\ttfamily 0x100}µ½{\ttfamily 0x3ff}µÄISA I/OµØÖ·ÒÔÑ°ÕÒ{\ttfamily /proc/ioports}ÀïÃ»ÓÐ×¢²áµÄÉè±¸¡£Èç¹ûËüÔÚÄ³¸öÌØ¶¨µØÖ··¢ÏÖÁËÒ»¸öÎ´ÖªÉè±¸£¬ÄÇÃ´¾Í¿ÉÒÔÓÃÒ»¸öÆô¶¯²ÎÊý{\ttfamily ether=}°ÑËüÃ÷È·Éè¶¨ÎªÒÔÌ«Íø¿¨Ì½²âµÄµØÖ·¡£

Èç¹ûÄãÉè·¨¼ì²âµ½ÁËÍø¿¨£¬ÄÇÃ´Ò»°ã¿ÉÒÔÒÀ´Î¸Ä±äÎ´ÖªÌøÏßÀ´ÁË½âÌøÏßµÄ×÷ÓÃ£¬²¢²é¿´±»¼ì²âµ½µÄÍø¿¨ËùÓÃI/O»ùÖ·ºÍÖÐ¶Ï¡£ÖÐ¶ÏÉèÖÃÒ»°ã¿ÉÒÔÍ¨¹ý²é¿´ÌøÏßÔÚÍø¿¨±³ÃæËùº¸½ÓµÄÎ»ÖÃÀ´µÃµ½¡£´ÓÍø¿¨ÓÐ½ðÊô²å×ùµÄÒ»¶ËÊý±³ÃæµÄ¡°½ðÊÖÖ¸¡±£¬ÏàÓ¦ÓÚ½ðÊÖÖ¸4¡¢21¡¢22¡¢23¡¢24¡¢25¡¢34¡¢35¡¢36¡¢37¡¢38·Ö±ðÊÇÖÐ¶Ï9¡¢7¡¢6¡¢5¡¢4¡¢3¡¢10¡¢11¡¢12¡¢15¡¢14¡£8±ÈÌØÍø¿¨Ö»ÓÃµ½½ðÊÖÖ¸31¡£

¿´ÆðÀ´Ã»Ê²Ã´ÓÃµÄÌøÏßÒ»°ãÊÇÓÃÀ´Ñ¡Ôñ¿ÉÑ¡Æô¶¯ROMµÄÄÚ´æµØÖ·¡£¿¿½üBNC»òRJ-45»òAUIµÄÆäËüÌøÏßÒ»°ãÊÇÓÃÀ´Ñ¡ÔñÊä³öÃ½½éµÄ¡£Ò»°ãËüÃÇÒ²ÔÚÓ¡ÖøYCL¡¢Valor»òFil-MagµÄ¡°ºÚºÐ×Ó¡±±äÑ¹Æ÷¸½½ü¡£

ÈçÏÂURLÊÕ¼¯ÁËºÜ¶à¸÷ÖÖÍø¿¨µÄÌøÏßÉèÖÃ£º

\nameurl{http://www.slug.org.au/NIC/}{Ethercard Settings}






\subsection{·ÇÒÔÌ«ÍøÉè±¸µÄÇý¶¯³ÌÐò}



ÔÚLinuxÔ´ÂëÀïÓÐÈô¸ÉÔÚÍøÂç³ÌÐò¿´À´ÊÇ{\itshape ÏóÒÔÌ«Íø\/}Éè±¸µÄÆäËüÇý¶¯³ÌÐò£¬µ«Êµ¼ÊÉÏ²»ÊÇÒÔÌ«ÍøÉè±¸¡£ÎªÁË±¾ÎÄµµµÄÍêÕûÐÔ£¬°ÑËüÃÇ¼òÒªµØÁÐÔÚÕâÀï¡£

{\ttfamily dummy.c}¡ª¡ª¸ÃÇý¶¯³ÌÐòµÄÄ¿µÄÊÇÌá¹©Ò»¸öÉè±¸À´Ö¸³öÂ·ÓÉ£¬µ«²¢²»Êµ¼Ê´«ÊäÊý¾Ý¡£

{\ttfamily eql.c}¡ª¡ª¸ººÉ¾ùºâ£¬¿ØÖÆ¶à¸öÉè±¸£¨Ò»°ãÊÇmodem£©²¢ÔÚÆäÖÐÆ½ºâ·¢ËÍ¸ºÔØ£¬¶ÔÍøÂç³ÌÐò±íÏÖÎªµ¥¸öÉè±¸¡£

{\ttfamily ibmtr.c}¡ª¡ªIBMµÄÁîÅÆ»·£¬²¢·ÇÕæÕýµÄÒÔÌ«Íø¡£ÁîÅÆ»·ÒªÇóÔ´Â·ÓÉÒÔ¼°ÆäËüÒ»Ð©Âé·³ÊÂ¡£

{\ttfamily loopback.c} ¡ª¡ª»·»ØÉè±¸£¬ÄãµÄ»úÆ÷·¢³öµÄËùÓÐÊý¾Ý°üµÄÄ¿µÄµØ»¹ÊÇÄã×Ô¼ºµÄ»úÆ÷¡£´Ó±¾ÖÊÉÏËµÖ»ÊÇ°ÑÊý¾Ý°ü´Ó·¢ËÍ¶ÓÁÐÒÆµ½½ÓÊÕ¶ÓÁÐ¡£

{\ttfamily pi2.c}¡ª¡ªOttawaÒµÓàÎÞÏßµç°®ºÃÕß¾ãÀÖ²¿PIºÍPI2µÄ½Ó¿Ú¡£

{\ttfamily plip.c}¡ª¡ª²¢ÐÐÏßInternetÐ­Òé£¬ÔÊÐíÁ½Ì¨¼ÆËã»úÍ¨¹ý²¢¿ÚµÄ¶Ëµ½¶Ë·½Ê½Á¬½Ó»¥Ïà·¢ËÍÊý¾Ý°ü¡£

{\ttfamily ppp.c}¡ª¡ª¶Ëµ½¶ËÐ­Òé£¨PPP£¬RFC1331£©£¬ÔÚ¶Ëµ½¶ËµÄÁ¬½Ó£¨Ò»°ãÎªmodem£©ÉÏ´«Êä¶àÐ­ÒéÊý¾ÝÖ¡¡£

{\ttfamily slip.c}¡ª¡ª´®ÐÐÏßInternetÐ­Òé£¬ÔÊÐíÁ½Ì¨¼ÆËã»úÍ¨¹ý´®¿Ú£¨Ò»°ãÍ¨¹ýmodem£©µÄ¶Ëµ½¶Ë·½Ê½Á¬½Ó»¥Ïà·¢ËÍÊý¾Ý°ü¡£

{\ttfamily tunnel.c}¡ª¡ªÌá¹©Ò»¸öIPÍ¨µÀ£¬¿ÉÒÔÊ¹ÍøÂçÊý¾ÝÁ÷Í¸Ã÷µØ´©¹ý×ÓÍø¡£

{\ttfamily wavelan.c}¡ª¡ªÓÉIntelµÄ82586Ð­´¦ÀíÆ÷¿ØÖÆµÄÀàÒÔÌ«ÍøÎÞÏßµçÊÕ·¢Æ÷¡£82586Ò²±»ÓÃÔÚÖîÈçIntel EtherExpressµÄÆäËüÒÔÌ«Íø¿¨ÉÏ¡£




\section{µçÀÂ¡¢Í¬ÖáµçÀÂ¡¢Ë«½ÊÏß\label{cable}}

Èç¹ûÄãÊÇ´ÓÍ·¿ªÊ¼½¨ÍøÂç£¬ÄÇÃ´¾Í±ØÐë¾ö¶¨ÊÇÊ¹ÓÃÒÔÌ«ÍøÏ¸ÀÂ£¨Ê¹ÓÃBNCÁ¬½ÓÆ÷µÄRG58Í¬ÖáµçÀÂ£©»ò10baseT£¨Ê¹ÓÃ8Ïß¡°µç»°¡±Á¬½ÓÆ÷RJ-45µÄµç»°ÏßÑùÊ½µÄË«½ÊÏßµçÀÂ£©¡£Ê¹ÓÃNÁ¬½ÓÆ÷µÄRG-5µçÀÂµÄÀÏÊ½ÒÔÌ«Íø´ÖÀÂÒÑ¾­±»·ÏÆú£¬ÏÖÔÚºÜÉÙ¼ûµ½ÁË¡£

²Î¼û\ref{cable-intro} {(Íø¿¨Ó¦µ±Ö§³ÖµÄÏßÀÂÀàÐÍ)}ÒÔ´óÖÂÁË½âÒ»ÏÂÏßÀÂÀàÐÍ¡£»¹Òª×¢Òâ£¬{\itshape comp.dcom.lans.ethernet\/}ÀïµÄFAQ°üÀ¨ÁË´óÁ¿ÓÐ¹ØµçÀÂ·½ÃæµÄÓÐÓÃÐÅÏ¢¡£FTPµ½rtfm.mit.eduÏÂµÄ{\ttfamily /pub/usenet-by-hierarchy/}ÒÔ²é¿´¸ÃÐÂÎÅ×éµÄFAQ¡£




\subsection{ÒÔÌ«ÍøÏ¸ÀÂ(thinnet)\label{bnc}}



ÒÔÌ«ÍøÏ¸ÀÂÏàµ±±ãÒË¡£Èç¹û×Ô¼ºÖÆ×÷µçÀÂ£¬ÊµÐÄµÄRG58AÊÇ\$0.27/m£¬·Ö¹ÉµÄRG58AUÊÇ\$0.45/m¡£ÍäÍ·µÄBNCÁ¬½ÓÆ÷Ã¿¸ö$<$ \$2£¬ÆäËü¸÷ÖÖÆ÷¼þÒ²¶¼Í¦±ãÒË¡£ÖØÒªµÄÊÇÔÚÃ¿¶ÎµçÀÂµÄÄ©¶ËÐèÒª×°Ò»¸ö50Å·Ä·µÄÖÕ½áÆ÷£¬ËùÒÔÃ¿ÌõµçÀÂµÄÔ¤Ëã´óÔ¼ÊÇ\$2¡£»¹ÓÐÒ»¸ö¹Ø¼üÎÊÌâÊÇµçÀÂÖÐ²»ÄÜÓÐ¡°²Ð×®¡±¡ª¡ª¡°T¡±Á¬½ÓÆ÷±ØÐëÖ±½ÓÁ¬µ½ÒÔÌ«Íø¿¨ÉÏ¡£

Ê¹ÓÃÒÔÌ«ÍøÏ¸ÀÂÓÐÁ½¸öÖ÷ÒªÈ±µã¡£Ê×ÏÈËüÏÞÖÆÎª10Mb/sec¡ª¡ª100Mb/secÒªÇóÊ¹ÓÃË«½ÊÏß¡£Æä´Î£¬Èç¹ûÄãÊÇÓÃÒ»¸ö´ó»·Â·°Ñ»úÆ÷Á¬½ÓÆðÀ´£¬¶øÄ³Ð©±¿µ°°ÑµçÀÂ´Ó×Ô¼ºµÄTÐÎ½ÓÍ·ÉÏÄÃ¿ªÆÆ»µÁË»·Â·£¬Õû¸öÍøÂç¾ÍÎÞ·¨Ê¹ÓÃÁË£¬ÒòÎª³öÏÖÁËÒ»¸öÎÞÏÞ´óµÄ×è¿¹£¨µçÂ·¿ªÂ·£©¶ø²»ÊÇÒªÇóµÄ50Å·Ä·ÖÕ½á¡£×¢Òâ£¬Ö»Òª²»°ÑµçÀÂ´ÓTÐÎ½ÓÍ·ÉÏÒÆ¿ª£¬¶øÊÇ°ÑTÐÎ½ÓÍ·´ÓÍø¿¨ÉÏÈ¡ÏÂÀ´£¬Õû¸ö×ÓÍø¾Í²»»á±»ÆÆ»µ¡£µ±È»£¬´Ó»úÆ÷ÉÏ°Î³öTÐÎ½ÓÍ·»á¸ÉÈÅ»úÆ÷µÄ¹¤×÷¡£8-) Èç¹ûÖ»ÊÇÁ½Ì¨»úÆ÷µÄÐ¡ÍøÂç£¬{\itshape »¹ÊÇ\/}ÐèÒªTÐÎ½ÓÍ·ºÍ50Å·Ä·ÖÕ½áÆ÷¡ª¡ª{\itshape ²»ÄÜ\/}ÓÃÖ±½ÓÓÃµçÀÂ°ÑËüÃÇÁ¬ÆðÀ´£¡



ÓÐÒ»Ð©ÓÐÈ¤µÄµçÀÂÏµÍ³{\itshape ¿´ÆðÀ´Ïó\/}ÓÃÒ»¸ùµ¼ÏßÁ¬µ½Íø¿¨ÉÏ£¬µ«Êµ¼ÊÉÏÊÇÓÐÁ½¸ù²¢ÅÅµÄµ¼Ïß°üÔÚÍâÃæµÄÌ××ÓÀï£¬Æä½ØÃæÎªÍÖÔ²ÐÎ¡£ÔÚ»·Â·µÄ×ªÕÛµã£¬ÓÃÆ´½ÓµÄBNCÁ¬½ÓÆ÷Á¬µ½Íø¿¨ÉÏ¡£ËùÒÔËüµÈÍ¬ÓÚÓÃÁ½¸ùµçÀÂºÍÒ»¸öBNCµÄTÐÎ½ÓÍ·£¬µ«ÔÚÕâÖÖÇé¿öÏÂ£¬ÓÃ»§²»¿ÉÄÜ´ÓTÐÎ½ÓÍ·µÄÒ»±ßÒÆ×ßµçÀÂÀ´¸ÉÈÅÍøÂç¡£






\subsection{Ë«½ÊÏß\label{utp}}



Ë«½ÊÏßÍøÂçÐèÒªÖ÷¶¯Ê½µÄHub£¬Ã¿¸öHubÆðÂëÒª\$50£¬Î´¼Ó¹¤µÄµçÀÂ·ÑÓÃÊµ¼ÊÉÏ±ÈÏ¸ÀÂÒª¸ß¡£Äã¿ÉÒÔ²»Àí»áÄÇÐ©Éù³Æ¿ÉÒÔÊ¹ÓÃÒÑÓÐµç»°ÏßµÄËµ·¨£¬ÒòÎªÕâÖÖ°²×°Çé¿öÊÇºÜÉÙ¼ûµÄ¡£

ÁíÒ»·½Ãæ£¬ËùÓÐ100Mb/secÒÔÌ«ÍøÌáÒé¶¼Ê¹ÓÃË«½ÊÏß£¬¶øÇÒ¾ø´ó¶àÊýÐÂµÄÉÌÒµ°²×°Ê¹ÓÃµÄÒ²ÊÇË«½ÊÏß¡£´ËÍâ£¬Russ Nelson½øÒ»²½Ìá³ö¡°ÐÂµÄ²¼ÏßÓ¦¸ÃÊ¹ÓÃ5ÀàÏß¡£Ê¹ÓÃÆäËüµÄµçÀÂ¶¼ÊÇÔÚÀË·Ñ°²×°ÕßµÄÊ±¼ä£¬ÒòÎªÈÎºÎÒ»ÖÖ100Base¶¼½«ÒªÇóÊ¹ÓÃ5ÀàÏß¡£¡±

Èç¹ûÖ»ÊÇÁ¬½ÓÁ½Ì¨»úÆ÷£¬¿ÉÒÔÍ¨¹ý½»»»½ÓÊÕÓë·¢ËÍÏß£¨1-2ºÍ3-6£©À´±ÜÃâÊ¹ÓÃHub¡£

Èç¹ûÄãÄÃÖøRJ-45Á¬½ÓÍ·³åÖø×Ô¼º£¨¾ÍÏóÄãÒª°ÑËü²åµ½×Ô¼º×ìÀï£©£¬Ëø¿Û³¯ÉÏ£¬ÄÇÃ´´Ó×óµ½ÓÒ¸÷²å½ÅµÄ±àºÅÒÀ´ÎÊÇ1µ½8¡£¸÷²å½ÅµÄÓÃÍ¾ÈçÏÂ£º

\begin{verbatim}
        ²å½Å±àºÅ            ÓÃÍ¾
        ----------                           ----------
        1                       Êä³öÊý¾Ý (+)
        2                       Êä³öÊý¾Ý (-)
        3                       ÊäÈëÊý¾Ý (+)
        4                       ±£ÁôÎªµç»°Ê¹ÓÃ
        5                       ±£ÁôÎªµç»°Ê¹ÓÃ
        6                       ÊäÈëÊý¾Ý (-)
        7                       ±£ÁôÎªµç»°Ê¹ÓÃ
        8                       ±£ÁôÎªµç»°Ê¹ÓÃ
\end{verbatim}


Èç¹ûÄãÏë×Ô¼ºÖÆ×÷Ò»ÌõµçÀÂ£¬ÇëÈÏÕæÔÄ¶ÁÏÂÎÄ¡£Ò»¶Ô²î·ÖÐÅºÅ±ØÐëÊ¹ÓÃÍ¬Ò»ÌõË«½ÊÏß£¬ÒÔÂú×ã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µÄ±ØÐëÊÇÁíÒ»ÌõË«½ÊÏß¡£

Èç¹ûÄ¿Ç°Ã»ÓÐHub£¬Ïë×öÒ»Ìõ¡°¿ÕµçÀÂ¡±£¬ÄÇÃ´Òª×öµÄ¾ÍÊÇ°Ñ¡°B¡±µÄÊä³ö×÷Îª¡°A¡±µÄÊäÈë£¬°Ñ¡°A¡±µÄÊä³ö×÷Îª¡°B¡±µÄÊäÈë£¬Í¬Ê±²»¸Ä±äËüÃÇµÄ¼«ÐÔ¡£Ò²¾ÍÊÇËµ£¬°Ñ1AÁ¬µ½3B£¨AµÄÊä³ö+µ½BµÄÊäÈë+£©£¬°Ñ2AÁ¬µ½6B£¨AµÄÊä³ö-µ½BµÄÊäÈë-£©¡£ÕâÁ½¸ùÏß±ØÐëÊÇÒ»ÌõË«½ÊÏß¡£ËüÃÇ°ÑÍø¿¨/²å½Å¡°A¡±×÷ÎªÊä³ö´«ËÍ£¬°ÑÍø¿¨/²å½Å¡°B¡±×÷ÎªÊäÈë´«ËÍ¡£È»ºó°Ñ3AÁ¬µ½1B£¨AµÄÊäÈë+µ½BµÄÊä³ö+£©£¬°Ñ6AÁ¬µ½2B£¨AµÄÊäÈë-µ½BµÄÊä³ö-£©¡£ÕâÁ½¸ùÏßÒ²±ØÐëÊÇÒ»ÌõË«½ÊÏß¡£ËüÃÇ°ÑÍø¿¨/²å½Å¡°A¡±×÷ÎªÊäÈë´«ËÍ£¬°ÑÍø¿¨/²å½Å¡°B¡±×÷ÎªÊä³ö´«ËÍ¡£

Òò´Ë£¬Èç¹ûÏëÊ¹ÓÃÆÕÍ¨½Ó²åÏß£¬ÐèÒª¿³µôËüµÄÒ»¶Ë£¬½»»»½ÓÊÕºÍ·¢ËÍË«½ÊÏßµÄÎ»ÖÃºó²åÈëÐÂµÄ²åÍ·£¬°ÑËüÑ¹½ô£¬¾ÍµÃµ½Ò»Ìõ¡°¿Õ¡±µçÀÂÁË¡£Ò»µãÒ²²»¸´ÔÓ¡£Ö»²»¹ýÊÇ°ÑÒ»¿éÍø¿¨µÄ·¢ËÍÐÅºÅËÍµ½µÚ¶þ¿éÍø¿¨µÄ½ÓÊÕ¶Ë£¬Èç·¨ÅÚÖÆ¾Í¿ÉÒÔÁË¡£

×¢Òâ£¬ÔÚ10BaseT±»Åú×¼Îª±ê×¼Ö®Ç°£¬¾Í´æÔÚÆäËüÊ¹ÓÃRJ-45Á¬½ÓÍ·µÄÍøÂç¸ñÊ½ºÍÉÏÊöµÄÁ¬Ïß°²ÅÅ¡£ÀýÈçSynOpticsµÄLattisNetºÍAT\&TµÄStarLAN¡£ÔÚÄ³Ð©Çé¿öÏÂ£¬£¨ÈçÊ¹ÓÃÔçÆÚµÄ3C503Íø¿¨£©¿ÉÒÔÉèÖÃÍø¿¨ÉÏµÄÌøÏßÊ¹Íø¿¨ÄÜ¹»Óë²»Í¬ÀàÐÍµÄHubÁ¬½Ó£¬µ«¾ø´ó¶àÊýÇé¿öÏÂ£¬ÎªÕâÐ©ÀÏÊ½ÀàÐÍÍøÂçÉè¼ÆµÄÍø¿¨ÎÞ·¨¹¤×÷ÔÚ±ê×¼10BaseTÍøÂç/HubÏÂ¡££¨×¢Òâ£¬Èç¹ûÍø¿¨»¹ÓÐÒ»¸öAUI¶Ë¿Ú£¬ÄÇÃ´¿Ï¶¨¿ÉÒÔ°ÑAUIºÍ10BaseTÊÕ·¢Æ÷»ìºÏÔÚÒ»ÆðÊ¹ÓÃ¡££©






\subsection{ÒÔÌ«Íø´ÖÀÂ}

ÒÔÌ«Íø´ÖÀÂ¼¸ºõÍêÈ«±»·ÏÆúÁË£¬Ò»°ãÖ»ÓÃÔÚÓëÒ»¸öÒÑÓÐÍøÂç±£³Ö¼æÈÝ¡£¿ÉÒÔ·ÅËÉ¹æ¶¨²¢Ê¹ÓÃ±»¶¯µÄ\$3µÄN-to-BNCÁ¬½ÓÆ÷°Ñ´óÁ¿ÒÔÌ«Íø´ÖÀÂºÍÏ¸ÀÂÁ¬½ÓÆðÀ´£¬ÕâÍ¨³£ÊÇÀ©Õ¹ÒÑÓÐÒÔÌ«Íø´ÖÀÂµÄ×î¼Ñ½â¾ö·½°¸¡£¶ÔÕâÖÖÇé¿öÒ»¸öÕýÈ·£¨µ«´ú¼Û°º¹ó£©µÄ·½°¸ÊÇÊ¹ÓÃ×ª·¢Æ÷¡£


\section{Èí¼þÉèÖÃÓëÍø¿¨Õï¶Ï\label{utils}}



´ó¶àÊýÇé¿öÏÂ£¬Èç¹ûÓÃÈí¼þ½øÐÐÅäÖÃ²¢°ÑÅäÖÃ±£´æÔÚEEPROMÀï£¬Ò»°ãÐèÒªÖØÐÂÆô¶¯DOS£¬Ê¹ÓÃÏúÊÛÉÌÌá¹©µÄDOS³ÌÐòÀ´ÉèÖÃÍø¿¨µÄÖÐ¶ÏIRQ¡¢I/O¡¢ÄÚ´æµØÖ·ºÍÆäËü¶«Î÷¡£´ËÍâ£¬Ï£ÍûÕâÊÇÖ»ÒªÉèÖÃÒ»´ÎµÄ¶«Î÷¡£Èç¹ûÃ»ÓÐÍø¿¨µÄDOSÈí¼þ£¬ÊÔÖøÔÚÍø¿¨ÖÆÔìÉÌµÄWWWÕ¾µãÉÏÕÒÕÒ¡£Èç¹û²»ÖªµÀÕ¾µãÃû³Æ£¬¿ÉÒÔ²ÂÒ»ÏÂ£¬Èç¡°www.my\_vendor.com¡±£¬ÆäÖÐ¡°my\_vendor¡±ÊÇÍø¿¨ÖÆÔìÉÌµÄÃû³Æ¡£ÕâÖÖ·½·¨¶ÔSMC¡¢3ComºÍÐí¶à{\itshape Ðí¶à\/}ÆäËüÖÆÔìÉÌ¶¼ÓÐÐ§¡£

ÓÐÐ©Íø¿¨ÓÐLinux°æ±¾µÄÅäÖÃ¹¤¾ß£¬²¢ÔÚ±¾ÎÄÖÐÁÐ³ö¡£Donald±àÐ´ÁË¼¸¸öÔËÐÐÔÚLinuxÏÂµÄÐ¡µÄÍø¿¨Õï¶Ï³ÌÐò£¬ÆäÖÐ´ó²¿·Ö¶¼ÊÇËûÔÚ±àÐ´Çý¶¯³ÌÐòÊ±Ê¹ÓÃµÄÕï´í¹¤¾ß¡£²»ÒªÖ¸ÍûÓÐ»¨ÉÚµÄ²Ëµ¥Çý¶¯½çÃæ¡£ÔÚÊ¹ÓÃ¾ø´ó²¿·Ö¹¤¾ßÊ±£¬ÄãÐèÒªÔÄ¶ÁÔ´Âë¡£¼´Ê¹ÄãËùÓÃµÄÍø¿¨Ã»ÓÐÏàÓ¦µÄÕï¶Ï¹¤¾ß£¬Äã»¹ÊÇ¿ÉÒÔÍ¨¹ý{\ttfamily cat /proc/net/dev}»ñµÃÒ»Ð©ÐÅÏ¢¡ª¡ª¼ÙÉèÖÁÉÙÔÚÆô¶¯Ê±ÄãµÄÍø¿¨±»¼ì²âµ½ÁË¡£

Ëæ±ãÄÄÖÖÇé¿öÏÂ£¬¶¼µÃÔÚÆô¶¯Ê±ÔËÐÐÕâÐ©³ÌÐò£¨ÔÊÐí¶Ô¶Ë¿Ú½øÐÐI/O²Ù×÷£©£¬¶øÇÒ¿ÉÄÜÔÚÕâÃ´×öÖ®Ç°ÒªÏÈÓÃ{\ttfamily ifconfig eth0 down}¹Ø±ÕÒÔÌ«Íø¿¨¡£




\subsection{ÒÔÌ«Íø¿¨µÄÅäÖÃ³ÌÐò\label{config}}






\subsubsection{WD80x3Íø¿¨}



¶ÔÓÚÊ¹ÓÃwd80x3Íø¿¨µÄÈË£¬ÔÚLinuxµÄFTPÕ¾µãÉÏ¿ÉÒÔÕÒµ½µÄ{\ttfamily wdsetup-0.6a.tar.gz}ÀïÓÐÒ»¸ö³ÌÐò{\ttfamily wdsetup}¡£ËüµÄÎ¬»¤²»ÊÇºÜºÃ£¬ÓÐÒ»¶ÎÊ±¼äÃ»ÓÐ¸üÐÂÁË¡£Èç¹ûÄÜÓÃ£¬ÄÇÃ´ºÜºÃ£»Èç¹û²»ÐÐ£¬ÄÇÃ´Ö»ºÃÊ¹ÓÃÓ¦µ±ºÍÍø¿¨Ò»ÆðÄÃµ½µÄDOS°æ±¾³ÌÐò¡£Èç¹ûÃ»ÓÐÕâÑùµÄDOS°æ±¾³ÌÐò£¬»¹ÊÇ¿ÉÒÔºÜ¸ßÐËµØ¸æËßÄã£¬´ÓSMCµÄFTPÕ¾µãÉÏ¿ÉÒÔ»ñÈ¡ÉèÖÃ/Çý¶¯³ÌÐò´ÅÅÌ¡£µ±È»£¬Äã{\itshape ±ØÐë\/}ÓÐÒ»¸ö´øEEPROMµÄÍø¿¨²ÅÄÜÊ¹ÓÃ¸Ã¹¤¾ß¡£ºÜÀÏ{\itshape ºÜÀÏ\/}µÄwd8003Íø¿¨ºÍÒ»Ð©wd8013¼æÈÝÍø¿¨Ê¹ÓÃÌøÏßÀ´ÉèÖÃÍø¿¨¡£




\subsubsection{Digital/DECÍø¿¨}



DigitalµÄEtherWorks 3Íø¿¨¿ÉÒÔÓÃÀàËÆÓÚDOS³ÌÐò{\ttfamily NICSETUP.EXE}µÄ·½Ê½½øÐÐÅäÖÃ¡£David C. Davies±àÐ´ÁË¸Ã¹¤¾ßÒÔ¼°ºÍÇý¶¯³ÌÐòÔÚÒ»ÆðµÄÆäËüEtherWorks 3¹¤¾ß¡£²é¿´Ò»ÏÂÄã±¾µØµÄLinux FTPÕ¾µãÏÂµÄÄ¿Â¼{\ttfamily /pub/linux/system/Network/management}£¬Ñ°ÕÒÃûÎª{\ttfamily ewrk3tools-X.XX.tar.gz}µÄÎÄ¼þ¡£




\subsubsection{NE2000+»òAT/LANTICÍø¿¨}



ÓÐÐ©Nat SemiµÄDP83905²úÆ·£¨ÈçAT/LANTICºÍNE2000+£©ÊÇ¿ÉÒÔÓÃÈí¼þÅäÖÃµÄ¡££¨×¢Òâ£¬ÕâÐ©Íø¿¨Ò²¿ÉÒÔ·ÂÕæwd8013Íø¿¨£¡£©Äã¿ÉÒÔ´ÓDonaldµÄFTP·þÎñÆ÷{\ttfamily www.scyld.com}ÏÂÔØÎÄ¼þ{\ttfamily /pub/linux/setup/atlantic.c}À´ÅäÖÃ´ËÍø¿¨¡£ÁíÍâ£¬KingstonµÄDP83905Íø¿¨ÅäÖÃ³ÌÐò¿´ÆðÀ´¿ÉÒÔÓÃÔÚËùÓÐÍø¿¨ÉÏ£¬ÒòÎªÔÚÔÊÐíÊ¹ÓÃÍø¿¨Ç°£¬ËüÃÇ²¢²»¼ì²éÏúÊÛÉÌÖ¸¶¨µÄµØÖ·¡£°´ÕÕÈçÏÂURL£º
\nameurl{http://www.kingston.com/download/etherx/etherx.htm}{Kingston Software}
ÏÂÔØ{\ttfamily 20XX12.EXE}ºÍ{\ttfamily INFOSET.EXE}¡£

ÔÚÅäÖÃNE2000+Íø¿¨Ê±Òª¸ñÍâÐ¡ÐÄ£¬ÒòÎªÉè¶¨µÄÖµÓÐ´íÎó»á´øÀ´Âé·³¡£Ò»¸öµäÐÍµÄ´íÎóÊÇÆôÓÃEEPROMÀïµÄÆô¶¯ROM£¨¼´Ê¹Ã»ÓÐ°²×°ROM£©»áºÍVGA¿¨·¢Éú³åÍ»¡£Æä½á¹û¾ÍÊÇ¿ª»úºóÆÁÄ»Ã»ÓÐÏÔÊ¾£¬¼ÆËã»úÖ»ÊÇ·¢³öÒ»Ð©½ÐÉù¡£

Í¨³£ÈçÏÂ²Ù×÷¾Í¿ÉÒÔ½â¾öÎÊÌâ£º°Î³ö»úÆ÷ÀïµÄ¿¨£¬È»ºóÆô¶¯½øÈëCMOSÉèÖÃ¡£°Ñ¡°Display Adapter¡±¸ÄÎª¡°Not Installed¡±²¢°ÑÈ±Ê¡µÄÆô¶¯Çý¶¯Æ÷¸ÄÎª¡°A:¡±£¨ÈíÅÌÇý¶¯Æ÷£©¡£Í¬Ê±°Ñ¡°Wait for F1 if any Error¡±¸ÄÎª¡°Disabled¡±¡£ÕâÑù£¬¼ÆËã»ú¾ÍÎÞÐèÓÃ»§¸ÉÔ¤¿ÉÒÔÆô¶¯ÁË¡£ÏÖÔÚ´´½¨Ò»¸ö¿ÉÆô¶¯µÄDOSÈíÅÌ£¨¡°format a: /s /u¡±£©£¬°ÑÉÏÊöµµ°¸ÎÄ¼þ{\ttfamily 20XX12.EXE}ÀïµÄ³ÌÐò{\ttfamily default.exe}¿½±´µ½ÈíÅÌÉÏ¡£ÔÙ¼üÈë{\ttfamily echo default {$>$} a:autoexec.bat}£¬ÕâÑùÔÚÓÃÕâÕÅÈíÅÌÆô¶¯Ê±£¬¸Ã³ÌÐò»á×Ô¶¯ÔËÐÐ£¬°ÑÍø¿¨ÉèÖÃÎªÕý³£µÄÈ±Ê¡Öµ¡£¹Ø±Õ»úÆ÷£¬ÖØÐÂ°²×°ne2000+Íø¿¨£¬²åÈëÐÂµÄÆô¶¯ÈíÅÌ£¬ÔÙ¿ª»ú¡£¿ÉÄÜ»úÆ÷»¹»á·¢³ö½ÐÉù£¬µ«×îºóÄã»á¿´µ½»úÆ÷´ÓÈíÅÌÆô¶¯Ê±ÈíÇýµÄµÆÁÁÁË¡£µÈÒ»Á½·ÖÖÓ£¬ÈíÇý»áÍ£ÏÂÀ´£¬±íÊ¾{\ttfamily default.exe}³ÌÐòÔËÐÐ½áÊø£¬ÔÙ¹Ø±Õ»úÆ÷µçÔ´¡£ÔÙ´ÎÆô¶¯Ê±£¬¿ÉÄÜÄãµÄÏÔÊ½Æ÷¾ÍÓÖ¹¤×÷Õý³£ÁË£¬ÕâÊ±¾Í¿ÉÒÔ°ÑCMOSÉèÖÃ¸Ä»ØÈ¥£¬²¢°ÑÍø¿¨EEPROMÉèÖÃ¸Ä»Øµ½Ï£ÍûµÄÖµ¡£

×¢Òâ£¬Èç¹ûÊÖÍ·Ã»ÓÐDOS£¬Äã¿ÉÒÔÓÃÒ»ÕÅ×Ô¶¯ÔËÐÐDonaldµÄ{\ttfamily atlantic}³ÌÐò£¨Ê¹ÓÃÕýÈ·µÄÃüÁîÐÐ¿ª¹Ø£©µÄLinuxÆô¶¯ÈíÅÌÀ´Íê³ÉÉÏÃæµÄ¹¤×÷£¬´úÌæ×Ô¶¯ÔËÐÐ{\ttfamily default.exe}³ÌÐòµÄDOSÆô¶¯ÈíÅÌ¡£




\subsubsection{3ComÍø¿¨}



3ComµÄEtherlink IIIÏµÁÐÍø¿¨£¨Èç3c5x9£©¿ÉÒÔÓÃDonaldµÄÁíÒ»¸öÅäÖÃ¹¤¾ß½øÐÐÅäÖÃ¡£Äã¿ÉÒÔ´ÓDonaldµÄFTP·þÎñÆ÷{\ttfamily www.scyld.com}ÉÏ»ñÈ¡ÎÄ¼þ{\ttfamily /pub/linux/setup/3c5x9setup.c}À´ÅäÖÃÕâÐ©Íø¿¨¡££¨×¢Òâ£¬DOSÏÂµÄ3c5x9BÅäÖÃ¹¤¾ß¿ÉÄÜÓÐÒ»Ð©ÊôÓÚEtherlink IIIµÄÐÂ¡°B¡±ÏµÁÐµÄ¶îÍâÑ¡Ïî¡££©






\subsection{ÒÔÌ«Íø¿¨µÄÕï¶Ï³ÌÐò\label{diag}}



Donald±àÐ´µÄÕï¶Ï³ÌÐò¶¼¿ÉÒÔ´ÓÒÔÏÂURL»ñÈ¡¡£

\nameurl{http://www.scyld.com/network}{Ethercard Diagnostics}

Allied Telesis AT1700¡ª¡ª{\ttfamily at1700.c} 

Cabletron E21XX¡ª¡ª{\ttfamily e21.c} 

HP PCLAN+¡ª¡ª{\ttfamily hp+.c} 

Intel EtherExpress¡ª¡ª{\ttfamily eexpress.c}

PCI NE2000Íø¿¨¡ª¡ª{\ttfamily ne2k-pci-diag.c}

ISA NE2000Íø¿¨¡ª¡ª{\ttfamily ne2k.c}

RealTek (ATP)ÐäÕäÊÊÅäÆ÷¡ª¡ª{\ttfamily atp-diag.c}

ËùÓÐÆäËüÍø¿¨¡ª¡ªÊÔÖøÓÃ{\ttfamily cat /proc/net/dev}ºÍ{\ttfamily dmesg}À´¿´¿´ÄÚºËÀïÓÐ¹ØËùËµÍø¿¨µÄÓÐÓÃÐÅÏ¢¡£




\section{¼¼ÊõÐÅÏ¢\label{tech-intro}}



¶ÔÓÚÄÇÐ©ÏëÁË½â¸ü¶àÓÐ¹ØÍø¿¨ÈçºÎ¹¤×÷¡¢»òÈçºÎÊ¹ÓÃÏÖÓÐÇý¶¯³ÌÐò£¬ÒÔ¼°ÊÔÍ¼ÎªÄ¿Ç°²»Ö§³ÖµÄÍø¿¨±àÐ´×Ô¼ºµÄÇý¶¯³ÌÐòµÄÈËÀ´Ëµ£¬ÕâÐ©ÐÅÏ¢Ó¦¸Ã»áÓÐÓÃ¡£Èç¹ûÄãÃ»ÓÐÕâÖÖÏë·¨£¬ÄÇÃ´×îºÃÌø¹ýÕâÒ»½Ú¡£




\subsection{¿É±à³ÌI/O¡¢¹²ÏíÄÚ´æÓëDMA\label{data-xfer}}



Èç¹ûÒÑ¾­¿ÉÒÔ·¢ËÍ½ÓÊÕ±³¿¿±³Êý¾Ý°ü£¬¾ÍÎÞ·¨°Ñ¸ü¶àµÄÊý¾Ý·Åµ½ÍøÂçÉÏ¡£Ã¿Ò»¸öÏÖ´úÒÔÌ«Íø¿¨¶¼¿ÉÒÔ½ÓÊÕ±³¿¿±³Êý¾Ý°ü¡£LinuxµÄDP8390Çý¶¯³ÌÐò£¨wd80x3¡¢SMC-Ultra¡¢3c503¡¢ne2000£¬µÈµÈ£©·Ç³£½Ó½üÓÚ·¢ËÍ±³¿¿±³Êý¾Ý°ü£¨ÒÀÀµÓÚµ±Ç°µÄÖÐ¶ÏÑÓ³Ù£©£¬3c509ºÍAT1500µÄÓ²¼þÔÚ×Ô¶¯·¢ËÍ±³¿¿±³Êý¾Ý°üÉÏÃ»ÓÐÒ»µãÎÊÌâ¡£






\subsubsection{¿É±à³ÌI/O£¨ÈçNE2000¡¢3c509£©}



ÓÅµã£ºÃ»ÓÐÊ¹ÓÃÈÎºÎÊÜÏÞÖÆµÄÏµÍ³×ÊÔ´£¬Ö»ÓÃÁËÈô¸ÉI/O¼Ä´æÆ÷£¬¶øÇÒÃ»ÓÐ16MµÄÏÞÖÆ¡£

È±µã£ºÒ»°ã´«ÊäËÙÂÊ½ÏÂý£¬CPUÐèÒªµÈ´ý£¬¼¸ºõ²»¿ÉÄÜ·ÃÎÊ½»²æµÄÊý¾Ý°ü¡£




\subsubsection{¹²ÏíÄÚ´æ£¨ÈçWD80x3¡¢SMC-Ultra¡¢3c503£©}



ÓÅµã£º¼òµ¥£¬±È¿É±à³ÌI/OËÙ¶È¿ì£¬ÔÊÐíËæ»ú·ÃÎÊÊý¾Ý°ü¡£ÔÚ¿ÉÄÜµÄÇé¿öÏÂ£¬LinuxÇý¶¯³ÌÐòÔÚ´ÓÍø¿¨¸´ÖÆ³ö½ÓÊÕµÄIPÊý¾Ý°üÊ±¼ÆËãÆäÐ£ÑéºÍ£¬´Ó¶ø±ÈÏàÓ¦µÄPIOÍø¿¨½øÒ»²½¼õÉÙÁË¶ÔCPUµÄÕ¼ÓÃ¡£

È±µã£ºÕ¼ÓÃÄÚ´æ¿Õ¼ä£¨¶ÔDOSÓÃ»§À´ËµÊÇ¸ö´óÎÊÌâ£¬ÔÚLinuxÏÂÃ»ÓÐÎÊÌâ£©£¬ÒÀÈ»ÒªÕ¼ÓÃCPU¡£




\subsubsection{´ÓÊô£¨ÆÕÍ¨£©µÄÖ±½ÓÄÚ´æ´æÈ¡£¨LinuxÏÂÃ»ÓÐÕâÖÖÇé¿ö£¡£©}



ÓÅµã£ºÔÚÊµ¼ÊÊý¾Ý´«µÝ¹ý³ÌÖÐ²»Õ¼ÓÃCPU¡£

È±µã£º¼ì²é±ß½çÌõ¼þ¡¢·ÖÅäÏàÁÚµÄ»º´æºÍDMA¼Ä´æÆ÷±à³ÌÊ¹¸Ã·½·¨³ÉÎª×îÂýµÄ¼¼Êõ¡£Ëü»¹Õ¼ÓÃÁËÒ»¸öÕä¹óµÄDMAÍ¨µÀ£¬²¢ÒªÇó¶ÔÆëµÄµÍ¶ËÄÚ´æ»º´æ¡£




\subsubsection{×ÜÏß¿ØÖÆµÄÖ±½ÓÄÚ´æ´æÈ¡£¨ÈçLANCE¡¢DEC 21040£©\label{master}}



ÓÅµã£ºÔÚÊý¾Ý´«Êä¹ý³ÌÖÐ²»Õ¼ÓÃCPU£¬¿ÉÒÔ°Ñ»º´æ´®ÆðÀ´£¬CPUÊ±¼äºÜÉÙ»òÃ»ÓÐ»¨·ÑÔÚISA×ÜÏßÉÏ¡£´ó¶àÊý×ÜÏß¿ØÖÆµÄLinuxÇý¶¯³ÌÐòÏÖÔÚÊ¹ÓÃÒ»ÖÖ¡°copybreak¡±·½°¸£¬½Ï´óµÄÊý¾Ý°üÖ±½Ó´ÓÍø¿¨·Å½øÄÚºËµÄÍøÂç»º´æ£¬Ð¡µÄÊý¾Ý°ü±»CPU¸´ÖÆµ½cacheÀï½øÐÐÏÂÒ»²½µÄ´¦Àí¡£

È±µã£º£¨Ö»ÊÊÓÃÓÚISA×ÜÏßµÄÍø¿¨£©Íø¿¨ÒªÇóµÍ¶ËÄÚ´æ»º´æºÍÒ»¸öDMAÍ¨µÀ¡£ÈÎºÎ×ÜÏß¿ØÖÆÆ÷ÔÚÓëÆäËüÇ¿Õ¼×ÜÏßµÄ×ÜÏß¿ØÖÆÆ÷£¬ÈçÄ³Ð©¹ÅÀÏµÄSCSIÊÊÅäÆ÷£¬Ò»Æð¹¤×÷Ê±¶¼»á³öÎÊÌâ¡£ÓÐ¼¸¸öÉè¼ÆµÍÁÓµÄÖ÷°åÐ¾Æ¬×éÔÚÓë×ÜÏß¿ØÖÆÆ÷Ò»ÆðÊ¹ÓÃÊ±Ò²ÓÐÂé·³¡£²»Ê¹ÓÃ{\itshape ÈÎºÎ\/}ÀàÐÍµÄDMAÉè±¸µÄÒ»¸öÔ­ÒòÊÇÊ¹ÓÃÁËÎª´úÌæ386Éè¼ÆµÄ486´¦ÀíÆ÷²å¼þ£ºÕâÐ©´¦ÀíÆ÷ÔÚÃ¿¸öDMAÖÜÆÚ¶¼±ØÐëË¢ÐÂcache¡££¨ÕâÆäÖÐ°üÀ¨Cx486DLC¡¢Ti486DLC¡¢Cx486SLC¡¢Ti486SLC£¬µÈµÈ¡££©






\subsection{Éæ¼°×ÜÏß´ø¿íµÄÐÔÄÜ}



ISA×ÜÏßÄÜ´ïµ½5.3MB/sec (42Mb/sec)£¬ÌýÆðÀ´¶Ô10MbpsÒÔÌ«ÍøÊÇ×ã¹»ÁË¡£¶ÔÓÚ100MbpsÍø¿¨£¬ÏÔÈ»ÐèÒª¸ü¿ìµÄ×ÜÏßÒÔÀûÓÃÍøÂç´ø¿í¡£




\subsubsection{8±ÈÌØISAÍø¿¨Óë16±ÈÌØISAÍø¿¨\label{8-vs-16}}



Äã¿ÉÄÜ²»»áÔÙÂòÒ»¸öÐÂµÄ8±ÈÌØISAÒÔÌ«Íø¿¨ÁË£¬µ«ÔÚËæºó¼¸Äê¼äÄã»áÔÚ¼ÆËã»úÎïÎï½»»»ÊÐ³¡Ò»ÀàµÄµØ·½·¢ÏÖºÜ¶àºÜ±ãÒËµÄÕâÖÖ¿¨¡£ÕâÊ¹µÃËüÃÇÔÚ¡°¼ÒÓÃÒÔÌ«Íø¡±ÏµÍ³ÖÐºÜ³£¼û¡£¶ÔÓÚ16±ÈÌØµÄISAÍø¿¨À´ËµÒ²ÊÇÒ»ÑùµÄ£¬ÒòÎªÏÖÔÚPCI¿¨ÒÑ¾­ºÜÆÕ±éÁË¡£

¶ÔÓÚ½ÏµÍ»òÆ½¾ùµÄÓ¦ÓÃ£¬Ò»Ð©¿ÉÒÔÌá¹©×ã¹»ÐÔÄÜµÄ8±ÈÌØÍø¿¨ÊÇwd8003¡¢3c503ºÍne1000¡£3c501µÄÐÔÄÜ½Ï²î£¬¶øÇÒÒª±ÜÃâÊ¹ÓÃÄÇÐ©12ÄêÇ°XTÊ±´úµÄµÍÐÔÄÜ¼ÍÄîÆ·¡££¨¿ÉÒÔ°ÑËüÃÇËÍ¸øAlan£¬ËûÔÚÊÕ¼¯ÕâÖÖÍø¿¨......£©

8±ÈÌØµÄÊý¾ÝÍ¨µÀ²»»á¶ÔÐÔÄÜÔì³ÉÌ«´óËðº¦£¬ÄãÒÀÈ»¿ÉÒÔ´ÓÒ»¸ö½Ï¿ìÖ÷»úÉÏµÄ8±ÈÌØwd8003Íø¿¨£¨Ê¹ÓÃ¿ìµÄISA×ÜÏß£©ÉÏ»ñµÃ´óÔ¼500µ½800kB/sµÄftpÏÂÔØËÙ¶È¡£Èç¹ûÄãµÄËùÓÐÍøÂçÁ÷Á¿¼¸ºõ¶¼ÊÇÀ´×ÔÔ¶¶ËÕ¾µã£¬ÄÇÃ´Êý¾ÝÍ¨µÀÉÏµÄÆ¿¾±½«·¢ÉúÔÚÆäËüµØ·½£¬Ö»ÓÐÔÚ½øÐÐ±¾µØ×ÓÍø²Ù×÷Ê±Äã²Å»á×¢Òâµ½²»Í¬Íø¿¨¼äµÄËÙ¶È²î±ð¡£




\subsection{32±ÈÌØ(VLB/EISA/PCI)ÒÔÌ«Íø¿¨}



×¢Òâ£¬10MbsÍøÂçÍ¨³£²¢²»Ò»¶¨ÒªÇó32±ÈÌØµÄ½Ó¿Ú¡£²Î¼û\ref{data-xfer} {(¿É±à³ÌI/O¡¢¹²ÏíÄÚ´æÓëDMA)}ÒÔÁË½âÎªÊ²Ã´8MHzµÄISA×ÜÏßÉÏµÄ10MbpsÒÔÌ«Íø¿¨²¢·ÇÕæÕýµÄÆ¿¾±¡£¾¡¹ÜÊ¹ÓÃ¿ìµÄ×ÜÏßµÄÒÔÌ«Íø¿¨²¢²»Ò»¶¨´øÀ´¸ü¿ìµÄÊý¾Ý´«Êä£¬µ«»á¼õÉÙCPU¸ºÔØ£¬Õâ¶Ô¶àÓÃ»§ÏµÍ³À´ËµÊÇ¼þºÃÊÂ¡£µ±È»£¬¶ÔÓÚÏÖÔÚÆÕÍ¨µÄ100MbpsÍøÂç£¬32±ÈÌØ½Ó¿ÚÊÇ³ä·ÖÊ¹ÓÃÈ«²¿´ø¿íµÄ±ØÒªÌõ¼þ¡£




\subsection{±àÐ´Çý¶¯³ÌÐò\label{skel}}



ÔÚLinuxÏÂÊ¹ÓÃÒÔÌ«Íø¿¨Ëù±ØÐèµÄÖ»²»¹ýÊÇÏàÓ¦µÄÇý¶¯³ÌÐò¡£Òò´Ë£¬¹Ø¼üÊÇÖÆÔìÉÌÒªÏò¹«ÖÚ¹«¿ª±à³ÌµÄ¼¼Êõ×ÊÁÏ£¬¶øÎÞÐèÄã£¨»òÆäËûÊ²Ã´ÈË£©Ç©ÊðÊ²Ã´Ð­Òé¡£¹ØÓÚ»ñÈ¡×ÊÁÏµÄ¿ÉÄÜÐÔ£¨Ò²ÐíÄã²»±àÐ´´úÂë£¬ÄÇÃ´¾ÍÊÇÆäËûÈË±àÐ´ÄãÈ·ÊµÐèÒªµÄÇý¶¯³ÌÐòµÄ¿ÉÄÜÐÔ£©£¬Ò»¸ö½ÏºÃµÄÖ¸ÄÏÊÇCrynwr (êÇ³ÆClarkson)µÄ°üÇý¶¯³ÌÐòµÄ¿ÉÓÃÐÔ¡£Russ NelsonÔÚ¸ÉÕâÐ©ÊÂ£¬¶Ô¿ª·¢LinuxÇý¶¯³ÌÐòºÜÓÐ°ïÖú¡£{\itshape ÍøÉÏ³åÀËÕß\/}¿ÉÒÔÊÔÖøÓÃÏÂÃæµÄURL¿´Ò»ÏÂRussµÄÈí¼þ¡£

\nameurl{http://www.crynwr.com}{Russ Nelson's Packet Drivers}

ÓÐÁË×ÊÁÏ£¬¾Í¿ÉÒÔÎªÍø¿¨±àÐ´Çý¶¯³ÌÐò²¢ÔÚLinuxÏÂÊ¹ÓÃ£¨ÖÁÉÙ´ÓÀíÂÛÉÏÀ´ËµÊÇÕâÑù£©¡£¼Ç×¡£¬ÓÐÐ©ÎªXTÒ»Àà»úÆ÷Éè¼ÆµÄÀÏÊ½Ó²¼þÔÚLinuxÕâÑùµÄ¶àÈÎÎñ»·¾³ÏÂ¹¤×÷µÃ²»ÊÇºÜºÃ¡£Èç¹ûÍøÂçÁ÷Á¿½Ï´ó£¬Ê¹ÓÃÕâÐ©Íø¿¨»á´øÀ´´óÂé·³¡£

´ó¶àÊýÍø¿¨¶¼´øÓÐÈçNDISºÍODIÒ»ÀàµÄMS-DOS½Ó¿ÚµÄÇý¶¯³ÌÐò£¬µ«¶ÔLinuxÃ»ÓÐÓÃ¡£Ðí¶àÈË½¨ÒéÖ±½ÓÁ´½ÓËüÃÇ»ò×Ô¶¯·­ÒëÒ»ÏÂ£¬µ«Õâ¼¸ºõÊÇ²»¿ÉÄÜµÄ¡£MS-DOSÇý¶¯³ÌÐòÐèÒª¹¤×÷ÔÚ16±ÈÌØÄ£Ê½£¬²¢ÒÀÀµÓÚ¡°Èí¼þÖÐ¶Ï¡±£¬Õâ¶þÕßÓëLinuxÄÚºË²»¼æÈÝ¡£ÕâÖÖ²»¼æÈÝÊµ¼ÊÉÏÊÇLinuxµÄÒ»¸öÌØÐÔ£¬ÓÐÐ©LinuxÇý¶¯³ÌÐò±ÈÆäÏàÓ¦µÄMS-DOSÇý¶¯³ÌÐòÒªºÃµÃ¶à¡£±ÈÈç¡°8390¡±ÏµÁÐÇý¶¯³ÌÐòÊ¹ÓÃÆ¹ÅÒ´«ËÍ»º´æ£¬¸Ã·½·¨¸Õ¸Õ±»Òý½øMS-DOS¡£

£¨Æ¹ÅÒ´«ËÍ»º´æÒâÎ¶ÖøÎª´«ËÍÊý¾Ý°üÊ¹ÓÃÖÁÉÙÁ½¸ö×î´ó´óÐ¡µÄ°ü»º´æ¡£ÔÚÍø¿¨·¢ËÍÆäÖÐµÄÒ»¸öÊ±£¬ÔØÈëÁíÒ»¸ö¡£ÔÚµÚÒ»¸ö°ü±»·¢³öÈ¥ºó£¬Á¢¿Ì·¢ËÍµÚ¶þ¸ö°ü£¬ÒÀ´ÎÀàÍÆ¡£ÕâÑù£¬´ó¶àÊýÍø¿¨¾Í¿ÉÒÔÁ¬ÐøÏòÏßÂ·ÉÏ·¢ËÍ±³¿¿±³Êý¾Ý°ü¡££©

ºÃÀ²¡£Äã¿ÉÒÔ¾ö¶¨ÎªFoobar EthernetÍø¿¨±àÐ´Çý¶¯³ÌÐòÁË£¬ÒòÎªÄãÓÐ±à³Ì×ÊÁÏ£¬¶øÇÒ»¹Ã»ÈËÐ´Õâ¸öÇý¶¯³ÌÐò¡££¨......ÕâÊÇÁ½¸öÖ÷ÒªµÄÐèÇó ;-) Äã¿ÉÒÔ´ÓLinuxÄÚºËÔ´ÂëÊ÷ÖÐÌá¹©µÄÍøÂçÇý¶¯³ÌÐò¿ò¼Ü¿ªÊ¼¡£ÔÚËùÓÐ½üÆÚµÄÄÚºËÀï¶¼ÄÜÕÒµ½Õâ¸öÎÄ¼þ/usr/src/linux/drivers/net/skeleton.c¡£ÔÚ2.4.x£¨»ò¸üÐÂµÄ£©ÄÚºËÀïÒÑ¾­°ÑËüÖØÐÂÃüÃûÎª{\ttfamily isa-skeleton.c}¡£Ò²¿ÉÒÔ¿´¿´ÈçÏÂURLµÄKernel Hackers Guide£º
\nameurl{http://www.redhat.com:8080/HyperNews/get/khg.html}{KHG}






\subsection{ÄÚºËµÄÇý¶¯³ÌÐò½Ó¿Ú}



ÏÂÃæ¶Ô±àÐ´Ò»¸öÐÂÇý¶¯³ÌÐòËù±ØÐèµÄº¯Êý½øÐÐÁËÈô¸ÉËµÃ÷¡£ºÍÉÏÃæÌáµ½µÄÇý¶¯³ÌÐò¿ò¼ÜÒ»ÆðÔÄ¶Á¿ÉÒÔ¸üÇå³þÒ»Ð©¡£






\subsubsection{Probe}



ÔÚÆô¶¯Ê±µ÷ÓÃÒÔ¼ì²éÍø¿¨´æÔÚÓë·ñ¡£Èç¹û¿ÉÒÔÍ¨¹ý¶ÁÈ¡ÄÚ´æµÈ·ÇÇ¿ÖÆÊÖ¶Î½øÐÐ¼ì²é×îºÃ¡£Ò²¿ÉÒÔ´ÓI/O¶Ë¿Ú¶ÁÈ¡¡£ÔÚÌ½²â¿ªÊ¼ÏòI/O¶Ë¿ÚÐ´{\itshape ²»ºÃ\/}£¬ÒòÎªÕâÑù¿ÉÄÜ»áËðº¦ÁíÒ»¸öÉè±¸¡£Í¨³£ÔÚÕâÀï»¹½øÐÐÒ»Ð©Éè±¸³õÊ¼»¯£¨·ÖÅäI/O¿Õ¼ä¡¢IRQ¡¢Ìî³ädev-$>$???ÓòµÈµÈ£©¡£±ØÐëÁË½âÍø¿¨¿ÉÒÔÅäÖÃµ½ÄÄÐ©I/O¶Ë¿Ú/ÄÚ´æ¡¢ÈçºÎÆôÓÃ¹²ÏíÄÚ´æ£¨Èç¹ûÓÃÁËµÄ»°£©ÒÔ¼°ÈçºÎÑ¡Ôñ/ÆôÓÃÖÐ¶Ï²úÉú£¬µÈµÈ¡£




\subsubsection{Interrupt handler}



ÔÚÍø¿¨·¢³öÒ»¸öÖÐ¶ÏÊ±ÄÚºËµ÷ÓÃµÄ³ÌÐò¡£ËüÐèÒªÈ·¶¨Íø¿¨·¢³öÖÐ¶ÏµÄÔ­Òò²¢½øÐÐÏàÓ¦µÄ²Ù×÷¡£Ò»°ãµÄÖÐ¶ÏÌõ¼þÊÇ½ÓÊÕµ½Êý¾Ý¡¢·¢ËÍÍê³É¡¢±¨¸æ³ö´í×´¿ö¡£ÐèÒªÁË½âÏà¹ØµÄÖÐ¶Ï×´Ì¬Î»ÒÔ½øÐÐÏàÓ¦µÄ²Ù×÷¡£




\subsubsection{Transmit function}



Óëdev-$>$hard\_start\_xmit()Á´½Ó£¬ÔÚÄÚºËÏëÍ¨¹ýÉè±¸´«ËÍÊý¾ÝÊ±µ÷ÓÃËü¡£¸Ãº¯Êý°ÑÊý¾Ý·ÅÈëÍø¿¨²¢´¥·¢´«ËÍ¡£ÐèÒªÁË½âÈçºÎ°ÑÊý¾Ý´ò°ü²¢´«¸øÍø¿¨£¨¹²ÏíÄÚ´æ¿½±´¡¢PIO´«ËÍ¡¢DMA£¿£©£¬ÒÔ¼°·ÅÈëÍø¿¨ÕýÈ·µÄÎ»ÖÃ¡£È»ºóÐèÒªÁË½âÈçºÎÍ¨ÖªÍø¿¨°ÑÊý¾Ý·¢ËÍµ½ÏßÂ·ÉÏ£¬£¨¿ÉÄÜ£©ÔÚ·¢ËÍÍê³Éºó·¢³öÒ»¸öÖÐ¶Ï¡£ÔÚÓ²¼þÎÞ·¨½ÓÊÕ¸ü¶àÊý¾Ý°üÊ±ÐèÒªÉèÖÃdev-$>$tbusy±êÖ¾¡£ÔÚÍø¿¨ÓÐ¿Õ¼ä¿ÉÓÃÊ±£¬Ò»°ãÕâ·¢ÉúÔÚ´«ËÍÍê³ÉÖÐ¶Ï¹ý³ÌÖÐ£¬Çå³ýdev-$>$tbusy±êÖ¾²¢ÓÃ{\ttfamily mark\_bh(INET\_BH)}Í¨ÖªÉÏÒ»²ã¡£




\subsubsection{Receive function}



ÔÚÍø¿¨±¨¸æÓÐÊý¾ÝÊ±ÓÉÄÚºËÖÐ¶Ï´¦Àí³ÌÐòµ÷ÓÃ¡£Ëü°ÑÊý¾Ý´ÓÍø¿¨ÉÏÒÆ³ö£¬·ÅÈëÒ»¸ösk\_buff²¢Í¨¹ýÖ´ÐÐnetif\_rx(sk\_buff)¸æËßÄÚºËÊý¾ÝËùÔÚÎ»ÖÃ¡£ÐèÒªÁË½âÈçºÎÔÚ½ÓÊÕÊý¾ÝÊ±ÆôÓÃÖÐ¶ÏÉú³É£¬ÈçºÎ¼ì²éÏà¹ØµÄ½ÓÊÕ×´Ì¬Î»£¬ÒÔ¼°ÈçºÎ´ÓÍø¿¨»ñÈ¡Êý¾Ý£¨Í¨¹ý¹²ÏíÄÚ´æ¿½±´¡¢PIO¡¢DMA£¬µÈµÈ£©¡£




\subsubsection{Open function}



Óëdev-$>$openÁ´½Ó£¬ÔÚÓÐÈËÊ¹ÓÃ{\ttfamily ifconfig eth0 up}Ê±ÍøÂç²ãµ÷ÓÃËü¡ª¡ª°ÑÉè±¸Á¬µ½ÏßÂ·ÉÏ²¢ÆôÓÃÀ´½ÓÊÕ/·¢ËÍÊý¾Ý¡£ÈÎºÎÔÚÌ½²â¹ý³ÌÖÐ£¨ÆôÓÃIRQÉú³Éº¯ÊýµÈ£©Ã»ÓÐÍê³ÉµÄÌØ±ðµÄ³õÊ¼»¯²Ù×÷¶¼ÔÚÕâÀï½øÐÐ¡£




\subsubsection{Close function £¨¿ÉÑ¡£©}



ÔÚÓÐÈËÊ¹ÓÃ{\ttfamily ifconfig eth0 down}Ê±Ê¹Íø¿¨½øÈëÒ»¸öÇåÐÑµÄ×´Ì¬¡£Èç¹ûÓ²¼þÐí¿ÉµÄ»°Ëü»áÊÍ·ÅÖÐ¶ÏºÍDMAÍ¨µÀ£¬²¢ÍêÈ«¹Ø±ÕÒÔ½ÚÔ¼ÄÜÔ´£¨ÏóÊÕ·¢Æ÷Ò»Ñù£©¡£




\subsubsection{Miscellaneous functions}



ÈçÍ¬Ò»¸öÖØÐÂÉèÖÃº¯Êý£¬Èç¹ûÊÂÇé±äµÃºÜÔã£¬Çý¶¯³ÌÐò¿ÉÒÔÊÔÍ¼ÖØÐÂÉèÖÃÍø¿¨×÷Îª×îºó·ÀÏß¡£Ò»°ãÔÚ·¢ËÍ³¬Ê±»òÀàËÆÇé¿öÏÂÈç´Ë½øÐÐ¡£Ò²ÊÇÒ»¸ö¶ÁÈ¡Íø¿¨Í³¼Æ¼Ä´æÆ÷µÄº¯Êý£¬Èç¹ûÊÇÕâÑùÅä±¸µÄ»°¡£




\subsection{3ComµÄ¼¼ÊõÐÅÏ¢\label{3com-tech}}



Èç¹û¶Ô3ComÍø¿¨Çý¶¯³ÌÐòµÄ¹¤×÷¸ÐÐËÈ¤£¬¿ÉÒÔ´Ó3Com¹«Ë¾»ñÈ¡¼¼Êõ×ÊÁÏ¡£CameronÔÚÏÂÃæÓÑºÃµØ¸æËßÁËÎÒÃÇ¸ÃÈçºÎÈ¥×ö£º

ÔÚÎÒÃÇµÄ¡°¼¼Êõ²Î¿¼ÎÄÏ×¡±£¨TRs£©Àï¸ø³öÁË3ComµÄÒÔÌ«ÍøÊÊÅäÆ÷Çý¶¯³ÌÐò³ÌÐòÔ±ÐèÒªÁË½âµÄ×ÊÁÏ¡£ÕâÐ©ÊÖ²áÃèÊöÁË°åÉÏµÄ³ÌÐòÔ±½Ó¿Ú£¬µ«Ã»ÓÐÌá¼°Õï¶Ï¡¢°²×°³ÌÐòµÈÖÕ¶ËÓÃ»§Ëù¿´µ½µÄ¶«Î÷¡£

ÍøÂçÊÊÅäÆ÷·Ö²¿µÄÊÐ³¡²¿ÓÐ¼¼Êõ²Î¿¼×ÊÁÏ·Ö·¢¡£ÎªÁËÊ¹Õâ¸ö¼Æ»®¸üÓÐÐ§£¬ÎÒÃÇ°ÑËü¼¯ÖÐµ½Ò»¸ö³Æ×÷¡°CardFacts¡±µÄ×Ô¶¯µç»°ÏµÍ³Àï¡£Äã¿ÉÒÔ´òµç»°À´£¬È»ºóËü°Ñ×ÊÁÏ´«Õæ¸øÄã¡£ÒªË÷È¡¼¼Êõ²Î¿¼×ÊÁÏ£¬´òµç»°µ½408-727-7021¡£Ë÷È¡¿ª·¢ÈËÔ±µÄ¶©µ¥£¬×ÊÁÏºÅÊÇ9070¡£ÔÚ´òµç»°Ç°×¼±¸ºÃÄãµÄ´«ÕæºÅÂë¡£ÌîÍê¶©µ¥ºó°ÑËü´«Õæµ½408-764-5004¡£ÊÖ²á»áÓÉÁª°îËÙµÝµÄ´ÎÈÕ·þÎñËÍµ½¡£

ÓÐÈËÈÏÎªÎÒÃÇµÄÊÖ²á²»¸ÃÃâ·Ñ£¬ËûÃÇÒ²ÔÚÑ°ÕÒ´ËÏµÍ³¹ýÓÚ°º¹ó»òÕ¼ÓÃµÄÊ±¼äºÍÅ¬Á¦Ì«¶àµÄÖ¤¾Ý¡£µ½Ä¿Ç°ÎªÖ¹£¬3ComµÄ¹Ë¿ÍÈ·Êµ²»´í£¬ÏòÎÒÃÇÌá³öµÄÒªÇóÒ²ºÜºÏÀí¡£ÎÒÃÇÐèÒªÄãÃÇµÄ¼ÌÐøºÏ×÷²¢°ÑÕâÑùµÄ·þÎñÎ¬³ÖÏÂÈ¥¡£




\subsection{»ùÓÚAMD PCnet/LANCEµÄÍø¿¨µÄ×¢ÒâÊÂÏî\label{amd-notes}}



AMDµÄLANCE£¨ÒÔÌ«ÍøµÄ¾ÖÓòÍø¿ØÖÆÆ÷£©ÊÇ×îÔçÌá¹©µÄ£¬ÒÑ¾­±»¡°PCnet-ISA¡±Ð¾Æ¬ËùÈ¡´ú£¬·ñÔòÓÖÃû79C960¡£×¢Òâ£¬¡°LANCE¡±Ãû³ÆÓÐÃ«²¡£¬ÓÐÐ©ÈË»áÓÃÀÏÃû³Æ³ÆºôÐÂÐ¾Æ¬¡£AMDµÄÍøÂç²úÆ··Ö²¿µÄDave RobertsÓÑºÃµØÌá¹©ÁËÏÂÃæÓÐ¹Ø¸ÃÐ¾Æ¬µÄÐÅÏ¢£º

¡°´Ó¹¦ÄÜÉÏÀ´¿´£¬ËüµÈÍ¬ÓëNE1500¡£ËüµÄ¼Ä´æÆ÷×éÓëÊ¹ÓÃ¸½¼Ó1500/2100½á¹¹µÄÀÏÊ½LANCEÒ»Ñù¡£PCnet-ISA¿ÉÒÔÊ¹ÓÃ½ÏÔçµÄ1500/2100Çý¶¯³ÌÐò¡£NE1500ºÍNE2100µÄ½á¹¹»ù±¾ÉÏÊÇÏàÍ¬µÄ¡£¿ªÊ¼Novell°ÑËü³ÆÎª2100£¬µ«ºóÀ´ÏëÇø·ÖÍ¬ÖáµçÀÂÓë10BASE-TÍø¿¨¡£ÊôÓÚ10BASE-TµÄ¾ÍÖ»²ÉÓÃ1500·¶Î§µÄ±àºÅ¡£ÕâÊÇ½öÓÐµÄÇø±ð¡£

Ðí¶à¹«Ë¾Ìá¹©»ùÓÚPCnet-ISAµÄ²úÆ·£¬°üÀ¨HP¡¢Racal-Datacom¡¢Allied Telesis¡¢Boca Research¡¢Kingston TechnologyµÈµÈ¡£³ýÁËÓÐÐ©ÖÆÔìÉÌÔö¼ÓÁË¡°ÎÞÌøÏß¡±ÌØÐÔÔÊÐíÈí¼þÅäÖÃÍø¿¨Íâ£¬ÕâÐ©Íø¿¨»ù±¾ÉÏ¶¼ÊÇÒ»ÑùµÄ¡£´ó¶àÊýÖÆÔìÉÌÃ»ÓÐÔö¼ÓÕâÒ»ÌØÐÔ¡£AMDÌá¹©ÁËÒ»¸öÊ¹ÓÃPCnet-ISAµÄÍø¿¨µÄ±ê×¼Éè¼ÆÈí¼þ°ü£¬Ðí¶àÖÆÔìÉÌ²»¼Ó¸Ä±äµØÖ±½ÓÊ¹ÓÃÎÒÃÇµÄÉè¼Æ¡£ÕâÒ²¾ÍÊÇËµ£¬Èç¹ûÏë±àÐ´´ó¶àÊý»ùÓÚPCnet-ISAµÄÍø¿¨µÄÇý¶¯³ÌÐò£¬Ö»ÐèÒª´ÓAMD»ñÈ¡Êý¾Ý×ÊÁÏ¡£´òµç»°¸øÎÒÃÇµÄ×ÊÁÏ·Ö·¢ÖÐÐÄ(800)222-9323£¬Ë÷È¡PCnet-ISAµÄÊý¾Ý×ÊÁÏAm79C960¡£ÕâÊÇÃâ·ÑµÄ¡£

ÒªÑ¸ËÙÁË½âÒ»¿éÍø¿¨ÊÇ·ñ¡°±ê×¼¡±Íø¿¨Ö»ÐèÒª¿´Ò»ÏÂ¡£Èç¹ûÊÇ±ê×¼µÄ£¬Íø¿¨ÉÏÖ»ÓÐÒ»¿é´óµÄÐ¾Æ¬¡¢Ò»¿é¾§Õñ¡¢Ò»¿éÐ¡µÄIEEEµØÖ·PROM¡¢¿ÉÄÜ»¹ÓÐÒ»¸öÆô¶¯ROMµÄ²å×ùºÍÒ»¸öÁ¬½ÓÆ÷£¨ÒÀÕÕÌá¹©µÄÃ½½éÑ¡Ïî¿ÉÄÜÊÇ1¡¢2»ò3£©¡£×¢Òâ£¬Èç¹ûÊÇÍ¬ÖáµçÀÂÍø¿¨£¬¿¨ÉÏ¾ÍÓ¦¸ÃÓÐÒ»Ð©ÊÕ·¢Æ÷»º´æ£¬ËüÃÇ¿¿½üÁ¬½ÓÆ÷£¬Ô¶ÀëPCnet-ISA¡£¡±

Ò»¸ö¿ÉÄÜµÄÍø¿¨ºÚ¿ÍÐèÒª×¢Òâ£¬²»Í¬µÄLANCE²úÆ·²ÉÓÃ²»Í¬µÄ¡°ÖØÆð¡±·½·¨¡£ÓÐÐ©»Ö¸´µ½ÉÏ´ÎÀë¿ªÍøÂç»·Â·µÄµØ·½£¬ÁíÒ»Ð©Ôò´Ó»·Â·µÄ¿ªÍ·¿ªÊ¼£¬¾ÍÏó¸Õ±»³õÊ¼»¯Ò»Ñù¡£




\subsection{¹ã²¥Óë»ìÔÓÄ£Ê½\label{promisc}}



DonaldËù×öµÄÁíÒ»¸ö¹¤×÷ÊÇÊµÏÖ¹ã²¥Óë»ìÔÓÄ£Ê½µÄ¹³×Óº¯Êý¡£ËùÓÐ{\itshape ·¢²¼µÄ\/}£¨¼´{\bfseries ²»ÊÇ}ALPHA°æ±¾µÄ£©ISAÇý¶¯³ÌÐòÏÖÔÚ¶¼Ö§³Ö»ìÔÓÄ£Ê½¡£

DonaldÐ´µÀ£º¡°ÎÒ×¼±¸´ÓÌÖÂÛ»ìÔÓÄ£Ê½¿ªÊ¼£¬Ëü´Ó¸ÅÄîÉÏÀ´ËµºÜÈÝÒ×ÊµÏÖ¡£¶Ô´ó¶àÊýÓ²¼þ£¬ÄãÖ»ÐèÒªÉèÖÃÒ»¸ö¼Ä´æÆ÷Î»£¬È»ºó¾Í¿ÉÒÔ½ÓÊÕµ½ÏßÂ·ÉÏµÄÃ¿Ò»¸öÊý¾Ý°ü¡£¶Ô£¬²î²»¶à¾ÍÕâÃ´¼òµ¥£»¶ÔÓÐÐ©Ó²¼þ£¬Äã±ØÐëÏÈ¹Ø±Õ°å¿¨£¨¿ÉÄÜ»á¶ªÊ§Èô¸ÉÊý¾Ý°ü£©£¬ÖØÐÂÅäÖÃËü£¬È»ºóÖØÐÂÆôÓÃÒÔÌ«Íø¿¨¡£¶Ô°É£¬¾ÍÕâÃ´¼òµ¥£¬ÏÂÃæÒªÌÖÂÛµÄ¾Í²»ÊÇÕâÃ´Ã÷ÏÔÁË£º¹ã²¥Ä£Ê½¡£Ëü¿ÉÒÔÓÃÁ½ÖÖ·½Ê½ÊµÏÖ£º

\begin{enumerate}
\item   Ê¹ÓÃ»ìÔÓÄ£Ê½ºÍÒ»¸öÈçBerkeley°ü¹ýÂËÆ÷£¨BPF£©µÄÊý¾Ý°ü¹ýÂËÆ÷¡£BPFÊÇÒ»¸öÄ£Ê½Æ¥ÅäÖ¸ÁîÓïÑÔ£¬¿ÉÒÔ±àÐ´Ò»¸ö³ÌÐòÌô³ö¸ÐÐËÈ¤µÄµØÖ·¡£ËüµÄÓÅµãÔÚÓÚËüºÜÆÕ±éºÍ¿É±à³Ì¡£ÆäÈ±µãÊÇÃ»ÓÐÒ»¸öÒ»°ãÐÔµÄ·½·¨¿ÉÒÔÈÃÄÚºË±ÜÃâ´ò¿ª»ìÔÓÄ£Ê½ºÍÍ¨¹ýÃ¿Ò»¸ö×¢²áµÄ°ü¹ýÂËÆ÷ÔËÐÐÃ¿Ò»¸öÏßÂ·ÉÏµÄÊý¾Ý°ü¡£²Î¼û\ref{bpf} {(Berkeley°ü¹ýÂËÆ÷)}ÒÔÁË½â¸ü¶àÐÅÏ¢¡£
        
\item   Ê¹ÓÃ¾ø´ó¶àÊýÒÔÌ«ÍøÐ¾Æ¬ÄÚ½¨µÄ¹ã²¥°ü¹ýÂËÆ÷¡£
\end{enumerate}


ÎÒÏëÓ¦¸ÃÁÐ³ö¼¸¸öÒÔÌ«Íø¿¨/Ð¾Æ¬Ìá¹©µÄ¹ã²¥°ü¹ýÂËÆ÷£º

\begin{verbatim}
        
        Ð¾Æ¬/Íø¿¨           »ìÔÓÄ£Ê½    ¹ã²¥°ü¹ýÂËÆ÷
        -------------   ------------    ---------------
        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)
        
\end{verbatim}


\begin{enumerate}
\item   ÕâÐ©Íø¿¨Éù³ÆÓÐÒ»¸ö¹ýÂËÆ÷£¬µ«Ö»ÊÇ¼òµ¥µØ¶Ô¡°accept all multicast packets¡±»ò¡°accept no multicast packets¡±»Ø´ðyes/no¡£
\item   AUTODIN IIÊÇ±ê×¼µÄÒÔÌ«ÍøCRCÐ£Ñé¶àÏîÊ½¡£ÔÚÕâÖÖ·½Ê½ÏÂ£¬¹ã²¥µØÖ·±»¹þÏ£ÔËËãºóÔÚ¹þÏ£±íÀï½øÐÐ²éÕÒ¡£Èç¹ûÆôÓÃÁËÏàÓ¦µÄ±ÈÌØÎ»£¬ÔòÊý¾Ý°ü±»½ÓÊÕ¡£ÒÔÌ«ÍøÊý¾Ý°üµÄÉè¼ÆÊ¹µÃÓ²¼þÔÚÈç´Ë´¦ÀíÊ±µÄ¿ªÏúºÜÐ¡¡ª¡ª£¨Í¨³££©Ö»ÒªÔÚÇ°6¸ö°Ë½øÖÆÊý£¨Ä¿±êµØÖ·£©Ö®ºóËø¶¨CRCµçÂ·£¨ÓÃÀ´½øÐÐ´íÎó¼ì²é£©µÄ6¸ö±ÈÌØÎ»£¬°ÑËüÃÇ×÷Îª¹þÏ£±íµÄË÷Òý£¨6±ÈÌØ¡ª¡ªÒ»¸ö64±ÈÌØµÄ±í£©¡£
        
\item   ÕâÐ©Ð¾Æ¬Ê¹ÓÃ6±ÈÌØ¹þÏ££¬±ØÐëÓÉÖ÷»ú¼ÆËã²¢ÔØÈë¹þÏ£±í¡£ÕâÒ²¾ÍÊÇËµÄÚºË±ØÐë°üº¬CRC´úÂë¡£
        
\item   82586ÄÚ²¿Ê¹ÓÃ6±ÈÌØ¹þÏ££¬µ«ÊÇÓÉ×Ô¼º´Ó½ÓÊÜµÄ¹ã²¥µØÖ·ÁÐ±í¼ÆËã³ö¹þÏ£±í¡£
\end{enumerate}


×¢Òâ£¬ÕâÐ©Ð¾Æ¬µÄ¹ýÂËÐ§¹û¶¼²»ºÃ£¬»¹ÐèÒªÒ»¸öÖÐ¼ä²ã´ÎµÄÄ£¿éÍê³É×îºóµÄ¹ýÂË¡£Í¬Ê±»¹Òª×¢Òâ£¬ÔÚÃ¿ÖÖÇé¿öÏÂ¶¼±ØÐë±£³ÖÒ»¸öÍêÕûµÄ½ÓÊÜ¹ã²¥µØÖ·ÁÐ±í£¬ÔÚ³öÏÖ±ä»¯Ê±ÒÔÖØÐÂ¼ÆËã¹þÏ£±í¡£




\subsection{Berkeley°ü¹ýÂËÆ÷£¨BPF£©\label{bpf}}



¿ª·¢ÕßÆÕ±éÈÏÎªBPFµÄ¹¦ÄÜ²»¸ÃÓÉÄÚºËÌá¹©£¬¶øÊÇ·ÅÔÚÒ»¸ö£¨Ï£ÍûºÜÉÙÓÃµ½µÄ£©¼æÈÝ¿âÀï¡£

¶Ô²»ÁË½âµÄÈËÀ´Ëµ£ºBPF£¨Berkeley°ü¹ýÂËÆ÷£©ÊÇÒ»ÖÖÏòÄÚºËÍøÂç²ãËµÃ÷¶ÔÄÄÐ©Êý¾Ý°ü¸ÐÐËÈ¤µÄ»úÖÆ¡£ËüÊÇÓÃÒ»ÖÖ½¨Á¢ÔÚµ×²ãÍøÂç´úÂëÖÐµÄÌØÊâÖ¸ÁîÓïÑÔ½âÊÍÆ÷ÊµÏÖµÄ¡£Ó¦ÓÃ³ÌÐò°ÑÒ»¸öÓÃÕâÖÖÓïÑÔ±àÐ´µÄ³ÌÐò´«µÝ¸øÄÚºË£¬È»ºóÄÚºË¶ÔÃ¿Ò»¸ö½ÓÊÕµ½µÄÊý¾Ý°üÖ´ÐÐ¸Ã³ÌÐò¡£Èç¹ûÄÚºËÓÐ¶à¸öBPFÓ¦ÓÃ³ÌÐò£¬¶ÔÃ¿¸öÊý¾Ý°ü¶¼ÒªÔËÐÐÕâ¸ö³ÌÐò¡£

ÎÊÌâÔÚÓÚºÜÄÑ´ÓÊý¾Ý°ü¹ýÂËÆ÷³ÌÐòÍÆ¶Ï³öÓ¦ÓÃ³ÌÐòÊµ¼ÊÉÏ¶ÔÄÄÒ»ÖÖÊý¾Ý°ü¸ÐÐËÈ¤£¬ËùÒÔÒ»°ãµÄ½â¾ö·½·¨¾ÍÊÇÊ¼ÖÕÔËÐÐ¹ýÂËÆ÷¡£¼ÙÉèÒ»¸öÓ¦ÓÃ³ÌÐò×¢²áµÄBPF³ÌÐòÊÇ»ñÈ¡·¢ÍùÄ³¸ö¹ã²¥µØÖ·µÄµÍËÙÊý¾ÝÁ÷¡£¾ø´ó¶àÊýÒÔÌ«Íø¿¨ÓÐÒ»¸ö64¸öÈë¿ÚµÄ¹þÏ£±íµÄÓ²¼þÊµÏÖµÄ¹ã²¥µØÖ·¹ýÂËÆ÷£¬ÓÃÀ´ºöÂÔ´ó¶àÊý²»ÏëÒªµÄ¹ã²¥Êý¾Ý°ü£¬ËùÒÔÓÐ¿ÉÄÜÒÔ¼«µÍµÄ¿ªÏúÍê³ÉÕâÒ»²Ù×÷¡£µ«ÊÇÓÉÓÚÓÐÁËBPF£¬ÄÚºË±ØÐë°Ñ½Ó¿ÚÉèÖÃÎª»ìÔÓÄ£Ê½£¬½ÓÊÕËùÓÐÊý¾Ý°ü£¬²¢¶ÔËüÃÇÔËÐÐ¹ýÂËÆ÷¡£²»¹ÜÔõÑù£¬ÕâÑùÈ·Êµ¿ÉÒÔ¹¤×÷£¬µ«¿¼ÂÇµ½¶ÔËùÒªÇóµÄÊý¾Ý°ü½øÐÐµÄ´¦Àí£¬¾ÍÒÑ¾­±äµÃ¹ýÓÚÂé·³ÁË¡£




\section{±ãÐ¯Ê½/±Ê¼Ç±¾µçÄÔÁªÍø\label{notebook}}



ÓÐ¼¸ÖÖ·½·¨°Ñ±Ê¼Ç±¾µçÄÔÁªÉÏÍø¡£¿ÉÒÔÊ¹ÓÃSLIP´úÂë£¨²¢ÒÔ´®ÐÐÏßËÙÂÊÔËÐÐ£©£»¿ÉÒÔÊ¹ÓÃÒ»¸öÓÐÄÚ½¨Ö§³ÖPCMCIA²å²ÛµÄ±Ê¼Ç±¾µçÄÔ£»¿ÉÒÔÊ¹ÓÃÒ»¸öÓÐ²å×ù²¢²åÈëÁËÒ»¿éISAÍø¿¨µÄ±Ê¼Ç±¾µçÄÔ£»»òÕßÊ¹ÓÃ²¢¿ÚÒÔÌ«ÍøÊÊÅäÆ÷¡£




\subsection{Ê¹ÓÃSLIP}



ÕâÊÇ×î±ãÒËµÄ½â¾ö·½°¸£¬µ«×îÂé·³¡£ÁíÍâ£¬ÎÞ·¨»ñµÃºÜ¸ßµÄ´«ÊäËÙÂÊ¡£ÒòÎªSLIPÊµ¼ÊÉÏÓëÒÔÌ«Íø¿¨ÎÞ¹Ø£¬ÕâÀï¾Í²»¶àËµÁË¡£²Î¼ûNET-2 Howto¡£






\subsection{PCMCIAÖ§³Ö\label{pcmcia}}



Éè·¨ÍêÈ«È·¶¨Ó²¼þµÄÇé¿ö£¨¼´Íø¿¨ÖÆÔìÉÌ¡¢PCMCIAÐ¾Æ¬¿ØÖÆÆ÷µÄÖÆÔìÉÌ£©£¬È»ºóÔÚ±Ê¼Ç±¾µçÄÔÌÖÂÛ×éÀïÑ¯ÎÊ¡£²»¹ÜÔõÑù£¬²»Òª°ÑÊÂÇéÏëµÃÕâÃ´¼òµ¥¡£Ô¤ÁÏ»á»¨·ÑÒ»Ð©Ê±¼ä¡¢¸øÄÚºË´ò²¹¶¡µÈ¡£¿ÉÄÜÓÐÒ»ÌìÖ»ÐèÒª¼üÈë¡°make config¡±¡£8-)

Ä¿Ç°ËùÖ§³ÖµÄÁ½¸öPCMCIAÐ¾Æ¬×éÊÇDatabookµÄTCIC/2ºÍIntelµÄi82365¡£

ÔÚtsx-11.mit.eduµÄ/pub/linux/packages/laptops/ÏÂÓÐÒ»Ð©³ÌÐò¿ÉÄÜ»áÓÐÓÃ¡£ËüÃÇ°üÀ¨´ÓPCMCIAÒÔÌ«Íø¿¨Çý¶¯³ÌÐòµ½ÓëPCMCIA¿ØÖÆÆ÷Ð¾Æ¬½øÐÐÍ¨ÐÅµÄ³ÌÐò¡£×¢Òâ£¬ÕâÐ©³ÌÐòÒ»°ãÓëÄ³¸öÌØ¶¨µÄPCMCIAÐ¾Æ¬£¨¼´intel 82365»òTCIC/2£©Ïà¹Ø¡£

¶ÔÓÚNE2000¼æÈÝ¿¨£¬ÓÐÈËÍ¨¹ýÔÚDOSÏÂÅäÖÃÍø¿¨£¬È»ºóÔÚDOSÃüÁîÌáÊ¾·ûÏÂÖ´ÐÐ{\ttfamily loadlin}Æô¶¯Linux£¬³É¹¦µØÊµÏÖÁË¶ÔPCMCIAµÄÖ§³Ö¡£

Ä¿Ç°Ò»Ö±ÔÚ»ñµÃÊµÖÊÐÔµÄ½øÕ¹£¬¶ÔÓÚÏ£ÍûPCMCIAÖ§³ÖµÄLinuxÓÃ»§£¬Çé¿öÕýÔÚºÃ×ª¡£ÕâÒ»Å¬Á¦µÄÏÈÇýÊÇDavid Hinds¡£ËûµÄ×îÐÂPCMCIAÖ§³ÖÈí¼þ°ü¿ÉÒÔ´ÓÏÂÃæµÃµ½£º

\nameurl{ftp://cb-iris.stanford.edu/pub/pcmcia}{PCMCIA Package}

Ñ°ÕÒÒ»¸öÀàËÆ{\ttfamily pcmcia-cs-X.Y.Z.tgz}µÄÎÄ¼þ£¬ÆäÖÐX.Y.ZÊÇ×î½üµÄ°æ±¾ºÅ¡£ºÜÓÐ¿ÉÄÜËüÒ²±»ÉÏÔØµ½ÁËFTPÕ¾µã{\ttfamily tsx-11.mit.edu}¡£

×¢Òâ£¬DonaldµÄPCMCIAÆôÓÃ³ÌÐòÊÇÒ»¸öÓÃ»§¼¶µÄ³ÌÐò£¬¶øDavid HindsµÄ³ÌÐòÊÇÔËÐÐÔÚÄÚºË¼¶¡£×îºÃÊ¹ÓÃDavidµÄÈí¼þ°ü£¬ÒòÎªËüµÄÊ¹ÓÃºÜ¹ã·º£¬²¢ÔÚ³ÖÐø¿ª·¢¹ý³ÌÖÐ¡£




\subsection{¶Ô½Ó×ùÄÚµÄISAÒÔÌ«Íø¿¨¡£}



±Ê¼Ç±¾µçÄÔµÄ¶Ô½Ó×ùÒ»°ãÒª»¨\$250£¬Ìá¹©Á½¸öÈ«³ß´çµÄISA²å²Û¡¢Á½¸ö´®¿ÚºÍÒ»¸ö²¢¿Ú¡£´ó¶àÊý¶Ô½Ó×ùÊ¹ÓÃ±Ê¼Ç±¾µçÄÔµÄµç³Ø¹©µç£¬Èç¹ûÊ¹ÓÃ¶ÌµÄISA¿¨£¬ÓÐÈô¸É¶Ô½Ó×ù¿ÉÒÔÊ¹ÓÃ¶Ô½Ó×ùÀï¸½¼ÓµÄ¶îÍâµç³Ø¹©µç¡£Äã¿ÉÒÔ¼ÓÒ»¸ö±ãÒËµÄÒÔÌ«Íø¿¨£¬²¢ÏíÊÜÈ«ËÙµÄÒÔÌ«ÍøÐÔÄÜ¡£




\subsection{ÐäÕä/²¢¿ÚÊÊÅäÆ÷¡£}



¡°ÐäÕä¡±ÒÔÌ«ÍøÊÊÅäÆ÷Ò²¿ÉÒÔÂú×ãÐèÒª¡£×¢Òâ£¬ÓÉÓÚ²¢¿ÚµÄ½Ó¿ÚÏÞÖÆ£¬´«ÊäËÙÂÊ²»¹»ºÃ£¨¿ÉÄÜ×î¸ßÊÇ200kB/s£¿£©¡£

»¹ÓÐÒ»¸öÔ¼ÊøÊÇÇ½×©Ò»ÑùµÄµçÔ´¡£Äã¿ÉÒÔ¹ºÂò/ÖÆ×÷Ò»¸ö´Ó±Ê¼Ç±¾µçÄÔµÄ¼üÅÌ¶Ë¿ÚÒý³öµçÔ´µÄµçÀÂ£¬°ÚÍÑÓëÊÊÅäÆ÷Á¬ÔÚÒ»ÆðµÄÇ½×©¡££¨²Î¼û\ref{aep-100} {(¼üÅÌµçÔ´)}£©

²Î¼û\ref{de-600} {(DE-600 / DE-620)}ºÍ\ref{aep-100} {(RealTek)}ÒÔÁË½âÖ§³ÖµÄÁ½¿îÐäÕäÊÊÅäÆ÷¡£






\section{ÔÓÏî\label{misc}}



ËùÓÐ²»ÊÊºÏ·ÅÔÚ±ð´¦µÄÏà¹ØÐÅÏ¢¶¼¶ÑÔÚÕâÀï¡£¿ÉÄÜ²»Ïà¸É£¬Ò²¿ÉÄÜ´ó¼Ò²»¸ÐÐËÈ¤£¬µ«»¹ÊÇ·ÅÔÚÕâ¶ùÁË¡£




\subsection{ÏòÄÚºË´«µÝÒÔÌ«Íø²ÎÊý\label{lilo}}



ÓÐÁ½¸öÍ¨ÓÃµÄÄÚºËÃüÁî¿ÉÒÔÔÚÆô¶¯Ê±ÏòÄÚºË´«µÝÒÔÌ«Íø²ÎÊý£¨{\ttfamily ether}  ºÍ{\ttfamily reserve}£©¡£¿ÉÒÔÓÃLILO¡¢loadlin»òÆäËü½ÓÊÜ¿ÉÑ¡²ÎÊýµÄÆô¶¯¹¤¾ßÍê³É¸Ã²Ù×÷¡£

ÀýÈç£¬Èç¹ûÃüÁîÎª¡°blah¡±£¬Ï£Íû½ÓÊÕ3¸ö²ÎÊý£¨¼Ù¶¨Îª123¡¢456ºÍ789£©£¬ÄÇÃ´ÔÚÊ¹ÓÃLILOÊ±¾ÍÓ¦¸ÃÈçÏÂ£º

{\ttfamily LILO: linux blah=123,456,789}

ÒªÁË½âÆô¶¯Ê±²ÎÊýµÄ¸ü¶àÐÅÏ¢£¨ºÍÍêÈ«µÄÁÐ±í£©£¬Çë²Î¼û
\nameurl{http://metalab.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html}{BootPrompt-HOWTO}




\subsubsection{{\ttfamily ether}ÃüÁî\label{ether}}



{\ttfamily ether=}²ÎÊýÓëÖ±½Ó¹¹½¨ÔÚÄÚºËµÄÇý¶¯³ÌÐòÒ»ÆðÊ¹ÓÃ¡£{\ttfamily ether=}²ÎÊý¶ÔÒ»¸öÄ£¿é»¯µÄÇý¶¯³ÌÐò{\itshape ÍêÈ«²»Æð×÷ÓÃ\/}¡£ËüµÄ×îÍ¨ÓÃÐÎÊ½ÈçÏÂ£º

\begin{tscreen}
ether=IRQ,BASE\_ADDR,PARAM\_1,PARAM\_2,NAME
\end{tscreen}


ËùÓÐµÄ²ÎÊý¶¼ÊÇ¿ÉÑ¡µÄ¡£µÚÒ»¸ö·ÇÊý×ÖµÄ²ÎÊý±»ÓÃ×öNAME¡£

{\bfseries IRQ:}
ºÜÃ÷ÏÔ¡£Îª¡°0¡±µÄIRQÖµ£¨Ò»°ãÎªÈ±Ê¡Öµ£©ÒâÎ¶ÖøautoIRQ¡£Ê×ÏÈÉèÖÃIRQ¶ø²»ÊÇbase\_addrÊÇÒ»¸öÀúÊ·ÐÔµÄÇÉºÏ¡ª¡ªÎÞÂÛÔÚ¸Ä±ä±ðµÄÊ²Ã´Ê±¶¼¿ÉÒÔË³±ã¸ÄÕýÕâÒ»µã¡£

{\bfseries BASE\_ADDR:}
Ò²ºÜÃ÷ÏÔ¡£ÖµÎª¡°0¡±£¨Ò»°ãÎªÈ±Ê¡Öµ£©ÒâÎ¶ÖøÌ½²âÒÔÌ«Íø¿¨µÄÍø¿¨ÀàÐÍÌØ¶¨µÄµØÖ·ÁÐ±í¡£

{\bfseries PARAM\_1:}
Õâ¿ªÊ¼ÊÇÓÃÀ´¸²¸ÇWD80*3ÕâÑùµÄ¹²ÏíÄÚ´æÍø¿¨µÄÆðÊ¼ÄÚ´æµÄÖµ¡£ÓÐÐ©Çý¶¯³ÌÐòÊ¹ÓÃ¸ÃÖµµÄµÍ4Î»À´ÉèÖÃÕï¶ÏÐÅÏ¢¼¶±ð¡£0¡ª¡ªÈ±Ê¡Öµ£¬1-7¡ª¡ª¼¶±ð1..7£¬£¨7ÊÇ×îÍêÈ«µÄÐÅÏ¢£©8¡ª¡ª¼¶±ð0£¨Ã»ÓÐÐÅÏ¢£©¡£ÁíÍâ£¬LANCEÇý¶¯³ÌÐòÊ¹ÓÃ¸ÃÖµµÄµÍ4Î»À´Ñ¡ÔñDMAÍ¨µÀ¡£·ñÔò¾ÍÊ¹ÓÃauto-DMA¡£

{\bfseries PARAM\_2:}
3c503Çý¶¯³ÌÐòÊ¹ÓÃËüÀ´Ñ¡ÔñÄÚ²¿»¹ÊÇÍâ²¿ÊÕ·¢Æ÷¡£0¡ª¡ªÈ±Ê¡/ÄÚ²¿£¬1¡ª¡ªÍâ²¿AUI¡£CabletronµÄE21XXÍø¿¨»¹Ê¹ÓÃPARAM\_2µÄµÍ4Î»À´Ñ¡ÔñÊä³öÃ½½é¡£·ñÔò¾Í×Ô¶¯¼ì²â¡£

{\bfseries NAME:}
Ñ¡Ôñ¸ÃÖµËùÖ¸µÄÍøÂçÉè±¸¡£±ê×¼ÄÚºË¶Ô¸½ÊôÓÚ×ÜÏßµÄÒÔÌ«Íø¿¨Ê¹ÓÃÃû³Æ¡°eth0¡±¡¢¡°eth1¡±¡¢¡°eth2¡±ºÍ¡°eth3¡±£¬¶Ô²¢¿Ú¡°ÐäÕä¡±ÒÔÌ«ÍøÊÊÅäÆ÷Ê¹ÓÃ¡°atp0¡±¡£arcnetÇý¶¯³ÌÐòÊ¹ÓÃÃû³Æ¡°arc0¡±¡£¿ÉÒÔÊ¹ÓÃÕâÐ©LILO²ÎÊýÃ÷È·ÉèÖÃ»ùÖ·À´ÆôÓÃ¶à¿éÍø¿¨¡£1.0ÄÚºË°Ñ»ùÓÚLANCEµÄÒÔÌ«Íø¿¨×÷ÎªÌØÊâÇé¿ö½øÐÐ´¦Àí£ºLILO²ÎÊý±»ºöÂÔ£¬LANCEÍø¿¨×ÜÊÇ±»·ÖÅäÎª´Ó¡°eth0¡±¿ªÊ¼µÄÃû³Æ¡°eth$<$n$>$¡±¡£¸½¼ÓµÄ·ÇLANCEÍø¿¨±ØÐë±»Ã÷È·Ö¸¶¨Îª¡°eth$<$n+1$>$¡±£¬²¢ÓÃÖîÈç¡°ether=0,-1,eth0¡±µÄ·½Ê½½ûÖ¹Í¨³£µÄ¡°eth0¡±Ì½²â¡££¨¶Ô£¬ÕâÊÇ¸öBug¡££©




\subsubsection{{\ttfamily reserve}ÃüÁî\label{reserve}}



Õâ¸ö½ô½ÓÖøµÄLILOÃüÁîÓÃ·¨ÓëÉÏÃæµÄ¡°ether=¡±Ò»Ñù£¬¼´¸½¼ÓÔÚlilo.confÀïÖ¸¶¨µÄÆô¶¯Ñ¡ÔñÃû³ÆºóÃæ¡£

\begin{tscreen}
reserve=IO-base,extent$\{$,IO-base,extent...$\}$
\end{tscreen}


ÔÚÄ³Ð©»úÆ÷ÉÏ£¬¿ÉÄÜÐèÒª·ÀÖ¹Éè±¸Çý¶¯³ÌÐòÔÚÄ³¸öÌØ¶¨ÇøÓòÀï¼ì²éÉè±¸£¨×Ô¶¯Ì½²â£©¡£ÆäÔ­Òò¿ÉÄÜÊÇÓÉÓÚÉè¼ÆµÍÁÓµÄÓ²¼þÊ¹Æô¶¯{\itshape ¶³½á\/}£¨ÈçÄ³Ð©ÒÔÌ«Íø¿¨£©¡¢±»´íÎóÊ¶±ðµÄÓ²¼þ¡¢ÔÚ½ÏÔçµÄÌ½²âÖÐ×´Ì¬±»¸Ä±äµÄÓ²¼þ¡¢»òÕß½ö½öÊÇ²»ÏëÈÃÄÚºË³õÊ¼»¯Ó²¼þ¡£

Æô¶¯Ê±µÄ²ÎÊý{\ttfamily reserve}Í¨¹ýÖ¸¶¨ÎÞÐèÌ½²âµÄI/O¶Ë¿ÚÇøÓòÀ´½â¾öÕâ¸öÎÊÌâ¡£¸ÃÇøÓò±£ÁôÔÚÄÚºËµÄ¶Ë¿Ú×¢²á±íÀï£¬¾ÍÏó¸ÃÇøÓòÀïÒÑ¾­·¢ÏÖÁËÒ»¸öÉè±¸Ò»Ñù¡£×¢Òâ£¬ÕâÒ»»úÖÆÔÚ´ó¶àÊý»úÆ÷ÉÏÊÇ²»±ØÒªµÄ¡£Ö»ÓÐÔÚÓÐÎÊÌâ»òÌØ¶¨µÄÇé¿öÏÂ²ÅÓÐ±ØÒªÊ¹ÓÃËü¡£

Ö¸¶¨ÇøÓòÀïµÄI/O¶Ë¿ÚÊÜµ½±£»¤£¬²»±»Éè±¸Ì½²âÓ°Ïì¡£ÔÚÄ³Ð©Çý¶¯³ÌÐò±»NE2000¹ÒÆð£¬»òÆäËüÉè±¸±»´íÎóµØÊ¶±ðÎªNE2000Ê±Ê¹ÓÃÕâÒ»·½·¨¡£ÕýÈ·µÄÉè±¸Çý¶¯³ÌÐò²»¸ÃÌ½²âÒ»¸ö±£ÁôÇøÓò£¬³ý·ÇÁíÒ»¸öÆô¶¯²ÎÊýÃ÷È·Ö¸¶¨ËüÕâÃ´×ö¡£ÕâÒþº¬ÁË{\ttfamily reserve}¾­³£ÓëÆäËüÆô¶¯²ÎÊýÒ»ÆðÊ¹ÓÃ¡£Òò´Ë£¬Èç¹ûÖ¸¶¨ÁËÒ»¸ö{\ttfamily reserve}ÇøÓòÀ´±£»¤Ä³¸öÌØ¶¨Éè±¸£¬Í¨³£¾Í±ØÐëÃ÷È·Ö¸¶¨¶Ô¸ÃÉè±¸µÄÌ½²â¡£´ó¶àÊýÇý¶¯³ÌÐòÔÚ¸ø¶¨ÁËÃ÷È·µØÖ·ºó¾ÍºöÂÔÁË¶Ë¿Ú×¢²á±í¡£

ÀýÈç£¬Æô¶¯ÐÐ

\begin{tscreen}
LILO: linux  reserve=0x300,32  ether=0,0x300,eth0
\end{tscreen}


Ê¹ÒÔÌ«Íø¿¨Çý¶¯³ÌÐòÒÔÍâµÄËùÓÐÉè±¸Çý¶¯³ÌÐò¶¼²»Ì½²â0x300-0x31f¡£

Ò»°ãÆô¶¯Ê±µÄ²ÎÊýÏÞÖÆÊÇ11¸ö£¬Òò´ËÃ¿¸ö{\ttfamily reserve}¹Ø¼ü´ÊÖ»ÄÜÖ¸¶¨5¸ö±£ÁôÇøÓò¡£Èç¹ûÇëÇóºÜ¸´ÔÓ£¬¿ÉÒÔÊ¹ÓÃ¶à¸ö{\ttfamily reserve}Ö¸Áî¡£




\subsection{°ÑÒÔÌ«ÍøÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃ\label{modules}}



ÏÖÔÚ´ó¶àÊýLinux·¢ÐÐ°æÀïµÄÄÚºË¶¼Ö»°üº¬ºÜÉÙ¼¸¸öÄÚ½¨µÄÇý¶¯³ÌÐò¡£Çý¶¯³ÌÐò¶¼²ÉÓÃ¶ÀÁ¢µÄ¶¯Ì¬¿É¼ÓÔØÄ£¿éµÄÐÎÊ½Ìá¹©¡£ÕâÐ©Ä£¿é»¯Çý¶¯³ÌÐòÍ¨³£ÓÉ¹ÜÀíÔ±Ê¹ÓÃ{\ttfamily modprobe(8)}ÃüÁîÔØÈë£¬»òÕßÔÚÄ³Ð©Çé¿öÏÂÓÉÄÚºËÍ¨¹ý¡°kerneld¡±£¨ÔÚ2.0°æ£©»ò¡°kmod¡±£¨ÔÚ2.1°æ£©×Ô¶¯ÔØÈë£¬È»ºóµ÷ÓÃ{\ttfamily modprobe}¡£

ÄãËùÓÃµÄ·¢ÐÐ°æ¿ÉÄÜ»áÌá¹©Á¼ºÃµÄÍ¼ÐÎÅäÖÃ¹¤¾ßÀ´ÉèÖÃÒÔÌ«ÍøÄ£¿é¡£Èç¹û¿ÉÄÜ¾ÍÏÈÊ¹ÓÃËüÃÇ¡£ÏÂÃæÃèÊöÁËÔÚÕâÐ©»¨ÇÎµÄÅäÖÃ³ÌÐòÏÂµÄÐÅÏ¢£¬ÒÔ¼°ÕâÐ©³ÌÐò¸Ä±äÁËÄÄÐ©¶«Î÷¡£

¿ØÖÆÊ¹ÓÃÄÄÐ©Ä£¿éºÍÃ¿¸öÄ£¿éÌá¹©ÄÄÐ©Ñ¡ÏîµÄÐÅÏ¢Ò»°ã±£´æÔÚÎÄ¼þ{\ttfamily /etc/conf.modules}Àï¡£ÔÚÕâ¸öÎÄ¼þÀïÊ¹ÓÃµÄÁ½¸ö¸ÐÐËÈ¤µÄÖ÷ÒªÑ¡Ïî£¨¶ÔÒÔÌ«Íø¿¨¶øÑÔ£©ÊÇ{\ttfamily alias}ºÍ{\ttfamily options}¡£{\ttfamily modprobe}ÃüÁî²éÔÄ¸ÃÎÄ¼þÒÔÁË½âÄ£¿éÐÅÏ¢¡£

Êµ¼ÊµÄÄ£¿é±¾ÉíÒ»°ã±£´æÔÚÃûÎª{\ttfamily /lib/modules/`uname -r`/net}µÄÄ¿Â¼ÏÂ£¬ÆäÖÐ{\ttfamily uname -r}ÃüÁî¸ø³öÄÚºËµÄ°æ±¾£¨Èç2.0.34£©¡£Äã¿ÉÒÔÔÚÕâÀï¿´¿´ÄÄÒ»¸öÄ£¿éÓëÄãµÄÍø¿¨Æ¥Åä¡£

ÔÚÄãµÄ{\ttfamily conf.modules}ÎÄ¼þÀïÊ×ÏÈÐèÒªµÄÊÇ¸æËß{\ttfamily modprobe}¶ÔÓÚ{\ttfamily eth0}£¨ºÍ{\ttfamily eth1}ÒÔ¼°......£©ÍøÂç½Ó¿ÚÊ¹ÓÃÊ²Ã´Çý¶¯³ÌÐò¡£Îª´ËÒªÊ¹ÓÃ
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
alias
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}
ÃüÁî¡£ÀýÈç£¬ÓÐÒ»¿éÊ¹ÓÃ{\ttfamily smc-ultra.o}Çý¶¯³ÌÐòÄ£¿éµÄISA SMC EtherEZÍø¿¨£¬ÐèÒªÔö¼ÓÈçÏÂÒ»ÐÐ°Ñ¸ÃÇý¶¯³ÌÐò{\ttfamily alias}µ½{\ttfamily eth0}ÉÏ£º

\begin{verbatim}
        alias eth0 smc-ultra
\end{verbatim}


Æä´Î£¬¿ÉÄÜÐèÒªÒ»¸ö{\ttfamily options}ÐÐÀ´Ö¸³öÓëÄ³¸öÌØ¶¨Ä£¿é£¨»òÄ£¿é±ðÃû£©Ò»ÆðÊ¹ÓÃÄÄÐ©Ñ¡Ïî¡£»¹²ÉÓÃÉÏÃæÄÇ¸öÀý×Ó£¬Èç¹ûÖ»ÓÐÒ»ÐÐ{\ttfamily alias}¶øÃ»ÓÐ{\ttfamily options}ÐÐ£¬ÄÚºË»á¾¯¸æ£¨²Î¼û{\ttfamily dmesg}£©Ëµ×Ô¶¯Ì½²âISAÍø¿¨²»ºÃ¡£ÒªÏû³ýÕâ¸ö¾¯¸æ£¬ÐèÒªÔö¼ÓÁíÒ»ÐÐÀ´¸æËßÄ£¿éÍø¿¨±»ÅäÖÃÔÚÄÄ¸öI/O»ùÖ·ÉÏ£¬±È·½ËµÊÇ16½øÖÆµØÖ·{\ttfamily 0x280}¡£

\begin{verbatim}
        options smc-ultra io=0x280
\end{verbatim}


´ó¶àÊýISAÄ£¿éÔÚ{\ttfamily insmod}ÃüÁîÐÐ½ÓÊÜ{\ttfamily io=0x340}ºÍ{\ttfamily irq=12}ÕâÑùµÄ²ÎÊý¡£Ìá¹©ÕâÐ©²ÎÊýÒÔ±ÜÃâÌ½²â¸ÃÍø¿¨ÊÇ{\itshape ±ØÐëµÄ\/}»òÖÁÉÙÊÇ{\itshape Ç¿ÁÒ½¨ÒéµÄ\/}¡£ÓëPCIºÍEISAÉè±¸²»Í¬£¬¶Ô´ó¶àÊýISAÉè±¸¶øÑÔÃ»ÓÐÕæÕý°²È«µÄ×Ô¶¯Ì½²â·½·¨£¬ËùÒÔÔÚ°ÑÇý¶¯³ÌÐò×÷ÎªÄ£¿éÊ¹ÓÃÊ±Ó¦µ±±ÜÃâ×Ô¶¯Ì½²â¡£

Ã¿¸öÄ£¿éËù½ÓÊÜµÄËùÓÐÑ¡ÏîÁÐ±í¿ÉÒÔÔÚÒÔÏÂÎÄ¼þÖÐÕÒµ½£º

{\ttfamily /usr/src/linux/Documentation/networking/net-modules.txt}

ÍÆ¼öÔÄ¶Á¸ÃÎÄ¼þÒÔÁË½â¶ÔÄãµÄÌØ¶¨Íø¿¨¿ÉÒÔÊ¹ÓÃÄÄÐ©Ñ¡Ïî¡£×¢Òâ£¬¶ÔÓÚµ¥¸öÄ£¿éÄÜ¹»´¦Àí¶à¸öÉè±¸µÄÄ£¿é£¬ÓÐÐ©Ö§³ÖÓÃ¶ººÅ·Ö¿ªµÄÖµÁÐ±í£¬ÈçËùÓÐ»ùÓÚ8390µÄÇý¶¯³ÌÐòºÍPLIPÇý¶¯³ÌÐò¡£ÀýÈç£º

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
        options 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ÉÏÃæ¾ÍÊÇÒ»¸öÄ£¿é¿ØÖÆËÄ¿é3c503Íø¿¨£¬ÆäÖÐÍø¿¨2ºÍ4Ê¹ÓÃÍâ²¿ÊÕ·¢Æ÷¡£²»ÒªÔÚ¡°=¡±»ò¶ººÅÖÜÎ§Ê¹ÓÃ¿Õ¸ñ¡£

»¹Òª×¢Òâ£¬Ò»¸ö{\itshape Ã¦µÄ\/}Ä£¿é²»ÄÜ±»É¾³ý¡£ÕâÒ²¾ÍÊÇËµÔÚÉ¾³ýÄ£¿éÇ°ÐèÒªÊ¹ÓÃ{\ttfamily ifconfig eth0 down}£¨¹Ø±ÕÒÔÌ«Íø¿¨£©¡£

ÃüÁî{\ttfamily lsmod}¿ÉÒÔÏÔÊ¾ÄÄÐ©Ä£¿é±»ÔØÈë¡¢ËüÃÇÊÇ·ñÕýÔÚ±»Ê¹ÓÃ£¬¶ø{\ttfamily rmmod}¿ÉÒÔÉ¾³ýÕâÐ©Ä£¿é¡£




\subsection{Ïà¹ØÎÄµµ}



±¾ÎÄµµµÄºÜ¶àÐÅÏ¢À´×Ôcomp.os.linuxÐÂÎÅ×é±£´æµÄÌû×Ó£¬Õâ±íÃ÷¸ÃÐÂÎÅ×éÊÇÒ»¸öÓÐ¼ÛÖµµÄÐÅÏ¢Ô´¡£ÆäËüµÄÓÐÓÃÐÅÏ¢À´×ÔDonald×Ô¼ºµÄÒ»´ó¶ÑÐ¡ÎÄ¼þ¡£µ±È»£¬Èç¹ûÄãÕýÔÚÉèÖÃÒ»¿éÒÔÌ«Íø¿¨£¬Äã»¹Òª¶ÁÒ»ÏÂNET-2 Howto²ÅÄÜÕæÕýÅäÖÃºÃÄãÒªÓÃµÄÈí¼þ¡£ÁíÍâ£¬Èç¹ûÄãÏë×ö¸öºÚ¿Í£¬Äã×ÜÄÜ´ÓÇý¶¯³ÌÐòµÄÔ´ÂëÀïÕÒµ½Ð©ÓÐÓÃµÄÐÅÏ¢¡£ÔÚ¿ªÊ¼Êµ¼Ê´úÂëÖ®Ç°£¬×ÜÓÐÒ»µ½Á½¶ÎÃèÊö¹Ø¼üµãµÄÎÄ×Ö¡£

¶ÔÓÚÄÇÐ©Ñ°ÕÒ²»ÊÇLinuxÌØÓÐÐÅÏ¢£¨ÈçÊ²Ã´ÊÇ10BaseT¡¢Ê²Ã´ÊÇAUI¡¢HubÊÇ¸ÉÊ²Ã´µÄµÈµÈ£©µÄÈË£¬ÎÒÇ¿ÁÒÍÆ¼öÊ¹ÓÃÐÂÎÅ×é{\itshape comp.dcom.lans.ethernet\/}»ò{\itshape comp.sys.ibm.pc.hardware.networking\/}¡£ÄÇÐ©ÔÚ{\ttfamily dejanews.com}ÉÏµÄÐÂÎÅ×éµµ°¸Ò²ÊÇºÜÓÐ¼ÛÖµµÄÐÅÏ¢Ô´¡£Äã¿ÉÒÔ´ÓÒÔÏÂURLµÄRTFM£¨±£´æËùÓÐÐÂÎÅ×éµÄFAQ£©»ñÈ¡ÐÂÎÅ×éµÄFAQ£º

\nameurl{ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/}{Usenet FAQs}

Äã»¹¿ÉÒÔÔÚÒÔÏÂURL¿´Ò»ÏÂ¿ÉÒÔËµÊÇ¡°Ethernet-HomePage¡±µÄÖ÷Ò³£º

\nameurl{http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html}{Ethernet-HomePage}






\subsection{ÉùÃ÷Óë°æÈ¨\label{copyright}}

±¾ÎÄµµ{\itshape ²»\/}ÊÇ¸£ÒôÊé¡£Ëü¿ÉÄÜÊÇÄãËùÕÒµ½µÄ×îÐÂµÄ×ÊÁÏ¡£³ýÁËÄã×Ô¼º£¬Ã»ÈË»á¶ÔÄãµÄÓ²¼þ³öÏÖµÄÎÊÌâ¸ºÔð¡£Èç¹ûÄãµÄÒÔÌ«Íø¿¨»òÆäËüµÄÓ²¼þÃ°ÑÌµÄ»°£¨¼¸ºõ²»¿ÉÄÜ£¡£©£¬ÎÒÃÇÒ²²»³Ðµ£ÈÎºÎÔðÈÎ¡£Ò²¾ÍÊÇËµ£¬±¾ÎÄ×÷Õß²»¶ÔÈÎºÎÊ¹ÓÃ±¾ÎÄÐÅÏ¢²ÉÈ¡ÐÐ¶¯Ôì³ÉµÄËðÊ§¸ºÔð¡£

Copyright (c) 1993-1999 ±¾ÎÄµÄ°æÈ¨ËùÓÐÈËÎªPaul Gortmaker¡£ÔÚ±£Áô°æÈ¨ÐÅÏ¢ºÍ±¾Ðí¿ÉÄÚÈÝµÄÌõ¼þÏÂ£¬±¾ÎÄµµÔÊÐíÈÎÒâ¸´ÖÆºÍ´«²¥¡£

ÔÚ±£ÁôÔ­Ê¼°æÈ¨ÐÅÏ¢µÄÌõ¼þÏÂ£¬ÔÊÐí¸´ÖÆºÍ´«²¥±¾ÎÄµµÐÞ¸ÄºóµÄ°æ±¾£»ÔÚ±¾Ðí¿ÉÄÚÈÝ²»±äµÄÌõ¼þÏÂ£¬ÔÊÐí´«²¥ËùÓÐÒÀ¾Ý±¾ÎÄµµÍÆµ¼³öµÄ½á¹û¡£

ÔÚÉÏÊöÕë¶ÔÐÞ¸Ä°æ±¾µÄÌõ¼þÏÂ£¬ÔÊÐí¸´ÖÆºÍ´«²¥±¾ÎÄµµµÄÆäËüÓïÑÔ·­Òë°æ±¾¡£

¶Ô·­ÒëÕßµÄÌáÊ¾¡£Ê×ÏÈ£¬·­ÒëSGMLÔ´ÎÄ¼þ£¨¿ÉÒÔÓÃFTP´ÓHowToÖ÷Õ¾µã»ñµÃ£©£¬ÕâÑù¿ÉÒÔÉú³ÉÆäËüµÄÊä³ö¸ñÊ½¡£Çë×¢Òâ±£ÁôÒ»·Ý·­ÒëµÄÔ­Ê¼Ó¢ÎÄSGMLÔ´ÎÄ¼þ£¡ÔÚ·¢²¼¸üÐÂºóµÄHowToÊ±£¬»ñÈ¡¸Ã°æ±¾µÄÐÂSGMLÔ´ÎÄ¼þ£¬¼òµ¥µØÊ¹ÓÃ{\ttfamily diff -u old.sgml new.sgml}¾Í¿ÉÒÔÖªµÀºÎ´¦ÓÐ±ä¶¯£¬²¢°ÑÕâÐ©±ä¶¯·ÅÈëÄãµÄ·­Òë°æ±¾£¬ÎÞÐèÖØÐÂÔÄ¶Á»òÖØÐÂ·­ÒëÈ«²¿ÄÚÈÝ¡£

Èç¹ûÄãÏëÔÚ¹«¿ª³ö°æÎïÖÐÊ¹ÓÃ±¾ÎÄµµ£¬ÇëÁªÏµ±¾ÎÄ×÷Õß£¨Í¨¹ýe-mail£©£¬ÕâÑù¿ÉÒÔ»ñµÃ×îÐÂµÄ×ÊÁÏ¡£ÒÔÇ°ÓÐÐ©Linux HowToµÄ¹ýÊ±°æ±¾±»¹«¿ª³ö°æ£¬Ê¹µÃ¿ª·¢ÕßÎªÒ»Ð©ÔÚ¸üÐÂ°æ±¾ÖÐÒÑ¾­»Ø´ð¹ýµÄÎÊÌâ±¥ÊÜÕÛÄ¥¡£

This document is {\itshape not\/} gospel. However, it is probably the most
up to date info that you will be able to find. Nobody is responsible
for what happens to your hardware but yourself. If your ethercard
or any other hardware goes up in smoke (...nearly impossible!)
we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE
FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE
INFORMATION INCLUDED IN THIS DOCUMENT.

This document is Copyright (c) 1993-1999 by Paul Gortmaker.
Permission is granted to make and distribute verbatim copies
of this manual provided the copyright notice and this permission
notice are preserved on all copies.

Permission is granted to copy and distribute modified versions
of this document under the conditions for verbatim copying,
provided that this copyright notice is included exactly as in
the original, and that the entire resulting derived work is
distributed under the terms of a permission notice identical
to this one.

Permission is granted to copy and distribute translations
of this document into another language, under the above
conditions for modified versions.

A hint to people considering doing a translation.  First,
translate the SGML source (available via FTP from the HowTo
main site) so that you can then generate other output formats.
Be sure to keep a copy of the original English SGML source that
you translated from! When an updated HowTo is released,
get the new SGML source for that version, and then a simple
{\ttfamily diff -u old.sgml new.sgml} will show you exactly what has
changed so that you can easily incorporate those changes into
your translated SMGL source without having to re-read or
re-translate everything.

If you are intending to incorporate this document into a
published work, please make contact (via e-mail) so that
you can be supplied with the most up to date information
available. In the past, out of date versions of the Linux
HowTo documents have been published, which caused the developers
undue grief from being plagued with questions that were already
answered in the up to date versions.




\subsection{½áÊøÓï}



Èç¹ûÄãÔÚ±¾ÎÄµµÖÐ·¢ÏÖÓÐ´í±ð×Ö»ò¹ýÊ±ÐÅÏ¢£¬Çë¸øÎÒ·¢e-mail¡£±¾ÎÄµµ±È½Ï´ó£¬ËùÒÔºÜÈÝÒ×³öÏÖÊèÂ©¡£Èç¹ûÄãÔø·¢e-mailÒªÇó¸ÄÕý£¬¶øÔÚÐÂ°æ±¾ÖÐÒÀÈ»Ã»¸Ä¹ýÀ´£¬Çë°Ñ¸ÄÕýÒªÇóÔÙ·¢Ò»±é£¬¿ÉÄÜÄãµÄÉÏÒ»·âe-mail±»ÎÒÆ½Ê±ÊÕµ½µÄ´óÁ¿À¬»øÐÅ¼þÑÚ¸ÇÁË¡£

Ð»Ð»£¡

Paul Gortmaker, {\ttfamily p\_gortmaker@yahoo.com}
£¨¸êÉÜÄÐ£¬{\ttfamily isaac\_ge@yahoo.com}£©

\end{document}
