USB/IP ๊ธธ๋“ค์ด๊ธฐ

๋กœ์ปฌ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด USB ์žฅ์น˜๋ฅผ ์›๊ฒฉ PC์— ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…์ด ์ •๊ธฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ปท ์•„๋ž˜์— ์ด ๋ฐฉํ–ฅ์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ ๋‚ด์—ญ์ด ํ‘œ์‹œ๋˜๊ณ  ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ธฐ์„ฑ ์†”๋ฃจ์…˜์œผ๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. USB/IP ์ด ๊ฒฝ๋กœ์—์„œ ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์ด ์ฃผ์˜ ๊นŠ๊ฒŒ ์„ค์ •ํ•œ ์žฅ์• ๋ฌผ๊ณผ ์ด๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜.

XNUMX๋ถ€, ์—ญ์‚ฌ์ 

๊ธฐ๊ณ„๊ฐ€ ๊ฐ€์ƒ์ด๋ฉด ์ด ๋ชจ๋“  ๊ฒƒ์ด ์‰ฝ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์—์„œ ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ์˜ USB ํฌ์›Œ๋”ฉ ๊ธฐ๋Šฅ์€ VMWare 4.1์— ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ œ ๊ฒฝ์šฐ์—๋Š” WIBU-KEY๋กœ ์ธ์‹๋˜๋Š” ๋ณด์•ˆ ํ‚ค๋ฅผ ๊ฐ€์ƒ ๋จธ์‹ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ๋จธ์‹ ์— ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ๊ฐ„์— ์—ฐ๊ฒฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋จผ 2009๋…„์˜ ์ฒซ ๋ฒˆ์งธ ๊ฒ€์ƒ‰์€ ์ €๋ฅผ ์ฒ  ์กฐ๊ฐ์œผ๋กœ ์ด๋Œ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ Œ๋“œ๋„ท TU2-NU4
์žฅ์  :

  • ๋•Œ๋กœ๋Š” ์ž‘๋™ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค

๋‹จ์  :

  • ํ•ญ์ƒ ์ž‘๋™ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. Guardant Stealth II ๋ณดํ˜ธ ํ‚ค๊ฐ€ "์žฅ์น˜๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ์˜ค๋ฅ˜๋กœ ๋งน์„ธํ•˜๋ฉด์„œ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด(์ฝ๊ธฐ-USB ์žฅ์น˜ ๋งˆ์šดํŠธ ๋ฐ ๋งˆ์šดํŠธ ํ•ด์ œ)๋Š” ๊ทน๋„๋กœ ํ•œ์‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์ค„ ์Šค์œ„์น˜, ์ž๋™ํ™” - ์•„๋‹ˆ์˜ค, ๋“ฃ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์†์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์•…๋ชฝ.
  • ์ œ์–ด ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์—์„œ ์ฒ  ์กฐ๊ฐ ์ž์ฒด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฏ€๋กœ ํ•˜๋‚˜์˜ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋„คํŠธ์›Œํฌ ์„ธ๊ทธ๋จผํŠธ ๋‚ด์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฒ  ์กฐ๊ฐ์˜ IP ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„œ๋ธŒ๋„ท์˜ ์ฒ  ์กฐ๊ฐ? ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์žฅ์น˜์—์„œ ์ ์ˆ˜๋ฅผ ๋งค๊ธฐ๋ฉด ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ๋ณด๋‚ด๋„ ์†Œ์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ผ์šด๋“œ๋Š” ๊ทธ๋ฆฌ ๋ฉ€์ง€ ์•Š์€ ์‹œ๊ฐ„์— ์ผ์–ด๋‚ฌ๊ณ  ์ €๋ฅผ ๊ธฐ์‚ฌ์˜ ์ฃผ์ œ๋กœ ์ด๋Œ์—ˆ์Šต๋‹ˆ๋‹ค. USB/IP ํ”„๋กœ์ ํŠธ. ํŠนํžˆ ์‚ฌ๋žŒ๋“ค์ด ๊ฐœ๋ฐฉ์„ฑ์œผ๋กœ ๋งค๋ ฅ์„ ๋Š๋‚๋‹ˆ๋‹ค. ReactOS ๊ทธ๋“ค์€ Windows ์šฉ ๋“œ๋ผ์ด๋ฒ„์— ์„œ๋ช…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด์ œ ํ…Œ์ŠคํŠธ ๋ชจ๋“œ์™€ ๊ฐ™์€ ๋ชฉ๋ฐœ ์—†์ด๋„ ๋ชจ๋“  ๊ฒƒ์ด x64์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ReactOS ํŒ€์—๊ฒŒ ๋งŽ์€ ๊ฐ์‚ฌ๋ฅผ ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๋ชจ๋“  ๊ฒƒ์ด ์•„๋ฆ„๋‹ต๊ฒŒ ๋“ค๋ฆฌ๋‹ˆ ๋Š๊ปด ๋ด…์‹œ๋‹ค ์ •๋ง ๊ทธ๋ ‡์Šต๋‹ˆ๊นŒ? ์•ˆํƒ€๊น๊ฒŒ๋„ ํ”„๋กœ์ ํŠธ ์ž์ฒด๋„ ๋ฒ„๋ ค์กŒ๊ณ  ์ง€์›์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์€ ๊ณณ์— ์†Œ์Šค๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์•Œ์•„๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

