· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
USB ¸¶¿ì½º ¼³Á¤ ÆÁ

1. USB ¸¶¿ì½º ¼³Á¤ ÆÁ

1.1. ¼Ò°³

ÀÌ ±ÛÀº ¸®´ª½º¿¡¼­ USB ¸¶¿ì½º¸¦ ¼³Á¤Çϱâ À§ÇÑ ÆÁÀÌ´Ù.

1.2. ¼³Á¤

1.2.1. BIOS ¼³Á¤

BIOS ¼³Á¤Àº ÇÊ¿ä ¾ø´Ù. USB legacy support°¡ ÇÊ¿äÇÏ´Ù´Â ¼Ò¹®ÀÌ ÀÖÁö¸¸, ±× ¼³Á¤Àº USB µå¶óÀ̹ö°¡ ¾øÁö¸¸ Å°º¸µå³ª ¸¶¿ì½º°¡ Àý½ÇÈ÷ ÇÊ¿äÇÑ »óȲ¿¡¼­ ÀÔ·Â ÀåÄ¡¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ¼³Á¤ÀÏ »ÓÀÌ´Ù. "fsck¸¦ ÇÒ±î¿ä? (y/n)"À̶ó°í ÄÄÇ»ÅÍ°¡ ¹°¾îº¼ ¶§ USB Å°º¸µå°¡ ÀνÄÀÌ ¾ÈµÇ°í ÀÖÀ¸¸é ³­°¨ÇÒ °ÍÀÌ´Ù. ±×·² ¶§ ÇÊ¿äÇϱä ÇÏÁö¸¸, ¸¶¿ì½º Áö¿øÀ» À§ÇØ ²À ÇÊ¿äÇÑ ¿É¼ÇÀº ¾Æ´Ï´Ù.

1.2.2. Ä¿³Î ¼³Á¤ (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
  2. Device Drivers -> USB support -> Support for Host-side USB
  3. USB ÄÁÆ®·Ñ·¯¿¡ ¸Â´Â host controller interface ¼±ÅÃ
    • "lspci -v | grep HCI"·Î ÄÁÆ®·Ñ·¯ È®ÀÎ
      • EHCI HCD (USB 2.0) support
      • UHCI HCD (most Intel and VIA) support
      • OHCI HCD support
  4. ¸¶¿ì½º µå¶óÀ̹ö ¼±ÅÃ
    • 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 Çػ󵵸¦ ÀÔ·ÂÇÏ¸é ¸¶¿ì½ºÀÇ °¨µµ°¡ º¯ÇÑ´Ù´Â ¼Ò¹®(?)ÀÌ ÀÖÁö¸¸ Ä¿³Î ¼³Á¤ÀÇ µµ¿ò¸»¿¡´Â ±×·± ¸»Àº ¾ø´Ù.

1.2.3. ÀåÄ¡ ¼³Á¤

¸¶¿ì½º ÀåÄ¡ ÆÄÀÏÀÌ ¾øÀ» °æ¿ì ¸¸µé¾îÁÖÀÚ. ¹èÆ÷ÆÇ¿¡ µû¶ó¼­´Â /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 ¸¶¿ì½º ÇϳªÇϳªÀÇ ÀåÄ¡ÀÌ´Ù. ÇÊ¿äÇÏ´Ù¸é ¿øÇÏ´Â ¸¸Å­ ¸¸µé¾îÁÖÀÚ.

1.2.3.1. ÀåÄ¡ ½ÃÇè

¸ðµâ »ý¼ºÀ» ¼±ÅÃÇß´Ù¸é ÀÔ·Â ÀåÄ¡(input), ¸¶¿ì½º ÀåÄ¡(mousedev), USB Áö¿ø(usbcore), USB È£½ºÆ® ÄÁÆ®·Ñ·¯, ¸¶¿ì½º µå¶óÀ̹ö(usbhid/hid/usbmouse) µîÀÇ ¸ðµâÀ» modprobe·Î ¿Ã¸°´Ù. ¾Æ·¡ ¸ðµâ ¿¹Á¦ ºÎºÐÀ» Âü°í¹Ù¶÷. (Âü°í·Î Ä¿³Î 2.6ÀÇ °æ¿ì input ¸ðµâÀÌ »ý±âÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù.)

root·Î Äֿܼ¡¼­ "cat /dev/input/mice"¸¦ ½ÇÇàÇÑ ÈÄ ¸¶¿ì½º¸¦ ¿òÁ÷¿´À» ¶§ ÄÜ¼Ö È­¸é¿¡ ³»¿ëÀÌ ³ªÅ¸³ª¸é ¼º°øÀÌ´Ù. È®ÀÎÀÌ ³¡³ª¸é Ctrl-C¸¦ ´©¸¥´Ù. Ȥ½Ã È­¸éÀÌ ±úÁø´Ù¸é ħÂøÇÏ°Ô "setterm -reset" ¶Ç´Â "setterm -initialize"¸¦ ½ÇÇàÇÑ´Ù.

1.2.4. ÇÁ·Î±×·¥ ¼³Á¤

1.2.4.1. X ¼³Á¤

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À» È°¿ëÇÑ´Ù.

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·Î Àâ´Â´Ù.

1.2.4.2. ÄÜ¼Ö ¼³Á¤

# /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 ¸¶¿ì½º°¡ µÎ¹è ºü¸£°Ô ¿òÁ÷ÀÌÁö ¾Ê³ª¿ä?

1.3. ¸ðµâ ¿¹Á¦

1.3.1. 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]

1.3.2. 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]

1.4. ±×·¡µµ ¾ÈµÇ¸é

3. 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 ³»¿ëÀ» Àо½Ã¸é ¾î¶² ¸ðµâ À̸§ÀÌ »ç¿ëµÉÁö¸¦ È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.



ID
Password
Join
He is truly wise who gains wisdom from another's mishap.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-10-21 15:41:52
Processing time 0.0103 sec