´ÙÀ½ ÀÌÀü Â÷·Ê

6. Tell the Driver the Configuration

6.1 ¼Ò°³

ÀÌ°ÍÀ» ÇÏ´Â ¹æ¹ýÀº ¿ÏÀüÈ÷ µå¶óÀ̹ö¿¡ ÀÇÁ¸ ÇÑ´Ù. µå¶óÀ̹ö¿¡ ÀÇÇؼ­ ¹°¸® µð¹ÙÀ̽º°¡ ¾î¶»°Ô ¼³Á¤ µÇ´ÂÁö¸¦ Á¶»çÇÏ´Â ¹æ¹ýÀº ¿©·¯°³ °¡Áö°í ÀÖ´Ù . °¡Àå ±×´ÜÀûÀÎ °æ¿ì¿¡´Â, ¹ö½º ÀÚ¿øÀ» Ä¿³ÚÀÇ hard-code·Î recompile À» ÇؾßÇÑ´Ù. ÀÌ¿¡ ¹Ý´ëµÇ´Â °æ¿ì, ¼³Á¤Àº ¸ðµÎ ÀÚµ¿ÀûÀ¸·Î ÇàÇØÁö°í, »ç¿ëÀÚ´Â ¾Æ¹«°Íµµ ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. Çϵå¿þ¾î·Î ¹ö½º ÀÚ¿ø ¼³Á¤Á¶Â÷µµ PnP ±¸Á¶¸¦ »ç¿ëÇØ ÇàÇØÁø´Ù.

ÀÌ Áß°£ÀÇ °æ¿ì´Â, ÀÚ¿ø Á¤º¸¸¦ µå¶óÀ̹ö¿¡ Áְųª, ÆÄÀÏ¿¡ ¼³Á¤ ÇÏ´Â °æ¿ìÀÌ´Ù. °æ¿ì¿¡ µû¶ó¼­´Â, µð¹ÙÀ̽º°¡ ÀÖ´Â °æ¿ì ¾îµå·¹½º¿¡ ´ëÇÑ µå¶óÀ̹ö¸¦ Ž»ö ÇÏ´Â °Íµµ ÀÖ´Ù. ±×·¸±â ¶§¹®¿¡ ´Ù¾çÇÑ IRQ¸¦ Á¶»çÇÏ°í, ¾î´À IRQ¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ»Áö¸¦ Á¶»ç ÇÑ´Ù. ÀÌ°ÍÀº ÀÚµ¿À¸·Î ÇàÇØÁö´Â °æ¿ìµµ ±×·¸Áö ¾ÊÀº °æ¿ìµµ ÀÖ´Ù. ÀÌ ¿Ü¿¡, µå¶óÀ̹ö°¡ PnPÀÇ ±¸Á¶¸¦ »ç¿ëÇØ µð¹ÙÀ̽º Á¸ Àç¿Í ¹ö½º ÀÚ¿øÀÇ ¼³Á¤À» Á¶»çÇÏ´Â °ÍÀÌ ÀÖÁö¸¸, ½ÇÁ¦·Î ¼³Á¤Àº ÇàÇØÁöÁö ¾Ê´Â´Ù. ÀÌ Á¤º¸´Â /proc µð·ºÅ丮 ³»ÀÇ ¸î°³ÀÇ ÆÄÀÏ¿¡µµ ³ªÅ¸³­´Ù.