XNUMX๋ถ€, ์„œ๋ฒ„-๋ฆฌ๋ˆ…์Šค

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด USB ์žฅ์น˜๋ฅผ ๊ณต์œ ํ•˜๋Š” USB/IP ์„œ๋ฒ„๋Š” Linux ๊ธฐ๋ฐ˜ OS์—์„œ๋งŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Œ, Linux๋Š” Linux์ด๋ฏ€๋กœ Debian 8 ๊ฐ€์ƒ ๋จธ์‹ ์— ์ตœ์†Œ ๊ตฌ์„ฑ, ํ‘œ์ค€ ์† ๋™์ž‘์œผ๋กœ ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install usbip

์•ˆ์ •๋œ. ๋˜ํ•œ ์ธํ„ฐ๋„ท์€ usbip ๋ชจ๋“ˆ์„ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜์ง€๋งŒ ์ฒซ ๋ฒˆ์งธ ๋ ˆ์ดํฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๋งค๋‰ด์–ผ์ด ์ด์ „ ๋ถ„๊ธฐ 0.1.x๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์ตœ์‹  0.2.0์—์„œ usbip ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ :

sudo modprobe usbip-core
sudo modprobe usbip-host
sudo lsmod | grep usbip

์‹œ์Šคํ…œ ์‹œ์ž‘ ์‹œ ์ž๋™์œผ๋กœ ๋กœ๋“œ๋˜๋„๋ก /etc/modules์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

usbip-core
usbip-host
vhci-hcd

usbip ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•ฉ์‹œ๋‹ค:

sudo usbipd -D

๋˜ํ•œ ๋ณดํŽธ์ ์ธ ๋งˆ์Œ์€ usbip์ด ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํฌ๋ฆฝํŠธ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋œ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ ํ•  ์žฅ์น˜๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋˜ ๋‹ค๋ฅธ ์ •์› ๋„๊ตฌ๊ฐ€ ์šฐ๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 0.2.x ๋ถ„๊ธฐ์˜ ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋‹ค์‹œ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น ๋ชฉ๋ก์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

sudo usbip

๋ช…๋ น ์„ค๋ช…์„ ์ฝ์€ ํ›„ ํ•„์š”ํ•œ USB ์žฅ์น˜๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด usbip์ด ์ž์‹ ์˜ ๋ฒ„์Šค ID๋ฅผ ์•Œ๊ณ  ์‹ถ์–ดํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์‹œ์ฒญ์ž ์—ฌ๋Ÿฌ๋ถ„, ์„ธ ๋ฒˆ์งธ ๋ ˆ์ดํฌ๊ฐ€ ๊ฒฝ๊ธฐ์žฅ์— ์žˆ์Šต๋‹ˆ๋‹ค: ์šฐ๋ฆฌ์—๊ฒŒ ์ œ๊ณตํ•  ๋ฒ„์Šค ID์ž…๋‹ˆ๋‹ค. lsusb (๊ฐ€์žฅ ๋ถ„๋ช…ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค)-๊ทธ๋…€์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์‚ฌ์‹ค usbip์€ USB ํ—ˆ๋ธŒ์™€ ๊ฐ™์€ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ ์ œ๊ณต ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

user@usb-server:~$ sudo usbip list -l
 - busid 1-1 (064f:0bd7)
   WIBU-Systems AG : BOX/U (064f:0bd7)

์ฐธ๊ณ : ์ดํ›„ ๋ชฉ๋ก์—์„œ ๋‚ด ํŠน์ • USB ํ‚ค์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฒƒ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ์ด๋ฆ„๊ณผ VID:PID ์Œ์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ด๋ฆ„์€ Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7์ž…๋‹ˆ๋‹ค.

์ด์ œ ์žฅ์น˜๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

user@usb-server:~$ sudo usbip bind --busid=1-1
usbip: info: bind device on busid 1-1: complete

๊ฑด๋ฐฐ, ๋™์ง€!

user@usb-server:~$ sudo usbip list -r localhost
Exportable USB devices
======================
 - localhost
        1-1: WIBU-Systems AG : BOX/U (064f:0bd7)
           : /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-1
           : Vendor Specific Class / unknown subclass / unknown protocol (ff/00/ff)

์„ธ ๋ฒˆ ๋งŒ์„ธ, ๋™์ง€๋“ค! ์„œ๋ฒ„๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ฒ  ์กฐ๊ฐ์„ ๊ณต์œ ํ–ˆ๊ณ  ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! usbip ๋ฐ๋ชฌ์˜ ์ž๋™ ์‹œ์ž‘์„ /etc/rc.local์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋งŒ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

usbipd -D

XNUMX๋ถ€, ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฐ ํ˜ผ๋™

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ณต์œ  ์žฅ์น˜๋ฅผ ๋™์ผํ•œ ์„œ๋ฒ„์˜ ๋ฐ๋น„์•ˆ ์ปดํ“จํ„ฐ์— ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋Š”๋ฐ ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

sudo usbip attach --remote=localhost --busid=1-1

์œˆ๋„์šฐ๋กœ ๋„˜์–ด๊ฐ‘์‹œ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” Windows Server 2008R2 Standard Edition์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ ๊ฐ€์ด๋“œ์—์„œ๋Š” ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋จผ์ € ์„ค์น˜ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” Windows ํด๋ผ์ด์–ธํŠธ์— ์ฒจ๋ถ€๋œ readme์— ์™„๋ฒฝํ•˜๊ฒŒ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์„ฑ๋œ ๋Œ€๋กœ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. XP์—์„œ๋„ ๋ณ„ ๋ฌธ์ œ ์—†์ด ์ž˜ ๋ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์˜ ์••์ถ•์„ ํ‘ผ ํ›„ ํ‚ค๋ฅผ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
usbip err: usbip_network.c: 121 (usbip_recv_op_common) recv op_common, -1
usbip err: usbip_windows.c: 756 (query_interface0) recv op_common
usbip err: usbip_windows.c: 829 (attach_device) cannot find device

์˜ค, ์˜ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Google์˜ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒ์ˆ˜์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๋‹จํŽธ์ ์ธ ์–ธ๊ธ‰์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๋ถ€๋ถ„์—์„œ ๊ฐœ๋ฐœ์ž๋Š” ๋ฒ„์ „ 0.2.0์œผ๋กœ ์ „ํ™˜ํ•  ๋•Œ ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ–ˆ์ง€๋งŒ Win ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” ์ด๋ฅผ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์†”๋ฃจ์…˜์€ ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์ƒ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜์ด ์ ˆ์ฐจ๋ฅผ ์œ„ํ•ด Visual Studio๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์ข‹์€ ์˜ค๋ž˜๋œ Hiew๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์ƒ์ˆ˜๋Š” ๋”๋ธ” ์›Œ๋“œ๋กœ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค. 0x00000106์— ๋Œ€ํ•œ ํŒŒ์ผ์„ ์‚ดํŽด๋ณด๊ณ  0x00000111๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๊ธฐ์–ตํ•˜์„ธ์š”, ๋ฐ”์ดํŠธ ์ˆœ์„œ๋Š” ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋‘ ๊ฐœ์˜ ์ผ์น˜, ํŒจ์น˜์ž…๋‹ˆ๋‹ค.

[usbip.exe]
00000CBC: 06 11
00000E0A: 06 11

์—์—์—... ๋„ค!

C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
new usb device attached to usbvbus port 1

์ด๊ฒƒ์€ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์„ ๋๋‚ผ ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์Œ์•…์€ ์˜ค๋žซ๋™์•ˆ ์žฌ์ƒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ…ํ•œ ํ›„ ํด๋ผ์ด์–ธํŠธ์˜ ์žฅ์น˜๊ฐ€ ๋งˆ์šดํŠธ๋˜์ง€ ์•Š์€ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค!

C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
usbip err: usbip_windows.c: 829 (attach_device) cannot find device

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒŒ ๋‹ค์•ผ. ๋ชจ๋“  ๊ฒƒ์„ ์•„๋Š” Google์กฐ์ฐจ๋„ ์ด์— ๋Œ€ํ•ด ๋‹ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์žฅ์น˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ช…๋ น์ด ๋งค์šฐ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ํ‚ค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์šดํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux์—์„œ ๋งˆ์šดํŠธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ์ด์ œ Windows์—์„œ ์‹œ๋„ํ•œ๋‹ค๋ฉด? ์˜ค ์  ์žฅ - ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

๋งˆ์ง€๋ง‰ ๋ ˆ์ดํฌ: ์„œ๋ฒ„ ์ฝ”๋“œ์— ๋ฌด์–ธ๊ฐ€๊ฐ€ ์ถ”๊ฐ€๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์žฅ์น˜๋ฅผ ๊ณต์œ ํ•  ๋•Œ ์žฅ์น˜์—์„œ USB ์„ค๋ช…์ž ์ˆ˜๋ฅผ ์ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Linux์—์„œ ์žฅ์น˜๋ฅผ ๋งˆ์šดํŠธํ•  ๋•Œ ์ด ํ•„๋“œ๊ฐ€ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค. ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์ €๋Š” "make && make install" ๋ ˆ๋ฒจ์—์„œ Linux ๊ฐœ๋ฐœ์— ์ต์ˆ™ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ /etc/rc.local์— ์ถ”๊ฐ€ํ•˜๋Š” ๋‹ค์†Œ ๋”๋Ÿฌ์šด ํ•ดํ‚น์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

usbip attach --remote=localhost --busid=1-1
usbip port
usbip detach --port=00

ํŒŒํŠธ ํŒŒ์ด๋„

์•ฝ๊ฐ„์˜ ์กฐ์ž‘ ํ›„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์œผ๋ฏ€๋กœ ์ด์ œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋„คํŠธ์›Œํฌ ์„ธ๊ทธ๋จผํŠธ ์™ธ๋ถ€์˜ PC๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  PC์— ํ‚ค๋ฅผ ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ฌผ๋ก  ๋งˆ์šดํŠธ ํ•ด์ œ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค). ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ์  - ์ฆ๊ฑฐ์›€์€ ์ ˆ๋Œ€์ ์œผ๋กœ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.
๋‚ด ๊ฒฝํ—˜์ด habrazhiteli๊ฐ€ ๋‚ด ์ด๋งˆ์— ๊ฐ์ธ ๋œ ๊ฐˆํ€ด๋ฅผ ํ”ผํ•˜๋Š” ๋ฐ ๋„์›€์ด๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ด€์‹ฌ์„ ๊ฐ€์ ธ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€