1 AlphaÇý¶¯³ÌÐò----»ñÈ¡ÓëʹÓÃ
ÎÒÌý˵ÎÒµÄÍø¿¨ÓÐÒ»¸ö¸üеĻò³õ²½µÄ/alphaÇý¶¯³ÌÐò¡£´ÓÄĶùµÃµ½ËüÄØ£¿
×îеġ°Ð¡±Çý¶¯³ÌÐò¿ÉÒÔÔÚDonaldµÄFTPÕ¾µã£ºcesdis.gsfc.nasa.govÀïÃæµÄ/pub/linux/ÏÂÕÒµ½¡£ÒòΪÊÂÇé±ä»¯ºÜƵ·±£¬¿ÉÄÜÐèÒªËÄ´¦ÕÒÒ»ÕÒ¡£»òÕßʹÓÃWWWä¯ÀÀÆ÷È¥£º
DonµÄLinuxÖ÷Ò³
²éÕÒÄãÏëÒªµÄÇý¶¯³ÌÐò¸ü¼òµ¥Ò»Ð©¡££¨ÁôÉñWWWä¯ÀÀÆ÷»áÇÄÇĵذÑÔ´ÂëÖеÄTABsÌ滻Ϊ¿Õ¸ñ£¬µÈµÈ - Èç¹ûÎÞ·¨È·¶¨µÄ»°£¬Ê¹ÓÃFTPÏÂÔØ£¬ÖÁÉÙÒ²µÃÓÃWWWä¯ÀÀÆ÷µÄFTP URL¡££©
Èç¹ûÇý¶¯³ÌÐòȷʵÊÇalpha°æ±¾£¬»òpre-alpha°æ±¾£¬ÄÇôÇëÇ¡µ±µØ¶Ô´ýËü¡£»»¾ä»°Ëµ£¬²»Òª±§Ô¹£¬ÒòΪÄãÎÞ·¨ÅªÇåÓÃËüÄÜ×öЩʲô¡£Í¬Ñù£¬Èç¹ûËüʹÄãµÄ»úÆ÷å´»úÁË£¬²»Òª±§Ô¹¡£Ïà·´£¬ÄãÓ¦¸Ã·¢¸øÎÒÃÇÒ»·Ý²ÄÁÏ×éÖ¯ºÜºÃµÄBug±¨¸æ£¬Èç¹ûÊÇÒ»¸ö²¼¶¡£¬ÄǾ͸üºÃ£¡
×¢Ò⣬ijЩ¡°¿ÉÓá±µÄʵÑéÐÔ/alphaÇý¶¯³ÌÐòÒѾ°üº¬ÔÚ±ê×¼µÄÄÚºËÔ´ÂëÊ÷ÖС£ÔÚÔËÐÐmake configʱÄãÊ×ÏÈÒª»Ø´ðµÄÒ»¸öÎÊÌâ¾ÍÊÇ¡°Prompt for development and/or incomplete code/drivers¡±¡£ÔÚ´ËÄãÒª»Ø´ð¡°Y¡±ÒÔ°üÀ¨ÈκÎalpha/ʵÑéÐÔÇý¶¯³ÌÐò¡£
2 һ̨»úÆ÷ʹÓöà¸öÒÔÌ«Íø¿¨
×öЩʲô²ÅÄÜÈÃLinuxÔËÐÐÁ½¿éÒÔÌ«Íø¿¨£¿
Õâ¸öÎÊÌâµÄ´ð°¸È¡¾öÓÚÇý¶¯³ÌÐòÊÇ·ñ±»ÓÃ×ö¿ÉÔØÈëµÄÄ£¿é»òÕßÖ±½Ó±àÒë½øÁËÄںˡ£´ó¶àÊýLinux·¢Ðа汾ÏÖÔÚ¶¼Ê¹ÓÃÄ£¿é»¯µÄÇý¶¯³ÌÐò¡£ÕâÑù¾Í²»Ó÷¢ÐÐÐí¶àÄںˣ¬Ã¿ÖÖÄÚºËÉèÖÃÒ»¸ö²»Í¬µÄÄÚ½¨Çý¶¯³ÌÐò¡£Ê¹ÓÃÒ»¸öµ¥Ò»µÄ»ù±¾Äںˣ¬Èç¹ûÌض¨Óû§ÏµÍ³ÐèÒª£¬Ò»µ©ÏµÍ³Æô¶¯£¬¾Í×ãÒÔ´ÓÇý¶¯³ÌÐòÄ£¿éÎļþ£¨Í¨³£´æ´¢ÔÚ/lib/modules/£©ÖÐÔØÈë¸ö±ðµÄÇý¶¯³ÌÐò¡£
°ÑÇý¶¯³ÌÐò×÷Ϊģ¿éʹÓ㺶ÔÓÚPCIÇý¶¯³ÌÐò£¬Ä£¿éͨ³£»á×Ô¶¯¼ì²â¸ÃÆ·ÅÆÀàÐÍËùÓа²×°µÄÍø¿¨¡£µ«¶ÔÓÚISAÍø¿¨£¬Ì½Ñ°Ò»¸öÍø¿¨ÊDz»°²È«µÄ²Ù×÷£¬Òò´ËÄãÐèÒªÌṩÍø¿¨µÄI/OµØÖ·ÒÔ±ãÄ£¿éÖªµÀÈ¥ÄÄÀï²éÕÒ¡£ÕâÒ»ÐÅÏ¢´æ´¢ÔÚÎļþ/etc/conf.modulesÖС£
ÀýÈ磬Èç¹ûÒ»¸öÓû§ÓÐÁ½¿éISA NE2000Íø¿¨£¬Ò»¿éÔÚ0x300£¬Ò»¿éÔÚ0x240£¬ËüÃÇÔÚ/etc/conf.modulesÎļþÖÐÏÔʾÈçÏ£º
alias eth0 ne
alias eth1 ne
options ne io=0x240,0x300
Õ⼸ÐеÄÒâÒ壺¾ÍÊÇ˵Èç¹û¹ÜÀíÔ±£¨»òÄںˣ©½øÐÐmodprobe eth0»òÕßmodprobe eth1£¬ÄÇôΪeth0»òÕßeth1ÔØÈëne.oÇý¶¯³ÌÐò¡£´ËÍ⣬ÔÚÔØÈëne.oÄ£¿éʱ£¬Ê¹ÓÃÑ¡Ïîio=0x240,0x300£¬ÕâÑùÇý¶¯³ÌÐò¾ÍÖªµÀÈ¥ÄÄÀïÑ°ÕÒÍø¿¨¡£×¢Òâ0xºÜÖØÒª - DOSÀï³£ÓõÄ300hÔÚÕâÀïûÓÐÓ᣸ıä0x240ºÍ0x300µÄ˳Ðò»áʹÄÄÒ»¿éÎïÀíÍø¿¨ÒÔeth0ºÍeth1½áβ·¢Éú¸Ä±ä¡£
ͬÕâ¸öÀý×ÓÒ»Ñù£¬´ó¶àÊýISAÄ£¿éÇý¶¯³ÌÐò¿ÉÒÔ½ÓÊܶà¸öÒÔ¶ººÅ·Ö¸ôµÄI/OÖµÒÔ´¦Àí¶à¿éÍø¿¨¡£µ«ÊÇ£¬Ä³Ð©£¨Àϵģ¿£©Çý¶¯³ÌÐò£¬±ÈÈç3c501.oÄ£¿é£¬Ä¿Ç°ÔØÈëÒ»¸öÄ£¿éÖ»ÄÜ´¦ÀíÒ»¿éÍø¿¨¡£ÕâÑù£¬Òª¼ì²âÁ½¿éÍø¿¨¾Í±ØÐëÔØÈëÁ½´Î¸ÃÄ£¿é¡£´Ëʱ£¬Îļþ/etc/conf.modules½«ÈçÏÂËùʾ£º
alias eth0 3c501
alias eth1 3c501
options eth0 -o 3c501-0 io=0x280 irq=5
options eth1 -o 3c501-1 io=0x300 irq=7
ÔÚ´ËÀýÖУ¬Ñ¡Ïî-oÓÃÀ´¸øÿ¸öÄ£¿éʵÀýÒ»¸öΨһµÄÃû×Ö£¬ÒòΪ²»ÄÜÓÃͬһ¸öÃû×ÖÔØÈëÁ½¸öÄ£¿é¡£Ñ¡Ïîirq=Ò²ÊÇÓÃÀ´Ö¸¶¨Íø¿¨ÉèÖõÄÓ²¼þIRQ¡££¨´Ë·½·¨Ò²ÄÜÓÃÓڿɽÓÊܶà¸öÒÔ¶ººÅ·Ö¸ôµÄI/OÖµµÄÄ£¿é£¬µ«ÕâÑù»áʹģ¿é±»²»±ØÒªµØÔØÈëÁ½´Î£¬½µµÍÁËЧÂÊ¡££©
×îºóÒ»¸öÀý×Ó£¬¼ÙÉèÓû§ÓÐÒ»¿éÔÚ0x350µÄ3c503Íø¿¨ºÍÒ»¿éÔÚ0x280µÄSMC Elite16 (wd8013)Íø¿¨¡£ÔòÓ¦¸ÃÕâÑù£º
alias eth0 wd
alias eth1 3c503
options wd io=0x280
options 3c503 io=0x350
¶ÔÓÚPCIÍø¿¨£¬Ö»ÒªÓÃaliasÓï¾ä°ÑethN½Ó¿ÚºÍÏàÓ¦µÄÇý¶¯³ÌÐòÃûÁªÏµÆðÀ´¾ÍÐÐÁË£¬ÒòΪPCIÍø¿¨µÄI/OµØÖ·¿ÉÒÔ±»°²È«µØ¼ì²âµ½¡£
¿ÉÓõÄÄ£¿éÒ»°ã´æ·ÅÔÚ/lib/modules/`uname -r`/netÏ£¬ÕâÀïuname -rÃüÁî¿ÉÒԵõ½Äں˵İ汾£¨±ÈÈç2.0.34£©¡£Äã¿ÉÒÔÔÚÕâÀï¿´¿´ÄÄÒ»¸öÇý¶¯³ÌÐòÊʺÏÄãµÄÍø¿¨¡£Ò»µ©ÄãÔÚconf.modulesÎļþÀï½øÐÐÁËÕýÈ·µÄÉèÖ㬾ͿÉÒÔÓÃÏÂÃæµÄ·½·¨¼ì²éһϣº
modprobe ethN
dmesg | tail
ÕâÀï¡°N¡±ÊÇÄãÒª¼ì²âµÄÒÔÌ«Íø¿¨µÄ½Ó¿ÚºÅ¡£
ʹÓñàÒë½øÄں˵ÄÇý¶¯³ÌÐò£ºÈç¹ûÄãÐèÒªµÄÇý¶¯³ÌÐò±àÒë½øÁËÄںˣ¬ÄÇô´¦Àí¶à¿éÒÔÌ«Íø¿¨µÄ½Ó¿ÚÒѾ´æÔÚÁË¡£µ«È±Ê¡Çé¿öÏÂÖ»×Ô¶¯¼ì²âÒ»¿éÒÔÌ«Íø¿¨¡£ÕâÑù¾Í±ÜÃâÁËÆô¶¯Ê±¼ì²âÃô¸ÐÍø¿¨¿ÉÄÜÒýÆðµÄÂé·³¡£
£¨×¢Ò⣺ÔÚ2.1.xÖ®ºóµÄÄÚºËÖУ¬Æô¶¯¼ì²â±»·ÖΪ°²È«ºÍ²»°²È«µÄÁ½À࣬ËùÓа²È«µÄ¼ì²â£¨Èç¶ÔPCIºÍEISAÍø¿¨£©¿ÉÒÔ×Ô¶¯ÕÒµ½ËùÓÐÏà¹ØµÄÍø¿¨¡£ÔÚÖÁÉÙÓÐÒ»¿éISAÍø¿¨µÄ¶àÍø¿¨ÏµÍ³Öл¹ÐèÒª½øÐÐÒÔϵĴ¦Àí¡££©
ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÆô¶¯¶ÔµÚ¶þ¿é£¨»òµÚÈý¿éµÈµÈ£©Íø¿¨µÄ×Ô¶¯¼ì²â¡£×î¼òµ¥µÄ·½·¨ÊÇÏòÄں˴«µÝÆô¶¯²ÎÊý£¬ÓÉLILOÍê³É¡£Ê¹ÓÃether=0,0,eth1ÕâÑù¼òµ¥µÄÆô¶¯²ÎÊý¾Í¿ÉÒÔÍê³É¶ÔµÚ¶þ¿éÍø¿¨µÄ¼ì²â¡£´Ëʱ°´ÕÕÆô¶¯Ê±ÕÒµ½µÄÍø¿¨Ë³Ðò·ÖÅäeth0ºÍeth1¡£¼ÙÈçÄãÏëÈÃ0x300´¦µÄÍø¿¨Îªeth0£¬¶ø0x280´¦µÄÍø¿¨Îªeth1£¬ÄÇô¿ÉÒÔʹÓÃ
LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1
ÃüÁîether=¿ÉÒÔ½ÓÊܵIJÎÊý²¢²»½öÏÞÓÚÈçÉÏËùʾµÄIRQ + I/O + name¡£Çë²Î¿´´«µÝÒÔÌ«Íø²ÎÊý......ÒÔÁ˽âÈ«²¿µÄ¾ä·¨¡¢Íø¿¨Ìض¨²ÎÊýºÍLILOʹÓü¼ÇÉ¡£
ÕâЩÆô¶¯²ÎÊý¿ÉÒԹ̶¨£¬ÕâÑù¾Í²»ÓÃÿ´Î¶¼±ØÐëÖØÐÂÇÃÒ»±é¡£²Î¿´LILOÊÖ²áÖÐÓйØLILO µÄÅäÖÃÑ¡Ïî¡°append¡±¡£
µÚ¶þÖÖ·½·¨£¨²»½¨ÒéʹÓã©ÊDZà¼ÎļþSpace.c²¢ÓÃÁãÌæ»»I/OµØÖ·ÖеÄ0xffe0Èë¿Ú¡£0xffe0Èë¿ÚÊÇÓÃÀ´¸æËßÄں˲»Òª¼ì²â¸ÃÉ豸 -- °ÑËüÌ滻ΪÁã¾ÍÆô¶¯Á˶ԸÃÉ豸µÄ×Ô¶¯¼ì²â¡£
×¢Ò⣬Èç¹ûÏëÓÃLinux×÷ΪÁ½¸öÍøÂç¼äµÄ·ÓÉ£¬ÄãÐèÒªÆô¶¯IPת·¢²¢ÖØбàÒëÄںˡ£Ò»°ãÔÚһ̨ÀÏʽµÄAT/286ÉÏÔËÐС°kbridge¡±Ò»ÀàµÄÈí¼þ¾ÍÏ൱²»´íÁË¡£
Èç¹ûÄãÊÇÒ»±ßÔÚÍøÂç³åÀË£¬Ò»±ß¿´±¾Îĵµ£¬×îºÃÈ¥ÔĶÁDonaldµÄWWWÕ¾µãÉϵÄmini-howto¡£¿´Ò»Ï¶à¿éÒÔÌ«Íø¿¨.
3 Õâ¸öÒÔÌ«¶«¶«²»¸É»î¡£ÎªÊ²Ã´£¿
ÈçÉÏËùÊö£¬ÃüÁîether=Ö»¶Ô±àÒë½øÁËÄں˵ÄÇý¶¯³ÌÐòÆð×÷Óá£ÏÖÔÚ´ó¶àÊýµÄ·¢Ðа汾¶¼ÓÃÄ£¿éµÄ·½Ê½Ê¹ÓÃÇý¶¯³ÌÐò£¬ËùÒÔºÜÉÙÔÙʹÓÃether=ÃüÁîÁË¡££¨Ä³Ð©ÔçÆÚÎĵµÐèÒª¸üÐÂÒÔ·´Ó³ÕâÒ»±ä»¯¡££©Èç¹ûÄãÏëʹÓÃÄ£¿é»¯µÄÒÔÌ«ÍøÇý¶¯³ÌÐòµÄÑ¡Ï±ØÐëÐÞ¸Ä/etc/conf.modulesÎļþ¡£
Èç¹ûÄãÊÇʹÓñàÒëµÄÇý¶¯³ÌÐò£¬¶øÇÒÒѾ°Ñether=¼Ó½øÁËLILO ÅäÖÃÎļþ£¬ÐèÒªÖØÐÂÔËÐÐliloʹ¸üкóµÄÅäÖÃÎļþÉúЧ¡£
4 NE1000 / NE2000Íø¿¨£¨¼°Æä¼æÈÝ¿¨£©µÄÎÊÌâ
ÎÊÌ⣺ÔÚÓÃv2.0.xÆô¶¯Ê±Ã»Óмì²âµ½PCI NE2000¼æÈÝÍø¿¨¡£
ÔÒò£ºÔÚv2.0.30֮ǰµÄne.cÇý¶¯³ÌÐòÖ»ÖªµÀ»ùÓÚRealTek 8029µÄ¼æÈÝÍø¿¨µÄPCI IDºÅ¡£ÔÚ´ËÖ»ºó²Å³öÏÖÁËʹÓÃÆäËüPCI IDºÅµÄPCI NE2000¼æÈÝÍø¿¨£¬ËùÒÔÇý¶¯³ÌÐòÎÞ·¨¼ì²âÕâЩÍø¿¨¡£
½â¾ö·½°¸£º×î¼òµ¥µÄ·½·¨ÊÇ°ÑLinuxÄÚºËÉý¼¶µ½v2.0.31ÒÔÉÏ°æ±¾¡£Ëü¿ÉÒÔʶ±ðÎåÖÖ²»Í¬µÄNE2000-PCIоƬµÄIDºÅ£¬ÔÚÆô¶¯»òÔØÈëÄ£¿éʱ×Ô¶¯¼ì²âµ½ËüÃÇ¡£Èç¹ûÄãÉý¼¶µ½ÁË2.0.34ÒÔÉÏ°æ±¾£¬»áÓÐÒ»¸ö±ÈÔÏȵÄISA/PCIÇý¶¯³ÌÐòÉÔСµ«¸ü¸ßЧµÄPCIרÓÃNE2000Çý¶¯³ÌÐò¡£
ÎÊÌ⣺Æô¶¯Ê±PCI NE2000¼æÈÝÍø¿¨±»±¨¸æΪne1000£¨8±ÈÌØÍø¿¨£¡£©»òÕßÔÚv2.0.xÏÂÔØÈëne.oÄ£¿é²»Æð×÷Óá£
ÔÒò£ºÄ³Ð©PCI¼æÈÝÍø¿¨²»Ö§³Ö×Ö½Ú´æÈ¡£¨Òò´Ë²»ÊÇ°Ù·ÖÖ®°ÙµÄ¼æÈÝNE2000£©¡£Õâʹ¼ì²âʱ±»ÎóÈÏΪNE1000Íø¿¨¡£
½â¾ö·½°¸£ºÄãÐèÒªÉý¼¶µ½v2.0.31ÒÔÉÏ°æ±¾¡£ÏÖÔÚµÄÇý¶¯³ÌÐò»á¼ì²âµ½ÕâÖÖÓ²¼þBug¡£
ÎÊÌ⣺PCI NE2000Íø¿¨µÄÐÔÄܺܲ¼´Ê¹°´ÕÕÐÔÄܼ¼ÇÉÕ½ÚËù˵µÄ¼õСÁË´°¿Ú´óС¡£
ÔÒò£ºÊ®¶àÄêÇ°Éè¼ÆºÍ³öÊ۵ijõʼ8390оƬµÄ¼¼ÊõÊý¾ÝÊÖ²áÉÏÌáµ½£¬ÎªÁ˵õ½×î¸ßµÄ¿É¿¿ÐÔ£¬ÔÚÿ´Îд²Ù×÷֮ǰÐèÒªÒ»¸ö¶Á²Ù×÷¡£Çý¶¯³ÌÐòÄܹ»ÇáÒ×µØ×öµ½ÕâÒ»µã£¬µ«´Óv1.2ÄÚºËʱ´úÆð£¬È±Ê¡Çé¿öÏÂÈ¡ÏûÁËÕâÒ»²Ù×÷¡£ÓÐÒ»¸öÓû§±¨¸æ˵ÖØÐÂʹÓÃÕâÒ»¡°´íÎóµÄÌØÐÔ¡±¾Í¿ÉÒÔ¸ÄÉÆÁ®¼ÛµÄPCI NE2000¼æÈÝÍø¿¨µÄÐÔÄÜ¡£
½â¾ö·½°¸£ºÓÉÓÚÖ»ÓÐÒ»¸öÓû§Ìá³ö±¨¸æ°ÑËü×÷Ϊ½â¾ö·½°¸£¬²»Òª¶Ô´Ë¼ÄÓèÌ«´óµÄÏ£Íû¡£ÖØÐÂʹÓÃд֮ǰµÄ¶Á²Ù×÷¿ÉÒÔ¼òµ¥µØ±à¼linux/drivers/net/ϵÄÇý¶¯³ÌÐòÎļþ£¬È¡Ïû°üº¬NE_RW_BUGFIXµÄÄÇÒ»ÐеÄ×¢ÊÍ£¬È»ºóÖؽ¨Äں˻òÔØÈëÏàÓ¦µÄÄ£¿é¡£Èç¹ûÕâÑùȷʵÓÐЧ£¬Çë¸øÎÒ·¢Ò»·âe-mail£¬ÃèÊöÐÔÄÜÉϵIJîÒìºÍÄãËùʹÓõÄÍø¿¨/оƬÀàÐÍ¡££¨¶Ône2k-pci.cÇý¶¯³ÌÐòÒ²¿ÉÒÔÈç·¨ÅÚÖÆ¡££©
ÎÊÌ⣺ne2k-pci.cÇý¶¯³ÌÐò¶ÔPCI NE2000Íø¿¨±¨¸æÖîÈçtimeout waiting for Tx RDC´íÎóÐÅÏ¢£¬ÎÞ·¨Õý³£¹¤×÷¡£
ÔÒò£ºÄãµÄÍø¿¨»òÍø¿¨µ½PCI×ÜÏßµÄÁ¬½ÓÎÞ·¨´¦Àí¸ÃÇý¶¯³ÌÐòʹÓõij¤×ÖI/OÓÅ»¯¡£
½â¾ö·½°¸£ºÊ×ÏÈ£¬¼ì²éBIOS/CMOSÉèÖ㬿´¿´ÓëPCI×ÜÏßÏà¹ØµÄ¼Æʱ¶ÔÓÚ¿É¿¿µÄ²Ù×÷ÊÇ·ñ¹ýÓÚÑϸñÁË¡£·ñÔò£¬Ê¹ÓÃISA/PCIµÄne.cÇý¶¯³ÌÐò£¨»òÕßɾ³ýne2k-pci.cÖеÄ#define USE_LONGIO£©£¬Ê¹ÄãµÄÍø¿¨¿ÉÓá£
ÎÊÌ⣺û¼ì²âµ½ISAµÄ¼´²å¼´ÓÃNE2000Íø¿¨£¨ÈçRealTek 8019£©¡£
ÔÒò£º³õʼµÄNE2000ÌØÐÔ²»Ö§³Ö¼´²å¼´Óã¬Òò´ËLinuxµÄNE2000Çý¶¯³ÌÐòÒ²²»Ö§³Ö¼´²å¼´Óá£
½â¾ö·½°¸£ºÊ¹ÓÃÍø¿¨Ëù¸½µÄDOSÅäÖÃÅÌÈ¡ÏûPnP£¬²¢Îª¸ÃÍø¿¨ÉèÖÃÒ»¸öÖ¸¶¨µÄI/OµØÖ·ºÍIRQ¡£ÔÚ/etc/conf.modulesÀïÔö¼ÓÕâÑùµÄÒ»ÐÐoptions ne io=0xNNN£¬ÕâÀï0xNNNÊÇÄãΪÍø¿¨ÉèÖõÄ16½øÖÆI/OµØÖ·¡££¨¼ÙÉèÄãʹÓõÄÊÇÄ£¿é»¯Çý¶¯³ÌÐò£»·ñÔò£¬ÔÚÆô¶¯Ê±Ê¹ÓÃÒ»¸öether=0,0xNNN,eth0²ÎÊý¡£ÄãÒ²¿ÉÒÔ½øÈëBIOS/CMOSÉèÖ㬰ÑIRQ´ÓPnP¸ÄΪLegacy-ISA¡£Èç¹ûÄãÐèҪΪ¼æÈÝÆäËüµÄ²Ù×÷ϵͳ¶ø±£ÁôPnPÉèÖã¬ÄÇôÄã¿ÉÒÔ¿´Ò»ÏÂisapnptools°ü¡£Ê¹ÓÃman isapnp¿´¿´ËüÊÇ·ñÒѾ°²×°ÔÚÄãµÄϵͳÉÏÁË¡£Èç¹ûûÓУ¬ä¯ÀÀÒ»ÏÂÏÂÃæµÄÁ¬½Ó£º
ISA PNP Tools
ÎÊÌ⣺ÔÚÆô¶¯¼ì²âʱNE*000Çý¶¯³ÌÐò±¨¸æ¡°not found (no reset ack)¡±¡£
ÔÒò£ºÕâ¸úÉÏÃæËù˵µÄ¸Ä¶¯Óйء£ÔÚ֤ʵ8390´¦ÓÚËù¼ì²âµÄI/OµØÖ·Ö®ºó£¬½øÐÐÖØÐÂÉèÖá£ÔÚÍø¿¨Íê³ÉÖØÐÂÉèÖúó£¬Ó¦µ±Í¨ÖªÖØÐÂÉèÖÃÍê³É¡£ÄãµÄÍø¿¨Ã»ÓÐ֪ͨ£¬ËùÒÔÇý¶¯³ÌÐòÈÏΪ²»´æÔÚNEÍø¿¨¡£
½â¾ö·½°¸£ºÄã¿ÉÒÔÔÚÆô¶¯Ê±Ê¹ÓÃÒ»¸öδ±»Ê¹ÓõÄmem_end16½øÖÆÖµ0xbad£¬¸æËßÇý¶¯³ÌÐòÄãÓÐÒ»¸ö»µÍø¿¨¡£ÔÚʹÓÃ0xbad³·ÏûʱÄã±ØÐëΪÍø¿¨Ìṩһ¸ö·ÇÁãµÄI/OµØÖ·¡£ÀýÈ磬ÔÚ0x340µÄÍø¿¨²»ÏìÓ¦ÖØÐÂÉèÖã¬ÔòʹÓÃÈçÏ·½·¨£º
LILO: linux ether=0,0x340,0,0xbad,eth0
ÕâÑù£¬¼´Ê¹ÄãµÄÍø¿¨²»ÏìÓ¦ÖØÐÂÉèÖã¬Íø¿¨¼ì²â»¹ÄܼÌÐøÏÂÈ¥¡£Èç¹ûÄãÊÇÒÔÄ£¿é·½Ê½Ê¹ÓÃÇý¶¯³ÌÐò£¬ÄÇô¿ÉÒÔÏóÌṩI/OµØÖ·Ò»ÑùÌṩѡÏîbad=0xbad¡£
ÎÊÌ⣺NE*000Íø¿¨Ê¹»úÆ÷ÔÚµÚÒ»´ÎÍøÂç·ÃÎÊʱËÀ»ú¡£
ÔÒò£ºÕâ¸öÎÊÌâ´ÓÔçÆÚµÄ1.1.57Äں˵½ÏÖÔÚ¶¼³öÏÖ¹ý£¬¶øÇÒÖ»ÔÚÓÐÏ޵ļ¸ÖÖÈí¼þÅäÖõļæÈÝÍø¿¨ÉϳöÏÖ¡£¿´À´ÊÇÐèÒªÓÃijЩÌØÊâµÄ·½·¨À´³õʼ»¯ËüÃÇ¡£
½â¾ö·½°¸£ºÓм¸¸öÈ˱¨¸æÔÚÈÈÆô¶¯£¨¼´loadlin»òCtrl-Alt-Del£©Linux֮ǰ£¬ÔËÐÐÌṩµÄDOSÈí¼þÅäÖóÌÐò»òÌṩµÄDOSÇý¶¯³ÌÐò¿ÉÒÔʹÍø¿¨¹¤×÷¡£Õâ±íÃ÷ÕâЩ¿¨ÐèÒªÒÔijÖÖÌØÊâµÄ·½Ê½³õʼ»¯£¬Ó뵱ǰµÄLinuxÇý¶¯³ÌÐòÉÔÓÐÇø±ð¡£
ÎÊÌ⣺ÔÚ0x360µÄNE*000ÒÔÌ«Íø¿¨Ã»Óмì²âµ½¡£
ÔÒò£ºÄãµÄNE2000Íø¿¨ÔÚI/O¿Õ¼äÕ¼¾ÝÁË0x20¸ö×Ö½Ú£¬Ê¹ËüÓë0x378´¦µÄ²¢¿Ú·¢Éú³åÍ»¡£ÆäËü¿ÉÄܵÄÉ豸ÊÇ0x370´¦µÄµÚ¶þ¸öÈíÅÌ¿ØÖÆÆ÷£¨Èç¹ûÓеĻ°£©£¬ÒÔ¼°0x376--0x377´¦µÄµÚ¶þ¸öIDE¿ØÖÆÆ÷¡£Èç¹û¸Ã¿ÚÒѱ»ÆäËüÇý¶¯³ÌÐò×¢²á£¬Äں˽«²»ÔÙ½øÐмì²â¡£
½â¾ö·½°¸£º°ÑÄãµÄÍø¿¨ÒƵ½0x280, 0x340, 0x320Ò»ÀàµÄµØÖ·£¬»òÕßÔÚ±àÒëʱ²»Ö§³Ö²¢ÐдòÓ¡»ú¡£
ÎÊÌ⣺ÿ´Î´òӡʱÍøÂ綼¶Ï¿ª£¨NE2000£©¡£
ÔÒò£ºÓëÉÏÒ»¸öÎÊÌâÏàͬ£¬µ«ÄãµÄÄں˱ȽÏÀÏ£¬²»Ö§³Ö¶ÔÖصþI/OÇøÓòµÄ¼ì²é¡£Ê¹ÓÃÈçÉϵĽâ¾ö·½°¸£¬ÓпÕʱ»ñÈ¡Ò»¸öеÄÄںˡ£
ÎÊÌ⣺û¼ì²âµ½0xNNN: 00 00 C5 ... ´¦µÄNE*000ÒÔÌ«Íø¿¨¡££¨·Ç·¨±êʶyy zz£©
ÔÒò£ºÊ×ÏÈ£¬ÄãÊÇ·ñÔÚµØÖ·0xNNN´¦ÓÐÒ»¸öNE1000»òNE2000Íø¿¨£¿Èç¹ûÓУ¬±¨¸æµÄÓ²¼þµØÖ·ÊÇ·ñÏóÒ»¸öºÏ·¨µØÖ·£¿Èç¹ûÊǵĻ°£¬ÄÇôÄãµÄNE*000¼æÈÝÍø¿¨ºÜ²î¾¢¡£ËùÓÐµÄ NE*000¼æÈÝÍø¿¨¶¼¼Ù¶¨Íø¿¨ÉϵÄSA PROMµÄµÚ14ºÍ15×Ö½ÚΪ0x57¡£¶øÄãµÄÍø¿¨²»ÊÇÕâÑù -- ËüµÄֵΪ¡°yy zz¡±¡£
½â¾ö·½°¸£ºÓÐÁ½ÖÖ½â¾ö·½·¨¡£×î¼òµ¥µÄ·½·¨¾ÍÊÇÈçÉÏËùÊöµÄ¡°no reset ack¡± ½â¾ö·½°¸£¬Ê¹ÓÃÒ»¸ö0xbadµÄmem_endÖµ¡£ÕâÑùÔÚÌṩһ¸ö·ÇÁãµÄI/OµØַʱ¾Í¿ÉÒÔºöÂÔ±êʶ¼ì²é¡£´Ë·½·¨ÎÞÐèÖØбàÒëÄںˡ£
µÚ¶þÖÖ·½·¨£¨¶ÔºÚ¿Í£©ÐèÒªÐÞ¸ÄÇý¶¯³ÌÐò£¬²¢ÖØбàÒëÄںˣ¨»òÄ£¿é£©¡£ÔÚÇý¶¯³ÌÐò£¨/usr/src/linux/drivers/net/ne.c£©µÄ42ÐÐÓÐÒ»¸ö¡°Hall of Shame¡±ÁÐ±í¡£Õâ¸ö±íÊÇÓÃÀ´¼ì²âÄÇЩ²î¾¢µÄ¼æÈÝÍø¿¨µÄ¡£ÀýÈ磬DFIÍø¿¨ÔÚPROMµÄÇ°Èý¸ö×Ö½ÚʹÓá°DFI¡±£¬¶ø²»ÊÇÏóÒªÇóµÄÄÇÑùÔÚµÚ14ºÍ15×Ö½ÚʹÓÃ0x57¡£
ÎÊÌ⣺»úÆ÷ÔÚÆô¶¯Ê±³öÏÖ¡°8390...¡±»ò¡°WD....¡±ÐÅÏ¢ºóËÀ»ú¡£°ÎµôNE2000¾ÍºÃÁË¡£
½â¾ö·½°¸£º°ÑÄãµÄNE2000µØÖ·¸ÄΪ0x340Ò»ÀàµÄµØÖ·¡£´ËÍ⣬Äã¿ÉÒÔÔں͡°ether=¡±²ÎÊýÒ»ÆðʹÓá°reserve=¡±Æô¶¯²ÎÊý£¬±£»¤Íø¿¨²»ÊÜÆäËüÉ豸Çý¶¯³ÌÐò¼ì²âµÄÓ°Ïì¡£
ÔÒò£ºÄãµÄNE2000¼æÈÝÍø¿¨¼æÈÝÐÔ²»ºÃ¡£Ò»¸ö¼¤»îµÄNE2000ÊǸöÎ޵׶´£¬»áʹÆäËüµÄÇý¶¯³ÌÐòÏÝÔÚÆä¿Õ¼äÄÚ½øÐÐ×Ô¶¯¼ì²â¡£°ÑNE2000¸Äµ½Ò»¸ö²»³£ÓõĵØÖ·¾Í¿ÉÒÔ´ÓÆäËüµÄ×Ô¶¯¼ì²âÖÐÏû³ýÕâÒ»ÏÝÚ壬»úÆ÷Ò²¾Í¿ÉÒÔÆô¶¯ÁË¡£
ÎÊÌ⣺»úÆ÷Æô¶¯Ê±ÔÚ½øÐÐSCSI¼ì²âʱËÀ»ú¡£
ÔÒò£ºÕâ¸öÎÊÌâ¸úÉÏÃæµÄÒ»Ñù£¬¸Ä±äÒÔÌ«Íø¿¨µÄµØÖ·£¬»òʹÓÃreserve/etherÆô¶¯²ÎÊý¡£
ÎÊÌ⣺»úÆ÷Æô¶¯Ê±ÔÚ½øÐÐÉù¿¨¼ì²âʱËÀ»ú¡£
ÔÒò£º²»¿ÉÄÜ£¬Êµ¼ÊÉÏÊÇ·¢ÉúÔÚ¾²Ä¬·½Ê½µÄSCSI¼ì²â¹ý³ÌÖУ¬ÓëÉÏÃæµÄÎÊÌâÒ»Ñù¡£
ÎÊÌ⣺Æô¶¯Ê±¼ì²â²»µ½NE2000 - ¸ù±¾¾ÍûÓÐÆô¶¯ÐÅÏ¢¡£
½â¾ö·½°¸£ºÒòΪÔì³É¼ì²â²»µ½µÄÔÒòºÜ¶à£¬ËùÒÔûÓС°ÉñÆæµÄ½â¾ö·½°¸¡±¡£ÏÂÃæÁгöÁË¿ÉÄÜÓÐËù°ïÖúµÄһЩ´ëÊ©¡£
1) ¹¹½¨Ò»¸öÖ»°üº¬ÐèÒªµÄÉ豸Çý¶¯³ÌÐòµÄÄںˡ£Ö¤ÊµÄãȷʵÊÇ´ÓÐÂÄÚºËÆô¶¯µÄ¡£Íü¼ÇÔËÐÐliloµÈ»áʹÄã´ÓÀϵÄÄÚºËÆô¶¯¡££¨×Ðϸ¹Û²ìÆô¶¯Ê±±¨¸æµÄ¹¹½¨Ê±¼ä/ÈÕÆÚ¡££©ÌýÆðÀ´ºÜÃ÷ÏÔ£¬µ«ÎÒÃÇÒÔÇ°¶¼·¸¹ýÕâ¸ö´í¡£Í¨¹ý¼ì²éSystem.mapÎļþÀïne_probeÒ»ÀàµÄÃû³Æ£¬È·¶¨Çý¶¯³ÌÐòÒÑ°üº¬ÔÚеÄÄÚºËÀï¡£
2) ×Ðϸ¹Û²ìÆô¶¯ÐÅÏ¢¡£¿´¿´ËüÊÇ·ñÌá¼°ÕýÔÚ½øÐÐÖîÈç¡°NE*000 probe at 0xNNN: not found (blah blah)¡±Ò»ÀàµÄne2k¼ì²â£¬»òÕß¾ÍÊǾ²ÇÄÇĵØʧ°ÜÁË¡£ÕâÀïµÄÇø±ðºÜ´ó¡£Ê¹ÓÃdmesg|moreÔڵǼºóä¯ÀÀÆô¶¯ÐÅÏ¢£¬»òÕßÔÚÆô¶¯Íê³ÉÏÔʾµÇ¼Ìáʾ·ûʱʹÓÃShift-PgUp¾í»ØÆÁÄ»¡£
3) Æô¶¯ºó£¬Ö´ÐÐcat /proc/ioports£¬Ö¤ÊµÍø¿¨ÒªÇóµÄÈ«²¿I/O¿Õ¼äÊǿյġ£Èç¹ûÍø¿¨ÔÚ0x300£¬ÄÇône2kÇý¶¯³ÌÐòÒªÇóµÄ¿Õ¼äΪ0x300-0x31f¡£Èç¹ûÆäËüÉ豸µÄÇý¶¯³ÌÐò×¢²áÁËÆäÖеÄÒ»¸ö¿Ú£¬¾Í²»»á¶Ô¸ÃµØÖ·½øÐмì²â£¬¶øÊǾ²ÇÄÇĵؼì²âÏÂÒ»¸öÒª¼ì²âµÄµØÖ·¡£³£¼ûµÄÇé¿öÊÇlpÇý¶¯³ÌÐò±£ÁôÁË0x378£¬»òÕßµÚ¶þ¸öIDEͨµÀ±£ÁôÁË0x376£¬Õâ¾ÍʹneÇý¶¯³ÌÐòÍ£Ö¹¼ì²â0x360-0x380¡£
4) ÓëÉÏÃæÒ»ÑùÖ´ÐÐcat /proc/interrupts¡£È·¶¨Ã»ÓÐÆäËüÉ豸ע²áÁËÄãΪÒÔÌ«Íø¿¨ÉèÖõÄÖжϡ£ÕâÖÖÇé¿öÏ£¬¼ì²â¿ÉÒÔ½øÐУ¬ÒÔÌ«Íø¿¨Çý¶¯³ÌÐò»áÔÚÆô¶¯Ê±´óÉù±§Ô¹ÎÞ·¨µÃµ½ËùÒªÇóµÄIRQÖжÏÏß¡£
5) Èç¹ûÄ㻹ΪÇý¶¯³ÌÐò¾²ÇÄÇĵØʧ°Ü¶ø¿àÄÕ£¬ÄÇô±à¼²¢¸ø¼ì²âÔö¼ÓһЩprintk()¡£±ÈÈ磬¶ÔÓÚne2k£¬Äã¿ÉÒÔÔÚlinux/drivers/net/ne.cÖÐÔö¼Ó/ɾ³ýijЩÐУ¨Óà ¡°+¡±»ò¡°-¡±±íʾ£©£¬ÈçÏÂËùʾ£º
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;
+ }
ÄÇôËü¾Í»áÊä³ö¼ì²éµÄÿһ¸ö¿ÚµØÖ·ÐÅÏ¢£¬Äã¿ÉÒÔ¿´µ½ÄãµÄÍø¿¨µØÖ·ÊÇ·ñ±»¼ì²âÁË¡£
6) Ä㻹¿ÉÒÔ´ÓDonµÄftpÕ¾µã£¨ÔÚhowtoÖÐÒ²Ìá¼°ÁË£©»ñÈ¡ne2kµÄÕï¶Ï³ÌÐò£¬¿´¿´ÄãÔÚÆô¶¯½øÈëLinuxºóÄÜ·ñÓÃËü¼ì²âÄãµÄÍø¿¨¡£Ê¹Óá°-p 0xNNN¡±Ñ¡Ïî¸æËßËüÔÚÄÄÀïÑ°ÕÒÄãµÄÍø¿¨¡££¨È±Ê¡Çé¿öÏÂÖ»¼ì²â0x300£¬ÓëÆô¶¯Ê±µÄ̽²â²»Í¬£¬²»»á¼ì²âÆäËüµÄµØÖ·¡££©ÔÚÕÒµ½Íø¿¨Ê±µÄÊä³öÈçÏ£º
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.
ÄãµÄ×¢²áÖµºÍPROMÖµ¿ÉÄܻ᲻һÑù¡£×¢Ò⣬¶Ô16±ÈÌØÍø¿¨£¬ËùÓÐPROMÖµ¶¼Ôö¼ÓÒ»±¶£¬ÒÔÌ«Íø¿¨µØÖ·£¨00:00:c0:b0:05:65£©³öÏÖÔÚµÚÒ»ÐУ¬¼Ó±¶ºóµÄ0x57±êʶ³öÏÖÔÚPROMµÄ½áβ¡£
ÔÚ0x300´¦Ã»Óа²×°Íø¿¨Ê±µÄÊä³öÈçÏ£º
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.
³öÏÖÖµ0xffµÄÔÒòÊÇÔÚ¶ÁÈ¡¿ÕI/O¿Úʱ·µ»ØµÄ¾ÍÊǸÃÖµ¡£Èç¹ûÔÚ¼ì²âµÄÇøÓòÄÚÓÐÆäËüÓ²¼þ£¬Äã¿ÉÒÔ¿´µ½Ò»Ð©·Ç0xffµÄÖµ¡£
7) ³¢ÊÔÔÚÔËÐÐÌṩµÄDOSÇý¶¯³ÌÐò»òÅäÖóÌÐòÖ®ºó£¬´ÓDOSÆô¶¯ÈíÅÌ£¨Í¨¹ýloadlin£©ÈÈÆô¶¯½øÈëLinux¡£Õâ¿ÉÄÜ»á½øÐÐһЩ¶îÍâµÄ£¨¼´·Ç±ê×¼µÄ£©¡°Ä§·¨¡±À´³õʼ»¯Íø¿¨¡£
8) ÊÔÒ»ÏÂRuss NelsonµÄne2000.com°üÇý¶¯³ÌÐò£¬¿´ËüÄÜ·ñ¿´¼ûÄãµÄÍø¿¨ -- Èç¹û»¹²»ÐУ¬ÊÂÇé¾Í²»´óÃîÁË¡£ÀýÈ磺
A:> ne2000 0x60 10 0x300
ËùÓòÎÊýΪÈí¼þÖжÏÏòÁ¿¡¢Ó²¼þIRQºÍI/OµØÖ·¡£Äã¿ÉÒÔ´ÓÈÎÒâµÄmsdos´æµµÖеÄpktdrv11.zipÀïÕÒµ½Ëü -- ÏÖÔڵİ汾´ó¸ÅÊÇ11ÒÔÉÏÁË¡£
5 SMC Ultra/EtherEZºÍWD80*3Íø¿¨µÄÎÊÌâ
ÎÊÌ⣺ÄãµÃµ½ÁËÈçÏÂÐÅÏ¢£º
eth0: bogus packet size: 65531, status=0xff, nxpg=0xff
ÔÒò£ºÊǹ²ÏíÄÚ´æµÄÎÊÌâ¡£
½â¾ö·½°¸£º×îÆÕ±éµÄÔÒòÊÇÅäÖõÄPCI»úÆ÷ûÓÐÓ³Éäµ½ISAÄÚ´æÉ豸Àï¡£Òò´ËÄã¶Áµ½µÄÊÇPCµÄRAM£¨È«¶¼ÊÇ0xffÖµ£©£¬¶ø²»ÊÇ´æ·Å½ÓÊÕÊý¾Ý°üÊý¾ÝµÄÍø¿¨ÉϵÄRAM¡£
ÁíÒ»¸öÈÝÒ×½â¾öµÄµäÐÍÎÊÌâÊǰ忨³åÍ»£¬ÔÚ´ËÇøÓòÓлº´æ»ò¡°shadow ROM¡±£¬»òÕßÄãµÄISA×ÜÏßÔËÐÐËٶȸßÓÚ8Mhz¡£ÒÔÌ«Íø¿¨ÉϵÄÄÚ´æʧЧµÄÊýÄ¿Ò²ÁîÈ˾ªÆ棬ËùÒÔÈç¹ûÄãµÄÒÔÌ«Íø¿¨ÓÐÕï¶Ï³ÌÐòµÄ»°£¬ÔËÐÐһϡ£
ÎÊÌ⣺SMC EtherEZÔڷǹ²ÏíÄڴ棨PIO£©Ä£Ê½Ï²»¹¤×÷¡£
ÔÒò£ºÀÏ°æ±¾µÄUltraÇý¶¯³ÌÐòÖ»Ö§³Ö¹²ÏíÄÚ´æģʽϵIJÙ×÷¡£
½â¾ö·½°¸£º°æ±¾2.0ÒÔÉϵÄÄÚºËËù¸½Çý¶¯³ÌÐò¾ÍÖ§³Ö¿É±à³ÌI/OģʽµÄ²Ù×÷¡£Éý¼¶µ½v2.0ÒÔÉÏ°æ±¾¡£
ÎÊÌ⣺ÀϵÄwd8003»ò¿ÉÌøÏßµÄwd8013×ÜÊǵõ½´íÎóµÄIRQ¡£
ÔÒò£ºÀϵÄwd8003Íø¿¨»ò¿ÉÌøÏßµÄwd8013¼æÈÝ¿¨Ã»ÓÐÇý¶¯³ÌÐò¿ÉÒÔ´ÓÖжÁÈ¡ÉèÖõÄIRQµÄEEPROM¡£Èç¹ûÇý¶¯³ÌÐòÎÞ·¨¶Áµ½IRQ£¬¾Í³¢ÊÔÓÃauto-IRQ·¢ÏÖËü¡£Èôauto-IRQ·µ»Ø0£¬ÄÇôÇý¶¯³ÌÐò¾Í¸ø8±ÈÌØÍø¿¨·ÖÅäIRQ 5£¬»òÕßΪ16±ÈÌØÍø¿¨·ÖÅäIRQ 16¡£
½â¾ö·½°¸£º ʹauto-IRQ´úÂëÎÞЧ£¬²¢ÔÚÄãµÄÄ£¿éÅäÖÃÎļþ£¨¶ÔÓÚÄÚ½¨µÄÇý¶¯³ÌÐòÔòͨ¹ýÆô¶¯²ÎÊý£©¸æËßÄÚºËÄã°ÑÍø¿¨Ìø³ÉÁËʲôIRQ¡£
ÎÊÌ⣺SMC UltraÍø¿¨±»¼ì²â³ÉÁËwd8013£¬µ«IRQºÍ¹²ÏíÄÚ´æµØÖ·ÊÇ´íµÄ¡£
ÔÒò£ºUltraÍø¿¨¿´ÆðÀ´¸úwd8013ºÜÏàÏó£¬Èç¹ûÄÚºËÀïûÓÐUltraÇý¶¯³ÌÐò£¬wdÇý¶¯³ÌÐò¾Í»á°ÑultraÎóÈÏΪwd8013¡£ultra¼ì²âÔÚwd֮ǰ£¬ËùÒÔÒ»°ã²»»á³öÎÊÌâ¡£ultraÔÚEEPROM±£´æµÄIRQºÍÄÚ´æµØÖ·Óëwd8013±£´æµÄλÖò»Í¬£¬ËùÒÔ±¨¸æµÄÖµÊǼٵġ£
½â¾ö·½°¸£ºÖ»±£ÁôÐèÒªµÄÇý¶¯³ÌÐòÖØбàÒëÄںˡ£Èç¹ûÄãÔÚͬһ̨»úÆ÷ÉÏͬʱʹÓÃwdºÍultraÍø¿¨£¬²¢Ê¹ÓÃÄ£¿é£¬ÄÇôÊ×ÏÈÔØÈëultraÄ£¿é¾ÍÐÐÁË¡£
6 3ComÍø¿¨µÄÎÊÌâ
ÎÊÌ⣺3c503Ñ¡ÔñÁËIRQ N£¬µ«ÆäËüÉ豸ҲÐèÒªIRQ N¡££¨±ÈÈçCD ROMÇý¶¯³ÌÐò¡¢ modemµÈ¡££©¿ÉÒÔ²»±àÒë½øÄں˾ͽâ¾öÕâ¸öÎÊÌâÂð£¿
½â¾ö·½°¸£º3c503Çý¶¯³ÌÐò°´ÕÕ˳Ðò{5, 9/2, 3, 4}¼ì²â¿ÕÏеÄIRQÏߣ¬´ÓÖÐÕÒµ½Ò»¸öδ±»Ê¹ÓõÄIRQ¡£ÔÚÍø¿¨±»ifconfig²Ù×÷ÅäÖÃʱѡÔñÖжÏIRQ¡£
Èç¹ûÄãʹÓõÄÊÇÄ£¿é»¯µÄÇý¶¯³ÌÐò£¬¿ÉÒÔÓÃÄ£¿é²ÎÊýÉèÖø÷ÖÖÇé¿ö£¬°üÀ¨ÖжÏIRQµÄÖµ¡£
ÏÂÃæµÄÓï¾äÑ¡ÔñIRQ9¡¢»ùÖ·0x300¡¢ºÍif_port #1£¨ÍⲿÊÕ·¢Æ÷£©¡£
io=0x300 irq=9 xcvr=1
Èç¹ûÇý¶¯³ÌÐò±»±àÒë½øÁËÄںˣ¬Ä㻹¿ÉÒÔͨ¹ýLILOÔÚÆô¶¯Ê±´«µÝ²ÎÊýÀ´ÉèÖÃͬÑùµÄÖµ¡£
LILO: linux ether=9,0x300,0,1,eth0
ÏÂÃæµÄÓï¾äÑ¡ÔñIRQ3¡¢¼ì²â»ùÖ·¡¢ºÍȱʡif_port #0£¨ÍⲿÊÕ·¢Æ÷£©¡£
LILO: linux ether=3,0,0,0,eth0
ÎÊÌ⣺3c503: configured interrupt X invalid, will use autoIRQ.
ÔÒò£º3c503Íø¿¨Ö»ÄÜʹÓÃÖжÏIRQ{5, 2/9, 3, 4}ÖеÄÒ»¸ö£¨ÕâЩÊÇÍø¿¨ËùÄÜÁ¬½ÓµÄÖжÏÏß¡££©Èç¹ûÄãʹÓÃÒ»¸ö²»ÔÚÆäÖеÄIRQÖµ£¬¾Í»áµÃµ½ÈçÉϵÄÌáʾ¡£Ò»°ãÇé¿öÏ£¬Ã»±ØҪΪ3c503Ö¸¶¨ÖжÏÖµ¡£3c503»áÔÚifconfigÅäÖÃʱʹÓÃautoIRQ£¬²¢´ÓIRQ{5, 2/9, 3, 4}ÖÐÑ¡ÔñÒ»¸ö¡£
½â¾ö·½°¸£ºÊ¹ÓÃÉÏÊöµÄºÏ·¨IRQÖµ£¬»òÕß²»Ö¸¶¨IRQÒÔÆôÓÃautoIRQ¡£
ÎÊÌ⣺ÌṩµÄ3c503Çý¶¯³ÌÐòÎÞ·¨Ê¹ÓÃAUI£¨´ÖÀÂÒÔÌ«Íø£©¶Ë¿Ú¡£ÔõÑù²ÅÄܲ»Ê¹ÓÃȱʡµÄϸÀÂÒÔÌ«Íø¶Ë¿Ú¶øÑ¡ÔñAUI¶Ë¿Ú£¿
½â¾ö·½°¸£º3c503µÄAUI¶Ë¿Ú¶ÔÓÚÄÚ½¨Çý¶¯³ÌÐò¿ÉÒÔÔÚÆô¶¯Ê±Ñ¡Ôñ£¬¶ÔÓÚÄ£¿é»¯Çý¶¯³ÌÐò¿ÉÒÔÔÚ²åÈëÄ£¿éʱѡÔñ¡£ÕâһѡÔñ»á¸²¸ÇδʹÓõÄdev->rmem_start±äÁ¿µÄµÍ±ÈÌØ룬ËùÒÔÆô¶¯²ÎÊý£º
LILO: linux ether=0,0,0,1,eth0
¶ÔÄÚ½¨ÔÚÄں˵ÄÇý¶¯³ÌÐòÆð×÷Óá£
ÒªÔÚÔØÈëÄ£¿éʱָ¶¨AUI¶Ë¿Ú£¬Ö»Ðè°Ñxcvr=1¸½¼ÓÔÚÄ£¿éÑ¡Ïî°üº¬ÄãµÄI/OºÍIRQÖµµÄÄÇÒ»ÐоÍÐÐÁË¡£¡£
7 ·ÇÌض¨Íø¿¨µÄFAQs
LinuxÓëISAµÄ¼´²å¼´ÓÃÒÔÌ«Íø¿¨
Òª»ñµÃ×î¼ÑЧ¹û£¨ÎÊÌâ×îÉÙ£©£¬ÍƼöʹÓÃËæÍø¿¨¸½µÄ³ÌÐò£¨Í¨³£ÊÇDOS³ÌÐò£©È¡ÏûPnP»úÖÆ£¬²¢¸øÍø¿¨ÉèÖÃÒ»¸ö¹Ì¶¨µÄI/OµØÖ·ºÍIRQ¡£È·¶¨ÄãʹÓõÄI/OµØÖ·ÔÚÆô¶¯Ê±±»Çý¶¯³ÌÐò¼ì²âµ½£¬Èç¹ûʹÓÃÄ£¿é£¬ÔòÔÚ/etc/conf.modulesÖÐʹÓÃio=Ñ¡ÏîÌṩµØÖ·¡£ÄãÒ²¿ÉÒÔ½øÈëBIOS/CMOSÉèÖ㬰ÑIRQ´ÓPnP¸ÄΪLegacy-ISA£¨Èç¹ûÄãµÄ¼ÆËã»úÓдËÑ¡ÏîµÄ»°£©¡£
×¢Ò⣬ÔËÐлùÓÚDOSµÄÅäÖóÌÐòÒ»°ã²¢²»ÐèÒª°²×°DOS¡£¿ÉÒÔÓÃDOSÈíÅÌÆô¶¯£¬È»ºó´ÓÌṩµÄÈíÅÌÉÏÔËÐÐËüÃǾͿÉÒÔÁË¡£Äã¿ÉÒÔ×ÔÓɵØÏÂÔØOpenDOSºÍFreeDOS¡£
Èç¹ûÐèҪʹÓÃPnPÒÔÓëÆäËü²Ù×÷ϵͳ¼æÈÝ£¬Äã¾ÍµÃÿ´ÎÆô¶¯Ê±¶¼Ê¹ÓÃLinuxµÄisapnptools°üÅäÖÃÍø¿¨¡£Ä㻹ÐèҪȷ¶¨ÎªÍø¿¨Ñ¡ÔñµÄI/OµØÖ·±»Çý¶¯³ÌÐò¼ì²âµ½£¬»òÓÃio=Ñ¡ÏîÌṩI/OµØÖ·¡£
Æô¶¯Ê±Ã»Óмì²âµ½ÒÔÌ«Íø¿¨
³öÏÖÕâ¸öÎÊÌâµÄ³£¼ûÔÒòÊÇÈËÃÇʹÓõÄÄں˲»Ö§³ÖÌض¨µÄÍø¿¨¡£¶ÔÓÚÄ£¿é»¯µÄÄںˣ¬ÕâÒ»°ã˵Ã÷ÒªÇóµÄÄ£¿éÉÐδ±»ÔØÈ룬»òÕßÐèÒªÓÃÄ£¿éÑ¡ÏîÖ¸¶¨ÆäI/OµØÖ·¡£
Èç¹ûÄãʹÓõÄÊÇÄ£¿é»¯µÄÄںˣ¬¾ÍÏó´ó¶àÊýÓÃLinux·¢Ðа氲װµÄÄÇÑù£¬ÊÔ×ÅÓÃһϸ÷¢ÐаæµÄÅäÖù¤¾ßÀ´Ñ¡ÔñÍø¿¨ËùÓÃÄ£¿é¡£¶ÔÓÚISAÍø¿¨Ò»¸ö½ÏºÃµÄÖ÷ÒâÊÇ£¬È·¶¨Íø¿¨µÄI/OµØÖ·£¬Èç¹ûÅäÖù¤¾ßÒªÇóÑ¡ÏîÔò°ÑËü×÷Ϊһ¸öÑ¡ÏÈçio=0x340£©¼Ó½øÈ¥¡£Èç¹ûûÓÐÅäÖù¤¾ß£¬ÄÇôÄãÐèÒªÔÚ/etc/conf.modulesÀïÌí¼ÓÕýÈ·µÄÄ£¿éÃû³Æ£¨¼°Ñ¡Ï-- ÔĶÁman modprobeÒÔÁ˽â¸ü¶àµÄϸ½Ú¡£
Èç¹ûÄãʹÓõķ¢ÐаæÌ×¼þÀïµÄÔ¤±àÒëÄںˣ¬ÄÇô²é¿´ÎĵµÒÔÈ·¶¨Äã°²×°µÄÊÇÄÄÒ»ÖÖÄںˣ¬ÒÔ¼°ÊÇ·ñÖ§³ÖÄãËùÓõÄÍø¿¨¡£Èç¹û²»Ö§³ÖµÄ»°£¬ÒªÃ´ÊÔ×ÅÕÒÒ»¸öÖ§³ÖÄãÍø¿¨µÄÄںˣ¬ÒªÃ´×Ô¼ºÉú³ÉÒ»¸öÄںˡ£
Ö»±£ÁôËùÐèµÄÇý¶¯³ÌÐòÉú³É×Ô¼ºµÄÄÚºËÊǸö´ÏÃ÷µÄÖ÷Ò⣬ÒòΪÕâ»á¼õСÄں˴óС£¨ÎªÓ¦ÓóÌÐò±£Áô±¦¹óµÄRAM£¡£©£¬¼õÉÙ´òÈÅÃô¸ÐÓ²¼þµÄÉ豸¼ì²âÊýÄ¿¡£Éú³ÉÄں˲¢²»ÏóÌýÆðÀ´ÄÇô¸´ÔÓ¡£ÄãÖ»ÐèÒª¶ÔһЩÓйØÄãÏëÒªÄÄЩÇý¶¯³ÌÐòµÄÎÊÌâ»Ø´ðÊÇ»ò²»ÊÇ£¬ÆäËüµÄʶ¼ÓɳÌÐòÍê³É¡£
ÁíÒ»¸öÖ÷ÒªÔÒòÊÇÆäËüµÄÉ豸ռÓÃÁËÍø¿¨ËùÐèµÄ²¿·ÖI/O¿Õ¼ä¡£´ó¶àÊýÍø¿¨ÔÚI/O¿Õ¼äÀïÕ¼ÓÃÁË16»ò32¸ö×Ö½Ú¡£Èç¹ûÄãµÄÍø¿¨ÉèÔÚ0x300²¢ÒªÇó32¸ö×Ö½Ú£¬ÄÇôÇý¶¯³ÌÐò¾ÍÒªÇó0x300-0x31f¡£Èç¹ûij¸öÆäËüÉ豸Çý¶¯³ÌÐò×¢²áÁËÄÄÅÂÆäÖÐÒ»¸ö¶Ë¿Ú£¬Çý¶¯³ÌÐò¾Í²»»á¶Ô¸ÃµØÖ·½øÐмì²â£¬¶øÊǾ²ÇÄÇĵؽøÈëÏÂÒ»¸ö¼ì²âµØÖ·¡£ËùÒÔ£¬ÔÚÆô¶¯Ö®ºó£¬ÔËÐÐÒ»ÏÂcat /proc/ioportsÒÔÈ·¶¨Íø¿¨ÒªÇóµÄÈ«²¿I/O¿Õ¼ä¶¼Êǿյġ£
»¹ÓÐÒ»¸öÎÊÌâ¾ÍÊÇÍø¿¨Ìøµ½µÄI/OµØÖ·²»ÊÇȱʡ¼ì²âµÄµØÖ·¡£Ã¿¸öÇý¶¯³ÌÐòµÄ¼ì²âµØÖ·Áбí¿ÉÒÔºÜÈÝÒ×µØÔÚÇý¶¯³ÌÐòÔ´ÂëÖеÄÎı¾×¢ÊÍÀïÕÒµ½¡£¼´Ê¹Íø¿¨É趨µÄI/OµØÖ·²»ÔÚ¼ì²âµØÖ·ÁбíÉÏ£¬ÄãÒ²¿ÉÒÔÔÚÆô¶¯Ê±ÓÃether=ÃüÁîÌṩ£¨¶ÔÄÚ½¨Çý¶¯³ÌÐò£©£¬²Î¼û´«µÝÒÔÌ«Íø²ÎÊý...¡£Ä£¿é»¯µÄÇý¶¯³ÌÐò¿ÉÒÔÔÚ/etc/conf.modulesÀïʹÓÃio=Ñ¡ÏîÖ¸¶¨Ò»¸ö·Çȱʡ¼ì²âµÄµØÖ·¡£
ifconfig±¨¸æÁË´íÎóµÄÍø¿¨I/OµØÖ·
Õâ²»¿ÉÄÜ¡£ÄãÖ»ÊÇÀí½â´íÎó¡£Õâ²»ÊÇÒ»¸öBug£¬¶øÇÒ±¨¸æµÄÊý×ÖÊÇÕýÈ·µÄ¡£ÕâÖ»³öÏÖÔÚijЩ»ùÓÚ8390µÄÍø¿¨ÉÏ£¨Èçwd80x3¡¢smc-ultraµÈ£©£¬Êµ¼ÊµÄ8390оƬλÓÚµÚÒ»¸ö¸ø¶¨I/O¶Ë¿Ú¼ÓÉÏÒ»¸öÆ«ÒÆÁ¿´¦¡£´ËÆ«ÒÆÁ¿±£´æÔÚdev->base_addrÀҲ¾ÍÊÇifconfig±¨¸æµÄÖµ¡£Èç¹ûÄãÏë¿´µ½Íø¿¨Ê¹ÓõÄÈ«²¿¶Ë¿Ú£¬ÊÔÒ»ÏÂcat /proc/ioportsÒԵõ½ÏëÒªµÄÊý×Ö¡£
PCI»úÆ÷̽²âµ½ÁËÍø¿¨£¬µ«Çý¶¯³ÌÐò¼ì²âʧ°Ü¡£
ijЩPCIµÄBIOSÔÚÉϵçʱûÓÐÆôÓÃËùÓеÄPCI¿¨£¬ÌرðÊÇÔÚʹÓÃÁË¡°PNP OS¡±µÄBIOSÑ¡ÏîÇé¿öÏ¡£ÕâÒ»ÌØÐÔÊÇΪÁËÖ§³Öµ±Ç°ÒÀȻʹÓÃijЩʵģʽÇý¶¯³ÌÐòµÄWindows°æ±¾¡£»òÕß½ûÓøÃÑ¡Ï»òÕßÉý¼¶µ½Ò»¸ö¿ÉÒÔÆôÓñ»½ûÓÃÍø¿¨µÄÐÂÇý¶¯³ÌÐò¡£
PCI»úÆ÷ÀïµÄ¹²ÏíÄÚ´æISAÍø¿¨²»¹¤×÷£¨0xffff£©
Õâ³£±íÏÖΪÏÔʾ¶Á³ö´óÁ¿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£¬²¢°Ñ»ùÖ·¸ÄΪÍø¿¨µÄ¹²ÏíÄÚ´æµØÖ·¡£
Íø¿¨¿´À´ÔÚ·¢ËÍÊý¾Ý£¬µ«Ã»ÓÐÊÕµ½¹ýÊý¾Ý¡£
Ö´ÐÐcat /proc/interrupts¡£ÕâÑù²úÉúµÄÁбí»áÏÔʾÍø¿¨²úÉúµÄËùÓÐÖжÏʼþµÄʵʱÊýÄ¿¡£Èç¹ûΪ0»òÔÚÊÔͼʹÓÃÍø¿¨Ê±Ã»ÓÐÔö¼Ó£¬ÄÇô¿ÉÄÜÊÇÓë¼ÆËã»ú°²×°µÄÆäËüÉ豸·¢ÉúÎïÀíÖжϳåÍ»£¨ÎÞÂÛÆäËüµÄÉ豸ÊÇ·ñ°²×°/ÌṩÁËÇý¶¯³ÌÐò£©¡£°ÑÆäÖÐÒ»¸öÉ豸µÄIRQ¸ÄΪδʹÓõÄIRQ¡£
Òì²½´«Êäģʽ(ATM)Ö§³Ö
Werner AlmesbergerÔÚ½øÐÐLinuxµÄATMµÄÖ§³Ö¹¤×÷¡£ËûʹÓõÄÊÇEfficient NetworksµÄENI155p°å£¨Efficient Networks£©ºÍZeitnetµÄZN1221°å£¨Zeitnet£©¡£
Werner˵ENI155pµÄÇý¶¯³ÌÐòÒѾºÜÎȶ¨ÁË£¬¶øZN1221µÄÇý¶¯³ÌÐò»¹Ã»ÓÐÍê³É¡£
È¥ÏÂÃæµÄÁ¬½Ó²é¿´Ò»ÏÂ×îеĽøÕ¹£º
Linux ATM Support
¼ª±ÈÌØÒÔÌ«ÍøÖ§³Ö
LinuxÖ§³Ö¼ª±ÈÌØÒÔÌ«ÍøÂð£¿
Êǵģ¬Ä¿Ç°ÖÁÉÙÒѾÓÐÁËÁ½¸öÇý¶¯³ÌÐò¡£ÔÚv2.0ºÍv2.2ÄÚºËÀïÓÐÒ»¸öPacket Engines G-NIC PCI¼ª±ÈÌØÒÔÌ«ÍøÊÊÅäÆ÷µÄÇý¶¯³ÌÐò¡£Çý¶¯³ÌÐòµÄ¸ü¶àϸ½Ú¡¢Ö§³ÖºÍ¸üпɷÃÎÊ£º
http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html
v2.2ÄÚºËÌṩµÄacenic.cÇý¶¯³ÌÐò¿ÉÓÃÓÚAlteonµÄAceNIC¼ª±ÈÌØÒÔÌ«Íø¿¨ºÍÆäËüÈç3ComµÄ3c985Ò»ÀàµÄ»ùÓÚTigonµÄÍø¿¨¡£Õâ¸öÇý¶¯³ÌÐò»¹¿ÉÒÔÓÃÓÚNetGearµÄGA620£¬µ«»¹ÐèҪ֤ʵ¡£
FDDIÖ§³Ö
LinuxÖ§³ÖFDDIÂð£¿
Êǵġ£Larry StefaniΪv2.0±àдÁËDigitalµÄDEFEA£¨FDDI EISA£©ºÍDEFPA£¨FDDI PCI£©Íø¿¨Çý¶¯³ÌÐò¡£Ëü±»°üº¬½øv2.0.24Äںˡ£Ä¿Ç°»¹Ã»ÓÐÆäËüµÄÍø¿¨±»Ö§³Ö¡£
È«Ë«¹¤Ö§³Ö
È«Ë«¹¤ÄÜ´ïµ½20MBpsÂð£¿LinuxÖ§³ÖÂð£¿
Cameron Spitzer¶ÔÈ«Ë«¹¤10Base-TÍø¿¨ÓÐÈçÏÂÂ۶ϣº¡°Èç¹ûÄãÁ¬ÔÚÈ«Ë«¹¤½»»»HUBÉÏ£¬ÄãµÄϵͳ×ã¹»¿ì¶øÇÒ²»×öÌ«¶àÆäËüµÄ¹¤×÷£¬Ëü»áʹÄãµÄÍøÂçÔÚÁ½¸ö·½ÏòÉ϶¼±£³Ö浡£²»´æÔÚʲôȫ˫¹¤µÄ10BASE-2»ò10BASE-5£¨Ï¸ÀºʹÖÀ£©¡£È«Ë«¹¤ÊÇͨ¹ýÈ¡ÏûÊÊÅäÆ÷µÄÅöײ¼ì²âÀ´´ïµ½µÄ¡£Õâ¾ÍÊÇΪʲôÓÃͬÖáµçÀÂʵÏÖ²»ÁËÈ«Ë«¹¤£»LANÎÞ·¨ÒÔÈ«Ë«¹¤·½Ê½ÔËת¡£ 10BASE-T£¨RJ45½Ó¿Ú£©Ê¹Óò»Í¬µÄÏß½øÐз¢ËͺͽÓÊÕ£¬ËùÒÔ¶þÕß¿ÉÄÜͬʱ½øÐС£½»»»HUB´¦ÀíÅöײÎÊÌâ¡£ÐźÅËÙÂÊÊÇ10Mbps¡£¡±
ËùÒÔ£¬ÄãÖ»ÄÜÒÔ10MbpsËÙÂʽÓÊÕ»ò·¢ËÍÊý¾Ý£¬ÎÞ·¨ÆÚÍûµÃµ½Á½±¶µÄÐÔÄÜÌá¸ß¡£¶ÔÓÚÊÇ·ñÖ§³Ö£¬È¡¾öÓÚÍø¿¨ºÍ¿ÉÄܵÄÇý¶¯³ÌÐò¡£ÓÐЩÍø¿¨¿ÉÒÔ×Ô¶¯ÐÉÌ£¬ÓÐЩÐèÒªÇý¶¯³ÌÐòÖ§³Ö£¬»¹ÓеÄÐèÒªÓû§ÔÚÍø¿¨µÄEEPROMÅäÖÃÖÐÉèÖÃÑ¡Ïî¡£Ö»ÓÐÄÇЩÈÏÕæµÄÓû§»á×¢Ò⵽ȫ˫¹¤Óë°ëË«¹¤Ä£Ê½¼äµÄ²î±ð¡£
SMP»úÆ÷ÉϵÄLinuxÒÔÌ«Íø¿¨
Èç¹ûÄãÓÐÇ®Âò¶à´¦ÀíÆ÷£¨MP£©µÄ¼ÆËã»ú£¬ÄÇô×îºÃÂòÒ»¸öºÃµã¶ùµÄÒÔÌ«Íø¿¨¡£¶Ôv2.0ÄÚºËÕ⻹²»ÊǸöÎÊÌ⣬µ«¶Ôv2.2¾Í³ÉÎÊÌâÁË¡£´ó¶àÊýÀÏʽµÄ·ÇÖÇÄÜ£¨ÈçISA×ÜÏßµÄPIOºÍ¹²ÏíÄÚ´æÉè¼Æ£©Íø¿¨ÔÚÉè¼Æʱ¸ù±¾Ã»¿¼ÂǶദÀíÆ÷Ó¦Ó᣼òµ¥µØ˵¾ÍÊÇÂòÒ»¸öÏÖ´úÉè¼ÆµÄÖÇÄÜÍø¿¨£¬²¢È·¶¨ÓÐÄܹ»´¦Àí¶à´¦ÀíÆ÷²Ù×÷µÄÇý¶¯³ÌÐò¡££¨×¢ÒâÕâÀïµÄ¡°ÏÖ´úÉè¼Æ¡± - PCI-NE2000¾ÍÊÇÔÚÏÖ´ú×ÜÏßÉÏÓÐ10¶àÄêÀúÊ·µÄÀÏʽÉè¼Æ¡££©ÔÚÇý¶¯³ÌÐòµÄÔ´ÂëÀï²éÕÒspin_lock¿ÉÒԺܺõØ˵Ã÷¸ÃÇý¶¯³ÌÐòÊÇ·ñÄܹ»´¦Àí¶à´¦ÀíÆ÷²Ù×÷¡£ÏÂÃæÏêϸ½âÊÍÁËΪºÎҪΪ¶à´¦ÀíÆ÷Ó¦ÓùºÂòºÃµÄÍø¿¨£¨ÒÔ¼°²»Âò»á³öÏÖʲôÎÊÌ⣩¡£
ÔÚv2.0Äںˣ¬ÔÚÈÎÒâʱ¿ÌÖ»ÓÐÒ»¸ö´¦ÀíÆ÷ÔÊÐí½øÈë¡°ÄÚºË̬¡±£¨¼´¸Ä±äÄÚºËÊý¾Ý»òÔËÐÐÉ豸Çý¶¯³ÌÐò£©¡£ËùÒÔ´ÓÍø¿¨£¨¼°Ïà¹ØÇý¶¯³ÌÐò£©µÄ½Ç¶ÈÀ´¿´£¬ÕâÓëµ¥´¦ÀíÆ÷²Ù×÷ûÓÐʲô²»Í¬£¬ËùÒÔ²»»á³öÎÊÌâ¡£(ÕâÒ²Êǵõ½Ò»¸ö¿ÉÒÔ¹¤×÷µÄLinux¶à´¦ÀíÆ÷°æ±¾µÄ×î¼òµ¥µÄ°ì·¨ -- ʹÓÃÒ»¸ö´óËøʹµÃÒ»´ÎÖ»ÓÐÒ»¸ö´¦ÀíÆ÷´¦ÓÚÄÚºË״̬¡£ÕâÑùÄã¾ÍÖªµÀ²»¿ÉÄÜÓÐÁ½¸ö´¦ÀíÆ÷ͬʱҪÐÞ¸ÄͬһÊý¾Ý£¡£©
ÔÚÈÎÒâʱ¿ÌÖ»ÓÐÒ»¸ö´¦ÀíÆ÷ÔÊÐí½øÈëÄÚºË̬µÄ²»ÀûÖ®´¦ÔÚÓÚÖ»ÓÐÔËÐÐ×ÔÎÒ¿ØÖƺÍÃܼ¯¼ÆËãµÄ³ÌÐòʱ²Å»á»ñµÃ¶à´¦ÀíÆ÷µÄÓÅÔ½ÐÔ¡£Èç¹û³ÌÐò½øÐÐÁË´óÁ¿ÖîÈçÏò´ÅÅÌ»òÍøÂç¶Á/дÊý¾ÝµÄI/O²Ù×÷£¬ÔÚ´¦ÓÚÄں˵ÄÄǸö´¦ÀíÆ÷ŬÁ¦ÔËÐÐËùÓеÄÉ豸Çý¶¯³ÌÐòÒÔÂú×ãI/OÇëÇóµÄͬʱ£¬ÆäËüµÄ´¦ÀíÆ÷¶¼±ØÐëµÈ´ý×Ô¼ºµÄI/OÇëÇó±»´¦ÀíÍê³É¡£ÕâÑùÄں˾ͳÉΪÁËÆ¿¾±£¬ÓÉÓÚÖ»ÓÐÒ»¸ö´¦ÀíÆ÷ÔËÐÐÔÚÄÚºË̬£¬¶à´¦ÀíÆ÷»úÆ÷µÄÐÔÄÜÔÚI/OÈÎÎñÖØ¡¢µ¥ËøµÄÇé¿öÏÂѸËÙ½µ¼¶µ½½Ó½üµ¥´¦ÀíÆ÷µÄˮƽ¡£
ºÜÃ÷ÏÔÕâÓëÀíÏëÇé¿öÏà²îÌ«Ô¶£¨ÓÈÆäÊǶÔÓÚÎļþ/WWW·þÎñÆ÷¡¢Â·ÓÉÆ÷µÈ£©£¬v2.2µÄÄں˾ÍʹÓÃÁËÁ£¶È¸üСµÄËø----Ò²¾ÍÊÇ˵ͬʱ¿ÉÒÔÓжà¸ö´¦ÀíÆ÷½øÈëÄںˡ£²»ÔÙÊǶÔÕû¸öÄÚºËʹÓÃÒ»¸ö´óËø£¬¶øÊÇʹÓÃÐí¶à½ÏСµÄËø±£»¤¹Ø¼üÊý¾Ý£¬·Àֹͬʱ±»¶à¸ö´¦ÀíÆ÷¿ØÖÆ----ÀýÈ磬һ¸ö´¦ÀíÆ÷¿ÉÒÔÔËÐÐÍø¿¨Çý¶¯³ÌÐò£¬Í¬Ê±ÁíÒ»¸ö´¦ÀíÆ÷¿ÉÒÔÔËÐдÅÅÌÇý¶¯Æ÷µÄÇý¶¯³ÌÐò¡£
ºÃµÄ£¬ÕâÑù¾ÍÓÐÎÊÌâÁË£º¸üСµÄËø¶¨¾ÍÒâζ×Å¿ÉÒÔÓÐÒ»¸ö´¦ÀíÆ÷ÊÔͼͨ¹ýÒÔÌ«ÍøÇý¶¯³ÌÐò·¢ËÍÊý¾Ý£¬Í¬Ê±ÁíÒ»¸ö´¦ÀíÆ÷ÊÔͼ·ÃÎÊͬһ¸öÇý¶¯³ÌÐò/Íø¿¨À´×ö±ðµÄÊÂÇ飨±ÈÈçͨ¹ýcat /proc/net/devµÃµ½Íø¿¨Í³¼ÆÊý¾Ý£©¡£°¥ßÏ----ÄãµÄÍø¿¨ÕýÔÚͨ¹ýÍøÏß·¢Êý¾Ý£¬ÄãÓÖÒªÓÃËüÀ´ÊÕÊý¾Ý¡£Íø¿¨±»Í¬Ê±ÒªÇó×öÁ½¼þÊ£¨»ò¸ü¶à£©£¬»áŪºýÍ¿µÄ£¬ËùÒÔÓпÉÄÜÔÚ´¦Àí¹ý³ÌÖÐÍø¿¨Ê¹ÄãµÄ»úÆ÷ËÀ»ú¡£
Òò´Ë£¬Îªµ¥´¦ÀíÆ÷дµÄÇý¶¯³ÌÐò²»ÔÙÊÊÓÃ----ËüÐèÒª¸üпØÖƶÔÍø¿¨·ÃÎʵÄËø£¬Ê¹µÃÍø¿¨µÄ½ÓÊÕ¡¢·¢ËͺͲÙ×÷ÅäÖÃÊý¾ÝÕâÈýÖÖÈÎÎñÒÔÍø¿¨Îȶ¨²Ù×÷ËùÒªÇóµÄ³Ì¶È´®Ðл¯ÆðÀ´¡£Ã»ÓиüÐÂΪʹÓÃÎȶ¨¶à´¦ÀíÆ÷²Ù×÷µÄËøµÄÇý¶¯³ÌÐòÔÚÇáµÄÍøÂ縺ÔØÏ¿ÉÄÜ¿´ÆðÀ´»áÕý³£¹¤×÷£¬µ«ÔÚÁ½¸ö£¨»ò¸ü¶à£©´¦ÀíÆ÷ÊÔͼͬʱ½øÐжà¸öÈÎÎñʱ¾Í»áÔì³ÉËÀ»ú£¬»òÖÁÉÙ±íÏÖ³öÆæ¹ÖµÄÐÐΪ£¬Õâ¾ÍÊÇÎÊÌâ¡£
¸üкóµÄÒâʶµ½¶à´¦ÀíÆ÷µÄÒÔÌ«ÍøÇý¶¯³ÌÐò½«ÒªÇóÒ»¸öÇý¶¯³ÌÐò·¶Î§µÄËø£¬Ê¹µÃÄں˽øÈëÇý¶¯³ÌÐòµÄ·ÃÎÊÈë¿Ú±»ÏÞÖÆΪһ´ÎÒ»¸ö¡£ÕâÑù£¬ÈÎÎñ¾Í±»´®Ðл¯£¬¶ø¶ÔÓ²¼þµÄ´¦Àí¾ÍÈçͬÔÚµ¥´¦ÀíÆ÷ÏÂÒ»Ñù£¬Ò²¾ÍÒ»¶¨Ó¦µ±Îȶ¨¡£Ê¹ÓÃÇý¶¯³ÌÐò·¶Î§µÄËøµÄ²»ÀûÖ®´¦ÔÚÓÚËüÀàËÆÓÚ¶ÔÕû¸öÄں˼ÓËø£¨µ«¹æÄ£½ÏС£©¶ÔÐÔÄܵÄÓ°Ïì----Ò²¾ÍÊÇ˵£¬Ò»´ÎÖ»¿ÉÒÔÓÐÒ»¸ö´¦ÀíÆ÷´¦ÀíÍø¿¨¡£[¼¼ÊõÌáʾ£ºÈç¹ûÔö¼ÓµÄËøÊÇirqsaveÀàÐ͵ĶøÇÒ±»³ÖÓнϳ¤Ê±¼ä£¬¶ÔÐÔÄܵÄÓ°Ï컹°üÀ¨Ôö¼ÓÁËÖжÏÑÓ³Ù¡£]
ÕâÀï¿ÉÒÔ½øÐеĸĽøÓÐÁ½´¦¡£¿ÉÒÔ³¢ÊÔ¼õÉÙ»ñµÃÓëÊÍ·ÅËøÖ®¼äËùÓõÄʱ¼ä£¬»òÕßÔÚÇý¶¯³ÌÐòÄÚ²¿ÊµÏÖ¸üΪϸ»¯µÄËø£¨±ÈÈçÂú×ãÍø¿¨ÐèÇóµÄÇ°ÌáÏ£¬°ÑÕû¸öÇý¶¯³ÌÐòµÄËøÌ滻ΪÈô¸É±£»¤Í¬Ê±·ÃÎÊÈô¸ÉÃô¸Ð¼Ä´æÆ÷»òÉèÖõÄËø£©¡£
µ«ÊÇ£¬¶ÔÓÚÀÏʽµÄ·ÇÖÇÄÜÍø¿¨¶øÑÔ£¬ÔÚÉè¼Æʱ¸ù±¾¾ÍûÓп¼Âǹý¶à´¦ÀíÆ÷µÄÓ¦Óã¬ÕâÑùµÄ¸Ä½ø¿ÉÄÜÎÞ·¨ÊµÏÖ¡£¸üÔãµÄÊÇ·ÇÖÇÄÜÍø¿¨Ò»°ãÒªÇó´¦ÀíÆ÷ÔÚÍø¿¨ºÍÄÚ´æÖ®¼ä´«ËÍÊý¾Ý£¬ËùÒÔÔÚ×µÄÇé¿öÏ£¬Ã¿µ±ÔÚISA×ÜÏß´«ËÍ1.5kBÊý¾Ý°üʱ£¬Ëø¶¼±»Ò»Ö±±£³Ö×Å¡£
ÏÖ´úµÄÖÇÄÜÍø¿¨Ò»°ãÎÞÐè´¦ÀíÆ÷µÄ°ïÖú¾Í¿ÉÒÔÖ±½ÓÔÚÍø¿¨ºÍÄÚ´æÖ®¼ä´«µÝÍøÂçÊý¾Ý¡£ÕâÊǸöºÜ´óµÄ¸Ä½ø£¬ÒòΪֻÐèÒªÔÚ´¦ÀíÆ÷֪ͨÍø¿¨Ê¹ÓÃÄÄÒ»¿éÄÚ´æ±£´æÏÂÒ»¸öÍøÂçÊý¾Ý°üµÄÄÇһС¶Îʱ¼ä³ÖÓÐËø¡£ÏÖ´úµÄÍø¿¨ÔÚÉè¼ÆʱͬÑùÒ²²»ÒªÇó¶ÔÕû¸öÇý¶¯³ÌÐòʹÓÃÒ»¸ö´óËø¡£
Alpha/AXPµÄPCI°åÉϵÄLinuxÒÔÌ«Íø¿¨
¶ÔÓÚv2.0£¬Ö»ÓÐ3c509¡¢depca¡¢de4x5¡¢pcnet32ºÍËùÓÐ8390Çý¶¯³ÌÐò£¨wd¡¢smc-ultra¡¢ne¡¢3c503µÈµÈ£©ÊDZàд³É¡°½á¹¹Î޹ء±µÄ£¬ËùÒÔËüÃÇ¿ÉÒÔÔËÐÐÔÚ»ùÓÚDECµÄAlpha CPUϵͳÉÏ¡£ÆäËüһЩ´ÓDonaldµÄWWWÖ÷Ò³ÉÏÏÂÔصĸüйýµÄPCIÇý¶¯³ÌÐòÒ²¿ÉÒÔ¹¤×÷£¬ÒòΪËüÃÇÒ²ÊÇ°´ÕսṹÎ޹صÄ˼Ïë±àдµÄ¡£
×¢Ò⣬ʹÇý¶¯³ÌÐòÓë½á¹¹ÎÞ¹ØËùÐèÒª½øÐеĸĶ¯²¢²»ºÜ¸´ÔÓ¡£Ö»ÐèÒªÈçϽøÐУº
--°ÑËùÓÐÓëjiffiesÓйصÄÖµ¶¼³ËÒÔHZ/100£¬µÃµ½AlphaʹÓõIJ»Í¬µÄHZÖµ¡££¨¼´timeout=2;±ä³Étimeout=2*HZ/100;£©
--°ÑËùÓÐI/OÄڴ棨´Ó640kµ½1MB£©µÄÖ¸ÕëÒýÓÃÌ滻ΪÏàÓ¦µÄreadb() writeb() readl() writel()µ÷Óã¬ÈçÏÂÀýËùʾ¡£
- int *mem_base = (int *)dev->mem_start;
- mem_base[0] = 0xba5eba5e;
+ unsigned long mem_base = dev->mem_start;
+ writel(0xba5eba5e, mem_base);
--°ÑËùÓÐʹÓÃI/OÄÚ´æ×÷ΪԴ»òÄ¿µÄµØÖ·µÄmemcpy()µ÷ÓÃÌ滻ΪÏàÓ¦µÄmemcpy_fromio()»òÕßmemcpy_toio()µ÷Óá£
ÒԽṹÎ޹صķ½Ê½´¦ÀíÄÚ´æ·ÃÎʵÄϸ½ÚÔÚ½üÆÚµÄÄÚºËËù¸½µÄÎļþlinux/Documentation/IO-mapping.txtÖнøÐÐÁË˵Ã÷¡£
SUN/SparcÓ²¼þÉϵÄLinuxÒÔÌ«Íø¿¨
ÒªµÃµ½×îеÄSparcÐÅÏ¢£¬¿ÉÒÔ·ÃÎÊÒÔÏÂURL£º
Linux Sparc
×¢Ò⣬ÓÐЩSparcµÄÒÔÌ«ÍøÓ²¼þ´ÓÖ÷»ú»ñµÃÆäMACµØÖ·£¬Òò´Ë¿ÉÄÜ»áÓжà¸ö½Ó¿Ú¾ßÓÐÏàͬµÄMACµØÖ·¡£Èç¹ûÏëÔÚͬһ¸öÍøÂçÉÏʹÓöà¸ö½Ó¿Ú£¬¿ÉÒÔʹÓÃifconfigµÄhwÑ¡ÏîÒÔ·ÖÅäΨһµÄMACµØÖ·¡£
°ÑPCIÇý¶¯³ÌÐòÒÆÖ²µ½Sparcƽ̨ÉÏÓëÉÏÃæÌáµ½µÄAXPƽ̨ÏàËÆ¡£¿ÉÄܵIJîÒì³öÔÚendianÉÏ£¬ÒòΪSparcÊÇbig endian£¬¶øAXPºÍix86ÊÇlittle endian¡£
ÆäËüÓ²¼þÉϵÄLinuxÒÔÌ«Íø¿¨
»¹ÓÐһЩÆäËüÓ²¼þƽ̨¿ÉÒÔÔËÐÐLinux£¬±ÈÈçAtari/Amiga£¨m68k£©¡£¾ÍÏóSparcÒ»Ñù£¬×îºÃÊÇ·ÃÎÊÿ¸öLinuxÖ§³ÖµÄƽ̨Ö÷Ò³£¬ÒÔÁ˽⵱ǰ¶¼Ö§³ÖÄÄЩӲ¼þ¡££¨»¶ÓÌṩÕâÑùµÄÕ¾µãÁ¬½Ó----°ÑËüÃÇ·¢¸øÎÒ£¡£©
²»Ê¹ÓÃHubÁ¬½Ó10/100BaseT
¿ÉÒÔ²»Ê¹ÓÃHubÁ¬½Ó»ùÓÚ10/100BaseT£¨RJ45£©µÄϵͳÂð£¿
Èç¹û²»Ê¹ÓöîÍâµÄÉ豸»ò»úеװÖ㬿ÉÒÔºÜÈÝÒ×µØÁ¬½ÓÁ½Ì¨ÕâÑùµÄ»úÆ÷£¬µ«²»¿ÉÄÜÔٶࡣ²ÎÔÄË«½ÊÏß----½âÊÍÁËÈçºÎ×öµ½ÕâÒ»µã¡£¶øÇÒÄã²»¿ÉÄܼòµ¥µØ½»²æ¼¸¸ùÏß»òÆäËüʲô¾ÍŪ³öÒ»¸öHub£¬²»¸´ÖÆHubÒ²ÎÞ·¨ÕýÈ·Íê³É³åÍ»Ðźš£
SIOCSIFxxx: No such device
ÔÚÆô¶¯Ê±³öÏÖÁËÒ»´ó¶Ñ¡°SIOCSIFxxx: No such device¡±ÐÅÏ¢£¬ºóÃ滹ÓÐÒ»Ìõ¡°SIOCADDRT: Network is unreachable¡±£¬Ôõô»ØÊ£¿
ÄãµÄÒÔÌ«ÍøÉ豸ÔÚÆô¶¯/²åÈëÄ£¿éʱûÓб»¼ì²âµ½£¬µ±ifconfigºÍrouteÔËÐÐʱ£¬ËüÃÇûÓпÉÓõÄÉ豸¡£Ê¹ÓÃdmesg | moreÀ´ä¯ÀÀÆô¶¯ÐÅÏ¢£¬¿´¿´ÓÐûÓмì²âÒÔÌ«Íø¿¨µÄÐÅÏ¢¡£
SIOCSFFLAGS: Try again
ÔÚÔËÐС°ifconfig¡±Ê±³öÏÖ¡°SIOCSFFLAGS: Try again¡±----Ôõô»ØÊ£¿
ijЩÆäËüµÄÉ豸ʹÓÃÁËÒÔÌ«Íø¿¨ÏëÓõÄIRQ£¬ËùÒÔÒÔÌ«Íø¿¨ÎÞ·¨Ê¹ÓøÃIRQ¡£Äã²»±ØÖØÐÂÆô¶¯À´½â¾öÕâ¸öÎÊÌ⣬ÒòΪijЩÉ豸ֻÊÇÔÚÐèҪʱ²Å»ñÈ¡IRQ£¬ÔÚÍê³Éºó¾ÍÊÍ·ÅÁË¡£ÀýÈçijЩÉù¿¨¡¢´®¿Ú¡¢ÈíÅÌÇý¶¯Æ÷µÈ¡£Äã¿ÉÒÔ¼üÈëcat /proc/interruptsÀ´¿´¿´ÄÄЩÖжÏÕýÔÚ±»Ê¹Ó᣾ø´ó¶àÊýLinuxÒÔÌ«Íø¿¨Çý¶¯³ÌÐòÖ»ÓÐÔÚÓá°ifconfig¡±´ò¿ªÊ±²Å»ñÈ¡IRQ¡£Èç¹ûÄãÄÜÈÃÆäËüÉ豸¡°·Å¿ª¡±ËùÐèµÄIRQÖжÏÏߣ¬ÄÇôÄã¾Í¿ÉÒÔÓÃifconfigÀ´¡°ÔÙÊÔһϡ±ÁË¡£
ʹÓá°ifconfig¡±µÃµ½µÄÁ¬½ÓΪUNSPEC£¬¶øÓ²¼þµØÖ·ÊÇ00:00:00:00:00:00
ÔÚ²»´ø²ÎÊýÔËÐÐifconfigʱ£¬±¨¸æ˵Á¬½ÓΪUNSPEC£¨¶ø²»ÊÇ10MbsÒÔÌ«Íø£©£¬¶øÇÒÓ²¼þµØÖ·¶¼ÊÇÁã¡£
ÕâÊÇÒòΪÔËÐеġ°ifconfig¡±³ÌÐò°æ±¾±ÈÄں˵İ汾¸ß¡£ÔÚÓëÀÏ°æ±¾µÄÄÚºËÒ»ÆðÔËÐÐʱ£¬Ð°汾µÄifconfigÎÞ·¨±¨¸æÕâЩÌØÐÔ¡£Äã¿ÉÒÔÉý¼¶Äںˣ¬»òÕß¡°½µ¼¶¡±ifconfig£¬»òÕ߸ɴ಻Àí»áÕâ¸ö´íÎó¡£ÄÚºËÖªµÀÓ²¼þµØÖ·£¬ËùÒÔ¼´Ê¹ifconfigÎÞ·¨¶Á³öËüҲûÓйØϵ¡£
Èç¹ûʹÓõÄifconfig³ÌÐò±ÈʹÓõÄÄں˾ɺܶàµÄ»°£¬Ò²»á³öÏÖһЩÆæ¹ÖµÄÐÅÏ¢¡£
´óÁ¿µÄRXºÍTX´íÎó
ÔÚ²»´ø²ÎÊýÔËÐÐifconfigʱ£¬±¨¸æ´óÁ¿µÄ½ÓÊպͷ¢ËÍÊý¾Ý°ü´íÎó¡£µ«¿´ÆðÀ´¹¤×÷Õý³£----Ôõô»ØÊ£¿
ÔÙ¿´Ò»±é¡£±¨¸æÊÇ˵RX packets big number Í£¶Ù errors 0 Í£¶Ù dropped 0 Í£¶Ù overrun 0¡£ËùÒÔÄã¿´µ½µÄÄǸö´óÊý×ÖÊÇ»úÆ÷½ÓÊպͷ¢Ë͵ÄÊý¾Ý°ü×ÜÊý¡£Èç¹û»¹¾õµÃ²»¿É˼Ò飬¼üÈëcat /proc/net/devÊÔÊÔ¡£
/dev/ÏÂÒÔÌ«Íø¿¨µÄÈë¿Ú
/dev/eth0ÏóÊǸöµ½/dev/xxxµÄÁ¬½Ó¡£ÕâÑù¶ÔÂð£¿
ÓëÄãÌý¹ýµÄÕýºÃÏà·´£¬/dev/*ϵÄÎļþû±»Ê¹Óá£Äã¿ÉÒÔɾ³ýµôÈκÎ/dev/wd0, /dev/ne0ÒÔ¼°ÀàËƵÄÈë¿Ú¡£
LinuxÓë¡°trailers¡±
ÔÚ¡°ifconfig¡±Íø¿¨Ê±£¬ÐèÒª½ûÖ¹trailersÂð£¿
²»ÄܽûÖ¹trailers£¬¶øÇÒҲû±ØÒª¡£¡°trailers¡±ÊDZÜÃâÔÚÍøÂç²ã¸´ÖÆÊý¾ÝµÄ¹¤¾ß¡£ÆäÏë·¨ÊÇʹÓÃÒ»¸ö´óСΪ¡°H¡±µÄ¹Ì¶¨´óСµÄÍ·£¬°Ñ¿É±ä´óСµÄÍ·ÐÅÏ¢·ÅÔÚ°üµÄβ²¿£¬²¢°ÑËùÓаü¶¨Î»ÔÚÒ³¿ªÊ¼Ö®Ç°µÄ¡°H¡±×Ö½Ú¡£ÕâÖ»ÊǸöºÃÏë·¨£¬ÔÚʵ¼ÊÖй¤×÷µÃ²¢²»ºÃ¡£Èç¹ûÓÐÈ˽¨ÒéʹÓá°-trailers¡±£¬ÄDz»¹ýÊÇÕÒ¸öÌæ×ïÑò°ÕÁË¡£Õâ¶Ô½â¾öÎÊÌâûÓÐÈκÎÒâÒ壬µ«Èç¹ûÎÊÌâÕæµÄ×ÔÐнâ¾öÁË£¬ÄÇôËû¾Í¿ÉÒÔ´µÐê×Ô¼ºµÄÉñÆæ±¾ÁìÁË¡£
·ÃÎÊÔʼÒÔÌ«ÍøÉ豸
ÔÚLinuxÏÂÔõÑù²»Í¨¹ýTCP/IPÖ®ÀàµÄ¶«Î÷·ÃÎÊÔʼµÄÒÔÌ«ÍøÉ豸£¿
int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
ÕâÑù¾Í¿ÉÒԵõ½Ò»¸ö½ÓÊÕËùÓÐÐÒéÀàÐ͵Äsocket¡£¶ÔËüÖ´ÐÐrecvfrom()µ÷Óã¬Ëü¾Í»áÓÃsa_familyÀïµÄÉ豸ÀàÐͺÍsa_dataÊý×éÀïµÄÉ豸ÃûÀ´Ìî³äsockaddr¡£ÎÒ²»ÖªµÀÊÇË×îÔçÔÚLinuxÀïʹÓÃSOCK_PACKET£¬µ«ËüȷʵÊǸö·Ç³£ºÃµÄ¶«Î÷¡£ÄãÒ²¿ÉÒÔͨ¹ýsendto()µ÷Ó÷¢ËÍÔʼÊý¾Ý°ü¡£µ±È»£¬ÔÚÕâÑù×öʱÄã±ØÐëÓµÓÐrootµÄȨÏÞ¡£