¹ö½º ÀÚ¿øÀ» Ä¿³Ú°ú loadable ¸ðµâ¿¡ ÆĶó¹ÌÅÍ·Î ÁÙ ÇÊ ¿ä°¡ ÀÖ´Â °Íµµ ÀÖ´Ù. ÁöÁ¤°¡´ÉÇÑ ÆĶó¹ÌÅÍ¿¡ ´ëÇؼ­´Â /usr/lib/modules_help/descr.gz¸¦ º¸½Ã¿À. ·ÎµåµÇ´Â ¸ðµâ Àº, /etc/modules¿¡ ÆĶó¹ÌÅÍ Ã·ºÎ·Î ¿­°Å µÇ¾î ÀÖ´Ù. °æ¿ì¿¡ µû¶ó¼­, ¹ö½ºÀÚ¿øÀº ÆĶó¹ÌÅͷμ­ Ä¿³Ú¿¡ ÁÖ¾îÁö´Â °ÍÀÌ ÀÖ´Ù. ÆĶó ¹ÌÅÍ´Â lilo.conf ÆÄÀÏ¿¡ append="..." ¶ó´Â ÇüÅ·ΠÁöÁ¤ ÇÑ´Ù. ÀÌ ÆÄÀÏÀ» ÆíÁýÇÑ ÈÄ¿¡´Â, ¼³Á¤À» Ä¿³ÚÀÇ ºÎÆ® Äڵ忡 º¸Á¸Çϱâ À§Çؼ­ lilo¸¦ ½ÇÇà Çؾ߸¸ ÇÑ´Ù.

µå¶óÀ̹ö°¡ ¹ö½º ÀÚ¿øÀ» ã¾Æ³»±â À§ÇÑ ¹æ¹ýÀº ¸ðµÎ Á¦°¢°¢ÀÌÁö¸¸, ÃÖÁ¾Àû ÀÎ ¸ñÀûÀº °°´Ù. Çϵå¿þ¾î¿Í ±×°Í¿¡ ´ëÀÀÇÏ´Â µå¶óÀ̹ö´Â ¸Å¿ì ¸¹ÀÌ ÀÖÀ¸¹Ç·Î, µå¶óÀ̹ö°¡ ¹ö½º ÀÚ¿øÀ» ã¾Æ³»´Â ¹æ¹ý°ú µå¶óÀ̹ö°¡ ÇÊ¿ä·Î ÇÏ´Â Á¤ º¸¸¦ È®½ÇÇÏ°Ô ÀÔ¼öÇϱâ À§Çؼ­ ÇØ¾ß ÇÒ°Í¿¡ ´ëÇؼ­´Â, µå¶óÀ̹ö ¹®¼­¸¦ º¼ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÌ´Ù. ¸î°³ÀÇ µå¶óÀ̹ö¿¡ °üÇÑ °£´ÜÇÑ Á¤º¸¸¦ ¾Æ·¡¿¡¼­ ¼³¸í ÇÑ´Ù.

6.2 ½Ã¸®¾ó Æ÷Æ® µå¶óÀ̹ö: setserial

Ç¥ÁØ ½Ã¸®¾ó Æ÷Æ® µå¶óÀ̹ö(¸ÖƼ Æ÷Æ® Ä«µå¸¦ Á¦¿ÜÇÑ)¿¡ ´ëÇؼ­´Â, setserial¸¦ »ç¿ëÇØ µå¶óÀ̹öÀÇ ¼³Á¤À» ÇÑ´Ù. setserial´Â ¸¹Àº °æ¿ì, ½ÃÀÛÆÄÀϷκÎÅÍ ½ÇÇà µÈ´Ù. »õ·Î¿î ¹öÁ¯ÀÇ setserial´Â /etc/serial.conf ÆÄÀÏÀ» »ç¿ëÇÑ´Ù. ÀÌ ÆÄÀÏÀº seetserial ¸í·É¾î¸¦ ´Ü¼øÈ÷ »ç¿ëÇÏ´Â °ÍÀ¸·Î¡¸ÆíÁý¡¹µÇ°í, setserial¸¦ »ç¿ëÇØ ¼³Á¤ÇÑ ³»¿ëÀÌ ¼³Á¤ ÆÄÀÏ setserial¿¡ µî·ÏµÈ´Ù. serial.conf ÆÄÀÏ Àº, setserial ¸í·É¾î°¡ ½ÃÀÛ ÆÄÀϷκÎÅÍ ½ÇÇàµÇ¾úÀ» ¶§¿¡ ÂüÁ¶µÇ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ¼³Á¤ÀÌ µÇ¾î ÀÖ´ÂÁö´Â ¹èÆ÷º»¸¶´Ù ´Ù¸¦Áöµµ ¸ð¸¥´Ù.

