Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d40f11cf5b21d4287bbb5af7cbeec0a9 > files > 77

howto-text-ko-2006-5mdv2010.0.noarch.rpm

  How to get USB devices working under Linux

  ¸®´ª½º¿¡¼­ USB ÀåÄ¡ µ¹¸®±â
  Brad Hards , brad.hards@dao.defence.gov.au
  Revision: 0.7
  ±è±âÇö, arbeit95@chollian.net
  Revision: 0.7  1999³â 10¿ù 9ÀÏ

  ÀÌ ¹®¼­´Â USB ÀåÄ¡µéÀ» ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ »ç¿ëÇϱâ À§ÇÑ ´Ü°èÀû ¾È³»¼­ÀÇ
  ÃʾÈÀÌ´Ù.
  ______________________________________________________________________

  ¸ñÂ÷

  1. ±âº»ÀûÀÎ USB ¼³Á¤
  2. ¸¶¿ì½º ¼³Á¤
  3. Å°º¸µå ¼³Á¤
  4. Çãºê Áö¿ø
  5. ÇÁ¸°ÅÍ Áö¿ø
  6. Abstract Control Model Áö¿ø
  7. CPiA imager Áö¿ø
  8. ´ë¿ë·® ÀúÀåÀåÄ¡
  9. EZUSB µå¶óÀ̹ö
  10. USS720 µå¶óÀ̹ö
  11. USB /proc µå¶óÀ̹ö
  12. ÀÚÁÖ Áú¹® ¹Þ´Â °Íµé(FAQs)
  13. Á¤Á¤

  ______________________________________________________________________

  1.  ±âº»ÀûÀÎ USB ¼³Á¤

  ÃֽŠ¹öÀüÀÇ Ä¿³ÎÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ¹öÀü 2.2.7 À̳ª ÀÌ ÀÌÈĹöÀüÀÇ Ä¿³ÎÀº
  USB Äڵ带 Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÀÌ»óÀûÀ¸·Î´Â ´ÙÀ½¹öÀüÀÇ ¸ðµç pre-patches¸¦
  Æ÷ÇÔÇÑ ÃֽŠ2.3.x Ä¿³ÎÀ» »ç¿ëÇÏ°í ÀÖÀ¸¸é ÁÁ´Ù. 2.2.x Ä¿³Î¿¡¼­ 2.3.x
  USB Äڵ带 »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù - ÀÚ¼¼ÇÑ °ÍÀº ÀÌ ÀåÀÇ µÞºÎºÐÀ» »ìÆì
  º¸¶ó. USB ÄÚµå´Â »ç½Ç Ãʱ⠰³¹ß´Ü°è¿¡ Àֱ⠶§¹®¿¡ °¢ ¹öÀü¸¶´ÙÀÇ º¯°æ(
  ¹× ¹ö±×µé)Àº ¸Å¿ì »¡¸® º¯ÇÏ´Â °æÇâÀÌ ÀÖ´Ù. ÃֽŠ¹öÀü¿¡ °üÇÑ °ÍÀº
  µå¹°Áö¸¸ ¸ÞÀϸµ¸®½ºÆ®´Â °ÅÀÇ ´ëºÎºÐ¿¡ °üÇÑ ³»¿ëÀ» ´Ù·ç°í ÀÖ´Ù.

  ¸ÞÀϸµ¸®½ºÆ®´Â linux-usb@suse.comÀÌ´Ù. °¡ÀÔÇÏ·Á¸é
  majordomo@suse.com¿¡°Ô subscribe linux-usb ¶ó°í ¾´ ¸ÞÀÏÀ» º¸³»¶ó.
  ¸ÞÀϸµ¸®½ºÆ®ÀÇ ±ÛµéÀ» ±×¸¸ º¸°í ½ÍÀ¸¸é  majordomo@suse.com¿¡°Ô
  unsubscribe linux-usb ¶ó°í ½á¼­ º¸³»¶ó.

  Ä¿³Î¿¡ USB ¼³Á¤À» ÇØ¾ß ÇÑ´Ù. make menuconfig°¡ ÁÁÀ» °ÍÀÌ´Ù. USB
  drivers - not for the faint of heart Ç׸ñ¿¡¼­ Support for
  USB(EXPERIMENTAL!)¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ UHCI (intel PIIX4 and others)
  support, OHCI (compaq and some others) support,¶Ç´Â OHCI-HCD (other
  OHCI opt. Virt. Root Hub) support °¡¿îµ¥ Çϳª¸¦ ¼±ÅÃÇÑ´Ù. UHCI, OHCI
  ¹× OHCI-HCD¸¦ µ¿½Ã¿¡ °°ÀÌ »ç¿ëÇϸé Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù(UHCI´Â
  ÀÛµ¿ÇÒ °ÍÀÌ´Ù). ¾î´À °ÍÀ» °í¸¦ °ÍÀ̳Ĵ ´ç½ÅÀÌ ¾î¶² ¸¶´õº¸µå³ª
  ¾î´ðÅ͸¦ °®°í ÀÖ´À³Ä¿¡ ´Þ·Á ÀÖ´Ù. Intel°ú Via ¸¶´õº¸µå´Â UHCIÀÌ´Ù.
  ÄÄÆÑ°ú NEC ¸¶´õº¸µå, iMac°ú Opti Ĩ(¸ðµç Ĩ Á¾·ù¸¦ Æ÷ÇÔ)À» ¾²´Â ¸ðµç
  ¾î´ðÅÍ´Â OHCIÀ̸ç OHCI³ª OHCI-HCD °¡¿îµ¥ Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¾î¶²
  ÄÁÆ®·Ñ·¯¸¦ ¼±ÅÃÇؾßÇÒÁö ¸ð¸£°Ú´Ù¸é ¸¶´õº¸µå ¹®¼­¸¦ º¸¶ó. ¶ÇÇÑ
  /proc/pci¿¡¼­ ÈùÆ®¸¦ ¾òÀ» ¼ö ÀÖ´Ù. USB Ç׸ñÀÌ 0xHHHHÇü½ÄÀ¸·Î µÇ¾î ÀÖÀ»
  ¶§´Â(HHHH´Â 16Áø¼öÀÌ´Ù - ¿¹¸¦ µé¾î I/O at 0xe400) UHCIÀÌ´Ù. 32 bit
  memory at 0xHH000000 ÀÏ ¶§´Â(HH´Â 16Áø¼öÀÌ´Ù - ¿¹¸¦ µé¾î 32 bit memory
  at 0xee000000) OHCIÀÌ´Ù. À̰͵µ ºÒ°¡´ÉÇÏ¸é ¾Æ¹«°Å³ª Çϳª ½ÃµµÇغ¸¶ó.

  ´ÙÀ½À¸·Î ¾î¶² ÀåÄ¡¸¦ »ç¿ëÇÒ °ÍÀÎÁö¸¦ ¼±ÅÃÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î xUSB
  mouse support´Â USB ¸¶¿ì½º, USB keyboard support´Â USB Å°º¸µå, USB hub
  support´Â Çãºê, USB communications Devices Class (ACM) support´Â POTS
  ¶Ç´Â ISDN¸ðµ©, USB Printer support´Â USB ÇÁ¸°ÅÍ, USB SCSI Support´Â
  ´ë¿ë·® ÀúÀåÀåÄ¡¿ë, USB CPiA Camera support´Â Vision CPiA Ĩ¼ÂÀ» »ç¿ëÇÑ
  Ä«¸Þ¶ó, EZUSB Firmware downloader´Â Anchor ChipsUSB
  ¸¶ÀÌÅ©·ÎÄÜÆ®·Ñ·¯Å¶¿¡ ´ëÇÑ ´Ù¿î·Îµå, USS7270 parport driver´Â º´·Ä Æ÷Æ®
  ¾î´ðÅÍ¿ë µîÀÌ´Ù. ¸ðµâ°ú Ä¿³Î Á÷Á¢ Áö¿ø(kernel only), º°µµÀÇ(split)
  ¸ðµâ, Ä¿³ÎÄÚµå µîÀ» »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÀåÄ¡µéÀ» ·çÆ® Çãºê¿¡ ²È¾Æ
  »ç¿ëÇؼ­ Çãºê°¡ ²À ÇÊ¿äÇÏÁö ¾Ê´Ù ÇÏ´õ¶óµµ Çãºê Áö¿øÀ» ¼±ÅÃÇÏ´Â °ÍÀÌ
  ÁÁ´Ù.

  USB audio parsing support´Â ÇöÀç±îÁö´Â Áö¿øµÇÁö ¾Ê´Â´Ù. ÀÌ ¹®¼­¿¡
  ¿­°ÅµÇÁö ¾ÊÀº ÀåÄ¡´Â ÀÌ ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡¼­´Â Áö¿øµÇÁö ¾Ê´Â °ÍµéÀÌ´Ù.
  ±×·¯³ª °³¹ßÀÚµéÀº ÇöÀç Äڵ忡 µµ¿òÀ» ÁÖ´Â °Í(contribute)Àº ¾ðÁ¦µçÁö
  ȯ¿µÇÑ´Ù.

  ¾ÈÁ¤ Ä¿³Î(2.2.x)À» ¾²°íÀÚ ÇÑ´Ù¸é °³¹ßÄ¿³Î(2.3.x)ÀÇ Äڵ带 drivers/usb
  µð·ºÅ丮¿¡ º¹»çÇØ ³ÖÀ¸¸é µÈ´Ù. arch/i386/config.in¿¡¼­ ¾Æ·¡¿Í °°Àº
  ÇàÀÇ ÁÖ¼®À» ¾ø¾Ö¾ß ÇÑ´Ù.

  # source drivers/usb/Config.in

  ´Ù¸¥ ¾ÆÅ°ÅØóµµ ºñ½ÁÇÒ °ÍÀÌ´Ù. drivers/usb/usb.hÀÇ Ã¹ºÎºÐ¿¡ ¾Æ·¡¿Í
  °°Àº ¸î ÁÙÀÇ Á¤ÀÇ(definition)¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù.

  #if LINUX_VERSION_CODE < 0x020300
  #define DECLARE_WAIT_QUEUE_HEAD(w)     struct wait_queue *w = NULL
  #define DECLARE_WAITQUEUE(w,c)         struct wait_queue w = {(c), NULL}
  #define wait_queue_head_t              struct wait_queue *
  #define init_waitqueue_head(w)         *(w) = 0
  #define DECLARE_MUTEX_LOCKED(sem)      struct semaphore sem = MUTEX_LOCKED
  #endif

  Ä¿³ÎÀ» ÀçÄÄÆÄÀÏÇÏ°í (¸ðµâ·Î ¼³Á¤Çß´Ù¸é) ¸ðµâµµ ÄÄÆÄÀÏ ÇÑ ´ÙÀ½ »õ·Î¿î
  Ä¿³Î°ú ¸ðµâÀ» ¼³Ä¡Ç϶ó. ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÑ´Ù.

  ¸ðµâÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é ¸ðµâÀ» Á¤ÇØÁø ¼ø¼­¿¡ µû¶ó ÀûÀç(load) ÇØ¾ß ÇÑ´Ù.
  usbcore.o¸¦ ¸ÕÀú ÀûÀçÇÏ°í mouse.o, keyboard.o, hub.o µîÀÇ µå¶óÀ̹öµéÀ»
  ÀûÀçÇÑ ´ÙÀ½ ¸¶Áö¸·À¸·Î È£½ºÆ® ÄÁÆ®·Ñ·¯(¿¹¸¦ µé¾î usb-uhci.o ¶Ç´Â usb-
  ohci.o)¸¦ ÀûÀçÇÑ´Ù.

  Ä¿³Î ·Î±×¸¦ »ìÆ캸¶ó. ¾Æ·¡¿Í °°Àº ³»¿ëµéÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù(UHCI¿Í
  ¿ÜºÎ Çãºê¸¦ »ç¿ëÇÏ´Â °æ¿ìÀÌ´Ù).

  .......
  Jul 19 20:46:02 rachel kernel: USB HID boot protocol mouse registered.
  .......
  Jul 19 20:46:02 rachel kernel: uhci_control_thread at c01b8c5c
  Jul 19 20:46:02 rachel kernel: New bus registered
  Jul 19 20:46:02 rachel kernel: USB hub driver registered
  Jul 19 20:46:02 rachel kernel: uhci_connect_change: called for 0
  .......
  Jul 19 20:46:02 rachel kernel: USB hub found
  Jul 19 20:46:02 rachel kernel: hub: 4-ports detected
  Jul 19 20:46:02 rachel kernel: hub: individual port power switching
  Jul 19 20:46:02 rachel kernel: hub: standalone hub
  Jul 19 20:46:02 rachel kernel: hub: individual port over current protection
  Jul 19 20:46:02 rachel kernel: hub: power on to power good time: 100ms
  Jul 19 20:46:02 rachel kernel: hub: hub controller current requirement: 100mA
  Jul 19 20:46:02 rachel kernel: hub:  port 1 is removable
  Jul 19 20:46:02 rachel kernel: hub:  port 2 is removable
  Jul 19 20:46:02 rachel kernel: hub:  port 3 is removable
  Jul 19 20:46:02 rachel kernel: hub:  port 4 is removable
  Jul 19 20:46:02 rachel kernel: hub: local power source is good
  Jul 19 20:46:02 rachel kernel: hub: no over current condition exists
  Jul 19 20:46:02 rachel kernel: enabling power on all ports
  Jul 19 20:46:02 rachel kernel: uhci_connect_change: called for 1
  .......
  Jul 19 20:46:02 rachel kernel: hub: port 3 connection change
  .......

  OHCI¿Í OHCI-HCD´Â À¯»çÇÑ ±â´ÉÀ» ¼öÇàÇÒ °ÍÀÌ´Ù. ±×·¯³ª µÎ °³¸¦ ¹Ù²Ù´Â
  °Í¿¡ ½ÇÆÐÇÑ °Í¿¡ ´ëÇØ ±×¸® Å©°Ô °ÆÁ¤ÇÒ ÇÊ¿ä´Â ¾ø´Ù. º°´Ù¸¥ ¿µÇâÀ»
  ¹ÌÄ¡´Â ¾Ê´Â »ç¼ÒÇÑ ¹ö±×ÀÌ´Ù. USB¿¡ °ü·ÃµÈ ³»¿ë(hubs, usb, ohci, uhci
  ¸¦ Ç¥½ÃÇÏ´Â ÁÙ)ÀÌ ÀüÇô ¾ø´Ù¸é ¾Æ¸¶µµ À߸øµÈ µå¶óÀ̹ö¸¦ »ç¿ëÇÏ°í
  Àְųª(OHCI¸¦ ½á¾ß Çϴµ¥ UHCI¸¦ ¾²´Â °æ¿ì³ª ±× ¹Ý´ëÀÇ °æ¿ì),
  Çϵå¿þ¾î°¡ ¹°¸®ÀûÀ¸·Î ¼³Ä¡µÇÁö ¾ÊÀº °æ¿ì, BIOS¿¡¼­ USB ±â´ÉÀ» ²¨µÐ
  °æ¿ì, Ä¿³ÎÀÇ À߸øµÈ ¼³Á¤À̳ª ¼³Ä¡ ¶§¹®ÀÏ °ÍÀÌ´Ù.

  2.  ¸¶¿ì½º ¼³Á¤

  ¿ì¼± ¸¶¿ì½º°¡ Ä¿³Î¿¡ ÀÇÇØ Á¦´ë·Î ÀνĵǴÂÁö È®ÀÎÇ϶ó. more
  /proc/interrupts¸¦ ½ÇÇàÇØ º¸¸é USB¿¡ °üÇÑ ³»¿ë(º¸Åë ohci-usb ³ª usb)À»
  º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¸¶¿ì½º¸¦ ¸î ¹ø Ŭ¸¯ÇÑ ´ÙÀ½ /proc/interrupts¸¦
  »ìÆ캸¸é ÇØ´ç Ä«¿îÆ®°¡ Áõ°¡µÈ °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù(Ŭ¸¯ ÇÑ ¹ø¿¡ 2¾¿
  Áõ°¡Çϴµ¥ down,up °¢ 1¾¿ Áõ°¡ÇÑ´Ù). UHCI¿¡¼­´Â Ä«¿îÆ®°¡ Á» ¾î·Á¿îµ¥
  /proc/interrupts ¸¦ »ìÆ캸´Â µ¿¾È Áö¿¬µÈ ½Ã°£(ÃÊ)À» »©¾ß ÇÑ´Ù. USB
  Å°º¸µå¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é Å°´­¸² ¶ÇÇÑ °¨¾ÈÇØ¾ß ÇÑ´Ù.

  /proc/misc¸¦ »ìÆ캸¸é ¾Æ·¡¿Í ºñ½ÁÇÑ ³»¿ëÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

  [bradh@rachel bradh]$ more /proc/misc
   32 USB Mouse
    1 psaux

  ¸¶¿ì½º°¡ »ç¿ëÇÒ /dev Ç׸ñÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ ¸í·ÉÀ» »ç¿ëÇ϶ó.

  mknod /dev/usbmouse c 10 32

  X À©µµ¿ì¿¡¼­ ¸¶¿ì½º¸¦ »ç¿ëÇÏ·Á¸é ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇØ¾ß ÇÑ´Ù.

  o  XF86Config ÆÄÀÏ(º¸Åë /usr/X11R6/lib/X11/XF86Config)À» ¼öÁ¤ÇÑ´Ù.
     ¾Æ·¡ÀÇ ³»¿ëÀ» Ãß°¡Ç϶ó(ÀÎ½Ä °¡´ÉÇÑ °÷ ¾îµðµç »ó°ü¾øÁö¸¸ ÀÔ·ÂÀåÄ¡
     Ç׸ñÀÌ ¹Ù¶÷Á÷ÇÏ´Ù).

     Section "Xinput"
        SubSection "Mouse"
             DeviceName   "USB Mouse"
             Protocol     "IMPS/2"
             Port         "/dev/usbmouse"
             AlwaysCore
        EndSubSection
     EndSection

  o  X ¼­¹ö¸¦ Àç½ÃÀÛÇÑ´Ù. ¸¶¿ì½º°¡ ÀÛµ¿µÇÁö ¾ÊÀ¸¸é Ctrl-Alt-F1À» ´­·¯
     °¡»ó Å͹̳ÎÀ» ¶ç¿î ´ÙÀ½ xserver¸¦ kill ¸í·ÉÀ¸·Î Á¾·á½ÃÅ°°í ¿¡·¯
     ¸Þ¼¼Áö¸¦ °¡Áö°í µð¹ö±ëÇ϶ó.

  gpm¿¡¼­ ¸¶¿ì½º¸¦ »ç¿ëÇÏ·Á¸é gpm -m /dev/usbmouse -t ps2¿Í °°ÀÌ
  ½ÇÇàÇ϶ó(½´ÆÛ À¯Àú·Î ½ÇÇàÇØ¾ß ÇÑ´Ù). ºÎÆýà ½ÇÇàµÇ´Â ÆÄÀÏÀ» ¼öÁ¤Çϸé
  ÀÌ°ÍÀ» ±âº»°ªÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. Redhat ¹èÆ÷ÆÇ¿¡´Â ±âº»ÀûÀ¸·Î
  /etc/rc.d/ µð·ºÅ丮¿¡ ÀÌ·¯ÇÑ ÆÄÀϵéÀÌ ÀÖÀ¸¸ç rc.d¿Í ºñ½ÁÇÑ À̸§À» °®°í
  ÀÖ´Ù.

  3.  Å°º¸µå ¼³Á¤

  PC¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é USB Å°º¸µå¸¦ »ç¿ëÇϱâ À§ÇØ ¿î¿µÃ¼Á¦ Áö¿øÀÌ ÀüÇô
  ÇÊ¿ä ¾øÀ» ¼öµµ ÀÖ´Ù. ¸¶´õº¸µåÀÇ ·çÆ® Çãºê¿¡ ¿¬°áµÈ USB Å°º¸µå¸¦
  Áö¿øÇÏ´Â BIOSµéÀÌ ÀÖ´Ù. ÀÌ°ÍÀº ´Ù¸¥ Çãºê¿¡¼­ ÀÛµ¿ÇÒ ¼öµµ ÀÖ°í ¾ÈÇÒ
  ¼öµµ ÀÖÀ¸¸ç ³»À庸µå(add-in board)¿¡¼­´Â º¸Åë ÀÛµ¿µÇÁö ¾Ê´Â´Ù. µû¶ó¼­
  ¾î¶»µç °£¿¡ Áö¿øÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù.

  Å°º¸µå°¡ Ä¿³Î¿¡¼­ Á¤È®È÷ ÀνĵǴÂÁö È®ÀÎÇ϶ó. more /proc/interrupts¸¦
  ½ÇÇàÇØ º¸¸é USB¿¡ °üÇÑ ³»¿ë(º¸Åë ohci-usb ¶Ç´Â usb)À» º¼ ¼ö ÀÖÀ»
  °ÍÀÌ´Ù. Å°º¸µå¸¦ ´©¸¥ ´ÙÀ½ /proc/interrupts¸¦ »ìÆ캸¸é Ä«¿îÆ®°¡ Áõ°¡µÈ
  °ÍÀ» º¼ ¼ö ÀÖ´Ù. ¸¸¾à UHCI¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é Áö¿¬µÈ ½Ã°£(ÃÊ)À» »©¾ß
  ÇÑ´Ù.

  ÀÌÁ¦ º¸ÅëÀÇ Å°º¸µåó·³ USB Å°º¸µå¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. LILO°¡
  USB¸¦ ÀνÄÇÏÁö ¸øÇÑ´Ù´Â °ÍÀ» ±â¾ïÇ϶ó. BIOS°¡ USB Å°º¸µå¸¦ Áö¿øÇÏÁö
  ¾Ê´Â´Ù¸é USB Å°º¸µå¸¦ »ç¿ëÇÏ´Â ±âº» À̹ÌÁö ¿ÜÀÇ ´Ù¸¥ ºÎÆ® À̹ÌÁö¸¦
  ¼±ÅÃÇÒ ¼ö ¾øÀ» ¼öµµ ÀÖ´Ù. ³ª´Â °³ÀÎÀûÀ¸·Î USB Å°º¸µå(±×¸®°í  USB
  ¸¶¿ì½º)¸¸À» »ç¿ëÇÏ°í ÀÖÀ¸¸ç ¾Æ¹« ¹®Á¦°¡ ¾ø´Ù.

  4.  Çãºê Áö¿ø

  Çãºê´Â ´Ù¸¥ ¼³Á¤ ¾øÀÌ ÀÛµ¿µÉ °ÍÀÌ´Ù. ·çÆ® Çãºê¿¡ ¿¬°áµÈ °æ¿ì¿¡¸¸
  ÀÛµ¿µÇ°í ³»Àå(add-on) Çãºê¿¡ ¿¬°á µÉ ¶§´Â ÀÛµ¿µÇÁö ¾Ê´Â´Ù¸é Çãºê
  ¸ðµâÀ» ¼³Ä¡Çß´ÂÁö È®ÀÎÇ϶ó(¸ðµâ·Î ¼³Á¤ÇÑ °æ¿ìÀÌ´Ù). ¶ÇÇÑ ¹ö½º¸¦ ÅëÇØ
  Àü¿øÀÌ °ø±ÞµÇ´Â Çãºê¿¡ Àü·ÂÀ» ¸¹ÀÌ »ç¿ëÇÏ´Â ÀåÄ¡¸¦ ¿¬°áÇÏÁö ¾Êµµ·Ï
  ÇÑ´Ù.

  5.  ÇÁ¸°ÅÍ Áö¿ø

  ÇÁ¸°ÅÍ¿ë /dev Ç׸ñÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¾Æ·¡ ¸í·ÉÀ» ½ÇÇàÇ϶ó.

  mknod /dev/usblp c 63 0

  ÀÌÁ¦ ÀÌ ÀåÄ¡¸¦ /etc/printcap Ç׸ñ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¾à°£
  ´À¸®Áö¸¸ ³ª·Î¼­´Â ÀÌ µå¶óÀ̹ö°¡ ¾ÆÁÖ ÈǸ¢ÇÏ´Ù°í »ý°¢ÇÑ´Ù. Redhat
  Á¦¾îÆÇÀÇ ÇÁ¸°ÅÍÅø°ú °°Àº ÀÚµ¿ ¼³Á¤ ÅøÀ» »ç¿ëÇؼ­ ÀåÄ¡ ÆÄÀÏÀ» ¸¸µé °ÍÀ»
  ±ÇÀåÇÑ´Ù.

  ÇÁ¸°ÅÍ°¡ ÀÛµ¿µÇÁö ¾ÊÀ¸¸é ÇÁ¸°ÅÍÀÇ ¸ÞÀÌÀú ³Ñ¹ö(major device number)°¡
  ¹Ù²î¾ú´ÂÁö¸¦ Á¡°ËÇ϶ó(63Àº ½ÇÇèÀû ¹üÀ§ÀÇ °ªÀÌ´Ù). ¼Ò½ºÄڵ峪
  /proc/devices¸¦ »ìÆ캸¸é µÈ´Ù. ½ÇÁ¦·Î ¸ðµâÀÌ ÀûÀçµÇ¾ú´ÂÁö »ìÆ캸°í
  /etc/printcap Ç׸ñÀ» ´Ù½Ã üũÇ϶ó. ƯÈ÷ ÀåÄ¡ ÆÄÀÏÀÌ ´ç½ÅÀÌ ¸¸µç °Í°ú
  µ¿ÀÏÇÑÁö È®ÀÎÇ϶ó.

  6.  Abstract Control Model Áö¿ø

  ´Ù¾çÇÑ ACM ÀåÄ¡¸¦ »ç¿ëÇϱâ À§ÇØ /dev Ç׸ñÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ
  ¸í·ÉÀ» »ç¿ëÇ϶ó.

  mknod /dev/ttyACM0 c 166 0
  mknod /dev/ttyACM1 c 166 1
  mknod /dev/ttyACM2 c 166 2
  mknod /dev/ttyACM3 c 166 3

  ÀÌÁ¦ ÀÌ ÀåÄ¡¸¦ »ç¿ëÇϱâ À§ÇÑ Å͹̳Π¾Ö¹Ä·¹ÀÌÅÍ ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö
  ÀÖÀ» °ÍÀÌ°í ¸ðµ©À̳ª ´Ù¸¥ Å͹̳ΠÀåÄ¡¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ºÐ¸íÈ÷
  ÀÌ µå¶óÀ̹ö´Â ´ëºÎºÐ ÀÛµ¿µÇÁö¸¸ ¾ÆÁ÷µµ ¸î °¡Áö ¹®Á¦°¡ ÀÖ´Ù. ³»
  °³ÀÎÀûÀ¸·Î Å×½ºÆ® Çغ¸Áö´Â ¾Ê¾Ò´Ù.

  7.  CPiA imager Áö¿ø

  ÀÌ µå¶óÀ̹ö´Â Vision»ç¿¡¼­ ¸¸µç ƯÁ¤ÇÑ Ä¨¼ÂÀ» Áö¿øÇϸç USB
  Ä«¸Þ¶ó(´ëÇ¥ÀûÀ¸·Î Creative WebCamll)¿¡¼­ »ç¿ëµÈ´Ù. ÀÌ µå¶óÀ̹ö¸¦
  »ç¿ëÇϱâ À§Çؼ­´Â Video For Linux Ç׸ñÀ» ¼±ÅÃÇØ¾ß ÇÑ´Ù(menuconfig¸¦
  »ç¿ëÇÏ°í ÀÖ´Ù¸é Character Devices Ç׸ñ ¾Æ·¡¿¡ ÀÖ´Ù).

  CPiA Ä«¸Þ¶ó¸¦ À§ÇØ /dev Ç׸ñÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¾Æ·¡ ¸í·ÉÀ» ½ÇÇàÇ϶ó.

  mknod /dev/video0 c 81 0
  ln -s /dev/video0 /dev/video

  ÀåÄ¡¸¦ »ç¿ëÇϱâ À§Çؼ­´Â ¸î °¡Áö ºñµð¿À ÅøÀÌ ÇÊ¿äÇÏ´Ù. ¼ö¸¹Àº Á¾·ùÀÇ
  ÅøµéÀÌ ÀÖ´Ù. http://millenium.diads.com/bdirks
  <http://millenium.diads.com/bdirks>Àº º¸Åë ¹èÆ÷ ³¯Â¥¿¡ µû¶ó
  apps19990527.tgz¿Í °°Àº À̸§À» °¡Áø ÆÐÅ°Áö¸¦ Á¦°øÇÑ´Ù. X À©µµ¿ì ¹×
  ÅؽºÆ® ¸ðµå ÅøÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÅؽºÆ® ¸ðµå ÅøÀ» ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÒ ¼ö
  ÀÖ´Ù.

  ./vctrl 320x240x24
  ./vcat | rawtoppm -bgr 320 240 | xv -

  ÀÌ ÅøµéÀº º°´Ù¸¥ ¼³Á¤ÀÌ ¾øÀ¸¸é µðÆúÆ®·Î /dev/video¸¦ »ç¿ëÇϱ⠶§¹®¿¡
  ½Éº¼¸¯ ¸µÅ©°¡ ±×Àü¿¡ ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

  ÇöÀç·Î¼­´Â CPiA Ä«¸Þ¶ó´Â Èæ¹éÀ̹ÌÁö¸¸ °¡´ÉÇÏ´Ù. ³ª´Â °³ÀÎÀûÀ¸·Î Å×½ºÆ®
  ÇÑ ¹Ù ¾ø´Ù. CPiA Ä«¸Þ¶ó¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é Vision»çÀÇ CPiA À¥»çÀÌÆ®
  http://home.eunet.no/~jtotland/vision
  <http://home.eunet.no/~jtotland/vision>À» Âü°íÇ϶ó.

  8.  ´ë¿ë·® ÀúÀåÀåÄ¡

  Ãß°¡ ¿¹Á¤

  9.  EZUSB µå¶óÀ̹ö

  Ãß°¡ ¿¹Á¤

  10.  USS720 µå¶óÀ̹ö

  USS720Àº º´·Ä Æ÷Æ®¿ë USBĨÀ¸·Î Lucent»ç¿¡¼­ ¸¸µé¾ú´Ù. USS720ĨÀº USB
  Printer Class Àåġó·³ ÀÛµ¿ÇÑ´Ù. »ç½Ç USS720À¸·Î ¸¸µç ºê¸´Áö¸¦
  »ç¿ëÇÏ¸é º´·Ä Æ÷Æ® ÇÁ¸°Å͸¦ ¾Õ¿¡¼­ º» USB ÇÁ¸°ÅÍ µå¶óÀ̹ö·Î »ç¿ëÇÒ ¼ö
  ÀÖ´Ù. ¶ÇÇÑ USS720À» º¸ÅëÀÇ º´·ÄÆ÷Æ® Çϵå¿þ¾î·Î ÀνÄÇÏ´Â ¸ðµå°¡
  ÀÖ´Ù(·¹Áö½ºÅÍ ¸ðµå·Î ¾Ë·ÁÁ® ÀÖ´Ù). ÀÌ µå¶óÀ̹ö´Â ·¹Áö½ºÅÍ ¸ðµå¸¦
  »ç¿ëÇÑ´Ù.

  ¸ðµâÀ» ÀûÀçÇϰųª USS720 Áö¿ø Ä¿³Î·Î ÀçºÎÆà Çϱâ Àü¿¡
  /proc/sys/dev/parport¸¦ »ìÆ캸¶ó. ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ °¡Áø º´·ÄÆ÷Æ® ¼ö¸¦
  ÁÖ¸ñÇ϶ó(º¸Åë /proc/sys/dev/parport/parport0 ÇϳªÀÌ´Ù). USS720
  Áö¿øÇ׸ñÀ» Ä¿³Î¿¡ Æ÷ÇÔ½ÃŲ ÈÄ¿¡´Â ¶ÇÇϳªÀÇ Æ÷Æ®(º¸Åë
  /proc/sys/dev/parport1)°¡ ÀÖÀ» °ÍÀÌ´Ù. ÇØ´ç Çϵå¿þ¾î Ç׸ñÀ» º¸¸é
  ¾Æ·¡¿Í °°Àº ³»¿ëÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

  [bradh@rachel bradh]$ more /proc/sys/dev/parport/parport1/hardware
  base:   0x0
  irq:    none
  dma:    none
  modes:  PCSPP,TRISTATE,COMPAT,EPP,ECP

  ¸ðµç ¹èÆ÷ÆÇÀº º´·Ä Æ÷Æ®¿ë /dev Ç׸ñÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù(º¸Åë /dev/lpx ¶Ç´Â
  /dev/parx À̸ç x´Â ÀÓÀÇÀÇ ¼öÀÚÀÌ´Ù). È®½ÅÀÌ ¼­Áö ¾Ê´Â´Ù¸é º´·ÄÆ÷Æ®´Â
  ij¸¯ÅÍ ¸ÞÀÌÀú ³Ñ¹ö(character major number) 6À» »ç¿ëÇÑ´Ù´Â °ÍÀ»
  ±â¾ïÇ϶ó.

  USS720À» º´·ÄÆ÷Æ®¿ëÀ¸·Î Àß ¾µ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÁøÂ¥ USB ÇÁ¸°ÅÍó·³
  ÇÁ¸°ÅÍ ¿¬°á¿¡ »ç¿ëÇÒ /etc/printcap ÆÄÀÏÀ» ÀÚµ¿¼³Á¤ÆÄÀÏ·Î ÀÛ¼ºÇϱ⸦
  ±ÇÇÑ´Ù.

  ¼³Á¤Ç׸ñ¿¡¼­ USS720 Áö¿øÀ» ¼±ÅÃÇÒ ¼ö ¾ø´Ù¸é Parallel port support
  Ç׸ñÀ» ¼±ÅÃÇØ¾ß ÇÑ´Ù(¸¸¾à menuconfig¸¦ »ç¿ëÇÑ´Ù¸é General setup Ç׸ñ
  ¾Æ·¡¿¡ ÀÖ´Ù).

  11.  USB /proc µå¶óÀ̹ö

  /procÀÇ USB Áö¿øÀ» À§Çؼ­´Â Preliminary /proc/bus/usb support¸¦
  ¼±ÅÃÇØ¾ß ÇÑ´Ù. ±×¸®°í À§¿¡¼­ ¼³¸íÇÑ´ë·Î ÀçÄÄÆÄÀÏÇÏ°í À缳ġÇ϶ó.

  USBÀÇ /proc Áö¿ø Ç׸ñÀº ÇöÀç 2°¡ÁöÀÇ ÀÎÅÍÆäÀ̽º¸¦ °®°í Àִµ¥,
  /proc/bus/usb/drivers¿Í /proc/bus/usb/devicesÀÌ´Ù.

  /proc/bus/usb/drivers´Â ÇöÀç µî·ÏµÈ µå¶óÀ̹ö ¸®½ºÆ®¸¦
  º¸¿©ÁØ´Ù(µå¶óÀ̹ö°¡ ÀåÄ¡¿¡¼­ »ç¿ëµÇÁö ¾Ê°í ÀÖ´õ¶óµµ). ¸ðµâ ¼³Ä¡
  Å×½ºÆ®³ª ƯÁ¤(unknown) Ä¿³Î¿¡¼­ USB Áö¿ø ¿©ºÎ¸¦ »ìÆ캼 ¶§ À¯¿ëÇÏ´Ù.
  ¾Æ·¡ÀÇ ¿¹¸¦ º¸¶ó.
  [bradh@rachel bradh]$ more /proc/bus/usb/drivers
   hub
   printer
   keyboard
   mouse

  /proc/bus/usb/devices´Â ÇöÀç USB ¹ö½º¿¡ ¿¬°áµÈ ÀåÄ¡¿¡ ´ëÇÑ Á¤º¸¸¦
  Ç¥½ÃÇÑ´Ù. °¢ ÀåÄ¡°¡ Á¦´ë·Î ¼³Á¤µÇ¾ú´ÂÁö¸¦ ÆľÇÇϴµ¥ À¯¿ëÇÏ´Ù. ¾Æ·¡ÀÇ
  ¿¹´Â ·çÆ®Çãºê, Çãºê, Å°º¸µå, ¸¶¿ì½º, ÇÁ¸°ÅÍ ¾î´ðÅÍ »ç¿ëÇÏ´Â °æ¿ìÀÌ´Ù.

   T:  Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= -1 Spd=12  If#=  0 MxCh= 2 Driver=(root hub)
   T:  Lev=01 Prnt=00 Port=00 Cnt=01 Dev#=  1 Spd=12  If#=  0 MxCh= 4 Driver=hub
   D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
   P:  Vendor=0451 ProdID=1446 Rev= 1.00
   C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
   I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00
   E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms
   T:  Lev=02 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  If#=  0 MxCh= 0 Driver=printer
   D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
   P:  Vendor=0729 ProdID=1284 Rev= 1.04
   C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 98mA
   I:  If#= 0 Alt= 0 #EPs= 1 Cls=07(print) Sub=01 Prot=01
   E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
   I:  If#= 0 Alt= 1 #EPs= 2 Cls=07(print) Sub=01 Prot=02
   E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
   E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
   I:  If#= 0 Alt= 2 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff
   E:  Ad=01(O) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
   E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=  0ms
   E:  Ad=83(I) Atr=03(Int.) MxPS=   4 Ivl=  1ms
   T:  Lev=02 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=1.5 If#=  0 MxCh= 0 Driver=keyboard
   D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
   P:  Vendor=045e ProdID=000b Rev= 0.82
   C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
   I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01
   E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 10ms
   T:  Lev=02 Prnt=01 Port=02 Cnt=03 Dev#=  4 Spd=1.5 If#=  0 MxCh= 0 Driver=mouse
   D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
   P:  Vendor=046d ProdID=c001 Rev= 1.10
   C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 50mA
   I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02
   E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 10ms

  /proc/bus/usb/devices °á°ú´Â ¸î °¡Áö ±×·ìÀ¸·Î ³ª´©¾îÁø´Ù.

  o  T:·Î ½ÃÀÛÇÏ´Â ÇàÀº ÅäÆú·ÎÁö(topology)ÀÌ´Ù. Lev´Â ÀåÄ¡ÀÇ ·¹º§À»
     Ç¥½ÃÇÑ´Ù. ·¹º§ 00Àº ·çÆ®ÇãºêÀÌ°í ·¹º§ 01Àº ·çÆ®Çãºê¿¡ ¿¬°áµÈ ÀåÄ¡,
     ·¹º§ 02´Â ·¹º§01ÀÎ Çãºê¿¡ ¿¬°áµÈ ÀåÄ¡ µîÀÌ´Ù. Prnt´Â ÀÌ ÀåÄ¡ÀÇ »óÀ§
     ÀåÄ¡ÀÌ´Ù(00Àº ·çÆ®Çãºê¿Í ·çÆ®Çãºê¿¡ ¿¬°áµÈ ÀåÄ¡¸¦ ÀǹÌÇÑ´Ù). Port´Â
     »óÀ§ ÀåÄ¡ÀÇ Æ÷Æ®ÀÌ´Ù. 00Àº °¢ ÀåÄ¡ÀÇ Ã¹Â° Æ÷Æ®ÀÌ´Ù. Prnt/Port´Â °¢
     ¹ö½º¿¡¼­ À¯ÀÏÇÑ °ªÀ» °®´Â´Ù. ÅäÆú·ÎÁö ·¹º§ ¾È¿¡¼­ ¹è¿­ ¼ø¼­¿¡ µû¶ó
     Cnt´Â ÇØ´ç ·¹º§¿¡¼­ ÀÌ ÀåÄ¡ÀÇ ¹øÈ£¸¦ Ç¥½ÃÇÑ´Ù. ù ¹ø° ÀåÄ¡ÀÎ
     01ºÎÅÍ ½ÃÀÛÇÑ´Ù. Dev#´Â ¹ö½º ¹è¿­ ¼ø¼­¿¡ µû¶ó ·¹º§¿¡ °ü°è¾ø´Â ÀåÄ¡
     ¹øÈ£ÀÌ´Ù. Spd´Â ÀåÄ¡°¡ ÀÛµ¿µÇ´Â ¼Óµµ¸¦ Mbps·Î Ç¥½ÃÇÑ´Ù(ÇöÀç
     ¹öÀü¿¡¼­´Â 1.5³ª 1.2ÀÌ´Ù). If#´Â ÇöÀç »ç¿ëµÇ´Â ÀÎÅÍÆäÀ̽º ¹øÈ£ÀÌ´Ù.
     MxCh´Â ÀÌ ÀåÄ¡¿¡ ¿¬°áµÉ ¼ö ÀÖ´Â ÃÖ´ë ÀåÄ¡ ¼öÀÌ´Ù. Çãºê ¿Ü¿¡´Â ¸ðµÎ
     00ÀÌ´Ù. Driver´Â ÀÌ ÀåÄ¡¿¡ »ç¿ëµÇ°í ÀÖ´Â ÀåÄ¡ µå¶óÀ̹ö¸¦
     Ç¥½ÃÇÑ´Ù('none' Ç׸ñÀº ¾Æ¹«·± µå¶óÀ̹öµµ »ç¿ëµÇÁö ¾ÊÀ½À» ÀǹÌÇÑ´Ù).

  o  D:·Î ½ÃÀ۵Ǵ ÇàÀº ÀåÄ¡ µð½ºÅ©¸³ÅÍ(descriptor) Á¤º¸ÀÌ´Ù. Ver´Â
     ÀåÄ¡°¡ ¿ä±¸ÇÏ´Â USB »ç¾ç ¹öÀüÀ» Ç¥½ÃÇÑ´Ù. Cls´Â ÀåÄ¡°¡ ¿äûÇÏ´Â
     ÀåÄ¡ Ŭ·¡½º¸¦ Ç¥½ÃÇϸç 16Áø¼ö¿Í ¹®ÀÚ¿­·Î Ç¥½ÃÇÑ´Ù. Cls Ç׸ñ Áß
     00(>ifc)Àº ÀåÄ¡ Ŭ·¡½º »ç¾ç ¿ä±¸°¡ ÀÎÅÍÆäÀ̽º¿Í µ¶¸³ÀûÀÓÀ» ÀǹÌÇϸç
     ÀÎÅÍÆäÀ̽º µð½ºÅ©¸³ÅÍ´Â ÀåÄ¡ Ŭ·¡½º Á¤º¸¸¦ Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù.
     Sub´Â ÀåÄ¡°¡ ¼ö¿ëÇÏ´Â ¼­ºê Ŭ·¡½º(Cls Ç׸ñ ¾È¿¡¼­)¸¦ Ç¥½ÃÇÑ´Ù.
     MxPS´Â ¿£µåÆ÷ÀÎÆ®(Endpoint) 0À¸·ÎºÎÅÍÀÇ ÆÐŶÀÇ ÃÖ´ë Å©±â¸¦
     Ç¥½ÃÇÑ´Ù. Cfgs´Â ÀåÄ¡ÀÇ ¼³Á¤ °³¼ö¸¦ Ç¥½ÃÇÑ´Ù.

  o  D:¿Í À¯»çÇÏ°Ô P:·Î ½ÃÀÛÇÏ´Â ÇàÀº ÀåÄ¡ µð½ºÅ©¸³ÅÍÀÇ Á¤º¸¸¦
     Ç¥½ÃÇÏÁö¸¸ ÇÑ ÁÙ¿¡ Ç¥½ÃÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ºÐ¸®µÇ¾î ÀÖ´Ù. Vendor´Â
     ÀåÄ¡ÀÇ ÆǸÅÀÚ °íÀ¯ Äڵ带 Ç¥½ÃÇϸç ProdID´Â Á¦Ç° °íÀ¯ Äڵ带
     Ç¥½ÃÇÑ´Ù. Rev´Â Á¦Ç° °³·® ¹øÈ£ÀÌ´Ù.

  o  USB »ç¾ç¼­ 9.7.1ÀýÀ» Âü°íÇϸé ÀåÄ¡ µð½ºÅ©¸³ÅÍ¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸¸¦
     ¾òÀ» ¼ö ÀÖ´Ù.

  o  C:·Î ½ÃÀÛÇÏ´Â ÇàÀº ¼³Á¤ µð½ºÅ©¸³ÅÍÀÇ Á¤º¸ÀÌ´Ù. °¢ ÀåÄ¡ÀÇ C:ÇàÀÇ
     ¹øÈ£´Â #Cfgs¿¡ ÀÇÇØ ÇÒ´çµÈ´Ù. ¾Æ½ºÅ׸®Å© ¹®ÀÚ°¡ ºÙÀº Ç׸ñÀº ÇöÀç
     ¼³Á¤À» ÀǹÌÇÑ´Ù. #If´Â ÀåÄ¡ ÀÎÅÍÆäÀ̽º ¼ö¸¦ Ç¥½ÃÇÑ´Ù. Cfg#´Â ¾î¶²
     ¼³Á¤ÀÌ ÇöÀç »ç¿ëµÇ´ÂÁö¸¦ º¸¿©ÁØ´Ù. AtrÀº ÀåÄ¡ ¼Ó¼ºÀ» 16Áø¼ö·Î
     Ç¥½ÃÇÑ °ÍÀÌ´Ù(0x80Àº Àü·ÂÁö¿ø ¹ö½º, 0x40Àº ÀÚü Àü¿ø, 0x20Àº ¿ø°Ý
     ½Ãµ¿ °¡´É). MPwrÀº ÇöÀç ÀåÄ¡ ¼³Á¤¿¡¼­ÀÇ ÃÖ´ë Àü·Â »ç¿ë °ªÀ̸ç
     ¹Ð¸®¾ÏÆä¾î·Î Ç¥½ÃÇÑ´Ù. USB »ç¾ç¼­ 9.7.2ÀýÀ» Âü°íÇÏ¸é ¼³Á¤
     µð½ºÅ©¸³ÅÍÀÇ Ãß°¡ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

  o  I:·Î ½ÃÀÛÇÏ´Â ÇàÀº ÀÎÅÍÆäÀ̽º µð½ºÅ©¸³ÅÍÀÇ Á¤º¸ÀÌ´Ù. °¢ C:ÇàÀÇ I:Çà
     ¹øÈ£´Â #Ifs Ç׸ñ¿¡ ÀÇÇØ ÇÒ´çµÈ´Ù. If#´Â ÇØ´ç ÀåÄ¡ ¼³Á¤¿¡¼­ ¾î´À
     ÀÎÅÍÆäÀ̽º°¡ »ç¿ëµÇ´ÂÁö¸¦ Ç¥½ÃÇÑ´Ù. Alt´Â ÇØ´ç ÀÎÅÍÆäÀ̽º¿¡ ¾î¶²
     ´ëü ¼³Á¤ÀÌ ¼³Á¤µÇ¾î ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù. #EPs´Â ÇØ´ç ¿£µåÆ÷ÀÎÆ®ÀÇ
     ´ëü ¼³Á¤ °¡¿îµ¥ ¾ó¸¶³ª ¸¹Àº ¿£µåÆ÷ÀÎÆ®°¡ ÀÖ´ÂÁö¸¦ º¸¿©ÁØ´Ù. Cls´Â
     ´ëü ÀÎÅÍÆäÀ̽º ¼³Á¤ÀÌ ¾î´À Ŭ·¡½º¿¡ ÇØ´çµÇ´ÂÁö¸¦ 16Áø¼ö¿Í ¹®ÀÚ¿­·Î
     ³ªÅ¸³½´Ù. Sub´Â ÀÎÅÍÆäÀ̽ºÀÇ ´ëü ¼³Á¤ÀÌ ¾î´À ÇÏÀ§ Ŭ·¡½º¿¡
     ÇØ´çµÇ´ÂÁö¸¦ ³ªÅ¸³½´Ù. Prot´Â ´ëü ÀÎÅÍÆäÀ̽º°¡ ¾î¶² ÀÎÅÍÆäÀ̽º
     ÇÁ·ÎÅäÄÝ(Ŭ·¡½º¿Í ÇÏÀ§Å¬·¡½º ÁýÇÕ °¡¿îµ¥¿¡¼­)¿¡ ÀûÇÕÇÑÁö¸¦
     º¸¿©ÁØ´Ù. USB »ç¾ç¼­ 9.7.3ÀýÀ» Âü°íÇ϶ó.

  o  F:·Î ½ÃÀÛÇÏ´Â ÇàÀº ÀÎÅÍÆäÀ̽º µð½ºÅ©¸³ÅÍÀÇ Á¤º¸ÀÌ´Ù. °¢°¢ÀÇ I:
     Çà¿¡¼­ÀÇ E:Çà ¹øÈ£´Â #EPs Ç׸ñ¿¡¼­ ÁÖ¾îÁø´Ù. ¿£µåÆ÷ÀÎÆ® 0Àº
     Ç¥½ÃµÇÁö ¾Ê´Â´Ù. Ad´Â ¿£µåÆ÷ÀÎÆ® ÁÖ¼Ò¸¦ ³ªÅ¸³»¸ç ¿£µåÆ÷ÀÎÆ®°¡
     ÀÔ·Â/Ãâ·Â °¡¿îµ¥ ¾î´À °ÍÀÎÁö¸¦ ³ªÅ¸³»´Â ¹®ÀÚ¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. AtrÀº
     ¿£µåÆ÷ÀÎÆ®¿¡ »ç¿ëµÇ´Â ¼Ó¼º(Àü¼Û ŸÀÔ)À» ³ªÅ¸³»¸ç Àü¼ÛŸÀÔÀ»
     ¼³¸íÇÏ´Â ¹®ÀÚ¿­ÀÌ µÚ¿¡ ³ª¿Â´Ù. MxPS´Â ÇØ´ç ¿£µåÆ÷ÀÎÆ®°¡ ÀûÀýÈ÷
     ¼Û¼ö½ÅÇÒ ¼ö ÀÖ´Â ÃÖ´ë ÆÐŶÀÇ Å©±â¸¦ ³ªÅ¸³½´Ù. µî½Ã Àü¼Û(isochronous
     transfer)ÀÇ °æ¿ì MxPS´Â ¿ä±¸µÇ´Â ´ë¿ªÆøÀÇ Å©±â¸¦ ³ªÅ¸³½´Ù. IvlÀº
     ¿£µåÆ÷ÀÎÆ® ÀÎÅÍ·´Æ® È£ÃâÀÇ °£°ÝÀ» ¹Ð¸®ÃÊ ´ÜÀ§·Î ³ªÅ¸³½´Ù. IvlÀº
     ¹úÅ©¿Í Á¦¾î Àü¼Û(bulk and control transfers)¿¡¼­´Â ¹«½ÃµÇ¸ç
     µî½ÃÀü¼Û¿¡¼­´Â 1·Î ¼³Á¤µÈ´Ù. ¿£µåÆ÷ÀÎÆ® µð½ºÅ©¸³ÅÍ¿¡ °üÇÑ ÀÚ¼¼ÇÑ
     °ÍÀº USB »ç¾ç¼­ 9.7.4ÀýÀ» º¸¶ó.

  /proc/bus/usb¿¡ °üÇÑ ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº
  linux/Documentation/proc_usb_format.txt¸¦ Âü°íÇ϶ó.

  12.  ÀÚÁÖ Áú¹® ¹Þ´Â °Íµé(FAQs)

  ÀÌÀåÀº ¹Ýº¹µÇ´Â Áú¹®µé¿¡ ´ëÇÑ ´äº¯ÀÌ´Ù.

  µå¶óÀ̹ö¸¦ ¸¸µé·Á¸é ¾î¶»°Ô ÇؾßÇϳª¿ä

  Ä¿³Î¼Ò½º¸¦ °øºÎÇ϶ó. ´ç½ÅÀÌ ¿øÇÏ´Â °Í°ú À¯»çÇÑ µå¶óÀ̹ö°¡ ÀÖÀ¸¸é
  ÀÛµ¿µÉ ¶§±îÁö °³Á¶Ç϶ó. ¿©±â¼­ À¯»çÇÏ´Ù´Â °ÍÀº ´ç½ÅÀÌ Àü¼ÛÇÏ°íÀÚ ÇÏ´Â
  °Í¿¡ °üÇÑ °ÍÀÌÁö ÀåÄ¡°¡ ¾î¶»°Ô »ý°å´ÂÁö¸¦ ¸»ÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù.

  USB¿¡ °üÇÑ ÁÁÀº Ã¥ÀÌ ÀÖ´Ù¸é

  ³ª´Â ´ÜÁö ÇÑ ±ÇÀ» Àоú´Âµ¥ ¸Å¿ì ºÎ½ÇÇÏ´Ù°í »ý°¢Çß´Ù.
  http://www.usb.org <http://www.usb.org>¿¡¼­ »ç¾ç¼­¸¦ ±¸Çغ¸±â¸¦
  ±ÇÇÑ´Ù. ±×°ÍÀº ¹«·áÀ̸ç Àб⠽±°í ÃֽŠ³»¿ëµéÀÌ´Ù.

  ƯÁ¤ ¾÷ü°¡ µ¶ÀÚÀûÀ¸·Î ¸¸µç(vendor specific) ÀåÄ¡¸¦ °®°í ÀÖ¾î¿ä.
  µð½ºÅ©¸³ÅÍ´Â ÀÌ·¸°Ô µÇ¾î ÀÖ±¸¿ä

  µð½ºÅ©¸³ÅÍ´Â µå¶óÀ̹ö¸¦ ¸¸µå´Â µ¥¿¡ ÇʼöÀûÀ̳ª ±×°Í¸¸À¸·Î ÃæºÐÇÏÁö´Â
  ¾Ê´Ù. ¾÷ü·ÎºÎÅÍ Àú¼öÁØ ¼³°è ¼¼ºÎ³»¿ëÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. °Ô´Ù°¡
  µð½ºÅ©¸³ÅÍ°¡ »ç¾çÀ» ÁؼöÇÏÁö ¾Ê´Â´Ù ÇÏ¿© ³î¶óÁö ¸¶¶ó - ³»°¡ ÇØ ÁÙ ¼ö
  ÀÖ´Â ¸»Àº ±× ¾÷üÀÇ ÀåÄ¡¸¦ »ç¿ëÇÏÁö ¸»¶ó´Â°Ô ÀüºÎ´Ù. µð½ºÅ©¸³ÅÍ´Â
  ´Ü¼øÇÑ ÀåÄ¡¿ë µ¥ÀÌÅÍ ¹ÙÀÌÆ®À̸ç, ÀåÄ¡¸¦ ÀçÇÁ·Î±×·¡¹ÖÇϸé ÀåÄ¡ÀÇ ¿ëµµ¿¡
  °ü°è¾øÀÌ ¾î¶² ¹®ÀÚ¸¦ Ç¥½ÃµÇ°Ô ÇÒ ¼ö ÀÖ´Ù.

  µå¶óÀ̹ö¿¡ ¾î¶² ¸ÞÀÌÀú ³Ñ¹ö¿Í ¸¶ÀÌ³Ê ³Ñ¹ö¸¦ »ç¿ëÇØ¾ß Çϳª¿ä

  ½ÇÇèÀû ¶Ç´Â ½ÃÇè¿ë ¹üÀ§ÀÇ ¹øÈ£¸¦ »ç¿ëÇ϶ó. ÇöÀç·Î¼­´Â USB¿¡ ÇÒ´çµÈ
  °ø½Ä ¸ÞÀÌÀú ³Ñ¹ö´Â ¾ø´Ù. ¸¶À̳ʴ ¾Æ¹«°Å³ª »ç¿ëÇ϶ó.

  Sony Vaio laptop¿¡¼­ USB¸¦ »ç¿ëÇÏ°í ½ÍÀºµ¥¿ä

  BIOS¿¡¼­ Plug-n-Pray ¿î¿µÃ¼Á¦ Áö¿ø Ç׸ñÀ» ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é Àß ÀÛµ¿ÇÒ
  °ÍÀÌ´Ù.

  USB-HOWTO ¹®¼­ÀÇ ÃÖ½ÅÆÇÀº ¾îµð¼­ ±¸Çϳª¿ä

  ¿©±é´Ï´Ù http://www.dynamine.net/linux-usb/HOWTO
  <http://www.dynamine.net/linux-usb/HOWTO>.

  13.  Á¤Á¤

  ÀÌ ¹®¼­¿¡ °üÇؼ­ ¾ê±âÇÒ °ÍÀÌ ÀÖÀ¸¸é µÇµµ·ÏÀ̸é
  brad.hards@dao.defence.gov.au·Î ¸ÞÀÏÀ» º¸³»´Â °ÍÀÌ ÁÁ´Ù. º¸³¾ ¶§´Â
  ¹öÀü ¹øÈ£ ($Revision: 0.7 $)¸¦ ¸í½ÃÇϵµ·Ï ÇÑ´Ù.