USB á
ááºááᯠá
ááºááœááºáž ááœááºáááºááŸáá
áºááá·áº á¡áá±ážááááºáž PC ááŸáá·áº áá»áááºáááºááẠáá¬áááºááẠáá¯á¶ááŸááºááŒá
áºáááºá ááŒááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœááºá á€áŠážáááºáá»ááºááœáẠáá»áœááºá¯ááºááŸá¬ááœá±ááŸá¯áá»á¬ážááááá¯ááºážááŒá±á¬ááºážááᯠáááºááŸááºáá±ážáá¬ážááŒá®áž open-source ááá±á¬áá»ááºááᯠá¡ááŒá±áá¶á á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ ááŒá±ááŸááºážáá»ááºáá®ááá¯á· áááºážááŒá±á¬ááºáž
á¡ááá¯ááºážáá áºá áááá¯ááºáž
á
ááºááẠvirtual ááŒá
áºáá«áá á€á¡áá¬á¡á¬ážáá¯á¶ážáááºááœááºáá°áááºá USB á០host á០virtual machine ááá¯á·áááºááá¯á·ááŒááºážááá¯ááºáá±á¬ááºáá»ááºááẠVMWare 4.1 ááœááºáá±á«áºáá¬áááºá áá«áá±ááá·áº áá»áœááºáá±á¬á·áºááá
á¹á
ááŸá¬á WIBU-KEY á¡ááŒá
Ạá¡ááá¡ááŸáẠááŒá¯ááá¯ááºáá²á· áá¯á¶ááŒá¯á¶áá±ážáá®ážááᯠááá°áá®áá²á· á
ááºááœá±áá²á· ááá°áá®áá²á· á¡áá»áááºááœá±ááŸá¬ áá»áááºáááºáá¬ážáááŸá¬ ááŒá
áºááŒá®áž virtual ááœá±áááºáááá«áá°ážá
áááá áá¯ááŸá
Ạáá±ážááœá¬áá±á¬ áááá¡ááŒááẠááŸá¬ááœá±ááŸá¯ááœáẠáá»áœááºá¯ááºá¡á¬áž áá¶á¡ááá¯ááºážá¡á
áá
áºáá¯áá®ááá¯á· áŠážáááºá
á±áá²á·áááºá
á¡ááŒá
áºááœá±:
- áá áºáá«ááá¶ááŸá¬áá±á¬áẠá¡áá¯ááºáá¯ááºáááºá
cons:
- á¡ááŒá²áááºážá¡áá¯ááºááá¯ááºáá«áá°ážá Guardant Stealth II áá¬ááœááºáá±ážáá±á¬á·ááẠáááºážááŸá áááºá áá áááºáá«ááá¯áá«á áá¯á·á "á ááºáá á¹á ááºážááᯠá áááºáááááá¯ááºáá«" áá°áá±á¬ á¡ááŸá¬ážááŒáá·áº ááááá á¹á á¬ááŒá¯áá«áááºá
- á á®áá¶ááá·áºááœá²ááŸá¯áá±á¬á·ááºáá²áẠ(áááºáá« - áááºáááºááŒááºážááŸáá·áº USB áááááá¬áá»á¬ážááᯠááŒá¯ááºááŒááºáž) ááẠá¡ááœááºááá¯ážááœá¬ážáááºá Command line switches, automation - no, áááŒá¬ážáá°ážáá«á á¡áá¬á¡á¬ážáá¯á¶ážá áááºáá²á·áá»ááºážáá²á á¡áááºáááºááá¯ážá
- ááááºážáá»á¯ááºáá±á¬á·ááºáá²ááºááẠáá¯ááºááœáŸáá·áºááŒááºážááŒáá·áº ááœááºáááºá¡ááœááºážááŸá áá¶á¡ááá¯ááºážá¡á ááᯠááŸá¬ááœá±áááºá ááá¯á·ááŒá±á¬áá·áº áááºážááẠá¡áá¶ááœáŸáá·áºááœááºááẠá¡ááá¯ááºážáá áºáá¯á¡ááœááºážáᬠá¡áá¯ááºáá¯ááºáááºá áá¶á¡ááá¯ááºážá¡á á IP ááááºá á¬ááᯠáááºááŒáá·áº áááºááŸááºá áááá«á á¡ááŒá¬áž subnet ááœáẠáá¶á¡ááá¯ááºážá¡á ááŸááá«ááá¬ážá áá±á¬ááºáá±á¬á· áááºážááŸá¬ ááŒá¿áá¬ááŸááááºá
- developer áá»á¬ážááẠá ááºáá á¹á ááºážáá±á«áºááœáẠá¡ááŸááºáá±ážáá²á·ááŒááŒá®áž bug á¡á á®áááºáá¶á á¬áá»á¬ážáá±ážááá¯á·ááŒááºážááẠá¡áá¯á¶ážááááºáá«á
áá¯áááá¡áá»á±á¬á·á ááááºááá±ážáá²á· á¡áá»áááºááœá±ááŸá¬ ááŒá
áºáá»ááºáá²á·ááŒá®áž áá±á¬ááºážáá«ážáá²á· áá±á«ááºážá
ááºááᯠáá±á¬ááºááœá¬ážáá²á·áááºá
á¡ááá¯ááºážááŸá áºá server-linux
ááœááºáááºáá áºáá¯áá±á«áºááŸá USB áááááá¬áá»á¬ážááᯠáá»áŸáá±ááá·áº USB/IP áá¬áá¬ááᯠLinux-based OS ááœááºáᬠáááºááŸááºááá¯ááºáááºá áá±á¬ááºážááŒá®á Linux ááẠLinux ááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áááá·áºáá¯á¶ážááœá²á·á ááºážááŸá¯áá¯á¶á á¶á á á¶áááºááŸá¯ááºááŸá¬ážááŸá¯ááœáẠDebian 8 ááᯠvirtual machine áá áºáá¯ááœáẠáááºáááºáááº-
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install usbip
á¡ááŒá±áá»áááºá ááá¯á·á¡ááŒááºá áááºááẠusbip module ááá¯áá±á«ááºážáá¯ááºáá¯ááºááẠááá¯á¡ááºáááºáᯠá¡ááºáá¬áááºá០á¡ááŒá¶ááŒá¯áá¬ážáá±á¬áºáááºáž - áááºá¹ááá¬áá«á ááááá¯á¶áž rake ááŒá áºáááºá ááá¯áá²á·ááá¯á·áá±á¬ module áááŸááá«á ááœááºáááºáá±á«áºááŸá áááºá áœá²á¡áá»á¬ážá á¯ááẠá¡áá±á¬ááºážáá¬áááœá² 0.1.x ááá¯áááºááœáŸááºážáá±á¬ááŒá±á¬áá·áºááŒá áºááŒá®áž áá±á¬ááºáá¯á¶áž 0.2.0 ááœáẠusbip modules áá»á¬ážááœáẠáá¬áááºá¡áá»áá¯ážáá»áá¯ážááŸááááºá
ááá¯á·ááŒá±á¬áá·áº:
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 ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá¬áá¬ááᯠá á®áá¶ááá·áºááœá²ááá¯ááºá á±ááá·áº scripts áá»á¬ážáá«áá¬ááẠ- áááºááá·áºá ááºáá á¹á ááºážááᯠááœááºáááºáá±á«áºááœáẠáá»áŸáá±áááºááᯠááŒááááºá á¡ááŒá±á¡áá±ááᯠááŒáá·áºááẠá¡á ááŸááááºááá¯á·ááᯠááŒáááẠuniversal mind á áá»áœááºá¯ááºááá¯á·ááᯠááŒá±á¬ááŒáááºá á€áá±áá¬ááœáẠá¡ááŒá¬ážáá±á¬ á¥áá»á¬ááºáá°ážááºá áá»áœááºá¯ááºááá¯á·ááᯠá á±á¬áá·áºááŒáá¯áá±áá«ááẠ- 0.2.x áá¬áááœá²ááŸá ဠscript áá»á¬ážááᯠáááºáá¶á á¡áááºááŒá±á¬ááºážáá¬ážáá«áááºá áááºááŸáá·áºá¡áá° command áá»á¬ážá á¬áááºážááá¯áááá¯ááºáááºá
sudo usbip
á¡áááá·áºáá±ážáá»ááºáá»á¬ážááá±á¬áºááŒáá»ááºááá¯áááºááŒá®ážáá±á¬ááºá ááá¯á¡ááºáá±á¬ USB áááááá¬ááá¯áá»áŸáá±áááºá¡ááœáẠusbip ááẠáááºážá Bus ID ááᯠááááá¯áááºááŸá¬ ááŸááºážáá«áááºá áá»á áºááŸá áœá¬áá±á¬ááŒáá·áºááŸá¯áá°áá»á¬ážá áá°áá¯ááºáá¬áá¶áá«ááºáá¯á¶ážááẠáá»áœááºá¯ááºááá¯á·á¡á¬ážáá±ážááá·áº Bus ID ááœááºážááœááºááŒá áºáááºá .usus (áá«áᬠá¡áááºááŸá¬ážáá¯á¶ážáááºážááá¯á· áááºááááá·áºáááº) - áá«áᬠáá°ááá²á· áááá¯ááºáá®áá°ážá á¡ááŸááºááŸá¬ usbip ááẠUSB hubs áá²á·ááá¯á· hardware ááá¯áá»á áºáá»á°ááŸá¯áá¬ážááŒááºážáááºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠbuilt-in command ááá¯áá¯á¶ážáá«áááºá
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
Hurrah áá²áá±á¬áºáá»á¬ážá
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 daemon á autostart ááᯠ/etc/rc.local ááá¯á· ááá·áºáááºáᬠáá»ááºáá±á¬á·áááºá
usbipd -D
á¡ááá¯ááºážáá¯á¶ážá client-side ááŸáá·áºááŸá¯ááºááœá±áž
ááœááºáááºáá±á«áºááŸá áá»áŸáá±áá¬ážáá±á¬á ááºáá á¹á ááºážááᯠáá°áá®áá±á¬áá¬áá¬áá áºáá¯áá±á«áºááŸá Debian á ááºáá áºáá¯ááá¯á· áá»ááºáá»ááºážáá»áááºáááºááẠááŒáá¯ážá á¬ážáá²á·áá±á¬áºáááºáž áá»áááºáááºááŸá¯á¡á¬ážáá¯á¶áž áá±á¬ááºážááœááºáá«áááº-
sudo usbip attach --remote=localhost --busid=1-1
Windows ááᯠáááºááœá¬ážáá¡á±á¬ááºá áá«á·ááá á¹á ááœááºáááºážááẠWindows Server 2008R2 Standard Edition ááŒá áºáááºá ááá¬ážáááºáááºážááœáŸááºá ááá·áºá¡á¬áž áá¬ááºáá±á¬ááºážááᯠáŠážá áœá¬ ááá·áºááœááºážááẠáá±á¬ááºážááá¯áá¬ážáááºá áá¯ááºáá¯á¶ážáá¯ááºáááºážááᯠwindows client ááŸáá·áºááœá²áá¬ážáá±á¬ 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 ááá»áœááºážáá»ááºááŸá¯ááá¯á¡áá¯á¶ážááŒá¯áááºá ááááºážáá±áá»á¬ážááŸáá·áº áááºáááºá áá áºá á¯á¶áá áºáᬠááŸá¬ážááœááºážáá±ááŒá±á¬ááºáž áá áºá áááºáá áºááá¯ááºáž áá±á¬áºááŒáá»ááºáá»á¬áž ááŸááá«áááºá áá¬áᬠá¡ááá¯ááºážááœááºá developer áá»á¬ážááẠáá¬ážááŸááºáž 0.2.0 ááá¯á· ááŒá±á¬ááºážááá·áºá¡áá« áááá¯ááá¯áá±á¬ áá¬ážááŸááºážááᯠááŒá±á¬ááºážáá²áá±á¬áºáááºáž Win client ááœáẠáááºážááᯠáá¯ááºáá±á¬ááºááẠáá±á·ááœá¬ážááŒáááºá á¡ááá¯ááŒá¯áá¬ážáá±á¬ ááŒá±ááŸááºážáá»ááºááŸá¬ áááºážááŒá áºáá¯ááºááŸá ááááºážáá±áá»á¬ážááᯠááŒá±á¬ááºážáá²áááºááŸáá·áº áá¯á¶ážá áœá²áá°ááᯠááŒááºáááºáááºáá±á¬ááºáááºááŒá áºáááºá
áá«áá±ááá·áº áá®áá¯ááºáá¯á¶ážáá¯ááºáááºážá¡ááœáẠVisual Studio ááᯠáá±á«ááºážáá¯ááºááœá²áá»ááºáá¬áá±á¬á· ááá¯ááºáá«áá°ážá áá«áá±ááá·áº áá«á·ááŸá¬ áá±á¬ááºážáá²á· áá®ážáá®ážá á¡áááºážá¡ááŒá áºáá¯ááºááœááºá ááááºážáá±ááᯠá áá¬ážáá¯á¶ážááŸá áºáá¯á¶ážá¡ááŒá ẠááŒá±áá¬áááºá 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 ááœááºáááᯠáááºáááºááá¯ááºááẠ(áá¯ááºáá«áááºá ááŒá¯ááºáá¬ážááá¯ááºáááº)á ááá¯áá»ááºááẠshell script áá¯á¶ážááŒá®áž áá¯ááºááá¯ááºáá«áááºá áá¬áá¬ááŸá¯ááá¯áᬠáá¬áá² - áá»á±á¬áºááœáŸááºááŸá¯ááá¯áᬠáá¯á¶ážáá¡ááá²á·áá«á
áá»áœááºá¯ááºáá¡ááœá±á·á¡ááŒá¯á¶ááẠáá»áœááºá¯ááºáááá°ážáá±á«áºá ááá¯ááºááŸáááºáá¬ážáá±á¬ ááœááºáá¯á¶ážááᯠááŸá®ááẠhabrazhiteli áá°áá®áá±ážáááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá ááá¯á
áá¯ááºáá²á·á¡ááœááºáá»á±ážáá°ážáááºáá«áááº!
source: www.habr.com