· 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
Words must be weighed, not counted.


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.0084 sec