#title USB ¸¶¿ì½º ¼³Á¤ ÆÁ [[TableOfContents]] = USB ¸¶¿ì½º ¼³Á¤ ÆÁ = == ¼Ò°³ == ÀÌ ±ÛÀº ¸®´ª½º¿¡¼­ USB ¸¶¿ì½º¸¦ ¼³Á¤Çϱâ À§ÇÑ ÆÁÀÌ´Ù. == ¼³Á¤ == === BIOS ¼³Á¤ === BIOS ¼³Á¤Àº ÇÊ¿ä ¾ø´Ù. USB legacy support°¡ ÇÊ¿äÇÏ´Ù´Â ¼Ò¹®ÀÌ ÀÖÁö¸¸, ±× ¼³Á¤Àº USB µå¶óÀ̹ö°¡ ¾øÁö¸¸ Å°º¸µå³ª ¸¶¿ì½º°¡ Àý½ÇÈ÷ ÇÊ¿äÇÑ »óȲ¿¡¼­ ÀÔ·Â ÀåÄ¡¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ¼³Á¤ÀÏ »ÓÀÌ´Ù. "fsck¸¦ ÇÒ±î¿ä? (y/n)"À̶ó°í ÄÄÇ»ÅÍ°¡ ¹°¾îº¼ ¶§ USB Å°º¸µå°¡ ÀνÄÀÌ ¾ÈµÇ°í ÀÖÀ¸¸é ³­°¨ÇÒ °ÍÀÌ´Ù. ±×·² ¶§ ÇÊ¿äÇϱä ÇÏÁö¸¸, ¸¶¿ì½º Áö¿øÀ» À§ÇØ ²À ÇÊ¿äÇÑ ¿É¼ÇÀº ¾Æ´Ï´Ù. === Ä¿³Î ¼³Á¤ (2.6.9) === * General setup -> Support for hot-pluggable devices * General setup -> Configure standard kernel features (for small systems) * Bus options (PCI, PCMCIA, EISA, MCA, ISA) -> PCI support À§¿Í °°ÀÌ Áغñ¸¦ ¸¶Ä¡°í ´ÙÀ½À» ¼±ÅÃÇÑ´Ù. 1. Device Drivers -> Input device support -> Input devices -> Userland interfaces -> Mouse interface 1. Device Drivers -> USB support -> Support for Host-side USB 1. USB ÄÁÆ®·Ñ·¯¿¡ ¸Â´Â host controller interface ¼±Åà * "lspci -v | grep HCI"·Î ÄÁÆ®·Ñ·¯ È®ÀÎ * EHCI HCD (USB 2.0) support * UHCI HCD (most Intel and VIA) support * OHCI HCD support 1. ¸¶¿ì½º µå¶óÀ̹ö ¼±Åà * Device Drivers -> USB support -> USB Human Interface Device (full HID) support: Ãßõ * Device Drivers -> USB support -> HID input layer support * Device Drivers -> USB support -> USB HID Boot Protocol drivers: ºñÃßõ * Device Drivers -> USB support -> USB HID Boot Protocol drivers -> USB HIDBP Mouse (simple Boot) support ¸¶¿ì½º µå¶óÀ̹ö¸¦ µÎ°³ ¸ðµÎ ¼±ÅÃÇÏ´õ¶óµµ ½ÇÁúÀûÀ¸·Î´Â Çϳª¸¸ »ç¿ëµÈ´Ù. È®½ÇÇÏ°Ô ÇÊ¿äÇÑ °Í ÇÑ°¡Áö¸¸ ¼±ÅÃÇÏ¸é ¼Ó ÆíÇÏ´Ù. ÀÔ·ÂÀåÄ¡ ¼³Á¤¿¡¼­ X/Y Çػ󵵸¦ ÀÔ·ÂÇÏ¸é ¸¶¿ì½ºÀÇ °¨µµ°¡ º¯ÇÑ´Ù´Â ¼Ò¹®(?)ÀÌ ÀÖÁö¸¸ Ä¿³Î ¼³Á¤ÀÇ µµ¿ò¸»¿¡´Â ±×·± ¸»Àº ¾ø´Ù. === ÀåÄ¡ ¼³Á¤ === ¸¶¿ì½º ÀåÄ¡ ÆÄÀÏÀÌ ¾øÀ» °æ¿ì ¸¸µé¾îÁÖÀÚ. ¹èÆ÷ÆÇ¿¡ µû¶ó¼­´Â /dev/input/mice ´ë½Å¿¡ /dev/input ÆÄÀÏÀÌ »ç¿ëµÉ ¼öµµ ÀÖ´Ù. {{{ # cd /dev && MAKEDEV usb && MAKEDEV input }}} ´ÙÀ½°ú °°ÀÌ ¼öµ¿À¸·Î ÇÒ ¼öµµ ÀÖ´Ù. {{{ # mkdir /dev/input # mknod /dev/input/mice c 13 63 # mknod /dev/input/mouse0 c 13 32 }}} {{{ crw-rw---- 1 root root 13, 63 2004-01-01 09:31 mice crw-rw---- 1 root root 13, 32 2004-01-01 09:31 mouse0 crw-rw---- 1 root root 13, 33 2004-01-01 09:31 mouse1 crw-rw---- 1 root root 13, 34 2004-01-01 09:31 mouse2 crw-rw---- 1 root root 13, 35 2004-01-01 09:31 mouse3 }}} /dev/input/mice´Â USB ¸¶¿ì½º Àüü¸¦ ´ëÇ¥ÇÏ´Â ÀåÄ¡ÀÌ°í, /dev/input/mouse*´Â USB ¸¶¿ì½º ÇϳªÇϳªÀÇ ÀåÄ¡ÀÌ´Ù. ÇÊ¿äÇÏ´Ù¸é ¿øÇÏ´Â ¸¸Å­ ¸¸µé¾îÁÖÀÚ. ==== ÀåÄ¡ ½ÃÇè ==== ¸ðµâ »ý¼ºÀ» ¼±ÅÃÇß´Ù¸é ÀÔ·Â ÀåÄ¡(input), ¸¶¿ì½º ÀåÄ¡(mousedev), USB Áö¿ø(usbcore), USB È£½ºÆ® ÄÁÆ®·Ñ·¯, ¸¶¿ì½º µå¶óÀ̹ö(usbhid/hid/usbmouse) µîÀÇ ¸ðµâÀ» modprobe·Î ¿Ã¸°´Ù. ¾Æ·¡ ¸ðµâ ¿¹Á¦ ºÎºÐÀ» Âü°í¹Ù¶÷. (Âü°í·Î Ä¿³Î 2.6ÀÇ °æ¿ì input ¸ðµâÀÌ »ý±âÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.) root·Î Äֿܼ¡¼­ "cat /dev/input/mice"¸¦ ½ÇÇàÇÑ ÈÄ ¸¶¿ì½º¸¦ ¿òÁ÷¿´À» ¶§ ÄÜ¼Ö È­¸é¿¡ ³»¿ëÀÌ ³ªÅ¸³ª¸é ¼º°øÀÌ´Ù. È®ÀÎÀÌ ³¡³ª¸é Ctrl-C¸¦ ´©¸¥´Ù. Ȥ½Ã È­¸éÀÌ ±úÁø´Ù¸é ħÂøÇÏ°Ô "setterm -reset" ¶Ç´Â "setterm -initialize"¸¦ ½ÇÇàÇÑ´Ù. === ÇÁ·Î±×·¥ ¼³Á¤ === ==== X ¼³Á¤ ==== {{{#!vim xf86conf Section "InputDevice" Identifier "USB Mice" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Buttons" "5" EndSection }}} [XFree86] 4.xµîÀÇ °æ¿ì ÇÁ·ÎÅäÄÝÀº IMPS/2·Î, ÀåÄ¡´Â ÀûÀýÇÑ ÀåÄ¡·Î ¸ÂÃá´Ù. ¹öÆ°ÀÌ ¼Âº¸´Ù ¸¹´Ù¸é !ZAxisMapping, Buttons¸¦ ÀûÀýÈ÷ ¼öÁ¤ÇÏ°í xmodmapÀ» È°¿ëÇÑ´Ù. {{{#!vim xf86conf Section "ServerLayout" Identifier "XFree86 Configured" Screen "Screen0" InputDevice "Mouse0" "CorePointer" InputDevice "Mouse1" "SendCoreEvents" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "PS/2" Option "Device" "/dev/psaux" Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection }}} PS/2 ¸¶¿ì½º¿Í USB ¸¶¿ì½º¸¦ µ¿½Ã¿¡ »ç¿ëÇÒ °æ¿ì ÇÑÂÊÀº !CorePointer·Î, ´Ù¸¥ ÇÑÂÊÀº !SendCoreEvents·Î Àâ´Â´Ù. ==== ÄÜ¼Ö ¼³Á¤ ==== {{{ # /usr/sbin/gpm -m /dev/input/mice -t imps2 }}} ÇÁ·ÎÅäÄÝÀº imps2·Î, ÀåÄ¡´Â ÀûÀýÇÑ ÀåÄ¡·Î ÇÑ´Ù. {{{ # /usr/sbin/gpm -m /dev/input/mice -t imps2 -M -m /dev/psaux -t ps2 -R imps2 }}} Äָܼ¸ »ç¿ëÇÏ°í PS/2 ¸¶¿ì½º¿Í USB ¸¶¿ì½º¸¦ ÇÔ²² »ç¿ëÇÒ °æ¿ì À§¿Í °°ÀÌ ÇØÁØ´Ù. DeleteMe Ȥ½Ã X¿¡¼­µµ ¸¶¿ì½º ¼³Á¤À» µÎ¹ø ÇØÁÖ°í gpm¿¡¼­µµ -RÀ» ÄÑÁÖ¸é X¿¡¼­ PS/2 ¸¶¿ì½º°¡ µÎ¹è ºü¸£°Ô ¿òÁ÷ÀÌÁö ¾Ê³ª¿ä? == ¸ðµâ ¿¹Á¦ == === Full HID ¼³Á¤ === Kernel 2.6 {{{ Module Size Used by uhci_hcd 32880 0 mousedev 10444 0 usbhid 32768 0 usbcore 114784 4 uhci_hcd,usbhid }}} Kernel 2.4 {{{ Module Size Used by Not tainted uhci 25884 0 (unused) mousedev 4308 0 hid 21988 0 (unused) usbcore 63756 1 [uhci hid] input 3648 0 [mousedev hid] }}} Kernel 2.2 {{{ Module Size Used by hid 11820 0 (unused) mousedev 3952 0 (unused) input 2908 0 [hid mousedev] usb-uhci 20040 0 (unused) usbcore 27908 0 [hid usb-uhci] }}} === HIDBP ¼³Á¤ === Kernel 2.6 {{{ Module Size Used by usbmouse 5664 0 uhci_hcd 32880 0 mousedev 10444 0 usbcore 114784 4 usbmouse,uhci_hcd }}} Kernel 2.4 {{{ Module Size Used by Not tainted usbmouse 2264 0 (unused) uhci 25884 0 (unused) mousedev 4308 0 usbcore 63756 1 [usbmouse uhci] input 3648 0 [usbmouse mousedev] }}} Kernel 2.2 {{{ Module Size Used by mousedev 3952 0 (unused) usbmouse 1708 0 (unused) input 2908 0 [mousedev usbmouse] usb-uhci 20040 0 (unused) usbcore 27908 0 [usbmouse usb-uhci] }}} == ±×·¡µµ ¾ÈµÇ¸é == KLDPBBS:34151#133667 = Âü°í ¹®Çå = [http://www.linux-usb.org/ The Linux USB Guide] DebianKorea:UseUSBmouseWithPS2mouse = Q and A = '''Q''' : mousedev ¸¦ ¸ðµâ·Î ³ÖÀ¸·Á¸é menuconfig ¿¡¼­ ¾î¶² ¿É¼ÇÀ» ¼±ÅÃÇØ¾ß Çϳª¿ä?(Ä¿³ÎÀº 2.6.7 ÀÔ´Ï´Ù.) {{{ CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 }}} ó·³, ¸ðµâÀÌ ¾Æ´Ñ, Ä¿³Î³»¿¡ µé¾î°¡´Â °Í °°Àºµ¥. Àú°ÍÀ» ÀÓÀÇ·Î m À¸·Î ¹Ù²Ù¸é ¾ÈµÇÁÒ?(make menuconfig ¿¡¼­´Â ¸ø ã°Ú½À´Ï´Ù.) ÀÌ·±°ÍÀ» ´ëÁ¶ ÇسõÀº °ÍÀº ¾ø³ª¿ä? (usbmouse ´Â menuconfig ÀÇ ¾î´À Ç׸ñ ÀÌ·±½ÄÀ¸·Î ã±â ½±°Ô. ) '''A''' : À§ÀÇ ¼½¼Ç 1.2.2¸¦ º¸½Ã¸é menuconfig¿¡¼­ ¾î¶² Ç׸ñÀ» °ñ¶ó¾ß ÇÒÁö ´ëÃæ ¾Æ½Ç ¼ö ÀÖ½À´Ï´Ù. Full HID ·Î ½Ãµµ¸¦ Çߴµ¥, HIDBP ·Î ¹Ù²Ù¾î¼­ ¼º°øÇß½À´Ï´Ù. mousedev ´Â ¸ðµâÀÌ ¾Æ´Ñ Ä¿³Î ³»·Î µé¾î°¡´Â °Í °°½À´Ï´Ù. ¸ðµâ·Îµù¿¡¼­ »©°í ½ÃµµÇß½À´Ï´Ù. ¸ðµâ ¿¹Á¦ ºÎºÐÀ» º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸ mousedev¸¦ ¸ðµâ·Î ¸¸µå¼Åµµ ÃæºÐÈ÷ Àß µ¹¾Æ°¥ ¼ö ÀÖ½À´Ï´Ù. ¿¹. ±×ºÎºÐÀÌ mousedev À» ¿Ã¸®·Á¸é ½ÇÆи¦ Çؼ­¿ä. CONFIG_INPUT_MOUSEDEV=y ÀÌ m (¸ðµâ) ·Î´Â ¾ÈµÇ´õ¶ó±¸¿ä.±×³ÉÄ¿³Î¾ÈÀ¸·Î..´Ù¸¥¹öÀü,Ä¿³Î·Î ÇغÁ¾ß °Ú½À´Ï´Ù.(Á¨Åõ¿¡¼­ Çϴµ¥, ¾ÈµÇ´Â °ÍÀÎÁö ¸øÇÏ´Â °ÍÀÎÁö..^^) .config ÆÄÀÏÀ» ÀÓÀÇ·Î ÆíÁýÇÏÁö ¸¶½Ã°í, make menuconfigÀ» Çϼż­ Á¤»óÀûÀÎ ¼³Á¤À» ÇØÁֽñ⠹ٶø´Ï´Ù. ¼³Á¤ Ç׸ñ °ü·Ã help ³»¿ëÀ» Àо½Ã¸é ¾î¶² ¸ðµâ À̸§ÀÌ »ç¿ëµÉÁö¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ---- CategoryTips