ÀÌ°÷¿¡´Â ÀÌ´õ³Ý¿¡ ¿¬°áµÈ ¸®´ª½º¸¦ »ç¿ëÇÏ´Â °Í¿¡ ´ëÇÑ ÀÚÁÖ ¹°¾îº¸´Â Áú¹®µé(FAQ)ÀÌ ÀÖ´Ù. ¸î¸î ƯÁ¤ Áú¹®µéÀº `Á¦Á¶¾÷üº°'¿¡ Á¤¸®µÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀÌ ´äº¯À» ¿øÇÏ´Â Áú¹®µéÀº ÀÌ¹Ì ´Ù¸¥ ´©±º°¡°¡ Áú¹®ÇÑ °Í(±×¸®°í ´äº¯ÀÌ µÇ¾ú´Ù!)ÀÌ°í, ¸¸ÀÏ ¿©±â¼ ¿øÇÏ´Â ´äº¯À» ãÁö ¸øÇÒ °æ¿ì,Àû¾îµµ ¾Æ·¡°°ÀÌ ¿©·¯ºÐÀÌ ¿øÇÏ´Â ´º½º ¾ÆÄ«À̺갡 ÀÖ´Â °÷À» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. Dejanews.
³»°¡ µè±â·Î´Â ³» Ä«µå¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °»½ÅµÇ°Å³ª ½ÃÇè¹öÀüÀÇ ¾ËÆÄ µå¶óÀ̹ö°¡ ÀÖ´Ù °í Çϴµ¥ ¾îµð¼ ±¸ÇÒ¼ö ÀÖÀ»±î?
`»õ' µå¶óÀ̹öµéÀÇ °¡Àå ÃֽŹöÀüÀº DonaldÀÇ ftp »çÀÌÆ®
cesdis.gsfc.nasa.gov
¾ÈÀÇ /pub/linux/
¿¡¼ ±¸ÇÒ¼ö ÀÖ´Ù. ¿©±âÀÖ´Â °ÍµéÀº
ÀÚÁÖ ¹Ù²î¹Ç·Î, ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶ÇÇÑ, WWW ºê¶ó¿ìÀú¸¦ »ç¿ëÇؼ
¿¡ °¡¸é ¿©·¯ºÐÀÌ Ã£°íÀÚ ÇÏ´Â µå¶óÀ̹ö¸¦ ´õ¿í ½±°Ô ãÀ»¼ö ÀÖ´Ù. (WWW ºê¶ó¿ìÀú·Î ãÀ¸¸é ¼Ò½ºÀÇ ÅÇÀ» ½ºÆäÀ̽º³ª ±âŸµîµîÀ¸·Î ¹Ù²Ù¾î¹ö¸°´Ù - ftp¸¦ »ç¿ëÇϰųª È®½ÇÇÏÁö ¾Ê´Ù¸é Àû¾îµµ ´Ù¿î¹ÞÀ» FTP URLÀº ¾Ë¾ÆµÖ¶ó.)
ÀÚ, ¸¸ÀÏ ±×°ÍÀÌ Á¤¸»·Î ¾ËÆÄ µå¶óÀ̹ö, ¶Ç´Â ¾ËÆÄ ÀÌÀüÀÇ µå¶óÀ̹ö¶ó¸é, ±× À̸§Ã³·³ ´Ù·ç±â ¹Ù¶õ´Ù. ´Ù¸¥ ¸»·Î Çϸé, ¿©·¯ºÐÀÌ ±×°ÍÀ¸·Î ¹«¾ùÀ» ÇÏ´ÂÁö ÀÌÇØÇÏÁö ¸øÇÒÁö¶óµµ ºÒÆòÇÏÁö ¸»¶ó´Â °ÍÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¾î¶»°Ô ¼³Ä¡ÇÏ´ÂÁö ÀÌÇØÇÒ¼ö ¾ø´Ù¸é, ¾Æ¸¶µµ ½ÃÇè Çغ¸Áö ¸øÇÒ °ÍÀÌ´Ù. ¶Ç, ±×°Í ¶§¹®¿¡ ¿©·¯ºÐÀÇ ¸Ó½ÅÀÌ ´Ù¿îµÇ´õ¶óµµ ºÒÆòÇÏÁö ¸¶¶ó. ´ë½Å Àß ÀÛ¼ºµÈ ¹ö±× ¸®Æ÷Æ®¸¦ º¸³»°Å³ª, ÆÐÄ¡¸¦ º¸³»ÁØ´Ù¸é ´õ ÁÁ´Ù!
Ç¥ÁØ Ä¿³Î ¼Ò½º Æ®¸®¿¡ Æ÷ÇԵǾî ÀÖ´Â ¸î¸î `»ç¿ë°¡´ÉÇÑ' ½ÇÇèÀûÀÎ/¾ËÆÄ µå¶óÀ̹öµé¿¡
´ëÇØ ¾Ë¾ÆµÎ¾î¾ß ÇÒ °ÍµéÀÌ´Ù.
make config
¸¦ ÇßÀ»¶§ °¡Àå ¸ÕÀú ¹°¾îº¸´Â °ÍÀº ``°³¹ßÁßÀÎ ¶Ç´Â ¿ÏÀüÇÏÁö ¾ÊÀº ÄÚµå/
µå¶óÀ̹öµé¿¡ ´ëÇØ Ç¥½Ã(Prompt for development and/or incomplete code/drivers)''ÇÒ°ÍÀÎÁö
¾Æ´ÑÁö ÀÌ´Ù. ¾ËÆÄ/½ÇÇèÀûÀÎ µå¶óÀ̹öµéÀ» Æ÷ÇÔÇÒ °ÍÀÎÁö¿¡
°üÇÑ Áú¹®µéÀ» ¹ÞÀ¸·Á¸é ¿©±â¿¡ `Y'¶ó°í ´äÇØ¾ß ÇÑ´Ù.
¸®´ª½º¿¡¼ µÎ°³ÀÇ ÀÌ´õ³Ý Ä«µå¸¦ »ç¿ëÇÏ·Á¸é ¹«¾ùÀÌ ÇÊ¿äÇϳª¿ä?
ÀÌ Áú¹®¿¡ ´ëÇÑ ´äÀº µå¶óÀ̹ö°¡ ÀûÀç°¡´ÉÇÑ ¸ðµâ·Î »ç¿ëµÇ°í ÀÖ´ÂÁö Ä¿³Î¿¡ Á÷Á¢ ÄÄÆÄ
ÀÏµÇ¾î µé¾î°¡ ÀÖ´Â °ÍÀÎÁö¿¡ µû¶ó ´Þ¶óÁø´Ù. Áö±ÝÀÇ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷º»µéÀº ¸ðµâ·¯
µå¶óÀ̹ö¸¦ »ç¿ëÇÑ´Ù. À̵éÀº ¹èÆ÷µÇ°í ÀÖ´Â ¼ö¸¹Àº Ä¿³Îµé°ú °¢°¢ÀÇ ´Ù¸¥ µå¶óÀ̹öµéÀ»
¸¸µé¾î ÀúÀåÇÑ´Ù. ´ÜÀÏ ±âº» Ä¿³ÎÀÌ »ç¿ëµÇ´Â ´ë½Å¿¡ ƯÁ¤ »ç¿ëÀÚÀÇ ½Ã½ºÅÛ¿¡ ÇÊ¿äÇÑ °¢°¢
ÀÇ µå¶óÀ̹öµéÀÌ ½Ã½ºÅÛÀÌ ºÎÆÃµÉ ¶§ µå¶óÀ̹ö ¸ðµâ ÆÄÀϵ鿡 ÃæºÐÈ÷ Á¢±ÙÇÒ¼ö ÀÖµµ·Ï Çѹø
·ÎµåµÈ´Ù. (ÀϹÝÀûÀ¸·Î /lib/modules/
¿¡ ÀúÀåµÈ´Ù.)
µå¶óÀ̹ö¸¦ ¸ðµâ·Î:
PCI µå¶óÀ̹öµéÀÇ °æ¿ì, º¸Åë ¼³Ä¡µÈ ¸ðµç Ä«µåÀÇ ºê·£µå ¸ðµ¨À» ÀÚµ¿ÀûÀ¸·Î ã¾Æ³¾ °ÍÀÌ´Ù.
±×·¯³ª, ISA Ä«µåµéÀÇ °æ¿ì, Ä«µå¸¦ ã¾Æ³»´Â ÀÛ¾÷ÀÌ ¾ÈÀüÇÏÁö ¾Ê±â ¶§¹®¿¡, º¸Åë ¸ðµâÀÌ
¾îµð¼ Ä«µå¸¦ ãÀ»¼ö ÀÖ´ÂÁö 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
ȤÀº
O °ªÀ» ¹ÞÀ»¼ö ÀÖ´Ù. ±×·¯³ª, 3c501.o ¸ðµâ°ú °°Àº ¸î¸î (±¸ÇüÀÇ?)
µå¶óÀ̹öµéÀº ¸ðµâÀ» ·ÎµåÇÒ ¶§¸¶´Ù ´ÜÁö ÇϳªÀÇ Ä«µå¸¸À» ´Ù·ê¼ö ÀÖ´Ù. ÀÌ °æ¿ì¿¡
µÎ ÀåÀÇ Ä«µå¸¦ ¸ðµÎ ã±â À§Çؼ ¿©·¯ºÐÀº ¸ðµâÀ» µÎ¹ø ·ÎµåÇÒ ¼ö ÀÖ´Ù.
ÀÌ °æ¿ì¿¡ modprobe eth1
¶ó°í Çϸé, ne.o
µå¶óÀ̹ö°¡
eth0
³ª eth1
¸¦ À§ÇÑ µå¶óÀ̹ö¸¦ ·ÎµåÇÒ °ÍÀÌ´Ù. ±×¸®°í
ne.o
¸ðµâÀÌ ÀûÀçµÉ¶§, io=0x240,0x300
¶ó´Â ¿É¼ÇÀ» °¡Áö°í
·ÎµåµÇ¾î, µå¶óÀ̹ö°¡ ¾îµð¿¡¼ Ä«µå¸¦ ãÀ»Áö ¾Ë·ÁÁÖ°Ô µÈ´Ù. 0x
´Â
Áß¿äÇÏ´Ù - DOS ¼¼»ó¿¡¼ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´ø 300h
°°Àº °ÍµéÀº ÅëÇÏÁö
¾Ê´Â´Ù. 0x240
¿Í 0x300
ÀÇ ¼ø¼¸¦ ¹Ù²Ù´Â °ÍÀº
eth0
¿Í eth1
ÀÇ ¹°¸®Àû Ä«µå ¼ø¼¸¦ ¹Ù²Ù´Â °ÍÀÌ µÈ´Ù.
´ëºÎºÐÀÇ ISA ¸ðµâ µå¶óÀ̹öµéÀº ÀÌ ¿¹¿Í °°ÀÌ ¿©·¯°³ÀÇ Ä«µå¸¦ ´Ù·ç±â À§ÇØ ÄÞ¸¶·Î
±¸ºÐµÈ ¿©·¯°³ÀÇ I/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
¿¡ ÀÖ´Â 3c509 Ä«µå¿Í 0x280
¿¡ ÀÖ´Â
SMC Elite16 (WD8013) Ä«µå¸¦ °¡Áø À¯Àú°¡ ÀÖ´Ù.
±× ¼³Á¤Àº ´ÙÀ½°ú °°À» °ÍÀÌ´Ù.
alias eth0 wd alias eth1 3c503 options wd io=0x280 options 3c503 io=0x350
PCI Ä«µåµéÀÇ °æ¿ì, PCI Ä«µåÀÇ I/O ÁÖ¼Ò´Â ¾ÈÀüÇÏ°Ô Ã£¾Æ³¾¼ö Àֱ⠶§¹®¿¡
¿©·¯ºÐÀº º¸Åë ÀûÀýÇÑ µå¶óÀ̹ö À̸§°ú °°ÀÌ ethN
ÀÎÅÍÆäÀ̽º¿Í ¿¬°üµÈ alias
ÁÙ¸¸ÀÌ ÇÊ¿äÇÏ´Ù.
»ç¿ë°¡´ÉÇÑ ¸ðµâµéÀº º¸Åë /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
´Â ºÎÆýÿ¡ ã¾ÆÁö´Â ¼ø¼´ë·Î
Á¤ÇØÁö°Ô µÈ´Ù. ¸¸ÀÏ Ä«µå°¡ eth0
´Â 0x300
¿¡, ±×¸®°í
eth1
´Â 0x280
¿¡ ÀÖ´Ù¸é, ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1
ether=
¸í·ÉÀº À§¿¡¼ º¸¿©Áö´Â ¹Ù¿Í °°ÀÌ IRQ + I/O + À̸§À» ¹Þ¾ÆµéÀÌ°Ô
µÈ´Ù. Àüü ¹®¹ý°ú ƯÁ¤ Ä«µå ÀÎÀÚµé, ±×¸®°í LILO ÆÁµéÀ» º¸·Á¸é ´ÙÀ½À» º¸¸é µÈ´Ù.
ÀÌ´õ³Ý Àμö Àü´ÞÇϱâ...
ÀÌ ºÎÆýÃÀÇ ÀμöµéÀº ¿µ±¸ÀûÀ̱⠶§¹®¿¡ ¿©·¯ºÐÀº ¸Å¹ø ´Ù½Ã ÃijÖÀ» ÇÊ¿ä°¡ ¾ø´Ù. LILO
¼³Á¤ ¿É¼ÇÁß `append
'´Â LILO ¸Å´º¾óÀ» º¸±â ¹Ù¶õ´Ù.
µÎ¹ø° ¹æ¹ýÀº (±ÇÀåÇÏÁö ¾Ê´Â´Ù) Space.c
¸¦ ÆíÁýÇؼ
I/O ÁÖ¼Ò Ç׸ñÀÇ 0xffe0
ºÎºÐÀ» ¿µÀ¸·Î ¹Ù²ãÁÖ´Â °ÍÀÌ´Ù.
0xffe0
ºÎºÐÀº ÀÌ ÀåÄ¡¿¡ ´ëÇؼ °Ë»öÀ» ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¸»ÇØÁØ´Ù --
ÀÌ°ÍÀ» ¿µÀ¸·Î ¹Ù²Û´Ù´Â °ÍÀº ÀåÄ¡¿¡ ´ëÇÑ ÀÚµ¿°Ë»öÀ» ÇÒ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ´Ù.
¿©±â¼ ¾Ë¾ÆµÑ Á¡Àº ¿©·¯ºÐÀÌ ¸¸¾à ¸®´ª½º¸¦ µÎ ³×Æ®¿öÅ© »çÀÌÀÇ °ÔÀÌÆ®¿þÀÌ·Î »ç¿ëÇÏ·Á°í ÇÑ´Ù¸é, Ä¿³ÎÀ» IP Æ÷¿öµù °¡´ÉÀ¸·Î Çؼ ÀçÄÄÆÄÀÏ Çؾ߸¸ ÇÑ´Ù´Â °ÍÀÌ´Ù. º¸Åë ±¸½Ä AT/286¿¡ `kbridge'°°Àº ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÁÁÀº ÇØ°á¹æ¹ýÀÌ´Ù.
¿©·¯ºÐÀÌ ÀÌ°ÍÀ» ³Ý ¼ÇÎ µµÁß¿¡ º¸°í ÀÖ´Ù¸é, Donald°¡ ±×ÀÇ WWW »çÀÌÆ®¿¡ °®°í ÀÖ´Â ¹Ì´Ï ÇÏ¿ìÅõ¸¦ º¼¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ´ÙÀ½À» È®ÀÎÇØ º¸¶ó. Multiple Ethercards.
ether=
¸í·ÉÀÌ ¾Æ¹«°Íµµ ÇÏÁö ¾Ê´Â´Ù. ¿ÖÁö?
À§¿¡¼ ¼³¸íÇÑ °Íó·³, ether=
¸í·ÉÀº ´ÜÁö Ä¿³Î¾È¿¡ ÄÄÆÄÀϵǾî
µé¾îÀÖ´Â µå¶óÀ̹öµé¿¡ ´ëÇؼ¸¸ ÀÛµ¿ÇÑ´Ù. ¿äÁò ´ëºÎºÐÀÇ ¹èÆ÷ÆǵéÀº ¸ðµâ Çü½ÄÀ¸·ÎµÈ
µå¶óÀ̹öµéÀ» »ç¿ëÇϹǷΠether=
¸í·ÉÀº ´õÀÌ»ó °ÅÀÇ »ç¿ëµÇÁö ¾Ê´Â´Ù.(¸î¸î
¿À·¡µÈ ¹®¼µéÀº ÀÌ º¯È¸¦ ¹Ý¿µÇÏ¿© °»½ÅµÇ°í ÀÖ´Ù.) ¸¸ÀÏ ¿©·¯ºÐÀÌ ÀÌ´õ³Ý µå¶óÀ̹ö ¸ðµâ¿¡
¿É¼ÇµéÀ» Àû¿ëÇÏ·Á ÇÑ´Ù¸é, ¹Ýµå½Ã /etc/conf.modules
ÈÀÏÀ» °íÃľ߸¸
ÇÑ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ Áö±Ý ÄÄÆÄÀÏµÈ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ°í ÀÖ°í, ¿©·¯ºÐÀÇ LILO ¼³Á¤ÈÀÏ
¿¡ ether=
¸¦ Ãß°¡Çß´Ù¸é, ¹Ù²ï ¼³Á¤ ÈÀÏ·Î ½ÇÇàµÇµµ·Ï lilo
¸¦
Àç½ÇÇàÇϱâ Àü±îÁö´Â È¿°ú°¡ ¾ø´Ù´Â °ÍÀ» ¸í½ÉÇضó.
Problem: PCI NE2000 ȣȯīµå°¡ v2.0.x·Î ºÎÆýà ãÁú ¸øÇÑ´Ù.
Reason:
v2.0.30 ÀÌÇÏ¿¡¼ÀÇ ne.c
µå¶óÀ̹ö´Â ´ÜÁö RealTek 8029 ±â¹Ý ȣȯīµåµéÀÇ PCI ID
³Ñ¹ö¸¸À» ¾Ë°íÀֱ⠶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î PCI NE2000 ȣȯīµå·Î ³ª¿Â, ´Ù¸¥ PCI ID ³Ñ¹ö¸¦
°¡Áø Ä«µåµéÀ» µå¶óÀ̹ö°¡ ã¾Æ ³»Áö ¸øÇÏ´Â °ÍÀÌ´Ù.
Solution: °¡Àå ½¬¿î ÇØ°áÃ¥Àº ¸®´ª½º Ä¿³Î¹öÀü v2.0.31 (¶Ç´Â ±× ÀÌ»ó)À¸·Î ¾÷±×·¹À̵åÇÏ´Â °ÍÀÌ´Ù. À̵éÀº ´Ù¼¸°¡Áö ´Ù¸¥ NE2000-PCI Ĩµé¿¡ ´ëÇÑ ID ³Ñ¹ö¸¦ ¾Ë°í Àֱ⠶§¹®¿¡, ºÎÆýÿ¡³ª ¸ðµâÀÌ ÀûÀçµÇ´Â ½Ã°£¿¡ ÀÚµ¿À¸·Î ±×µéÀ» ã¾Æ³¾ °ÍÀÌ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ 2.0.34 (¶Ç´Â ±× ÀÌ»ó)À¸·Î ¾÷±×·¹À̵å Çϸé, °Å±â¿¡´Â ¿À¸®Áö³¯ ISA/PCI µå¶óÀ̹öº¸´Ù ¾à°£ ´õ ÀÛ°í º¸´Ù È¿À²ÀûÀÎ PCI¸¸ÀÇ Æ¯Á¤ NE2000 µå¶óÀ̹ö°¡ ÀÖ´Ù.
Problem: PCI NE2000 ȣȯ Ä«µå°¡ v2.0.x¿¡¼ ºÎÆýóª ne.o ¸ðµâÀ» ÀûÀçÇÒ¶§ ne1000 (8ºñÆ® Ä«µå!) ¶ó°í ³ª¿À°í, ±×¸®°í³ª¼´Â ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
Reason: ¸î¸î PCI ȣȯÁ¦Ç°µéÀº ¹ÙÀÌÆ® ÆøÀÇ Á¢±ÙÀ» ±¸ÇöÇÏÁö ¾Ê´Â´Ù.(±×¸®°í ÁøÂ¥ 100% NE2000 ȣȯ ÀÌ ¾Æ´Ï´Ù). ÀÌ ¶§¹®¿¡ NE1000 Ä«µå·Î »ý°¢ÇÏ°í ã¾Æ³»´Â °á°ú°¡ ³ªÅ¸³ª°Ô µÈ´Ù.
Solution: À§¿¡¼ ¼³¸íÇß´ø °Íó·³ v2.0.31 (¶Ç´Â ±× ÀÌ»ó)À¸·Î ¾÷±×·¹À̵å Çؾ߸¸ ÇÑ´Ù. ±× µå¶óÀ̹ö(µé) Àº ÇöÀç ÀÌ Çϵå¿þ¾î ¹ö±×¸¦ °Ë»çÇÑ´Ù.
Problem: PCI NE2000 Ä«µå°¡ ¼º´É ÆÁ ºÎºÐ¿¡ ¼³¸íµÈ´ë·Î À©µµ¿ì »çÀÌÁ ÁÙÀ϶§¿¡µµ Á¤¸» ÃÖ¾ÇÀÇ ¼º´ÉÀ» ³ªÅ¸³½´Ù.
Reason: °³¹ßÇؼ ÆǸŵÈÁö ½Ê³âµµ ´õ µÈ ¿À¸®Áö³¯ 8390 ĨÀÇ ½ºÆå Ç¥¸¦ º¸¸é, ÃÖ»óÀÇ ¾ÈÁ¤¼ºÀ» À§ÇØ °¢ ¾²±â ÀÛ¾÷Çϱâ Àü¿¡ ĨÀÌ ´À¸° Àб⸦ ¿äûÇÑ´Ù°í ¾Ë·ÁÁ® ÀÖ´Ù. ±× µå¶óÀ̹ö´Â v1.2 Ä¿³Î ¶§ºÎÅÍ ±âº»ÀûÀ¸·Î ±×·± ±â´ÉÀ» »ç¿ëÇÒ¼ö ¾ø°Ô µÇ¾î ÀÖ´Ù. ÇÑ »ç¿ëÀÚ°¡ ¸»Çϱâ·Î´Â ±× `À߸ø µÈ ±â´É'À» ´Ù½Ã »ç¿ë°¡´ÉÇÏ°Ô ÇÏ¸é °ª½Ñ PCI NE2000 ȣȯ Ä«µåÀÇ ¼º´É¿¡ µµ¿òÀÌ µÈ´Ù°í ÇÑ´Ù.
Solution:
ÀÌ ¹®Á¦ÀÇ ÇØ°áÃ¥Àº ´ÜÁö ÇÑ »ç¶÷ÇÑÅ×¼¸¸ ³ª¿Ô±â ¶§¹®¿¡, ±×·¸°Ô Èñ¸ÁÀûÀÌÁö´Â ¾Ê´Ù. ¾²±â
Àü¿¡ Àб⸦ ´Ù½Ã °¡´ÉÇÏ°Ô °íÄ¡´Â °ÍÀº linux/drivers/net/
¾ÈÀÇ µå¶óÀ̹ö ÈÀÏ
À» °£´ÜÇÏ°Ô ÆíÁýÇÏ¸é µÈ´Ù. NE_RW_BUGFIX
¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ÁÙÀÇ ÁÖ¼®À» Á¦°ÅÇÏ
°í Ä¿³ÎÀ̳ª ¸ðµâÀ» ÀûÀýÇÏ°Ô ÀçÄÄÆÄÀÏÇØÁÖ¸é µÈ´Ù. ¸¸ÀÏ ÀÌ°ÍÀÌ ¿©·¯ºÐ¿¡°Ô µµ¿òÀÌ µÈ´Ù¸é,
¼º´ÉÀÇ Â÷ÀÌ¿Í Ä«µå/Ĩ¼Â Á¾·ù¸¦ ±â¼úÇÏ¿© ¿ì¸®¿¡°Ô e-mailÀ» º¸³»Áֱ⠹ٶõ´Ù. (
ne2k-pci.c
µå¶óÀ̹ö¿¡ ´ëÇؼµµ µ¿ÀÏÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.)
Problem:
ne2k-pci.c
µå¶óÀ̹ö°¡ PCI NE2000 Ä«µå¿¡¼ timeout waiting for Tx RDC
¿Í °°Àº
¿¡·¯ ¸Þ¼¼Áö¸¦ º¸³»°í Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
Reason: ¿©·¯ºÐÀÇ Ä«µå¿Í/¶Ç´Â Ä«µå¿¡¼ PCI ¹ö½º·ÎÀÇ ¿¬°áÀÌ ÀÌ µå¶óÀ̹ö¿¡¼ »ç¿ëµÈ long word I/O optimizationÀ» ´Ù·ê¼ö ¾ø´Â °ÍÀÌ´Ù.
Solution:
¿ì¼±, BIOS/CMOS ¼³Á¤¿¡¼ ¾ÈÁ¤ÀûÀÎ ÀÛµ¿À» ¹æÇØÇÏ´Â PCI ¹ö½º ŸÀֿ̹¡ °ü·ÃµÈ ¾î¶°ÇÑ ¼³Á¤
ÀÌ¶óµµ È®ÀÎÇØ º¸¶ó. ±×·¸Áö ¾Ê´Ù¸é ISA/PCI ne.c
µå¶óÀ̹ö¸¦ »ç¿ëÇؼ (¾Æ´Ï¸é
ne2k-pci.c
¿¡¼ #define USE_LONGIO
ºÎºÐÀ» ¾ø¾Ö°í) Ä«µå¸¦ »ç¿ëÇϵµ·Ï ÇؾßÇÑ´Ù.
Probem: ISA Plug and Play NE2000 (RealTek 8019°°Àº)ÀÌ ÀâÈ÷Áö ¾Ê´Â´Ù.
Reason: ¿ø·¡ÀÇ NE2000 »ç¾ç¿¡´Â (±×¸®°í ¸®´ª½º NE2000 µå¶óÀ̹öµµ) Ç÷¯±× ¾Ø Ç÷¹ÀÌ¿¡ ´ëÇÑ Áö¿øÀº ¾ø´Ù.
Solution:
PnP¸¦ »ç¿ëÇÒ¼ö ¾ø°Ô Çϱâ À§Çؼ Ä«µå¿Í ÇÔ²² µû¶ó¿À´Â DOS ¼³Á¤ µð½ºÅ©¸¦ »ç¿ëÇؼ, Ä«µå¿¡
ƯÁ¤ I/O ÁÖ¼Ò¿Í IRQ¸¦ ¼³Á¤ÇÑ´Ù. ±×¸®°í /etc/conf.modules
¿¡
options ne io=0xNNN
¿Í °°Àº ¶óÀÎÀ» Ãß°¡ÇÑ´Ù. ¿©±â¼ 0xNNN
´Â
¿©·¯ºÐÀÌ Ä«µå¿¡ ¼³Á¤ÇÑ 16Áø¼ö I/O ÁÖ¼ÒÀÌ´Ù. (¿©±â¼´Â ¿©·¯ºÐÀÌ ¸ðµâ µå¶óÀ̹ö¸¦ »ç¿ëÇÑ
´Ù°í °¡Á¤ÇÑ´Ù. ¸¸ÀÏ ¾Æ´Ï¶ó¸é ºÎÆ®½Ã¿¡ ether=0,0xNNN,eth0
Àμö¸¦ »ç¿ëÇÑ´Ù).
¿©·¯ºÐÀº ¶ÇÇÑ BIOS/CMOS ¼³Á¤¿¡ µé¾î°¡¼ PnP ´ë½Å¿¡ Legacy-ISA¿ë IRQ¿¡ Ç¥½ÃÇØ¾ß ÇÑ´Ù.
¿©·¯ºÐÀÌ ¸¸¾à ¸î¸î ´Ù¸¥ ¿î¿µÃ¼Á¦¿ÍÀÇ È£È¯¼ºÀ» À§Çؼ PnP¸¦ °¡´ÉÇÑ »óÅ·Π³²°ÜµÖ¾ß ÇÑ´Ù¸é
isapnptools ÆÐÅ°Áö¸¦ ã¾Æº¸¶ó. man isapnp
¸¦ Ãļ ÀÌ°ÍÀÌ ¿©·¯ºÐÀÇ
½Ã½ºÅÛ¿¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇغ¸¶ó. ¾Æ´Ï¸é, ´ÙÀ½ÀÇ URLÀ» ã¾Æº¸¶ó.
Problem: NE*000 µå¶óÀ̹ö°¡ ºÎÆ® °Ë»ö½Ã¿¡ `not found (no reset ack)'¶ó´Â ¸Þ¼¼Áö¸¦ Ãâ·ÂÇÑ´Ù.
Reason: ÀÌ°ÍÀº À§ÀÇ º¯È¿Í °ü°è°¡ ÀÖ´Ù. Ãʱâ È®ÀÎÀÛ¾÷ ÈÄ¿¡ 8390Àº °Ë»öµÈ I/O ÁÖ¼Ò¿¡ ÀÖ°ÔµÇ°í ¸®¼ÂÀÌ ÀÌ·ç¾îÁø´Ù. Ä«µå°¡ ¿ÏÀüÇÏ°Ô ¸®¼ÂÀÌ µÉ¶§, ¸®¼ÂÀÌ ³¡³µ´Ù°í ¾Ë¸®°Ô µÈ´Ù. ¿©·¯ºÐÀÇ Ä«µå°¡ ±×·¸Áö ¾Ê´Ù¸é, µå¶óÀ̹ö´Â ÇöÀç ¾î¶°ÇÑ NE Ä«µåµµ ¾ø´Ù°í °¡Á¤ÇÏ°Ô µÈ´Ù.
Solution:
µå¶óÀ̹ö¿¡°Ô ºÎÆýÿ¡ 0xbad
ÀÇ »ç¿ëÇÏÁö ¾Ê´Â mem_end
16Áø¼ö
°ªÀ» »ç¿ëÇØ ¿©·¯ºÐÀÌ ¾ÈÁÁÀº Ä«µå¸¦ °¡Áö°í ÀÖ´Ù´Â °ÍÀ» ¾Ë·ÁÁÙ¼ö ÀÖ´Ù. ¿©·¯ºÐÀº
0xbad
ÀÇ ÀçÁ¤ÀǸ¦ »ç¿ëÇÒ ¶§ Ä«µå¿¡ ¿µÀÌ ¾Æ´Ñ I/O ÁÖ¼Ò¸¦ Á¦°øÇؾ߸¸ ÇÑ´Ù.
¿¹¸¦ µé¾î, ¸®¼ÂµÇÁö ¾Ê´Â Ä«µå°¡ 0x340
¿¡ ÀÖ´Ù¸é ´ÙÀ½°ú °°ÀÌ ¾²¸é µÉ°ÍÀÌ´Ù.
LILO: linux ether=0,0x340,0,0xbad,eth0
ÀÌ°ÍÀº ¿©·¯ºÐÀÇ Ä«µå°¡ ¸®¼ÂÀ» ¹Þ¾ÆµéÀÌÁö ¾Ê´õ¶óµµ Ä«µå Ž»öÀ» °è¼ÓÇϵµ·Ï ÇØÁØ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ µå¶óÀ̹ö¸¦ ¸ðµâ·Î »ç¿ëÇÏ°í ÀÖ´Ù¸é, I/O ÁÖ¼Ò¸¦ ÁØ°Íó·³
bad=0xbad
¿É¼ÇÀ» ³Ö¾îÁÙ¼ö ÀÖ´Ù.
Problem: óÀ½ ³×Æ®¿öÅ©¿¡ Á¢¼ÓÇÒ ¶§ NE*000 Ä«µå°¡ ¸Ó½ÅÀ» Á¤Áö½ÃŲ´Ù.
Reason: ÀÌ ¹®Á¦´Â 1.1.57Á¤µµÀÇ ¿À·¡µÈ Ä¿³Î¿¡¼ ÇöÀç¿¡±îÁö º¸°íµÇ°í ÀÖ´Ù. ÀÌ°ÍÀº ¸î¸î ¼ÒÇÁÆ®¿þ¾î ·Î ¼³Á¤°¡´ÉÇÑ È£È¯ Ä«µåµé¿¡¼¸¸ ³ªÅ¸³´Ù. ±×µéÀº ¾î¶² Ưº°ÇÑ ¹æ¹ýÀ¸·Î Ãʱâȸ¦ ÇØÁÖ¾î¾ß ÇÑ´Ù.
Solution: ¸î¸î »ç¶÷µéÀº ¸®´ª½º¿¡¼ Ä«µå¸¦ ÀÛµ¿½ÃÅ°±âÀ§ÇØ ¿úºÎÆà (Áï, loadlin À̳ª `¼¼¼Õ°¡¶ôÀλç - ctrl+alt+del:¿ªÀÚÁÖ')Çϱâ Àü¿¡ Á¦°øµÇ´Â DOS ¼ÒÇÁÆ®¿þ¾î ¼³Á¤ ÇÁ·Î±×·¥À̳ª DOS µå¶óÀ̹ö ¸¦ ½ÇÇàÇÒ¶§¿¡ ³ªÅ¸³´Ù°í º¸°íÇß´Ù. ÀÌ°ÍÀº ÀÌ Ä«µåµéÀÌ ÇöÀç ¸®´ª½º µå¶óÀ̹öµéÀÌ ÇÏ´Â °Í °ú´Â ¾à°£ ´Ù¸£°Ô, ƯÁ¤ÇÑ ¹æ½ÄÀ¸·Î ÃʱâȵǾî¾ß ÇÑ´Ù´Â °ÍÀ» ³ªÅ¸³½´Ù.
Problem:
0x360
¿¡¼ NE*000 ÀÌ´õ³Ý Ä«µå°¡ ÀâÈ÷Áú ¾Ê´Â´Ù.
Reason:
NE2000 Ä«µå´Â 0x20
ÀÇ I/O ÆøÀ» °®´Âµ¥, À̶§¹®¿¡ Æз¯·¼ Æ÷Æ®ÀÇ ÁÖ¼ÒÀÎ
0x378
¸¦ ħ¹üÇÏ°Ô µÈ´Ù. ±×ÀÚ¸®¿¡´Â µÎ¹ø° Ç÷ÎÇÇ ÄÜÆ®·Ñ·¯(¸¸ÀÏ ÀÖ´Ù¸é)°¡
0x370
¿¡ ±×¸®°í µÎ¹ø° IDE ÄÜÆ®·Ñ·¯°¡ 0x376--0x377
°¡ ÀÖÀ»¼ö
ÀÖ´Ù. ¸¸ÀÏ ±× Æ÷Æ®(µé)°¡ ÀÌ¹Ì ´Ù¸¥ µå¶óÀ̹ö¿¡ ÀÇÇØ µî·ÏÀÌ µÇ¾î ÀÖ´Ù¸é, Ä¿³ÎÀº Ž»öÀ»
ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
Solution:
¿©·¯ºÐÀÇ Ä«µå ÁÖ¼Ò¸¦ 0x280, 0x340, 0x320
°°Àº ÁÖ¼Ò·Î ¿Å±â°Å³ª Æз¯·¼ ÇÁ¸°ÅÍ
Áö¿ø ¾øÀÌ ÄÄÆÄÀÏÇ϶ó.
Problem: ¹º°¡¸¦ ÇÁ¸°Æ®Çϱ⸸ ÇÏ¸é ³×Æ®¿öÅ©°¡ `Á×¾î¹ö¸°´Ù' (NE2000)
Reason: À§¿Í °°Àº ¹®Á¦ÀÌÁö¸¸, I/O¿µ¿ªÀ» È®ÀÎÇÏÁö ¾Ê´Â ´õ ¿À·¡µÈ Ä¿³ÎÀ» »ç¿ëÁßÀÌ´Ù. À§¿¡¼ ó·³ ÇØ°áÇÏ¸é µÇ°í, ¿©·¯ºÐÀÌ ¾²´Â °Íº¸´Ù »õ Ä¿³ÎÀ» ±¸Ç϶ó.
Problem: NE*000 ethercard probe at 0xNNN: 00 00 C5 ... not found. (invalid signature yy zz)
Reason:
¿ì¼± ¸ÕÀú, 0xNNN ÁÖ¼Ò¿¡ NE1000 ¶Ç´Â NE2000 Ä«µå°¡ ÀÖ½À´Ï±î? ±×¸®°í ¸¸ÀÏ ÀÖ´Ù¸é, Çϵå¿þ
¾î ÁÖ¼Ò°¡ Á¦´ë·ÎµÈ °Íó·³ ³ª¿À´Â°¡? ±×·¸´Ù¸é, ¿©·¯ºÐÀº ÇüÆí¾ø´Â NE*000 ȣȯīµå¸¦ °®°í
ÀÖ´Â °ÍÀÌ´Ù. ¸ðµç NE*000 ȣȯÁ¦Ç°µéÀº Ä«µåÀÇ SA PROMÀÇ 14 ¿Í 15 ¹ø° ¹ÙÀÌÆ®¿¡
0x57
°ªÀ» °¡Áö°í ÀÖ´Ù. ¿©·¯ºÐÀÌ °¡Áø°ÍÀº ±×·¸Áö ¾Ê´Ù -- ´ë½Å `yy zz'¸¦ °¡Áö
°í ÀÖ´Ù.
Solution:
¿©±â¿¡´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. °¡Àå ½¬¿î ¹æ¹ýÀº À§ÀÇ `no reset ack' ¹®Á¦¿¡¼ ¼³¸íÇÑ °Íó·³
0xbad
mem_end °ªÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¼¸í È®ÀÎÀ» ÇÏÁö¾Ê°í Áö
³ª°¥ °ÍÀÌ°í, ¿µÀÌ ¾Æ´Ñ I/O ÁÖ¼Ò°ªµµ ÁÖ¾îÁú °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀº Ä¿³ÎÀ» ÀçÄÄÆÄÀÏÇÒ ÇÊ¿ä°¡
¾ø´Ù.
µÎ¹ø° ¹æ¹ýÀº(ÇØÄ¿µé¿¡°Ô ÇØ´çµÇ°ÚÁö¸¸) µå¶óÀ̹ö¸¦ ¹Ù²Ù°í, ¿©·¯ºÐÀÇ Ä¿³Î(¶Ç´Â ¸ðµâ)À»
ÀçÄÄÆÄÀÏÇÏ´Â °ÍÀÌ´Ù. ±× µå¶óÀ̹ö(/usr/src/linux/drivers/net/ne.c)´Â ¾à 42¹ø ¶óÀÎÁ¤µµ¿¡
"Hall of Shame(ºÎ²ô·¯¿òÀÇ Àü´ç)" ¸ñ·ÏÀÌ ÀÖ´Ù. ÀÌ ¸ñ·ÏÀº À߸øµÈ ȣȯǰµéÀ» ã¾Æ³»´Âµ¥
»ç¿ëµÈ´Ù. ¿¹¸¦ µé¾î, DFI Ä«µåµéÀº 14¿Í 15 ¹ÙÀÌÆ®¿¡ 0x57
¸¦ »ç¿ëÇÏ´Â ´ë½Å, PROMÀÇ
óÀ½ 3¹ÙÀÌÆ®¿¡ `DFI'¸¦ »ç¿ëÇÑ´Ù.
Problem: ¸Ó½ÅÀÌ ºÎÆÃÁß¿¡ `8390...' À̳ª `WD....' ¸Þ¼¼Áö ¹Ù·Î ´ÙÀ½¿¡¼ ¸ØÃç¹ö¸°´Ù.
Solution:
¿©·¯ºÐÀÇ NE2000 ÁÖ¼Ò¸¦ 0x340
°°Àº °ÍÀ¸·Î ¹Ù²Ù¾î¶ó. ¾Æ´Ï¸é, ``ether='' Àμö¿Í ÇÔ²²
``reserve=''Àμö¸¦ »ç¿ëÇÔÀ¸·Î½á ´Ù¸¥ ÀåÄ¡ µå¶óÀ̹öÀÇ °Ë»ö¿¡¼ Ä«µå¸¦ º¸È£ÇÒ¼ö ÀÖ´Ù.
Reason: ¿©·¯ºÐÀÇ NE2000 ȣȯÁ¦Ç°Àº ÃæºÐÈ÷ ÁÁÀº ȣȯǰÀÌ ¾Æ´Ï´Ù. ÀÛµ¿ÇÏ´Â NE2000Àº ¾î¶°ÇÑ µå¶óÀ̹öÀÇ ÀÚµ¿°Ë»ö¿¡µµ °É¸°´Ù. NE2000À» ´Ù¸¥ ÀÚµ¿°Ë»ö¿¡¼ ¹þ¾î³ªµµ·Ï ´ú ¾²ÀÌ´Â ÁÖ¼Ò·Î ¹Ù²Ù¸é, ¿©·¯ºÐÀÇ ¸Ó½ÅÀº ºÎÆÃµÉ °ÍÀÌ´Ù.
Problem: ºÎÆýÿ¡ SCSI Ž»öµµÁß ¸ØÃç¹ö¸°´Ù.
Reason: À̰͵µ À§ÀÇ ¹®Á¦¿Í °°À¸¹Ç·Î, ÀÌ´õ³Ý Ä«µåÀÇ ÁÖ¼Ò¸¦ ¹Ù²Ù°Å³ª, ¾Æ´Ï¸é reserve/ether ºÎÆà ÀμöµéÀ» »ç¿ëÇϸéµÈ´Ù.
Problem: ºÎÆýÿ¡ »ç¿îµå Ä«µå¸¦ ã´ÂµµÁß¿¡ ¸Ó½ÅÀÌ ¸ØÃß¾î ¹ö¸°´Ù.
Reason: ¾Æ´Ï´Ù, ±×°ÍÀÌ ½ÇÁ¦·Î´Â Á¶¿ëÇÑ SCSI Ž»öµµÁßÀ̹ǷÎ, À§ÀÇ ¹®Á¦¿Í °°´Ù.
Problem: NE2000 ÀÌ ºÎÆýÿ¡ ã¾ÆÁöÁö ¾Ê´Â´Ù - ºÎÆ® ¸Þ¼¼Áö°¡ ÀüÇô ¾ø´Ù.
Solution: ±×°ÍÀÌ Ã£¾ÆÁöÁö ¾Ê´Âµ¥´Â ¼ö¸¹Àº ¿øÀÎÀÌ ÀÖÀ»¼ö Àֱ⠶§¹®¿¡ `¸¶¹ýÀÇ ÇØ°áÃ¥'Àº ¾ø´Ù. ´ÙÀ½ÀÇ ³»¿ëµéÀº ¿©·¯ºÐÀÌ °¡´ÉÇÑ ¹®Á¦µéÀ» ÇØ°áÇϴµ¥ µµ¿òÀ» ÁÙ °ÍÀÌ´Ù.
1) ¿©·¯ºÐÀÌ ÇÊ¿ä·Î ÇÏ´Â ÀåÄ¡ µå¶óÀ̹öµé¸¸ °¡Áö°í »õ Ä¿³ÎÀ» ¸¸µç´Ù.
¿©·¯ºÐÀÌ Á¤¸»·Î »õ Ä¿³Î·Î ºÎÆÃÇÏ°í ÀÖ´Â °ÍÀÎÁö È®ÀÎÇ϶ó. lilo¸¦ ½ÇÇàÇÏ´Â °ÍÀ» ±î¸ÔÁö
¾Ê¾Ò´ÂÁö µîµî..À¸·Î ÀÎÇØ ÀÌÀüÀÇ °ÍÀ¸·Î ºÎÆõɼö ÀÖ´Ù. (ºÎÆýÿ¡ ³ª¿À´Â ¸¸µç ½Ã°£/³¯Â¥¸¦
ÀÚ¼¼È÷ º¸¶ó.) ¿ì¸®´Â ÀÌÀü¿¡ ¸ðµç°ÍÀ» ´Ù Çß´Ù.System.map
ÈÀϾÈÀÇ ne_probe
¿Í
°°Àº À̸§µéÀ» È®ÀÎÇؼ, »õ Ä¿³Î¿¡ Á¤¸»·Î ±× µå¶óÀ̹ö°¡ Æ÷ÇԵǾî ÀÖ´ÂÁö È®ÀÎÇ϶ó.
2) ºÎÆ® ¸Þ¼¼ÁöµéÀ» ÁÖÀÇÇؼ »ìÆ캸¶ó. ±×°÷¿¡ `NE*000 probe at 0xNNN: not found (¾î¼±¸
Àú¼±¸)' °°Àº ne2k °Ë»ö¿¡ °üÇÑ ¾î¶°ÇÑ ¾ð±ÞÀÌ ÀÖ´ÂÁö, ¾Æ´Ï¸é Á¶¿ëÇÏ°Ô ½ÇÆÐÇÏ´ÂÁö ¸»ÀÌ´Ù.
°Å±â¿¡´Â Å« Â÷ÀÌ°¡ ÀÖ´Ù. ·Î±×ÀÎÇÑ µÚ¿¡ ºÎÆ® ¸Þ¼¼Áö¸¦ ´Ù½Ãº¸·Á¸é dmesg|more
¸¦
»ç¿ëÇϰųª, ºÎÆÃµÈ ÈÄ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®°¡ ³ª¿ÂµÚ¿¡ Shift-PgUpÀ» ´·¯¼ ȸéÀ» À§·Î ½ºÅ©·ÑÇØ
°¡¸ç º¸¸éµÈ´Ù.
3) ºÎÆÃÇÑ ÈÄ¿¡, cat /proc/ioports
¸¦ Ä¡°í Ä«µå°¡ ÇÊ¿ä·ÎÇÏ´Â ÀÔÃâ·Â°ø°£ ÀüºÎ°¡
ºñ¾îÀÖ´ÂÁö È®ÀÎÇ϶ó. ¿©·¯ºÐÀÇ Ä«µå°¡ 0x300
¿¡ ÀÖ´Ù¸é ne2k µå¶óÀ̹ö´Â
0x300-0x31f
¸¦ ¿ä±¸ÇÒ °ÍÀÌ´Ù. ¸¸ÀÏ ¾î¶² ´Ù¸¥ ÀåÄ¡ µå¶óÀ̹ö°¡ ±× ¹üÀ§³»¿¡ ÇÑ Æ÷Æ®¶óµµ
µî·ÏÇß´Ù¸é, ±× ÁÖ¼ÒÀÇ °Ë»öÀº µÇÁö ¾Ê°í ´ÙÀ½ °Ë»ö ÁÖ¼Ò·Î ³Ñ¾î°¡ °è¼ÓÇÏ°Ô µÉ °ÍÀÌ´Ù.
ÀϹÝÀûÀÎ °æ¿ì¿¡ lp µå¶óÀ̹ö°¡ 0x378
¸¦ °®°Å³ª µÎ¹ø° IDE ä³ÎÀÌ 0x376
¸¦ °¡Áö¹Ç·Î
ne µå¶óÀ̹ö°¡ 0x360-0x380
¸¦ °Ë»öÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù.
4) cat /proc/interrupts
¿¡ ´ëÇؼµµ À§¿Í °°ÀÌ Çغ¸¶ó. ¿©·¯ºÐÀÇ ÀÌ´õ³Ý Ä«µå°¡
¼³Á¤µÇ¾î ÀÖ´Â ÀÎÅÍ·´Æ®¿¡ Ȥ½Ã ´Ù¸¥ ÀåÄ¡°¡ µî·ÏµÇ¾î ÀÖ´ÂÁö È®ÀÎÇ϶ó. ÀÌ °æ¿ì¿¡´Â, °Ë»öÀº
ÀÌ·ç¾îÁöÁö¸¸, ÀÌ´õ³Ý µå¶óÀ̹ö´Â ¿øÇÏ´Â IRQ ¶óÀÎÀ» ¾òÀ»¼ö ¾ø´Ù¸ç ºÎÆýÃÇØ Å©°Ô ºÒÆòÇÒ
°ÍÀÌ´Ù.
5) ¸¸ÀÏ ¿©·¯ºÐÀÌ ¾ÆÁ÷µµ µå¶óÀ̹öÀÇ ¸»¾ø´Â ½ÇÆп¡ ´çȲÇØÇÏ°í ÀÖ´Ù¸é, µå¶óÀ̹ö¸¦ ÆíÁýÇؼ
°Ë»öÀ» À§ÇÑ ¸îÁÙÀÇ printk()¸¦ Ãß°¡Ç϶ó. ¿¹¸¦ µé¾î, ne2k¿¡¼´Â
linux/drivers/net/ne.c
¸¦ ´ÙÀ½°ú °°ÀÌ ¸î¸îÁÙ¿¡ Ãß°¡/»èÁ¦(`+' ³ª `-' ·Î Ç¥±â)
ÇÒ¼ö ÀÖ´Ù.
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 »çÀÌÆ®(ÇÏ¿ìÅõ³»¿¡ Àß ¼³¸íµÇ¾î ÀÖ´Ù)¿¡¼ ne2k Á¡°Ë µµ±¸¸¦
°¡Á®¿Í¼ ¿©·¯ºÐÀÌ ¸®´ª½º·Î ºÎÆÃÇÑ ÈÄ¿¡ Ä«µå¸¦ ãÀ»¼ö ÀÖ´ÂÁö ¾ø´ÂÁö º¼¼ö ÀÖ´Ù.
`-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À¸·Î) ¸®´ª½º·Î ¿úºÎÆÃÀ» Çغ¸¶ó. ÀÌ°ÍÀº Ä«µå¸¦ ÃʱâÈÇÏ´Â Á» ´Ù¸¥(Áï ºñÇ¥ÁØÀûÀÎ) "¸¶¹ý"ÀÌ´Ù.
8) Russ NelsonÀÇ ne2000.com ÆÐŶ µå¶óÀ̹ö·Î ¿©·¯ºÐÀÇ Ä«µå¸¦ º¼¼ö ÀÖ´ÂÁö Çغ¸¶ó -- ¸¸ÀÏ ¾Æ´Ï¸é, »óȲÀº º°·Î ÁÁÁö ¾Ê´Ù. ¿¹´Â ´ÙÀ½°ú °°´Ù.
A:> ne2000 0x60 10 0x300
ÀμöµéÀº ¼ÒÇÁÆ®¿þ¾î ÀÎÅÍ·´Æ® º¤ÅÍ, Çϵå¿þ¾î IRQ, ±×¸®°í I/O ÁÖ¼ÒÀÌ´Ù. ¿©·¯ºÐÀº ¾î¶°ÇÑ msdos ¾ÆÄ«À̺꿡¼³ª pktdrv11.zipÀ» ¾òÀ»¼ö ÀÖ´Ù -- ÇöÀç ¹öÀüÀº ¾Æ¸¶ 11ÀÌ»óÀϲ¨´Ù.
Problem: ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ªÅ¸³´Ù:
eth0: bogus packet size: 65531, status=0xff, nxpg=0xff
Reason: ÀÌ°ÍÀº °øÀ¯ ¸Þ¸ð¸® ¹®Á¦ÀÌ´Ù.
Solution:
À̹®Á¦ÀÇ °¡Àå ÀϹÝÀûÀÎ ¿øÀÎÀº ISA ¸Þ¸ð¸® ÀåÄ¡µé¾È¿¡ ¸ÅÇÎÀÌ ¼³Á¤µÇÁö ¾ÊÀº PCI ¸Ó½Åµé
¶§¹®ÀÌ´Ù. ±×·¯¹Ç·Î ¹ÞÀº ÆÐŶµéÀÇ µ¥ÀÌŸ¸¦ °¡Áö°í ÀÖ´Â Ä«µåÀÇ RAM ´ë½Å¿¡ PCÀÇ RAM(¸ðµÎ
0xff
°ª)À» ³¡±îÁö Àд´Ù.
½±°Ô °íÄ¥¼ö ÀÖ´Â ´Ù¸¥ ÀüÅëÀûÀÎ ¹®Á¦µéÀº º¸µå Ãæµ¹, ij½¬¸¦ °¡Áö°Å³ª ±× ¿µ¿ª¿¡ ´ëÇØ `shadow ROM'À» °¡´ÉÇÒ°Ô Çϴ°Í, ¾Æ´Ï¸é ¿©·¯ºÐÀÇ ISA ¹ö½º°¡ 8Mhzº¸´Ù »¡¸£°Ô ÀÛµ¿ÇÏ´Â °æ¿ìÀÌ´Ù. À̵鵵 ¶ÇÇÑ ÀÌ´õ³Ý Ä«µå»óÀÇ ¸Þ¸ð¸® ½ÇÆÐ ¼ýÀÚ°¡ ¸¹Àºµ¥, ¸¸ÀÏ ¿©·¯ºÐÀÇ Ä«µåÁß¿¡ ±×·¯ÇÑ °ÍÀÌ ÀÖ´Ù¸é Á¡°Ë ÇÁ·Î±×·¥À» ½ÇÇàÇغ¸¶ó.
Problem: SMC EtherEZ °¡ ºñ°øÀ¯ ¸Þ¸ð¸® (PIO) ¸ðµå¿¡¼ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.
Reason: Ultra µå¶óÀ̹öÀÇ ¿À·¡µÈ ¹öÀüµéÀº Ä«µå°¡ °øÀ¯ ¸Þ¸ð¸® ¸ðµå¿¡¼¸¸ ÀÛµ¿Çϵµ·Ï µÇ¾î ÀÖ´Ù.
Solution: Ä¿³Î ¹öÀü 2.0 ÀÌ»ó¿¡ Æ÷ÇÔµÈ µå¶óÀ̹ö´Â programmed I/O¸ðµå¿¡¼ÀÇ ÀÛµ¿µµ Áö¿øÇÑ´Ù. v2.0 À̳ª ±× ÀÌ»óÀ¸·Î ¾÷±×·¹À̵åÇ϶ó.
Problem: ±¸Çü wd8003 °ú/¶Ç´Â Á¡ÆÛ¼³Á¤ÀÌ °¡´ÉÇÑ wd8013°¡ Ç×»ó IRQ¸¦ À߸ø ¾ò´Â´Ù.
Reason: ±¸Çü wd8003 Ä«µåµé°ú Á¡ÆÛ¼³Á¤ÀÌ °¡´ÉÇÑ wd8013 ȣȯÁ¦Ç°µéÀº µå¶óÀ̹ö°¡ IRQ ¼³Á¤À» ÀоîµéÀÏ EEPROMÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù. µå¶óÀ̹ö°¡ IRQ¸¦ ÀоîµéÀϼö ¾øÀ¸¸é, ±×´ÙÀ½¿¡´Â ÀÚµ¿À¸·Î IRQ¸¦ ã´Â´Ù. ±×¸®°í ¸¸ÀÏ ÀÚµ¿ IRQ°¡ ¿µÀ» ¹ÝȯÇϸé, µå¶óÀ̹ö´Â 8ºñÆ® Ä«µå¿¡°Ô´Â IRQ 5¸¦, 16ºñÆ® Ä«µå¿¡°Ô´Â IRQ 10À» ÇÒ´çÇÑ´Ù.
Solution: ÀÚµ¿ IRQ °Ë»ö Äڵ带 ÇÇÇÏ·Á¸é, ¿©·¯ºÐÀÇ ¸ðµâ ¼³Á¤ ÈÀÏ¿¡(¶Ç´Â Ä¿³Î³»ÀÇ µå¶óÀ̹öÀÏ °æ¿ì ºÎÆýÿ¡ Àμö¸¦ ÀÌ¿ëÇؼ) ¿©·¯ºÐÀÇ Ä«µå Á¡ÆÛ°¡ ¼³Á¤µÇ¾î ÀÖ´Â IRQ°¡ ¹«¾ùÀÎÁö Àû¾î¼ Ä¿³Î¿¡ ¾Ë·Á¾ß ÇÑ´Ù.
Problem: SMC Ultra Ä«µå°¡ wd8013·Î ÀâÈ÷´Âµ¥, IRQ¿Í °øÀ¯ ¸Þ¸ð¸® ÁÖ¼Ò°¡ À߸øµÇ°Ô ÀâÈù´Ù.
Reason: Ultra Ä«µå´Â wd8013°ú ¸Å¿ì ºñ½ÁÇØ º¸¿©¼, ¸¸ÀÏ Ultra µå¶óÀ̹ö°¡ Ä¿³Î³»¿¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, wd µå¶óÀ̹ö´Â ultra¸¦ wd8013À¸·Î À߸ø ÀνÄÇÏ°Ô µÈ´Ù. ultraÀÇ °Ë»öÀº wdÀÇ °Ë»öº¸´Ù ¸ÕÀúÇϰԵȴÙ. ±×·¡¼ ÀÌ·±ÀÏÀº º¸Åë ÀϾÁö ¾Ê´Â´Ù. ultra´Â wd8013°ú ´Þ¸® IRQ¿Í ¸Þ¸ð¸® ÁÖ¼Ò¸¦ EEPROM¿¡ ÀúÀåÇϹǷÎ, °¡Â¥ °ªµéÀÌ º¸°íµÈ´Ù.
Solution: ¿©·¯ºÐ¿¡°Ô ÇÊ¿äÇÑ µå¶óÀ̹öµé¸¸À» Ä¿³Î³»¿¡ ´ã¾Æ ÀçÄÄÆÄÀÏÀ» ÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ÇÑ ¸Ó½Å¿¡ wd ¿Í ultra Ä«µå¸¦ ¸ðµÎ °¡Áö°í ÀÖ°í, ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é ultra ¸ðµâÀ» ¸ÕÀú ·ÎµåÇ϶ó.
Problem: 3c503ÀÌ IRQ NÀ» °í¸£´Âµ¥, ´Ù¸¥ ÀåÄ¡µéµµ IRQ NÀ» ÇÊ¿ä·ÎÇÑ´Ù. (eg. CD ROM µå¶óÀ̹ö, ¸ðµ©, µîµî.) Ä¿³Î¾È¿¡ ÄÄÆÄÀÏÇÏÁö ¾Ê°í ÀÌ°ÍÀ» °íÄ¥¼ö´Â ¾øÀ»±î?
Solution:
3c503 µå¶óÀ̹ö´Â {5, 9/2, 3, 4}ÀÇ ¼ø¼´ë·Î ºñ¾îÀÖ´Â IRQ¸¦ Ž»öÇÑ´Ù. ±×¸®°í »ç¿ëÇÏ°í ÀÖÁö
¾ÊÀº°ÍÀ» °í¸¥´Ù.µå¶óÀ̹ö´Â Ä«µå°¡ ifconfig
µÇ¾îÁö°í ÀÖÀ»¶§ °í¸£°Ô µÈ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ ¸ðµâ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº IRQ °ªÀ» Æ÷ÇÔÇؼ ¸¹Àº °ÍµéÀ» ¼³Á¤ÇϱâÀ§ÇØ ¸ðµâ ÀÎÀÚµéÀ» »ç¿ëÇÒ¼ö ÀÖ´Ù.
¾Æ·¡¿¡¼´Â IRQ9¸¦ ¼±ÅÃÇÏ°í, ÁÖ¼Ò´Â 0x300
,<¹«½ÃµÈ °ª>, ±×¸®°í
if_port #1(¿ÜºÎ ´ÜÀÚ:external transceiver)·Î Á¤ÇÏ°í ÀÖ´Ù.
io=0x300 irq=9 xcvr=1
¶ÇÇÑ, ¸¸ÀÏ µå¶óÀ̹ö°¡ Ä¿³Î³»¿¡ ÄÄÆÄÀϵǾî ÀÖÀ¸¸é, ºÎÆýÿ¡ LILO¿¡ ÀÎÀÚµéÀ» ³Ñ°ÜÁÜÀ¸·ÎÇؼ °°Àº °ªÀ» ¼³Á¤ÇÒ¼ö ÀÖ´Ù.
LILO: linux ether=9,0x300,0,1,eth0
´ÙÀ½¿¡¼´Â IRQ3À» ¼±ÅÃÇÏ°í, ±â¹Ý ÁÖ¼Ò¸¦ Ž»öÇϸç, <¹«½ÃµÈ °ª>, ±×¸®°í ±âº» if_port #0 (³»ºÎ ´ÜÀÚ:internal transceiver)·Î Á¤ÇÑ´Ù.
LILO: linux ether=3,0,0,0,eth0
Problem: 3c503: ¼³Á¤µÈ ÀÎÅÍ·´Æ® X °¡ À߸øµÈ °ÍÀ̹ǷÎ, ÀÚµ¿ IRQ¸¦ »ç¿ëÇÒ °ÍÀÓ.
Reason: 3c503 Ä«µå´Â ´ÜÁö IRQ{5, 2/9, 3, 4}Áß¿¡ Çϳª¸¸ »ç¿ëÇÑ´Ù. (À̵éÀº Ä«µå¿¡ ¿¬°áµÇ¾îÀÖ´Â ¼±ÀÏ»ÓÀÌ´Ù.) ¸¸ÀÏ ¿©·¯ºÐÀÌ À§¿¡ ¼³Á¤µÈ °ªÀÌ ¾Æ´Ñ IRQ °ªÀ» ³Ñ°ÜÁÖ¸é, ¿©·¯ºÐÀº À§¿Í°°Àº ¸Þ¼¼Áö¸¦ ¹Þ°ÔµÉ °ÍÀÌ´Ù. º¸Åë, 3c503¿¡´Â ƯÁ¤ ÀÎÅÍ·´Æ® °ªÀ» Á¤ÇØÁÙ ÇÊ¿ä°¡ ¾ø´Ù. 3c503Àº ifconfg½Ã¿¡ ÀÚµ¿IRQ¸¦ »ç¿ëÇؼ, {5, 2/9, 3, 4}ÁßÀÇ Çϳª¸¦ IRQ°ªÀ¸·Î °®°Ô µÈ´Ù.
Solution: À§¿¡ ³ª¿µÈ ¿Ã¹Ù¸¥ IRQ°ªµéÁß¿¡ Çϳª¸¦ »ç¿ëÇϰųª, IRQ ÇàÀ» ÀüÇô »ç¿ëÇÏÁö ¸»°í ÀÚµ¿IRQ¸¦ ¾µ¼öÀÖ°Ô Ç϶ó.
Problem: Á¦°øµÇ´Â 3c503 µå¶óÀ̹öµéÀº AUI (thicknet) Æ÷Æ®¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¾î¶»°Ô ±âº» thinnet Æ÷Æ®¸¦ ÅëÇØ »ç¿ëÇÒ¼ö ÀÖÀ»±î?
Solution: 3c503 AUI Æ÷Æ®´Â Ä¿³Î³»Àå µå¶óÀ̹öÀÇ °æ¿ì¿¡´Â ºÎÆýÿ¡, ¸ðµâÀÇ °æ¿ì´Â ¸ðµâ »ðÀԽÿ¡ ¼±ÅÃÇÒ¼ö ÀÖ´Ù. ±× ¼±ÅÃÀº ÇöÀç »ç¿ëµÇÁö ¾Ê´Â dev->rmem_start º¯¼öÀÇ ³·Àº ºñÆ®¿¡ ¿À¹ö·ÎµåµÇ¾îÁø´Ù. ±×·¯¹Ç·Î Ä¿³Î¿¡ ³»ÀåµÈ µå¶óÀ̹ö¿¡ »ç¿ëÇϱâ À§ÇÑ ºÎÆ®½ÃÀÇ ÀÎÀÚ´Â ´ÙÀ½°ú °°´Ù.
LILO: linux ether=0,0,0,1,eth0
¸ðµâ·Î ÀûÀçÇÒ¶§ AUI Æ÷Æ®¸¦ Á¤ÇØÁÖ·Á¸é, ´ÜÁö xcvr=1
¸¦ ¿©·¯ºÐÀÇ I/O ¿Í
IRQ °ª°ú ÇÔ²² ¸ðµâ ¿É¼Ç Çà¿¡ Ãß°¡ÇÏ¸é µÈ´Ù.
To specify the AUI port when loading as a module, just append
xcvr=1
to the module options line along with
your I/O and IRQ values.
ÃÖ¼±ÀÇ °á°ú¸¦ ¾ò±â À§Çؼ´Â(±×¸®°í ¾Ç¿µÇâÀ» ÃÖ¼ÒÇÑÀ¸·Î) ¿©·¯ºÐÀÇ Ä«µå¿¡ µþ·Á¿À´Â
(º¸Åë DOS)ÇÁ·Î±×·¥À» »ç¿ëÇؼ PnP ¸ÞÄ«´ÏÁòÀ» »ç¿ëÇÏÁö ¸øÇÏ°Ô ÇÏ°í, I/O ÁÖ¼Ò¿Í
IRQ¸¦ Á¤ÇÏ¸é µÈ´Ù. ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â I/O ÁÖ¼Ò°¡ ºÎÆ®½Ã¿¡ µå¶óÀ̹ö¿¡ ÀÇÇØ Å½»öµÇ´ÂÁö
È®ÀÎÇÏ°í, ¸¸ÀÏ ¸ðµâÀ» »ç¿ëÇÑ´Ù¸é /etc/conf.modules
¾È¿¡ io=
¿¡ ÁÖ¼Ò¸¦
Àû¾îÁØ´Ù. ¿©·¯ºÐÀº ¶ÇÇÑ BIOS/CMOS ¼³Á¤¿¡ µé¾î°¡¼ IRQ¸¦ PnP ´ë½Å¿¡ Legacy-ISA·Î ¼³Á¤Çؾß
ÇÑ´Ù(¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ°¡ ÀÌ ¿É¼ÇÀ» °¡Áö°í ÀÖ´Ù¸é ¸»ÀÌ´Ù).
¿©·¯ºÐÀº º¸Åë DOS±â¹ÝÀÇ ¼³Á¤ ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§ÇØ DOS¸¦ ¼³Ä¡ÇÒ ÇÊ¿ä´Â ¾ø´Ù. Á¦°øµÇ´Â Ç÷ÎÇÇ µð½ºÅ©¿¡¼ ¹Ù·Î ½ÇÇàÇϱâ À§ÇØ DOS ºÎÆà µð½ºÅ©¸¦ »ç¿ëÇصµ µÇ°í, °øÂ¥ÀÎ OpenDOS ¿Í FreeDOS¸¦ ´Ù¿î¹Þ¾Æ ¾µ¼öµµ ÀÖ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ ´Ù¸¥ ¿î¿µÃ¼Á¦¿ÍÀÇ È£È¯À» À§ÇØ PnP°¡ ÇÊ¿äÇÏ´Ù¸é ºÎÆö§¸¶´Ù ¸®´ª½º°¡ Ä«µå¸¦
¼³Á¤Çϵµ·Ï Çϱâ À§Çؼ isapnptools ÆÐÅ°Áö¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ °æ¿ì¿¡µµ ¿©ÀüÈ÷ µå¶óÀ̹ö°¡
Ž»öÇÒ¼ö ÀÖµµ·Ï Ä«µåÀÇ I/O ÁÖ¼Ò¸¦ Á¤ÇØÁְųª io=
¿É¼ÇÀ» ÁÖ°í È®ÀÎÇØ¾ß ÇÑ´Ù.
ÀÌ °æ¿ìÀÇ ÀϹÝÀûÀÎ ¿øÀÎÀº »ç¶÷µéÀÌ ±×µéÀÇ Æ¯Á¤ Ä«µå¿¡ ´ëÇÑ µå¶óÀ̹ö¸¦ ³»ÀåÇÏÁö ¾ÊÀº Ä¿³ÎÀ» »ç¿ëÇϱ⠶§¹®ÀÌ´Ù. ¸ðµâ½Ä Ä¿³ÎÀÇ °æ¿ì¿¡´Â, ¸ðµâÀÇ ÀûÀç ¿äûÀÌ ¾ø´Ù°Å³ª, ¾Æ´Ï¸é ¸ðµâ ¿É¼ÇÀ¸·Î ƯÁ¤ÇÑ I/O ÁÖ¼Ò¸¦ Á¤ÇØÁÖÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼ ¼³Ä¡ÇÏ´Â °Íó·³ ¸ðµâ ±â¹ÝÀÇ Ä¿³ÎÀ» »ç¿ëÇÏ°í
ÀÖ´Ù¸é, ±× ¹èÆ÷ÆÇÀÌ Á¦°øÇÏ´Â ¼³Á¤ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇؼ Ä«µåÀÇ ¸ðµâÀ» ¼±ÅÃÇÏ±æ ¹Ù¶õ´Ù.
ISA Ä«µåµéÀÇ °æ¿ì¿¡´Â, ¸¸ÀÏ ¼³Á¤ À¯Æ¿¸®Æ¼°¡ ¿É¼Ç¿¡ °üÇØ ¹°¾îº»´Ù¸é, I/O ÁÖ¼Ò¸¦ Á¤Çؼ
¿É¼ÇÀ¸·Î(¿¹¸¦ µé¾î io=0x340
) Ãß°¡ÇÏ¸é µÈ´Ù. ¸¸ÀÏ ¼³Á¤ À¯Æ¿¸®Æ¼°¡ ¾ø´Ù¸é, ¿©·¯ºÐÀº
¿Ã¹Ù¸¥ ¸ðµâ À̸§(±×¸®°í ¿É¼Çµé)À» /etc/conf.modules
¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù -- ´õ ÀÚ¼¼ÇÑ
³»¿ëÀº man modprobe
¸¦ º¸±â ¹Ù¶õ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ ¹èÆ÷ÆÇ¿¡¼ Á¦°øµÇ´Â ¹Ì¸® ÄÄÆÄÀÏµÈ Ä¿³ÎÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é, ¿©·¯ºÐÀÌ ¼³Ä¡ÇÑ Ä¿³ÎÀÇ ¹®¼¸¦ º¸°í, ¿©·¯ºÐÀÇ Æ¯Á¤ Ä«µå¿¡ ´ëÇÑ Áö¿øÀÌ µé¾îÀÖ´ÂÁö¸¦ È®ÀÎÇ϶ó. ¸¸¾à µé¾îÀÖÁö ¾Ê´Ù¸é, ¿©·¯ºÐÀÇ Ä«µå¿¡ ´ëÇÑ Áö¿øÀÌ ÀÖ´Â Ä¿³ÎÀ» ±¸Çϰųª, ¿©·¯ºÐ ÀÚ½ÅÀÇ °ÍÀ» ¸¸µé¸é µÈ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ Àڽſ¡°Ô ÇÊ¿äÇÑ µå¶óÀ̹öµé¸¸À» °¡Áö°í ÀÚ½ÅÀÇ Ä¿³ÎÀ» ¸¸µé¼ö ÀÖ´Ù¸é, Ä¿³ÎÀÇ Å©±âµµ ÁÙ°í (ÀÀ¿ë ÇÁ·Î±×·¥µéÀ» À§ÇØ ¿©·¯ºÐÀÇ Áß¿äÇÑ RAMÀ» Àý¾à!) ¹Î°¨ÇÑ Çϵå¿þ¾î¸¦ ¸Á°¡Æ®¸±¼öµµ ÀÖ´Â ¼ö¸¹Àº ÀåÄ¡¿¡ ´ëÇÑ Å½»öÀ» ÁÙÀϼö ÀÖ´Ù. Ä¿³ÎÀ» ¸¸µå´Â °ÍÀº µé¸®´Â °Íó·³ ±×¸® º¹ÀâÇÏÁö ¾Ê´Ù. ¿©·¯ºÐÀÌ ÇÊ¿äÇÑ µå¶óÀ̹ö°¡ ¹«¾ùÀÎÁö¿¡ ´ëÇÑ Áú¹®¿¡ ³× ¶Ç´Â ¾Æ´Ï¿À·Î ´ë´ä¸¸ ÇØÁÖ¸é, ³ª¸ÓÁö´Â ¾Ë¾Æ¼ ÇÑ´Ù.
±× ´ÙÀ½ ÁÖµÈ ¿øÀÎÀº ¿©·¯ºÐÀÇ Ä«µå°¡ ÇÊ¿ä·ÎÇÏ´Â I/O °ø°£ÀÇ ÀϺκÐÀ» ´Ù¸¥ ÀåÄ¡°¡ »ç¿ëÇÏ°í
ÀÖ´Â °æ¿ìÀÌ´Ù. ´ëºÎºÐÀÇ Ä«µåµéÀº 16 ¶Ç´Â 32 ¹ÙÀÌÆ®ÀÇ I/O °ø°£À» ÇÊ¿ä·ÎÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÇ
Ä«µå°¡ 0x300
¿¡ 32 ¹ÙÀÌÆ®ÀÇ °ø°£À¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é, µå¶óÀ̹ö´Â 0x300-0x31f
¸¦
¿ä±¸ÇÏ°Ô µÈ´Ù.
¸¸ÀÏ ¾î¶² ´Ù¸¥ ÀåÄ¡ µå¶óÀ̹ö°¡ ±× ¹üÀ§³»¿¡ ¾îµð¶óµµ µî·ÏÀÌ µÇ¾î ÀÖÀ¸¸é, ±× ÁÖ¼Ò¿¡ ´ëÇÑ
Ž»öÀº ÀÌ·ç¾îÁöÁö ¾ÊÀ¸¸ç, µå¶óÀ̹ö´Â ¾Æ¹«¸»¾øÀÌ ´ÙÀ½ Ž»ö ÁÖ¼Ò·Î ³Ñ¾î°¡¼ Ž»öÀ» °è¼ÓÇÏ°Ô
µÈ´Ù. ±×·¯¹Ç·Î, ºÎÆà ÈÄ¿¡, cat /proc/ioports
¸¦ Ãļ Ä«µå°¡ ÇÊ¿ä·Î ÇÏ´Â I/O ÁÖ¼Ò
°ø°£ ¸ðµÎ°¡ ºñ¾îÀÖ´ÂÁö¸¦ È®ÀÎÇØ º¸¾Æ¾ß ÇÑ´Ù.
¶Ç´Ù¸¥ ¹®Á¦´Â ¿©·¯ºÐÀÇ Ä«µå°¡ Á¡ÆÛ·Î ¼³Á¤µÈ I/O ÁÖ¼Ò°¡ ±âº»ÀûÀ¸·Î Ž»öÀÌ µÇÁö ¾Ê´Â
°ÍÀÌ´Ù. °¢ µå¶óÀ̹öÀÇ Å½»öÇÏ´Â ÁÖ¼Ò ¸ñ·ÏÀº µå¶óÀ̹ö ¼Ò½º³»ÀÇ ÁÖ¼®¹® ´ÙÀ½¿¡¼ ½±°Ô ¹ß°ßÇÒ
¼ö ÀÖ´Ù. ºñ·Ï ¿©·¯ºÐÀÇ Ä«µå°¡ ¼³Á¤µÈ I/O ÁÖ¼Ò°¡ ¸ñ·Ï¿¡ ¾ø´õ¶óµµ, ºÎÆýÿ¡(Ä¿³Î¿¡ ³»ÀåµÈ
µå¶óÀ̹öÀÇ °æ¿ì) ether=
¸í·ÉÀ» ÅëÇØ ÁÖ¼Ò¸¦ ³Ñ°ÜÁÙ¼ö ÀÖ´Ù. ÀÌ ¸í·ÉÀº ´ÙÀ½ Àå¼Ò¿¡ ¼³¸í
µÇ¾î ÀÖ´Ù.
ÀÌ´õ³Ý Àμöµé ³Ñ°ÜÁÖ±â...
¸ðµâ µå¶óÀ̹öµéÀÇ °æ¿ì¿¡´Â /etc/conf.modules
³»¿¡ io=
¿É¼ÇÀ» »ç¿ëÇؼ
±âº»ÀûÀ¸·Î Ž»öµÇÁö ¾Ê´Â ÁÖ¼Ò¸¦ Á¤ÇØÁÙ¼ö ÀÖ´Ù.
ifconfig
°¡ Ä«µå¿¡ ´ëÇØ À߸øµÈ I/O ÁÖ¼Ò¸¦ º¸¿©ÁØ´Ù.
±×·¸Áö ¾Ê´Ù. ¿©·¯ºÐÀÌ ±× ³»¿ëÀ» À߸ø Çؼ®ÇÑ °ÍÀÏ»ÓÀÌ´Ù. ÀÌ°ÍÀº ¹ö±×°¡ ¾Æ´Ï´Ù. ±×¸®°í
º¸¿©ÁÖ´Â ¼ýÀÚµéÀº ¿Ã¹Ù¸¥ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Çö»óÀº óÀ½ Á¤ÇØÁø I/O Æ÷Æ®¿Í »óÃæµÇ´Â ÀÚ¸®¿¡
½ÇÁ¦ 8390ĨÀ» °¡Áø ¸î¸î 8390 ±â¹ÝÀÇ Ä«µåµé(wd80x3, smc-ultra, µîµî)ÇÑÅ×¼ ÀϾÙ.
ÀÌ°ÍÀº dev->base_addr
¿¡ ÀÖ´Â °ªÀ¸·Î, ifconfig
·Î º¼¼ö ÀÖ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ
¿©·¯ºÐÀÇ Ä«µå°¡ »ç¿ëÇÏ´Â Æ÷Æ®ÀÇ Àüü ¹üÀ§¸¦ º¸·Á¸é, cat /proc/ioports
¸¦ Çغ¸¸é,
¿©·¯ºÐÀÌ ±â´ëÇß´ø ¼ýÀÚµéÀ» º¼¼ö ÀÖÀ» °ÍÀÌ´Ù.
¸î¸î PCI BIOSµéÀº Àü¿øÀ» Ä×À»¶§ ¸ðµç PCI Ä«µåµéÀ» »ç¿ëÇÒ¼ö ÀÖ°Ô ÇÏÁö´Â ¾Ê´Âµ¥, ƯÈ÷ BIOS ÀÇ ¿É¼ÇÀÌ `PNP OS'°¡ »ç¿ë°¡´ÉÇÏ°Ô µÇ¾îÀÖ´Ù¸é ±×·¸´Ù. ÀÌ À߸øµÈ ºÎºÐÀº ¾ÆÁ÷µµ ¿©ÀüÈ÷ ¸î¸î ¸®¾ó¸ðµå µå¶óÀ̹öµéÀ» »ç¿ëÇÏ°í ÀÖ´Â ÇöÀçÀÇ À©µµ¿ì °è¿À» Áö¿øÇϱâ À§ÇÑ °ÍÀÌ´Ù. ÀÌ ¿É¼ÇÀ» disable·Î Çϰųª, »ç¿ëÇÒ¼ö ¾ø°Ô ¼³Á¤µÈ Ä«µå¸¦ »ç¿ëÇÒ¼ö ÀÖ°ÔÇÏ´Â Äڵ带 °¡Áø »õ·Î¿î µå¶ó À̹ö·Î ¾÷±×·¹À̵åÇÏ¸é µÈ´Ù.
0xffff
)
ÀÌ°ÍÀº º¸Åë ¼ö¸¹Àº 0xffff
°ªµéÀ» ÀоîµéÀ̱⠶§¹®¿¡ ÀϾÙ. PCI ¸Ó½Å³»¿¡¼´Â
°øÀ¯ ¸Þ¸ð¸® Ä«µåµéÀº ¸¸ÀÏ ¿©·¯ºÐÀÌ PCI ROM BIOS/CMOS SETUP ¼³Á¤À» Á¦´ë·Î ÇÏÁö ¾Ê´Â´Ù¸é
ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ¿©·¯ºÐÀº ¿©·¯ºÐÀÇ Ä«µå°¡ »ç¿ëÇÏ·Á°í ÇÏ´Â ¸Þ¸ð¸® ¿µ¿ª¿¡ ´ëÇؼ ISA
¹ö½º¿¡¼ °øÀ¯ ¸Þ¸ð¸® Á¢±ÙÀ» Çã¿ëÇϵµ·Ï ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ ¾î¶»°Ô ¼³Á¤Çؾß
ÇÏ´ÂÁö ÀÌÇØÇÏÁö ¸øÇÏ°Ú´Ù¸é, ¿©·¯ºÐÀ» µµ¿ÍÁÖ´Â »ç¶÷À̳ª Áö¿ªÀÇ °í¼öµé¿¡°Ô ¹°¾îº¸¶ó.
AMI BIOSÀÇ °æ¿ì¿¡´Â, º¸Åë "Plug and Play"ºÎºÐÀÌ ÀÖ°í ±×¾È¿¡ ``ISA Shared Memory Size" ¿Í
``ISA Shared Memory Base" ¼³Á¤ÀÌ ÀÖ´Ù. wd8013 À̳ª SMC Ultra¿Í °°Àº Ä«µåµéÀÇ °æ¿ì¿¡´Â
±âº»ÀûÀ¸·Î `Disabled'¶ó°í µÇ¾îÀÖ´Â °ÍÀ» 16kB·Î Å©±â¸¦ ¹Ù²Ù¾îÁÖ°í, ¿©·¯ºÐ Ä«µåÀÇ °øÀ¯
¸Þ¸ð¸® ÁÖ¼Ò¸¦ ¹Ù²Ù¾îÁÖ¸é µÈ´Ù.
cat /proc/interrupts
Çغ¸¶ó.
¿©·¯ºÐÀÇ Ä«µå°¡ »ý¼ºÇÑ ½ÇÇàÁßÀÎ ÀÎÅÍ·´Æ® À̺¥Æ®ÀÇ ÃѼýÀÚ°¡ ¸ñ·Ï¿¡ ÀÖÀ» °ÍÀÌ´Ù. ¸¸ÀÏ
±×°ÍÀÌ ¿©·¯ºÐÀÌ Ä«µå¸¦ »ç¿ëÇÏ·Á°í ÇÒ¶§¿¡µµ 0À̰ųª ´õÀÌ»ó Áõ°¡ÇÏÁö ¾Ê´Â´Ù¸é ÄÄÇ»Åͳ»¿¡
¹°¸®ÀûÀ¸·Î ÀÎÅÍ·´Æ®°¡ Ãæµ¹ÇÏ´Â ´Ù¸¥ ÀåÄ¡°¡ ÀÖ´Â °ÍÀÌ´Ù(´Ù¸¥ ÀåÄ¡ÀÇ µå¶óÀ̹ö°¡ ¼³Ä¡/»ç¿ë
°¡´ÉÇÑ°¡´Â ¾Æ´Ñ°¡´Â ½Å°æ¾µ ÇÊ¿äµµ ¾ø´Ù). µÎ ÀåÄ¡Áß¿¡ ÇϳªÀÇ IRQ¸¦ ºñ¾îÀÖ´Â °ÍÀ¸·Î
¹Ù²Ù¾î¶ó.
Werner Almesberger ´Â ¸®´ª½º¿¡¼ÀÇ ATM Áö¿øÀ» ÀÛ¾÷ÇÏ°í ÀÖ´Ù. ±×´Â Efficient Networks ENI155p º¸µå( Efficient Networks) ¿Í Zeitnet ZN1221 º¸µå ( Zeitnet) ¸¦ »ç¿ëÇؼ ÀÛ¾÷ÁßÀÌ´Ù.
Werner ´Â ENI155p¿ë µå¶óÀ̹ö°¡ Á»´õ ¾ÈÁ¤ÀûÀÌ°í, ZN1221¿ë µå¶óÀ̹ö´Â ÇöÀç ¿Ï·áµÇÁö ¾Ê¾Ò´Ù°í ¸»ÇÑ´Ù.
ÃÖ½ÅÀÇ/°»½ÅµÈ ÀÚ·á´Â ´ÙÀ½ÀÇ URLÀ» È®ÀÎÇغ¸±â ¹Ù¶õ´Ù.
¸®´ª½º¿¡ ±â°¡¹ÙÀÌÆ® ÀÌ´õ³Ý¿¡ ´ëÇÑ Áö¿øÀÌ ÀÖ³ª?
ÀÖ´Ù, ÇöÀç Àû¾îµµ µÎ°³°¡ ÀÖ´Ù. Packet Engines G-NIC PCI ±â°¡ºñÆ® ÀÌ´õ³Ý ¾Æ´äÅÍ¿ë µå¶óÀ̹ö´Â v2.0°ú v2.2 Ä¿³Î¿¡¼ »ç¿ëÇÒ¼ö ÀÖ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ë°ú Áö¿ø, ±×¸®°í µå¶óÀ̹ö ¾÷µ¥ÀÌÆ®´Â ´ÙÀ½À» º¸¶ó.
http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html
v2.2 Ä¿³Î¿¡¼ »ç¿ëÇÒ¼ö ÀÖ´Â acenic.c
µå¶óÀ̹ö´Â Alteon AceNIC ±â°¡ºñÆ®
ÀÌ´õ³Ý Ä«µå¿Í 3Com 3c985 °°Àº ´Ù¸¥ Tigon ±â¹Ý Ä«µåµé¿¡¼ »ç¿ëÇÒ¼ö ÀÖ´Ù. ±× µå¶óÀ̹ö´Â
NetGear GA620 ¿¡¼µµ ÀÛµ¿ÇØ¾ß ÇÏÁö¸¸, ÀÌ°ÍÀº ¾ÆÁ÷ È®ÀεÇÁö ¾Ê¾Ò´Ù.
¸®´ª½º¿¡ FDDI Áö¿øÀÌ ÀÖ³ª?
ÀÖ´Ù. Larry StefaniÀº Digital's DEFEA (FDDI EISA)¿Í DEFPA (FDDI PCI) Ä«µåµé·Î v2.0¿ë µå¶óÀ̹ö¸¦ ¸¸µé¾ú´Ù. ÀÌ°ÍÀº v2.0.24 Ä¿³Î¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ÇöÀç ´Ù¸¥ Ä«µåµé¿¡ ´ëÇÑ Áö¿øÀº ¾ø´Ù.
Full Duplex °¡ 20MBps¸¦ ³»´Â°¡? ¸®´ª½º°¡ ±×°ÍÀ» Áö¿øÇϴ°¡?
Cameron Spitzer´Â full duplex 10Base-T Ä«µåµé¿¡ ´ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ ½è´Ù: ``¸¸ÀÏ ¿©·¯ºÐÀÌ full duplex ½ºÀ§Ä¡ Çãºê¿¡ ¿¬°áÇÑ´Ù¸é, ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀº ÃæºÐÈ÷ ºü¸£°ÚÁö¸¸ ¾ÆÁÖ ¿ùµîÈ÷´Â ¾Æ´Ï´Ù. ÀÌ°ÍÀº ¾ç¹æÇâ ¿¬°áÀÌ °è¼ÓµÇµµ·Ï ÇÒ »ÓÀÌ´Ù. full duplex 10BASE-2 ³ª 10BASE-5 °°Àº °Í(thin °ú thick coax)Àº ¾ø´Ù. Full Duplex´Â ¾Æ´äÅÍÀÇ Ãæµ¹ °ËÃâÀ» »ç¿ëÇÒ¼ö ¾ø°Ô ¸¸µêÀ¸·Î ½á ÀÛµ¿ÇÑ´Ù. ÀÌ°ÍÀÌ µ¿Ãà ÄÉÀ̺í·Î ÇÒ¼ö¾ø´Â ÀÌÀ¯ÀÌ´Ù; LANÀº ±×±æ·Î´Â °¡Áö ¾ÊÀ» °ÍÀÌ´Ù. 10BASE-T (RJ45 ´ÜÀÚ)´Â º¸³»°í ¹Þ±âÀ§ÇØ ºÐ¸®µÈ ¼±µéÀ» »ç¿ëÇÑ´Ù. ±×·¡¼ µ¿½Ã¿¡ ¾ç¹æÇâÀ¸·Î °¡´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ½ºÀ§Äª Çãºê´Â Ãæµ¹ ¹®Á¦¸¦ »ìÇÉ´Ù. Àü¼Û·üÀº 10MbpsÀÌ´Ù.
±×·¯¹Ç·Î ¿©·¯ºÐÀÌ º¼¼ö ÀÖ´Â °Í°ú °°ÀÌ, ¿©ÀüÈ÷ ´ÜÁö 10Mbps·Î º¸³»°í ¹ÞÀ»¼ö ÀÖ°í, µÎ¹èÀÇ ¼º´É Çâ»óÀº ±â´ëÇÏÁö ¾Ê´Â°ÍÀÌ ÁÁ´Ù. ±×°ÍÀÌ Áö¿øµÇ´ÂÁö ¾ÈµÇ´ÂÁöºz Ä«µå¿Í »ç¿ë°¡´ÉÇÑ µå¶óÀÌ ¹ö¿¡ ´Þ·ÁÀÖ´Ù. ¸î¸î Ä«µåµéÀº ÀÚµ¿Ã³¸®¸¦ Çϱ⵵ ÇÏ°í, ¸î¸îÀº µå¶óÀ̹ö Áö¿øÀ» ÇÊ¿ä·ÎÇϸç, ¶Ç ¾î¶²°ÍµéÀº Ä«µåÀÇ EEPROM ¼³Á¤¿¡¼ »ç¿ëÀÚµéÀÌ ¿É¼ÇÀ» ¼³Á¤ÇØÁÙ ÇÊ¿ä°¡ ÀÖ´Ù. ´ÜÁö ½É°¢ÇÑ/ °ÆÁ¤¸¹Àº(serious/heavy) »ç¿ëÀڵ鸸ÀÌ µÎ ¸ðµå°£ÀÇ Â÷ÀÌ¿¡ ½Å°æ¾µ »ÓÀÌ´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ ¿©ºÐÀÇ µ·À» ´ÙÁß ÇÁ·Î¼¼¼(MP) ÄÄÇ»ÅÍ¿¡ ¾²·Á°í ÇÑ´Ù¸é, ±×¸¸Å ÁÁÀº ÀÌ´õ³Ý
Ä«µå¸¦ »ç¾ßÇÑ´Ù. v2.0 Ä¿³Î¿¡¼´Â Á¤¸» À̾߱âÀÇ ´ë»óÀÌ µÇÁöµµ ¾Ê¾ÒÁö¸¸, v2.2¿¡¼´Â µÇ°í
ÀÖ´Ù. ´ëºÎºÐÀÇ ¶È¶ÈÇÏÁö ¸øÇÑ ±¸ÇüÀÇ Ä«µåµé(¿¹¸¦ µé¾î ISA ¹ö½º PIO ¿Í °øÀ¯ ¸Þ¸ð¸® µðÀÚÀÎ)
Àº MP ¸Ó½Å»ó¿¡¼ »ç¿ë¿¡ ´ëÇØ Á¶±Ýµµ °í·ÁÇÏÁö¾Ê°í ¸¸µé¾îÁ³´Ù. °á·ÐÀûÀ¸·Î ¸»ÇÏÀÚ¸é, ¶È¶ÈÇÑ
Çö´ëÀû µðÀÚÀÎÀÇ Ä«µå¸¦ »ç°í MP ÀÛ¾÷À» ´Ù·ê¼ö ÀÖ°Ô ÀÛ¼ºµÈ (¶Ç´Â °»½ÅµÈ) µå¶óÀ̹ö°¡ ÀÖ´ÂÁö
È®ÀÎÇ϶ó. (ÇÙ½ÉÀº `Çö´ëÀû µðÀÚÀÎ'ÀÌ´Ù - PCI NE2000Àº Çö´ëÀûÀÎ ¹ö½º»óÀÇ Àû¾îµµ 10³âÀÌ»óµÈ
±¸ µðÀÚÀÎÀÌ´Ù.) µå¶óÀ̹ö ¼Ò½º³»ÀÇ spin_lock
¸¦ ãÀ¸¸é, ÀÌ´Â ±× µå¶óÀ̹ö°¡
MP ÀÛ¾÷À» ´Ù·ê¼ö ÀÖ°Ô ÀÛ¼ºµÈ °ÍÀ̶ó´Â °ÍÀ» ¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù. ¿Ö ¿©·¯ºÐÀÌ MP¸¦ »ç¿ëÇϱâ
À§Çؼ ÁÁÀº Ä«µå¸¦ »ç¾ß ÇÏ´ÂÁö¿¡ ´ëÇؼ´Â (±×¸®°í ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡´Â ¾î¶°ÇÑ ÀÏÀÌ ÀϾ
´ÂÁö) ´ÙÀ½À» º¸±â ¹Ù¶õ´Ù.
Ä¿³Î v2.0 ¿¡¼´Â, `Ä¿³Î³»¿¡'(Áï, Ä¿³Î µ¥ÀÌŸ¸¦ ¹Ù²Ù°í, ¶Ç´Â ÀåÄ¡ µå¶óÀ̹öµéÀ» ½ÇÇàÇϴµ¥) ¾ðÁ¦³ª ´ÜÁö ÇϳªÀÇ ÇÁ·Î¼¼¼¸¸ÀÌ Çã¿ëµÇ¾ú´Ù. ±×·¯¹Ç·Î Ä«µåÀÇ °üÁ¡¿¡¼´Â (±×¸®°í ¿¬°üµÈ µå ¶óÀ̹ö¿¡¼µµ) ´ÜÀÏ ÇÁ·Î¼¼¼ (UP) ÀÛ¾÷°ú´Â ÀÛµ¿ÀÌ °è¼ÓµÈ´Ù´Â °Í ¸»°í´Â ¾Æ¹«·± Â÷ÀÌ°¡ ¾ø¾ú ´Ù. (ÀÌ°ÍÀÌ µ¿ÀÛÇÏ´Â ¸®´ª½ºÀÇ MP¹öÀüÀ» ±¸ÇÏ´Â °¡Àå ¼Õ½¬¿î ¹æ¹ýÀÌ´Ù - ÀÏÁ¤ ½Ã°£¿¡ ´ÜÁö ÇÏ ³ªÀÇ ÇÁ·Î¼¼¼¸¸ÀÌ Àüü Ä¿³Î¿¡ Å« ¶ôÀ» °Éµµ·Ï ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀº ¿©·¯ºÐµµ ¾Ë´Ù½ÃÇÇ µ¿ ½Ã¿¡ °°Àº °ÍÀ» µÎ ÇÁ·Î¼¼¼°¡ º¯°æÇÏÁö ¸øÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù
ƯÁ¤ ½Ã°£¿¡ Ä¿³Î³»¿¡ ÇϳªÀÇ ÇÁ·Î¼¼¼¸¸ÀÌ Çã¿ëµÇ´Â »óȲÇÏ¿¡¼, ¿©·¯ºÐÀº ½ÇÇàµÇ´Â ÇÁ·Î±×·¥ ÀÌ ÀÚ½ÅÀ» Æ÷ÇÔÇÏ°í ÀǵµÀûÀÎ °è»êÀ» ÇÒ °æ¿ì¿¡¸¸ MP ¼º´ÉÀ» ¾òÀ»¼ö ÀÖ´Ù. ¸¸ÀÏ ÇÁ·Î±×·¥ÀÌ µð½ºÅ©³ª ³×Æ®¿öÅ©¸¦ ÅëÇÏ¿© µ¥ÀÌŸ¸¦ ÀÐ°í ¾²´Â ÀÏ °°Àº ÀÔ/Ãâ·Â(I/O)À» ¸¹ÀÌ ÇÑ´Ù¸é, Ä¿³Î³» ¿¡ ½ÇÇàÁßÀÎ ÇϳªÀÇ ÇÁ·Î¼¼¼°¡ ÀåÄ¡ µå¶óÀ̹öµéÀÇ ÀÔÃâ·Â ¿äûÀ» ½ÇÇàÇϱâ À§ÇØ ½ÃµµÇÏ´Â µ¿¾È¿¡ ´Ù¸¥ ¸ðµç ÇÁ·Î¼¼¼µéÀº ±×µéÀÇ ÀÔÃâ·Â ¿äûÀÌ ³¡³ª±â¸¸À» ±â´Ù·Á¾ß ÇÑ´Ù. Ä¿³ÎÀÌ º´¸ñ ÀÌ µÇ¾î ´ÜÁö ÇϳªÀÇ ÇÁ·Î¼¼¼¸¸ÀÌ ½ÇÇàÁß¿¡ ÀÖ°Ô µÇ¹Ç·Î, single-lock ÀÎ, ÀÔÃâ·ÂÀÌ ¸¹Àº MP ¸Ó½ÅÀÇ ¼º´ÉÀº ±Þ¼Óµµ·Î ´ÜÀÏ ÇÁ·Î¼¼¼ ¸Ó½Å¿¡ °¡±õ°Ô ¶³¾îÁö°Ô µÈ´Ù.
ÀÌ°ÍÀº »ý°¢Çß´ø °Íº¸´Ù È®½ÇÈ÷ ¶³¾îÁö±â ¶§¹®¿¡ (ƯÈ÷, ÆÄÀÏ/WWW ¼¹ö, ¶ó¿ìÅÍ, µîµî) v2.2 Ä¿³Î¿¡¼´Â ´õ ÁÁÀº grained lockingÀ» °¡Áö°Ô µÇ¾ú´Ù - ÀÌ°ÍÀº µ¿½Ã¿¡ ÇϳªÀÌ»óÀÇ ÇÁ·Î¼¼¼°¡ Ä¿³Î³»¿¡ Á¸ÀçÇÒ¼ö ÀÖ´Ù´Â °ÍÀ» ¶æÇÑ´Ù. Àüü Ä¿³Î¿¡ ´ëÇÑ ÇϳªÀÇ big lock ´ë½Å¿¡, Çϳª ÀÌ»ó ÀÇ ÇÁ·Î¼¼¼°¡ µ¿½Ã¿¡ µ¥ÀÌŸ¸¦ º¹Á¦ÇÏ´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ ´Ù¼öÀÇ ÀÛÀº ¶ôµéÀÌ Á¸ÀçÇÏ°Ô µÇ¾ú´Ù. - Áï ÇϳªÀÇ ÇÁ·Î¼¼¼°¡ ³×Æ®¿öÅ© Ä«µåÀÇ µå¶óÀ̹ö¸¦ ½ÇÇàÇÏ´Â µ¿¾È¿¡, ´Ù¸¥ ÇÁ·Î¼¼¼ ´Â µ¿½Ã¿¡ µð½ºÅ© µå¶óÀ̺꿡 ´ëÇÑ µå¶óÀ̹ö¸¦ ½ÇÇàÇÒ¼ö ÀÖ´Ù.
Okay, with that all in mind here are the snags: The finer locking
means that you can have one processor trying to send data
out through an ethernet driver while another processor tries to
access the same driver/card to do something else (such as get the
card statistics for cat /proc/net/dev
). Oops - your card
stats just got sent out over the wire, while you got data for
your stats instead. Yes, the card got confused by being asked
to do two (or more!) things at once, and chances are it crashed
your machine in the process.
±×·¡¼, UP¿¡¼ ÀÛµ¿ÇÏ´Â µå¶óÀ̹öµéÀº ´õÀÌ»ó ÃæºÐÄ¡ ¾Ê´Ù - À̵éÀº ¼³Á¤ µ¥ÀÌŸÀÇ ¹Þ°í, Àü¼ÛÇÏ°í, º¹»çÇÏ´Â ¼¼°¡Áö ÀÛ¾÷µéÀ» Ä«µå°¡ ¾ÈÁ¤µÈ ÀÛµ¿À» ÇÒÁ¤µµ·Î Á÷·ÄÈµÈ Ä«µåÀÇ Á¢±ÙÁ¦¾î ¶ôµéÀ» °»½ÅÇؾ߸¸ ÇÑ´Ù. The scary part here is that a driver not yet updated with locks for stable MP operation will probably appear to be working in a MP machine under light network load, but will crash the machine or at least exhibit strange behaviour when two (or more!) processors try to do more than one of these three tasks at the same time.
The updated MP aware ethernet driver will (at a
minimum) require a lock
around the driver that limits access at the entry points
from the kernel into the driver to `one at a time please'.
With this in place, things will be serialized so that the
underlying hardware should be treated just as if it was being
used in a UP machine, and so it should be stable. The downside
is that the one lock around the whole ethernet driver has
the same negative performance implications that having one big
lock around the whole kernel had (but on a smaller scale) - i.e.
you can only have one processor dealing with the card
at a time.
[Technical Note: The performance impact may also include
increased interrupt latencies if the locks that need to be
added are of the irqsave
type and they are held
for a long time.]
Possible improvements on this situation can be made in two ways. You can try to minimize the time between when the lock is taken and when it is released, and/or you can implement finer grained locking within the driver (e.g. a lock around the whole driver would be overkill if a lock or two protecting against simultaneous access to a couple of sensitive registers/settings on the card would suffice).
However, for older non-intelligent cards that were never designed with MP use in mind, neither of these improvements may be feasible. Worse yet is that the non-intelligent cards typically require the processor to move the data between the card and the computer memory, so in a worst case scenario the lock will be held the whole time that it takes to move each 1.5kB data packet over an ISA bus.
The more modern intelligent cards typically move network data directly to and from the computer memory without any help from a processor. This is a big win, since the lock is then only held for the short time it takes the processor to tell the card where in memory to get/store the next network data packet. More modern card designs are less apt to require a single big lock around the whole driver as well.
v2.0¿¡¼´Â, ´ÜÁö 3c509, depca, de4x5, pcnet32, ±×¸®°í ¸ðµç 8390 µå¶óÀ̹öµé(wd, smc-ultra, ne, 3c503, µîµî.)¸¸ÀÌ DEC Alpha CPU ±â¹Ý ½Ã½ºÅÛµé»ó¿¡¼ ÀÛµ¿ÇÒ¼ö ÀÖÀ» Á¤µµ·Î `¾ÆÅ°ÅØó µ¶¸³Àû'À¸·Î ¸¸µé¾îÁ³´Ù. DonaldÀÇ WWW ÆäÀÌÁö¿¡¼µµ ¾ÆÅ°ÅØó µ¶¸³ÀûÀ¸·Î ¸¸µé¾îÁø ´Ù¸¥ ¾÷µ¥ÀÌÆ®µÈ PCI µå¶óÀ̹öµéÀ» ãÀ»¼ö ÀÖÀ» °ÍÀÌ´Ù.
µå¶óÀ̹ö¸¦ ¾ÆÅ°ÅØó µ¶¸³ÀûÀ¸·Î ¹Ù²Ù´Â °ÍÀº º¹ÀâÇÏÁö ¾Ê´Ù. ¿©·¯ºÐÀº ´ÜÁö ´ÙÀ½À» µû¶ó ÇÏ¸é µÈ´Ù.
-multiply all jiffies
related values by HZ/100 to account
for the different HZ value that the Alpha uses.
(i.e timeout=2;
becomes timeout=2*HZ/100;
)
-replace any I/O memory (640k to 1MB) pointer dereferences with the appropriate readb() writeb() readl() writel() calls, as shown in this example.
- int *mem_base = (int *)dev->mem_start; - mem_base[0] = 0xba5eba5e; + unsigned long mem_base = dev->mem_start; + writel(0xba5eba5e, mem_base);
-replace all memcpy() calls that have I/O memory as source or
target destinations with the appropriate one of
memcpy_fromio()
or memcpy_toio()
.
Details on handling memory accesses in an architecture
independent fashion are documented in the file
linux/Documentation/IO-mapping.txt
that comes
with recent kernels.
½ºÆÅ »óÀÇ ¸ðµç ÃÖ½ÅÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ »çÀÌÆ®¿¡¼ º¼¼ö ÀÖ´Ù.
¾Ë¾ÆµÖ¾ß ÇÒ °ÍÀº ¸î¸î ½ºÆÅ ÀÌ´õ³Ý Çϵå¿þ¾î´Â È£½ºÆ® ÄÄÇ»ÅͷκÎÅÍ MAC ÁÖ¼Ò¸¦ °¡Á®¿À¹Ç·Î,
¿©·¯ºÐÀº ¿©·¯°³ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ °°Àº µ¿ÀÏÇÑ MAC ÁÖ¼Ò·Î ÇØÁÙ¼ö ÀÖ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ
µ¿ÀÏÇÑ ³×Æ®¿öÅ© »ó¿¡ Çϳª ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º¸¦ ³õ¾Æ¾ß ÇÑ´Ù¸é, ifconfig
¿¡
À¯ÀÏÇÑ MAC ÁÖ¼Ò¸¦ ÇÒ´çÇϱâ À§ÇØ hw
¿É¼ÇÀ» »ç¿ëÇ϶ó.
PCI µå¶óÀ̹öµéÀ» ½ºÆÅ Ç÷§Æû¿¡ Æ÷ÆÃÇϴµ¥ÀÇ ¹®Á¦´Â À§¿¡¼ ¾ð±ÞÇÑ AXP Ç÷§ÆûÀÇ °æ¿ì¿Í °°´Ù. ¶ÇÇÑ ¿©±â¿¡´Â ½ºÆÅÀÌ ºò ¿£µð¾ÈÀ», ±×¸®°í AXP¿Í ix86ÀÌ ¸®Æ² ¿£µð¾ÈÀ̱⠶§¹®¿¡, ÀÌ ¿£µð¾È¿¡ °üÇÑ ¹®Á¦µµ ÀÖ´Ù.
¿©±â¿¡´Â ¸®´ª½º°¡ ½ÇÇàµÉ¼ö ÀÖ´Â, Atari/Amiga (m68k) °°Àº ¸î¸î ´Ù¸¥ Çϵå¿þ¾î Ç÷§ÆûÀÌ ÀÖ´Ù. SparcÀÇ °æ¿ì¿¡´Â °¢ ¸®´ª½º Æ÷Æ®ÀÇ È¨ »çÀÌÆ®¿¡ °¡´Â°ÍÀÌ ±× Ç÷§Æû¿¡¼ ÇöÀç Áö¿øµÇ´Â °ÍÀ» º¼¼ö ÀÖ´Â °¡Àå ÁÁÀº ¹æ¹ýÀÌ´Ù. (±×·± »çÀÌÆ®µéÀ̶ó¸é ¸µÅ©¸¦ ȯ¿µÇÕ´Ï´Ù - ¿©±â·Î º¸³»ÁÖ ¼¼¿ä!)
Çãºê¾øÀÌ 10/100BaseT (RJ45) ±â¹Ý ½Ã½ºÅÛµéÀ» ÇÔ²² ¿¬°áÇÒ¼ö Àִ°¡?
¿©·¯ºÐÀº 2 ¸Ó½ÅÀº ½±°Ô ÀÌÀ»¼ö ÀÖÁö¸¸, ±× ÀÌ»óÀº º°µµÀÇ Àåºñµé/±âÁî¸ðµé(¿µÈ '±×·½¸°'¿¡ ³ª¿À´Â µ¿¹°À̸§ÀÎ°Í °°³×¿ä:¿ªÀÚÁÖ)ÀÌ ÇÊ¿äÇÏ´Ù. ´ÙÀ½À» º¸¶ó. Twisted Pair -- ÀÌ ±ÛÀº ¾î¶»°Ô ÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇØ ¼³¸íÇÏ°í ÀÖ´Ù. ±×¸®°í ¸î°³ÀÇ ¼±°ú ÀåºñµéÀ» ±³Â÷ÇØ°¡¸ç ÇÔ²² Çãºê¿¡ ¹°¸±¼ö´Â ¾ø´Ù. Çãºê¿¡¼ º¹Á¦µÊ ¾øÀÌ Ãæµ¹ ½ÅÈ£¸¦ º¸Á¤Çϴ°ÍÀº ºÒ°¡´ÉÇÏ´Ù.
³ª´Â ºÎÆýÿ¡ `SIOCSIFxxx: No such device' ¸Þ¼¼Áö¸¦ ¹Þ¾Ò´Ù. `SIOCADDRT: Network is unreachable'À̶ó´Â ¸Þ¼¼Áö¿¡ ÀÌ¾î¼ ¸»ÀÌ´Ù. ¹¹°¡ À߸øµÈ°Ç°¡?
¿©·¯ºÐÀÇ ÀÌ´õ³Ý ÀåÄ¡°¡ ºÎÆ®/¸ðµâ »ðÀԽÿ¡ Ž»öµÇÁö ¾Ê°í, ifconfig
¿Í
route
¸¦ ½ÇÇàÇϸé, ÀÛµ¿½Ãų ÀåÄ¡°¡ ¾ø´Ù°í ÇÑ´Ù. dmesg | more
¸¦ »ç¿ëÇؼ
ºÎÆ® ¸Þ¼¼Áö¸¦ »ìÆ캸°í ÀÌ´õ³ÝÄ«µå Ž»ö¿¡ ´ëÇÑ ¾î¶² ¸Þ¼¼Áö°¡ ¾ø´ÂÁö º¸¶ó.
`ifconfig'¸¦ ½ÇÇàÇÏÀÚ `SIOCSFFLAGS: Try again' À̶ó´Â ¸Þ¼¼Áö¸¦ ¹Þ¾Ò´Ù -- Çê?
¿©·¯ºÐÀÇ ÀÌ´õ³Ý Ä«µå°¡ »ç¿ëÇÏ·Á°í ÇÏ´Â IRQ¸¦ ¾î¶² ´Ù¸¥ ÀåÄ¡°¡ °¡Á®¼, ÀÌ´õ³Ý Ä«µå°¡ ±×
IRQ¸¦ »ç¿ëÇÏÁö ¸øÇÏ´Â °ÍÀÌ´Ù. ¸î¸î ÀåÄ¡µéÀº ±×µéÀÌ IRQ°¡ ÇÊ¿äÇÒ¶§ Àâ¾Ò´Ù°¡ ´Ù½Ã ÀÛ¾÷ÀÌ
³¡³ª¸é Ç®¾îÁֹǷÎ, ÀÌ°ÍÀ» ÇÒ´çÇϱâ À§ÇØ ¸®ºÎÆÃÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ¿¹¸¦µé¸é ¸î¸î »ç¿îµå Ä«µå,
½Ã¸®¾ó Æ÷Æ®, Ç÷ÎÇÇ µð½ºÅ© µå¶óÀ̹ö, µîµîÀÌ ÀÖ´Ù. ¿©·¯ºÐÀº cat /proc/interrupts
¶ó°í Ãļ ¾î´À ÀÎÅÍ·´Æ®°¡ ÇöÀç »ç¿ëÁßÀΰ¡¸¦ º¼¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ÀÌ´õ³Ý Ä«µå
µå¶óÀ̹öµéÀº `ifconfig'¸¦ ÅëÇØ »ç¿ëÇÏ·Á°í ¿·ÈÀ» °æ¿ì¿¡¸¸ IRQ¸¦ Â÷ÁöÇÑ´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ
ÇÊ¿äÇÑ IRQ ¶óÀÎÀ» ´Ù¸¥ ÀåÄ¡°¡ `³õ°í °¡°Ô'ÇÒ¼ö ÀÖ´Ù¸é, ¿©·¯ºÐÀº ifconfig·Î `´Ù½Ã ½ÃµµÇÒ'¼ö
ÀÖÀ» °ÍÀÌ´Ù.
¾Æ¹«·± Àμö¾øÀÌ ifconfig¸¦ Çϸé, LINK°¡ UNSPEC (10Mbs ÀÌ´õ³Ý ´ë½Å)ÀÌ°í ³» Çϵå¿þ¾î ÁÖ¼Ò´Â ¸ðµÎ ¿µÀÌ´Ù.
ÀÌ°ÍÀº »ç¶÷µéÀÌ ±×µéÀÇ Ä¿³Î ¹öÀüº¸´Ù ³ôÀº »õ ¹öÀüÀÇ `ifconfig' ÇÁ·Î±×·¥À» ½ÇÇàÇϱ⠶§¹®¿¡ ÀϾÙ. ÀÌ »õ¹öÀüÀÇ ifconfig´Â ±¸Çü Ä¿³Î°ú ÇÔ²² »ç¿ëµÉ ¶§ ÀÌ·¯ÇÑ ¼Ó¼ºµéÀ» º¸°íÇÏÁö ¸øÇÑ´Ù. ¿©·¯ºÐÀº Ä¿³Îµµ ¾÷±×·¹À̵å Çϰųª, ifconfig¸¦ `´Ù¿î±×·¹À̵å'Çϰųª, ¾Æ´Ï¸é °£´ÜÈ÷ ¹«½ÃÇÒ¼ö ÀÖ´Ù. Ä¿³ÎÀº ¿©·¯ºÐÀÇ Çϵå¿þ¾î ÁÖ¼Ò¸¦ ¾Ë°í ÀÖÀ¸¹Ç·Î, ifconfig°¡ ±×°ÍÀ» ÀÐÁö ¸øÇÑ´Ù°í Çؼ Á¤¸»·Î ¹«½¼ ÀÏÀÌ ÀϾ´Â °ÍÀº ¾Æ´Ï´Ù.
¸¸ÀÏ ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ifconfig
ÇÁ·Î±×·¥ÀÌ ¿©·¯ºÐÀÌ »ç¿ëÇÏ°í ÀÖ´Â Ä¿³Îº¸´Ù
¾ÆÁÖ ¸¹ÀÌ ±¸ÇüÀÏ °æ¿ì¿¡´Â ¾û¶×ÇÑ Á¤º¸¸¦ ¾ò¾î³¾¼öµµ ÀÖ´Ù.
¾Æ¹«·± Àμöµé¾øÀÌ ifconfig¸¦ ½ÇÇàÇϸé, º¸³»°í ¹ÞÀº ÆÐŶ ¸ðµÎ¿¡ ¾öû³ ¾çÀÇ ¿¡·¯¼ýÀÚ°¡ Àִ°ÍÀ» º»´Ù. ¸ðµÎ Á¦´ë·Î ÀÛµ¿ÇÏ´Â °Í °°Àºµ¥ -- ¹«¾ùÀÌ À߸øµÈ °ÍÀΰ¡?
´Ù½Ã Àß º¸¶ó. ÀÌ°ÍÀº RX packets
big number PAUSE errors 0
PAUSE dropped 0
PAUSE overrun 0
ÀÌ´Ù.
TX
¿ÀÇ °æ¿ìµµ ¸¶Âù°¡Áö´Ù. ±×·¯¹Ç·Î ¿©·¯ºÐÀÌ º» Å« ¼ýÀÚµéÀº ¿©·¯ºÐÀÇ ¸Ó½ÅÀÌ ÁÖ°í
¹ÞÀº ÆÐŶÀÇ ÃÑ ¼ýÀÚÀÌ´Ù. ¾ÆÁ÷µµ È¥¶õ½º·´´Ù¸é, ´ë½Å¿¡ cat /proc/net/dev
¶ó°í
Ã帶ó.
/dev/
³»ÀÇ ÀÌ´õ³Ý Ä«µåµéÀ» À§ÇÑ ³»¿ë¹°µé³ª´Â /dev/eth0°¡ /dev/xxx¿¡ ¸µÅ©µÇ¾î ÀÖ´Ù. ÀÌ°ÍÀÌ ¿ÇÀº °ÍÀΰ¡?
¿©·¯ºÐÀÌ µéÀº°Í°ú´Â ´Þ¸®, /dev/* ³»ÀÇ ÆÄÀϵéÀº »ç¿ëµÇÁö ¾Ê´Â´Ù.
¿©·¯ºÐÀº /dev/wd0, /dev/ne0
¿Í °°Àº ¾î¶°ÇÑ ºñ½ÁÇÑ ³»¿ëµéµµ Áö¿ï¼ö ÀÖ´Ù.
`ifconfig'`¸¦ ³» ÀÌ´õ³Ý Ä«µå¿¡ »ç¿ëÇÒ¶§ Æ®·¹ÀÏ·¯¸¦ »ç¿ëÇÒ¼ö ¾ø°Ô ÇÒ¼ö´Â ¾ø³ª?
¿©·¯ºÐÀº ¿©·¯ºÐÀÌ ¿øÇÏÁö ¾Ê´õ¶óµµ, Æ®·¹ÀÏ·¯¸¦ »ç¿ëÇÒ¼ö ¾ø°Ô ÇÒ¼ö ¾ø´Ù. `Æ®·¹ÀÏ·¯'´Â ³×Æ®¿öÅ· ·¹À̾¼ÀÇ µ¥ÀÌŸ º¹»ç¸¦ ÇÇÇϱâ À§ÇØ ¸¸µé¾îÁø °ÍÀÌ´Ù. ÀÌ ¾ÆÀ̵ð¾î´Â `H' Å©±âÀÇ ÀÛÀº °íÁ¤ Å©±â Çì´õ¸¦ »ç¿ëÇϱâ À§ÇÑ °ÍÀ¸·Î, ÆÐŶÀÇ ³¡¿¡ ´Ù¾çÇÑ Å©±âÀÇ Çì´õ Á¤º¸¸¦ ³Ö°í, ÆäÀÌÁö°¡ ½ÃÀÛÇϱâ Àü¿¡ ¸ðµç ÆÐŶÀÇ `H' ¹ÙÀÌÆ®¸¦ ÇÒ´çÇÑ´Ù. ÀÌ°ÍÀº ÁÁÀº »ý°¢ÀÌÁö¸¸, ½ÇÁ¦·Î´Â Àß µ¿ÀÛÇÏÁö ¾Ê´Â°ÍÀ¸·Î µå·¯³µ´Ù. ¸¸ÀÏ ´©±º°¡°¡ `-Æ®·¹ÀÏ·¯'ÀÇ »ç¿ëÀ» Á¦¾ÈÇÑ´Ù¸é, ÀÌ°ÍÀº ¼ö¿°¼ÒÀÇ ÇÇÀÇ Èñ»ý°ú °°Àº °ÍÀÓÀ» ¾Ë¾ÆµÎ¶ó. ÀÌ°ÍÀº ¹®Á¦¸¦ ÇØ°áÇϴµ¥ ¾Æ¹«·± µµ¿òµµ ÁÖÁö ¸øÇϳª, ¸¸ÀÏ ±× ½º½º·Î ¹®Á¦°¡ °íÃÄÁø´Ù¸é ±× ´©±º°¡´Â ±íÀº ¸¶¹ý°°Àº Áö½ÄÀ» ¾Ë¸±¼ö ÀÖÀ» °ÍÀÌ´Ù.
¸®´ª½º¿¡¼ TCP/IP³ª ±×·¯ÇÑ °ÍµéÀ» ÅëÇÏÁö ¾Ê°í Àú¼öÁØ ÀÌ´õ³Ý ÀåÄ¡¿¡ Á¢±ÙÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ß Çϳª?
int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¸ðµç ÇÁ·ÎÅäÄÝ Å¸ÀÔÀ» ¹Þ´Â ¼ÒÄÏÀ» Á¦°øÇÑ´Ù.
recvfrom()
¸¦ È£ÃâÇϸé sa_family³»ÀÇ ÀåÄ¡ ŸÀÔ°ú sa_data ¹è¿³»ÀÇ ÀåÄ¡À̸§À¸·Î
sockaddr¸¦ ä¿ï °ÍÀÌ´Ù. ³ª´Â ´©°¡ ¸®´ª½º¿ë SOCK_PACKETÀ» óÀ½ °³¹ßÇß´ÂÁö ¸ð¸£Áö¸¸
Á¤¸» ´ë´ÜÇÑ °ÍÀÌ´Ù. ¿©·¯ºÐÀº sendto()
¸¦ È£ÃâÇؼ °¡°øÇÏÁö ¾ÊÀº °Íµéµµ º¸³¾¼ö ÀÖ´Ù.
¹°·Ð ·çÆ®±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù.