์ง‘์—์„œ IP๋ฅผ ํ†ตํ•œ USB

๋•Œ๋กœ๋Š” ๋…ธํŠธ๋ถ ์˜† ํ…Œ์ด๋ธ” ์œ„์— ๋‘์ง€ ์•Š๊ณ  USB๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๋กœ ์ž‘์—…ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์žฅ์น˜๋Š” 500mW ๋ ˆ์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ค‘๊ตญ ์กฐ๊ฐ์‚ฌ์ธ๋ฐ, ๊ฐ€๊นŒ์ด ์ ‘์ด‰ํ•˜๋ฉด ์ƒ๋‹นํžˆ ๋ถˆํŽธํ•ฉ๋‹ˆ๋‹ค. ๋ˆˆ์— ๋Œ€ํ•œ ์ฆ‰๊ฐ์ ์ธ ์œ„ํ—˜ ์™ธ์—๋„ ๋ ˆ์ด์ € ์ž‘๋™ ์ค‘์— ์œ ๋…์„ฑ ์—ฐ์†Œ ์ƒ์„ฑ๋ฌผ์ด ๋ฐฉ์ถœ๋˜๋ฏ€๋กœ ์žฅ์น˜๋Š” ํ†ตํ’์ด ์ž˜ ๋˜๋Š” ๊ณณ์— ์œ„์น˜ํ•ด์•ผ ํ•˜๋ฉฐ ๊ฐ€๊ธ‰์ ์ด๋ฉด ์‚ฌ๋žŒ์œผ๋กœ๋ถ€ํ„ฐ ๊ฒฉ๋ฆฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ์žฅ์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด์ „ D-Link DIR-320 A2 ๋ผ์šฐํ„ฐ์˜ ๊ฐ€์น˜ ์žˆ๋Š” ์šฉ๋„๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด OpenWRT ์ €์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋™์•ˆ ์šฐ์—ฐํžˆ ์ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์•ž์„œ Habrรฉ์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. IP ํ„ฐ๋„์„ ํ†ตํ•œ USB, ๊ทธ๋Ÿฌ๋‚˜ ์„ค์น˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์ง€์นจ์ด ๊ด€๋ จ์„ฑ์„ ์žƒ์–ด์„œ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

OpenWRT๋Š” ์†Œ๊ฐœ๊ฐ€ ํ•„์š” ์—†๋Š” ์šด์˜์ฒด์ œ์ด๋ฏ€๋กœ ์„ค์น˜์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋ผ์šฐํ„ฐ์˜ ๊ฒฝ์šฐ OpenWrt 19.07.3์˜ ์ตœ์‹  ์•ˆ์ • ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ Wi-Fi ์•ก์„ธ์Šค ํฌ์ธํŠธ์— ํด๋ผ์ด์–ธํŠธ๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ๋ชจ๋“œ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋žœ, ๋ฐฉํ™”๋ฒฝ์„ ๊ดด๋กญํžˆ์ง€ ์•Š๋„๋ก.

์„œ๋ฒ„ ๋ถ€๋ถ„

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์— ๋”ฐ๋ผ ํ–‰๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ ์ง€์นจ. SSH ์ ‘์† ํ›„ ํ•„์š”ํ•œ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb-ohci usbip-server usbip-client

๋‹ค์Œ์œผ๋กœ ์žฅ์น˜๋ฅผ ๋ผ์šฐํ„ฐ์˜ USB ํฌํŠธ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค(์ œ ๊ฒฝ์šฐ์—๋Š” ์žฅ์น˜: USB ํ—ˆ๋ธŒ, ๋ผ์šฐํ„ฐ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ํƒ‘์žฌ๋œ ํ”Œ๋ž˜์‹œ ๋“œ๋ผ์ด๋ธŒ(๋‚ด๋ถ€ ์ €์žฅ์†Œ ๊ณต๊ฐ„ ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด)). ์กฐ๊ฐ์‚ฌ).

์—ฐ๊ฒฐ๋œ ์žฅ์น˜ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

root@OpenWrt:~# usbip list -l

๋นˆ.

๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ ๋ฒ”์ธ์€ ๋„์„œ๊ด€์ธ ๊ฒƒ์œผ๋กœ ๋“œ๋Ÿฌ๋‚ฌ๋‹ค. libudev-fbsd.
์šฐ๋ฆฌ๋Š” ์ €์žฅ์†Œ์—์„œ ์ตœ์‹  ์ž‘์—… ๋ฒ„์ „์„ ์ง์ ‘ ๊บผ๋ƒ…๋‹ˆ๋‹ค. libudev_3.2-1 ๊ท€ํ•˜์˜ ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ OpenWRT 17.01.7 ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ ๊ฒฝ์šฐ์—๋Š” libudev_3.2-1_mipsel_mips32.ipk์ž…๋‹ˆ๋‹ค. wget/scp๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต์œ ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ์— ๋‹ค์šด๋กœ๋“œํ•œ ํ›„ ๋‹ค์‹œ ์„ค์น˜ํ•˜์„ธ์š”.

root@OpenWrt:~# opkg remove --force-depends libudev-fbsd
root@OpenWrt:~# opkg install libudev_3.2-1_mipsel_mips32.ipk

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

root@OpenWrt:~# usbip list -l
 - busid 1-1.1 (090c:1000)
   Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000)

 - busid 1-1.4 (1a86:7523)
   QinHeng Electronics : HL-340 USB-Serial adapter (1a86:7523)

USB ํ—ˆ๋ธŒ์— ์—ฐ๊ฒฐ๋œ ์ค‘๊ตญ์ธ ๋‚จ์„ฑ์ด BSUID๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. 1-1.4. ๊ธฐ์–ตํ•˜๋‹ค.

์ด์ œ ๋ฐ๋ชฌ์„ ์‹œ์ž‘ํ•ด๋ณด์ž:

root@OpenWrt:~# usbipd -D

๊ทธ๋ฆฌ๊ณ  ์ค‘๊ตญ์ธ์„ ๋นˆ๋”ค

root@OpenWrt:~# usbip bind -b 1-1.4
usbip: info: bind device on busid 1-1.4: complete

๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

root@OpenWrt:/home# netstat -alpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3240            0.0.0.0:*               LISTEN      1884/usbipd

์žฅ์น˜๋ฅผ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋กœ ๋ฐ”์ธ๋”ฉํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ํŽธ์ง‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. /etc/rc.local์ „์— ์ถ”๊ฐ€ํ•ด์„œ 0 ๋ฒˆ ์ถœ๊ตฌ ๋‹ค์Œ :

usbipd -D &
sleep 1
usbip bind -b 1-1.4

ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„

openwrt.org์˜ ์œ„ ์ง€์นจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์น˜๋ฅผ Windows 10์— ์—ฐ๊ฒฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฆ‰์‹œ ๋ง์”€ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„์ด๋””์–ด๋Š” ์‹คํŒจํ•  ์šด๋ช…์ž…๋‹ˆ๋‹ค. ์ฒซ์งธ, Windows 7 x64๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค. ๋‘˜์งธ, Dropbox์—์„œ 2014๋…„์— ํŒจ์น˜๋œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๊ฒƒ์„ ์ œ์•ˆํ•˜๋Š” sourceforge.net ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Windows 10์—์„œ ์‹คํ–‰ํ•˜๊ณ  ์žฅ์น˜์— ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‹ค์Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

c:Utilsusbip>usbip -a 192.168.31.203 1-1.4
usbip for windows ($Id$)

*** ERROR: cannot find device

์ด๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฒ„์ „ 3.14 ์ด์ „ ์ปค๋„์šฉ์œผ๋กœ ๊ตฌ์ถ•๋œ ์„œ๋ฒ„์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
OpenWRT 19.07.3์šฉ usbip ์„œ๋ฒ„๋Š” ์ปค๋„ 4.14.180์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰์„ ๊ณ„์†ํ•˜๋ฉด์„œ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ธ Windows ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. github. ์ข‹์•„, Windows 10 x64์— ๋Œ€ํ•œ ์ง€์›์ด ๋ช…์‹œ๋˜์–ด ์žˆ์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ๋Š” ํ…Œ์ŠคํŠธ ํด๋ผ์ด์–ธํŠธ์ผ ๋ฟ์ด๋ฏ€๋กœ ๋งŽ์€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋จผ์ € ์ธ์ฆ์„œ ์„ค์น˜๋ฅผ ์š”์ฒญํ•˜๊ณ  ๋‘ ๋ฒˆ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ข‹์•„, ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฃจํŠธ ์ธ์ฆ ๊ธฐ๊ด€๊ณผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์‹œ์ž์— ๋„ฃ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ์šด์˜ ์ฒด์ œ๋ฅผ ํ…Œ์ŠคํŠธ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ํŒ€์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

bcdedit.exe /set TESTSIGNING ON

์ฒ˜์Œ์—” ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ•ด์„œ ๋ฐฉํ•ด๊ฐ€ ๋์–ด ๋ณด์•ˆ ๋ถ€ํŠธ. ์ด๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด UEFI๋กœ ์žฌ๋ถ€ํŒ…ํ•˜๊ณ  ๋ณด์•ˆ ๋ถ€ํŒ…์„ ๋น„ํ™œ์„ฑํ™”๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋…ธํŠธ๋ถ ๋ชจ๋ธ์—๋Š” ๊ฐ๋…์ž ์•”ํ˜ธ ์„ค์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ํ›„ Windows๋กœ ๋ถ€ํŒ…ํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค. bcdedit.exe /set ํ…Œ์ŠคํŠธ ์„œ๋ช… ์ผœ๊ธฐ
Vinda๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ์žฌ๋ถ€ํŒ…ํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ํ…Œ์ŠคํŠธ ๋ชจ๋“œ, ๋ฒ„์ „ ๋ฐ OS ๋นŒ๋“œ ๋ฒˆํ˜ธ๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ์กฐ์ž‘์€ ๋ฌด์—‡์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๊นŒ? ์„œ๋ช…๋˜์ง€ ์•Š์€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด USB/IP VHCI. usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

usbip.exe install

๋˜๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋ ˆ๊ฑฐ์‹œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ๋‘ ๋ฒˆ์งธ ์˜ต์…˜์„ ์„ ํƒํ–ˆ๊ณ  ์„œ๋ช…๋˜์ง€ ์•Š์€ ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›๊ณ  ์ด์— ๋™์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์›๊ฒฉ USB ์žฅ์น˜์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

usbip.exe list -r <ip ะฒะฐัˆะตะณะพ ั€ะพัƒั‚ะตั€ะฐ>

์žฅ์น˜ ๋ชฉ๋ก์„ ์–ป์Šต๋‹ˆ๋‹ค.

c:Utilsusbip>usbip.exe list -r 192.168.31.203
usbip: error: failed to open usb id database
Exportable USB devices
======================
 - 192.168.31.203
      1-1.4: unknown vendor : unknown product (1a86:7523)
           : /sys/devices/ssb0:1/ehci-platform.0/usb1/1-1/1-1.4
           : unknown class / unknown subclass / unknown protocol (ff/00/00)

์‹ค์ˆ˜๋กœ usbip: ์˜ค๋ฅ˜: USB ID ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ด์ง€ ์•Š์œผ๋ฉฐ ์ž‘์—…์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์ œ ์žฅ์น˜๋ฅผ ๋ฐ”์ธ๋”ฉํ•ฉ๋‹ˆ๋‹ค.

c:Utilsusbip>usbip.exe attach -r 192.168.31.203 -b 1-1.4

Windows๊ฐ€ ์ƒˆ ์žฅ์น˜๋ฅผ ๊ฐ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋žฉํ†ฑ์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ๊ฐ์‚ฌ(์˜ˆ, Arduino ์กฐ๊ฐ์‚ฌ)์™€ ํ•จ๊ป˜ ์ œ๊ณต๋œ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด CH341SER ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋•Œ USB/IP VHCI๊ฐ€ Windows๋ฅผ BSOD์— ๋น ๋œจ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๊ตญ ์กฐ๊ฐ์‚ฌ ๋•Œ๋ฌธ์— ์•ฝ๊ฐ„์˜ ์–ด๋ ค์›€์„ ๊ฒช์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ CH341SER ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์— usbip.exe๋ฅผ ํ†ตํ•ด ์žฅ์น˜๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก : ์กฐ๊ฐ์‚ฌ๋Š” ๋ถ€์—Œ์—์„œ ์ฐฝ๋ฌธ์„ ์—ด๊ณ  ๋ฌธ์„ ๋‹ซ์€ ์ฑ„ ์†Œ์Œ์„ ๋‚ด๊ณ  ๋‹ด๋ฐฐ๋ฅผ ํ”ผ์šฐ๋ฉฐ, ๋‚˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ์—์„œ ํƒ€๋Š” ๊ณผ์ •์„ ๋‚ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ†ตํ•ด ์ง€์ผœ๋ณด์ง€๋งŒ ์žกํžˆ๋Š” ๊ฒƒ์„ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋œ ์†Œ์Šค :

https://openwrt.org/docs/guide-user/services/usb.iptunnel
https://github.com/cezanne/usbip-win

์ถœ์ฒ˜ : habr.com

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