Íø¿¨ÊÇlinux·þÎñÆ÷ÖÐ×îÖØÒªÍøÂçÉ豸¡£¾Ýͳ¼Æ£¬linuxÍøÂç¹ÊÕÏÓÐ35£¥ÔÚÎïÀí²ã¡¢25£¥ÔÚÊý¾ÝÁ´Â·²ã¡¢10£¥ÔÚÍøÂç²ã¡¢10£¥ÔÚ´«Êä²ã¡¢10£¥ÔÚ¶Ô»°¡¢7£¥ÔÚ±íʾ²ã¡¢3£¥ÔÚÓ¦Óò㡣ÓÉ´Ë¿ÉÒÔ¿´³ö£¬ÍøÂç¹ÊÕÏͨ³£·¢ÉúÔÚÍøÂçÆß²ãÄ£Ð͵ÄÏÂÈý²ã£¬¼´ÎïÀí²ã¡¢Á´Â·²ãºÍÍøÂç²ã¡£¶ÔÓ¦ÓÚʵ¼ÊÍøÂçÒ²¾ÍÊÇʹÓõÄÍøÂçÏßÀ¡¢Íø¿¨¡¢½»»»»ú¡¢Â·ÓÉÆ÷µÈÉ豸¹ÊÕÏ¡£linuxµÄÍøÂçʵÏÖÊÇÄ£·ÂfreebsdµÄ£¬ËüÖ§³ÖfreebsdµÄ´øÓÐÀ©Õ¹µÄsockets£¨Ì×½Ó×Ö£©ºÍtcp/ipÐÒé¡£ËüÖ§³ÖÁ½¸öÖ÷»ú¼äµÄÍøÂçÁ¬½ÓºÍsocketsͨѶģÐÍ£¬ÊµÏÖÁËÁ½ÖÖÀàÐ͵Äsockets£ºbsd socketsºÍinet sockets¡£ËüΪ²»Í¬µÄͨÐÅÄ£ÐͺͷþÎñÖÊÁ¿ÌṩÁËÁ½ÖÖ´«ÊäÐÒ飬¼´²»¿É¿¿µÄ¡¢»ùÓÚÏûÏ¢µÄudp´«ÊäÐÒéºÍ¿É¿¿µÄ¡¢»ùÓÚÁ÷µÄ´«ÊäÐÒétcp£¬²¢ÇÒ¶¼ÊÇÔÚipÍøÂçÐÒéÉÏʵÏֵġ£inet socketsÊÇÔÚÒÔÉÏÁ½¸öÐÒé¼°ipÐÒéÖ®ÉÏʵÏֵġ£
ÓÉÓÚ½»»»»ú¡¢Â·ÓÉÆ÷ͨ³£¶ÀÁ¢ÓÚlinux»òÕ߯äËû²Ù×÷ϵͳ¡£Íø¿¨ÉèÖùÊÕÏÊÇÔì³Élinux ·þÎñÆ÷¹ÊÕÏ×îÖ÷ÒªÔÒò¡£¿ÉÄÜÒòΪӲ¼þµÄÖÊÁ¿»òÐÔÄÜ¡¢Ä¥ËðÀÏ»¯¡¢ÈËΪÎó²Ù×÷¡¢²»ÕýÈ·µÄÍøÂçÉèÖᢹÜÀíÎÊÌâ¡¢linuxÈí¼þµÄbug¡¢ÏµÍ³Êܵ½ºÚ¿Í¹¥»÷ºÍlinux²¡¶¾µÈÔÒòÔì³É¡£
¡¡¡¡
¡¡¡¡linux ·þÎñÆ÷Íø¿¨¹ÊÕÏÅųýµÄ˼·ÊÇ£ºÓ¦µ±×ñÑÏÈÓ²¼þºóÈí¼þµÄ·½·¨¡£ÒòΪӲ¼þÈç¹û³öÏÖÎïÀíËð»µÄÇôÈçºÎÉè¶¨Íø¿¨¶¼²»Äܽâ¾ö¹ÊÕÏ¡£½â¾öÎÊÌâµÄ·½·¨¿ÉÒÔ´Ó×ÔÉílinux¼ÆËã»úµÄÍø¿¨²éÆð£¬Èç¹ûÈ·¶¨Ó²¼þûÓÐÎÊÌâÁË£¬ÔÙÀ´¿¼ÂÇÈí¼þµÄÉ趨¡£
¡¡¡¡
¡¡¡¡1.Íø¿¨µÄÑ¡Ôñ
¡¡¡¡
¡¡¡¡Ò»°ãÀ´Ëµ£¬2.4°æ±¾ÒÔºóµÄ linux¿ÉÒÔÖ§³ÖµÄÍø¿¨Ð¾Æ¬×éÊýÁ¿ÒѾºÜÍ걸ÁË£¬°üÀ¨ÖøÃû³§ÉÌÈ磺intel ÒÔ¼°Ê¹Óù㷺µÄ realtek, via µÈÍø¿¨Ð¾Æ¬¶¼ÒѾ±»Ö§³Ö£¬ËùÒÔʹÓÃÕß¿ÉÒÔºÜÇáÒ×µÄÉ趨ºÃËûÃǵÄÍøÂ翨¡£µ«ÊÇÓÉÓÚlinux·¢Ðа汾ÖڶࣨĿǰ³¬¹ý188¸ö£©£¬Ê¹ÓÃǰ×îºÃ²é¿´linux·¢Ðа汾µÄÎĵµ¡£ÒÔredhat linux 9.0ΪÀý£¬Õâ¸öÉ豸ÁбíÔÚethernet- howtoÎĵµÖС£ÁíÍâ×îÖ±½ÓµÄ·½·¨ÊDz鿴һ¸öĿ¼£º/lib/modules/release/kernel/drivers/net,ÆäÖÐreleaseÊÇÄں˰汾£¬¿ÉÒÔʹÓÃÃüÁ¡°uname -r¡±»ñµÃ¡£¶ÔÓÚredhat linux 9.0ÊÇ2.4.20-8¡£
¡¡¡¡
¡¡¡¡#ls /lib/modules/2.4.20-8/kernel/drivers/net/
¡¡¡¡3c501.o¡¡¡¡¡¡¡¡¡¡¡¡ atp.o¡¡¡¡¡¡ eth16i.o¡¡¡¡¡¡ni52.o¡¡¡¡¡¡¡¡ smc-ultra.o
¡¡¡¡3c503.o¡¡¡¡¡¡¡¡¡¡¡¡ bonding.o¡¡ ethertap.o¡¡¡¡ni65.o¡¡¡¡¡¡¡¡ starfire.o
¡¡¡¡3c505.o¡¡¡¡¡¡¡¡¡¡¡¡ cs89x0.o¡¡¡¡ewrk3.o¡¡¡¡¡¡ ns83820.o¡¡¡¡¡¡strip.o
¡¡¡¡3c507.o¡¡¡¡¡¡¡¡¡¡¡¡ de4x5.o¡¡¡¡ fc¡¡¡¡¡¡¡¡¡¡¡¡pcmcia¡¡¡¡¡¡¡¡ sundance.o
¡¡¡¡3c509.o¡¡¡¡¡¡¡¡¡¡¡¡ de600.o¡¡¡¡ fealnx.o¡¡¡¡¡¡pcnet32.o¡¡¡¡¡¡sungem.o
¡¡¡¡3c515.o¡¡¡¡¡¡¡¡¡¡¡¡ de620.o¡¡¡¡ hamachi.o¡¡¡¡ plip.o¡¡¡¡¡¡¡¡ sunhme.o
¡¡¡¡3c59x.o¡¡¡¡¡¡¡¡¡¡¡¡ defxx.o¡¡¡¡ hamradio¡¡¡¡¡¡ppp_async.o¡¡¡¡tc35815.o
¡¡¡¡8139cp.o¡¡¡¡¡¡¡¡¡¡¡¡depca.o¡¡¡¡ hp100.o¡¡¡¡¡¡ ppp_deflate.o¡¡tg3.o
¡¡¡¡8139too.o¡¡¡¡¡¡¡¡¡¡ dgrs.o¡¡¡¡¡¡hp.o¡¡¡¡¡¡¡¡¡¡ppp_generic.o¡¡tlan.o
¡¡¡¡82596.o¡¡¡¡¡¡¡¡¡¡¡¡ dl2k.o¡¡¡¡¡¡hp-plus.o¡¡¡¡ ppp_synctty.o¡¡tokenring
¡¡¡¡8390.o¡¡¡¡¡¡¡¡¡¡¡¡¡¡dmfe.o¡¡¡¡¡¡irda¡¡¡¡¡¡¡¡¡¡r8169.o¡¡¡¡¡¡¡¡tulip
¡¡¡¡ac3200.o¡¡¡¡¡¡¡¡¡¡¡¡dummy.o¡¡¡¡ lance.o¡¡¡¡¡¡ rcpci.o¡¡¡¡¡¡¡¡tulip_old
¡¡¡¡acenic.o¡¡¡¡¡¡¡¡¡¡¡¡e100¡¡¡¡¡¡¡¡lne390.o¡¡¡¡¡¡sb1000.o¡¡¡¡¡¡ tun.o
¡¡¡¡aironet4500_card.o¡¡e1000¡¡¡¡¡¡ lp486e.o¡¡¡¡¡¡shaper.o¡¡¡¡¡¡ via-rhine.o
¡¡¡¡aironet4500_core.o¡¡e2100.o¡¡¡¡ mii.o¡¡¡¡¡¡¡¡ sis900.o¡¡¡¡¡¡ wan
¡¡¡¡aironet4500_proc.o¡¡eepro100.o¡¡natsemi.o¡¡¡¡ sk98lin¡¡¡¡¡¡¡¡wavelan.o
¡¡¡¡amd8111e.o¡¡¡¡¡¡¡¡¡¡eepro.o¡¡¡¡ ne2k-pci.o¡¡¡¡skfp¡¡¡¡¡¡¡¡¡¡ wd.o
¡¡¡¡appletalk¡¡¡¡¡¡¡¡¡¡ eexpress.o¡¡ne3210.o¡¡¡¡¡¡slhc.o¡¡¡¡¡¡¡¡ winbond-840.o
¡¡¡¡arlan.o¡¡¡¡¡¡¡¡¡¡¡¡ epic100.o¡¡ ne.o¡¡¡¡¡¡¡¡¡¡slip.o¡¡¡¡¡¡¡¡ wireless
¡¡¡¡arlan-proc.o¡¡¡¡¡¡¡¡eql.o¡¡¡¡¡¡ netconsole.o¡¡smc9194.o¡¡¡¡¡¡wireless_old
¡¡¡¡at1700.o¡¡¡¡¡¡¡¡¡¡¡¡es3210.o¡¡¡¡ni5010.o¡¡¡¡¡¡smc-ultra32.o¡¡yellowfin.o
¡¡¡¡
¡¡¡¡¿ÉÒÔ¿´µ½Õâ¸öĿ¼ÁгöËùÓÐlinuxÄÚºËÖ§³ÖµÄÍøÂçÉ豸Çý¶¯³ÌÐò¡£ÆäÖд󲿷ÖÊÇÒÔÌ«Íø¿¨£¨8139¡¢3com¡¢intel£©¡£Ò²ÓÐһЩÊÇÆäËûÀàÐÍÉ豸¡£¶ÔÓÚ³õѧÕßÓ¦µ±¾¡Á¿Ñ¡ÔñĿ¼ÖÐÒѾÁгöµÄÍø¿¨¡£×¢ÒâÒÔ.o ºó׺½áÊøµÄÎļþ¾ÍÊÇÇý¶¯³ÌÐò¡£¶øÃ»Óкó׺µÄÊÇÇý¶¯³ÌÐòĿ¼£¨ºìÉ«£©¡£
¡¡¡¡
¡¡¡¡2.¼ì²éÍø¿¨ÊÇ·ñ¼ÓÔØ£º
¡¡¡¡
¡¡¡¡Çý¶¯Ó²¼þÊDzÙ×÷ϵͳ×î»ù±¾µÄ¹¦ÄÜ£¬²Ù×÷ϵͳͨ¹ý¸÷ÖÖÇý¶¯³ÌÐòÀ´¼ÝÔ¦Ó²¼þÉ豸£¬ºÍwindowsϵͳ²»Í¬linuxÄÚºËĿǰ²ÉÓÿɼÓÔØµÄÄ£¿é»¯Éè¼Æ£¨lkms loadable kernel modules£©£¬¾ÍÊǽ«×î»ù±¾µÄºËÐÄ´úÂë±àÒëÔÚÄÚºËÖУ¬Íø¿¨Çý¶¯³ÌÐòÊÇ×÷ΪÄÚºËÄ£¿é¶¯Ì¬¼ÓÔØµÄ¡£¿ÉÒÔʹÓÃÃüÁî¡°lsmod¡±²é¿´¼ÓÔØÇé¿ö£º
¡¡¡¡
¡¡¡¡## lsmod
¡¡¡¡module¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡size¡¡used by
¡¡¡¡dm_mod¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 54741¡¡0
¡¡¡¡button¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡6481¡¡0
¡¡¡¡battery¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 8901¡¡0
¡¡¡¡ac¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡4805¡¡0
¡¡¡¡md5¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 4033¡¡1
¡¡¡¡joydev¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 10241¡¡0
¡¡¡¡uhci_hcd¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 31065¡¡0
¡¡¡¡ehci_hcd¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 30917¡¡0
¡¡¡¡snd_via82xx¡¡¡¡¡¡¡¡¡¡¡¡26437¡¡0
¡¡¡¡snd_ac97_codec¡¡¡¡¡¡¡¡ 63889¡¡1 snd_via82xx
¡¡¡¡snd_pcm_oss¡¡¡¡¡¡¡¡¡¡¡¡49017¡¡0
¡¡¡¡soundcore¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 9889¡¡1 snd
¡¡¡¡tulip¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡45025¡¡1
¡¡¡¡via_rhine¡¡¡¡¡¡¡¡¡¡¡¡¡¡23113¡¡2
¡¡¡¡mii¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 4673¡¡1 via_rhine
¡¡¡¡ext3¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡116809¡¡2
¡¡¡¡jbd¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡71257¡¡1 ext3
¡¡¡¡
¡¡¡¡¶ÔÿÐжøÑÔ£¬µÚÒ»ÁÐÊÇÄ£¿éÃû³Æ£»µÚ¶þÁÐÊÇÄ£¿é´óС£»µÚÈýÁÐÊǵ÷ÓÃÊý¡£µ÷ÓÃÊýºóÃæµÄÐÅÏ¢¶Ôÿ¸öÄ£¿é¶øÑÔ¶¼ÓÐËù²»Í¬¡£Èç¹û (unused) ±»ÁÐÔÚijģ¿éµÄÄÇÐÐÖУ¬¸ÃÄ£¿éµ±Ç°¾ÍûÔÚʹÓá£Èç¹û (autoclean) ±»ÁÐÔÚijģ¿éµÄÄÇÐÐÖУ¬¸ÃÄ£¿é¿ÉÒÔ±» rmmod -a ÃüÁî×Ô¶¯ÇåÏ´¡£µ±Õâ¸öÃüÁî±»Ö´Ðкó£¬ËùÓÐ×Ô´ÓÉϴα»×Ô¶¯ÇåÏ´ºóδ±»Ê¹Óõı»±ê¼ÇÁË¡°autoclean¡±µÄÄ£¿é¶¼»á±»Ð¶ÔØ¡£´ÔÒÔÉϺìÉ«´ÖÌå×Ö·û¿ÉÒÔ¿´µ½±ÊÕßlinux¼ÆËã»úÖÐÁ½¿éÍø¿¨Ä£¿é£ºtulipºÍvia_rhine ÒѾ¼ÓÔØ¡£¶ÔÓ¦µÄÍø¿¨ÉÌÒµÐͺŷֱðÊÇ£º
¡¡¡¡
¡¡¡¡tulip£ºlite-on communications inc lne100tx [linksys etherfast 10/100]
¡¡¡¡
¡¡¡¡via_rhine£ºvia vt6102[rhine-ii] ³£¼ûÖ÷°å¼¯³ÉÍø¿¨¡£
¡¡¡¡
¡¡¡¡Èç¹ûûÓмì²âµ½Ó²¼þ£¬ÓÃÓ²¼þ¼ì²â³ÌÐòkuduz¼ì²âÍø¿¨£¬ËüºÍwindowsÖÐÌí¼ÓÐÂÓ²¼þ²î²»¶à¡£kudzu³ÌÐòÊÇͨ¹ý²é¿´/usr/share/hwdata/Ŀ¼ÏµÄÎļþʶ±ð¸÷ÖÖÓ²¼þÉ豸µÄ¡£Èç¹ûºËÐÄÖ§³Ö¸ÃÓ²¼þ£¬²¢ÇÒÓиÃÇý¶¯³ÌÐò¾Í¿É×Ô¶¯×°ÔØ¡£Ê×ÏÈ˵Ã÷µÄÊÇlinux϶ÔÍø¿¨µÄÖ§³ÖÍùÍùÊÇÖ»¶ÔоƬµÄ,ËùÒÔ¶ÔijЩ²»ÊǺÜÖøÃûµÄÍø¿¨,ÍùÍùÐèÒªÖªµÀËüµÄоƬÐͺÅÒÔÅäÖÃlinux.±ÈÈçÎÒµÄtop linkÍø¿¨,¾Í²»´æÔÚlinuxµÄÇý¶¯,µ«ÊÇÒòΪËüÊÇne2000¼æÈÝ,ËùÒÔ°ÑËüµ±ne2000¾Í¿ÉÒÔÔÚlinuxÏÂÓÃÁË.ËùÒÔµ±ÄãÓÐÒ»¿éÍø¿¨²»ÄÜÓÃ,ÔÚÕÒlinuxµÄÇý¶¯³ÌÐò֮ǰһ¶¨¸ãÇå³þÕâ¸öÍø¿¨ÓõÄʲôоƬ,¸ú˼æÈÝ,±ÈÈç3c509,ne2000µÈ¡£ÕâÑùµÄÐͺÅÒ»°ã¶¼ÔÚÍø¿¨ÉÏ×î´óµÄÒ»¿ìоƬÉÏÓ¡×Å,³ÏÂÀ´¾ÍÊÇÁË¡£¶ÔÓÚisa½Ó¿ÚµÄne2000¿¨,ÏÈÒª×÷µÄÒ»¼þÊÂÇé,Êǽ«Íø¿¨É趨Ϊjumplessģʽ.ºÜ¶àÏÖÔÚµÄÍø¿¨È±Ê¡ ¶¼ÊÇpnpģʽ,ÕâÔÚwindowsϵÄÈ·ÄܼõÉٺܶàÂé·³,µ«ÊÇlinux²»Ö§³Ö,ËùÒÔlinuxϱØÐëÊÇjumplessģʽ.Ò»°ãËùÓÐÍø¿¨¶¼ÓдøµÄÇý¶¯Å̺ÍdosÏ¿ÉÖ´ÐеÄÒ»¸öÉ趨³ÌÐò,ÓøóÌÐò½«Íø¿¨ÉèΪ jumpless¡£¶ÔÓÚpciÍø¿¨£¬¿ÉÒÔʹÓÃÃüÁîÀ´²é¿´£ºlspci¡£ÔÚÏÔʾµÄÁбíÖÐÕÒµ½¡°ethernet controller¡±£¬¼Çϳ§É̺ÍÐͺš£È»ºóʹÓÃmodprobe³¢ÊÔ¼ÓÔØÕýÈ·µÄÄ£¿é£¬±ÈÈçmodprobe 3c509¡£Èç¹û³öÏÖ´íÎó£¬ËµÃ÷¸ÃÄ£¿é²»´æÔÚ¡£ÕâʱºòÄãÓ¦¸ÃÕÒµ½ÕýÈ·µÄÄ£¿é²¢ÇÒÖØÐ±àÒë¡£ÎÊÌâÒ»°ã¼´¿É½â¾ö¡£
¡¡¡¡
¡¡¡¡Èç¹ûºÜ²»Ðҵģ¬ÄúʹÓõÄÊDZȽϺ±¼ûµÄÒ»Ð©Íø¿¨£¬»òÕßÊÇ linux ºËÐÄÖ§³Ö²»¹»µÄÍø¿¨£¬ÒÔÖÂÓÚÔÚ°²×° linux ʱ£¬²¢ÎÞ·¨¼ì²âµ½Íø¿¨£¬ÄÇÒ²²»Óõ£ÐÄ£¬ÎÒÃÇ¿ÉÒÔʹÓýÏΪ¼òµ¥µÄºËÐÄÄ£¿é±àÒëÀ´Ö§³ÖÕâÕÅÍø¿¨¡£ÏÂÃæÒÔ±ÊÕßµÄ3comµÄ3cr990-tx-97 Íø¿¨ÎªÀý£¨Ò»¿î¾ßÓа²È«ÌØÐÔÍø¿¨£©¿´¿´ÈçºÎ½øÐÐÄ£¿é±àÒë¡£Ê×ÏÈÔÚÆäÍøÕ¾http://www.3com.com/infodeli/tools/nic/linuxdownload.htm ÏÂÔØºÏÊÊÄãʹÓÃÄں˰汾µÄÏà¹ØÇý¶¯³ÌÐò£¬ÕâÀïÒÔ2.4ÄÚºËΪÀý¡£
¡¡¡¡
¡¡¡¡#wegt http://www.3com.com/infodeli/tools/nic/3c990-1.0.0a.tar.gz
¡¡¡¡
¡¡¡¡ÁíÍâÔÚ¿ªÊ¼±àÒëºËÐÄÄ£¿é֮ǰ£¬ÒòΪÇý¶¯³ÌÐòÐèÒªÅäºÏºËÐÄÀ´±àÒ룬ËùÒÔ»áʹÓõ½ kernel source »òÕßÊÇ kernel header µÄÊý¾Ý£¬´ËÍ⣬ҲÐèÒª±àÒëÆ÷ ( compiler ) µÄ°ïÖú£¬Òò´Ë£¬ÏÈÈ·¶¨ÄúµÄ linux ϵͳµ±ÖÐÒѾÏÂÁÐÈí¼þµÄ´æÔÚ £ºkernel-source ¡¢kernel ¡¢gcc ¡¢make¡£
¡¡¡¡
¡¡¡¡#tar zxvf 3c990-1.0.0a.tar.gz
¡¡¡¡#make
¡¡¡¡
¡¡¡¡´Ëʱ»á²úÉú3c990.o Çý¶¯Ä£¿é¡£È»ºóʹÓÃÃüÁ±´µ½ÏàÓ¦µØ·½È»ºó²é¿´¼ÓÔØÊÇ·ñÕý³£¡£
¡¡¡¡
¡¡¡¡#modprobe 3c990
¡¡¡¡#cp 3c990.o¡¡/lib/modules/2.4.20-8/kernel/drivers/net
¡¡¡¡# depmod -a
¡¡¡¡
¡¡¡¡È»ºóʹÓÃlsmod ÃüÁî¼ì²é¼ÓÔØÇé¿ö£¬Èç¹ûÒ»ÇÐÕý³£µÄ»°¡£¿ÉÒÔÈÃϵͳÆô¶¯Ê±×Ô¶¯¼ÓÔØ¸ÃÄ£¿é£º
¡¡¡¡
¡¡¡¡#echo ¡°alias eth0 3c990¡±>> /etc/modules.conf