setserial ¸í·É¾î´Â ÁÖ´Â ¿É¼Ç¿¡ µû¶ó¼­, ¼­·Î ´Ù¸¥ µÎ°¡Áö »ç¿ë¹ýÀÌ °¡´ÉÇÏ´Ù. »ç¿ë¹ýÀÇ Çϳª´Â ¼öµ¿À¸·Î µå¶óÀ̹ö¿¡ ¼³Á¤À» ¾Ë¸®´Â °ÍÀÌ´Ù. ¶Ç Çϳª ÀÇ »ç¿ë¹ýÀº, ÁöÁ¤µÈ ¾îµå·¹½º¸¦ Á¶»çÇÏ°í, ±×°÷¿¡ ½Ã¸®¾ó Æ÷Æ®°¡ ÀÖÀ»Áö ¸¦ ¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù. ÀÌ ¾îµå·¹½º¸¦ Á¶»çÇÏ°í, ÀÌ Æ÷Æ®¿¡ ´ëÇØ ¾î´À IRQ°¡ »ç¿ëµÇ°í ÀÖ´ÂÁöÀÇ °ËÃâÀ» ½ÃÇèµµ °¡´ÉÇÏ´Ù. µå¶óÀ̹ö´Â ½ÃÀ۽ÿ¡ setserial¿¡ Àû´çÇÑ °ÍÀ» ½ÇÇàÇÏÁö¸¸, IRQ Ž»öÀº ÇÏÁö ¾Ê°í, ¿À·ù°¡ ÀÖÀ»Áöµµ ¸ð¸£´Â ¡¸Ç¥ÁØ¡¹ IRQ¸¦ ÇÒ´çÇÏ´Â °Í»ÓÀÌ´Ù. µå¶óÀ̹ö´Â Æ÷Æ®°¡ Á¸ÀçÇÏ´ÂÁö¸¦ Ž»ö ÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº Serial-HOWTO¸¦ º¸½Ã¿À.

6.3 »ç¿îµå Ä«µå µå¶óÀ̹ö

OSS-Lite

I/O ¾îµå·¹½º, IRQ, DMA ä³ÎÀ» ÆĶó¹ÌÅͷμ­ ¸ðµâ¿¡ ¾Ë·ÁÁְųª, Ä¿³Ú¿¡ ÄÄÆÄÀÏ Çؾ߸¸ ÇÑ´Ù. ±×·¯³ª, ÀϺΠPCI Ä«µå´Â ÀÚµ¿ÀûÀ¸·Î °ËÃâµÈ´Ù(¾Æ¸¶, lspci ¸í·É¾îµîÀ» »ç¿ëÇÏ´Â °Í¿¡ ÀÇÇØ ÇàÇØÁú °ÍÀÌ´Ù). RedHat¿¡´Â "sndconfig" ¶ó´Â ÇÁ·Î±×·¥ÀÌ °ø±ÞµÇ°í ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ISA PnP Ä«µå¸¦ °ËÃâÇÏ°í, °ËÃâµÈ ¹ö½º ÀÚ¿øÀ» »ç¿ëÇØ ¸ðµâÀÇ ·Îµå ¼³Á¤À» ÇÑ´Ù.

OSS (Open Sound System) ¿Í ALSA

À̰͵éÀº PnPÀÇ ±¸Á¶¸¦ »ç¿ëÇØ Ä«µå¸¦ °ËÃâÇÏ°í, ÀûÀýÇÑ µå¶óÀ̹öÀÇ ¼±Åðú ·Îµå¸¦ ÇÑ´Ù. ISA PnP Ä«µåÀÇ ÀÚ¿ø ¼³Á¤µµ ½ÇÇàÇÑ´Ù. ¹ö½º ÀÚ¿øÀÇ Ãæµ¹À» ÇÇÇϱâ À§Çؼ­ ¼öµ¿À¸·Î Á¶Á¤ ÇÒ ÇÊ¿ä°¡ ÀÖÀ»Áöµµ ¸ð¸¥´Ù. ALSA µå¶óÀ̹öÀÇ °æ¿ì¿¡´Â, ISA PnPÀÇ ±â´ÉÀº »ý·«ÀÌ °¡´ÉÇÏ°í, ¿øÇϸé isapnptools¸¦ »ç¿ëÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê