Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ USB-ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΠΠ ΡΠ΅ΡΠ΅Π· Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ. ΠΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π° ΠΈΡΡΠΎΡΠΈΡ ΠΌΠΎΠΈΡ
ΠΏΠΎΠΈΡΠΊΠΎΠ² Π² ΡΡΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ, ΠΈ ΠΏΡΡΡ ΠΊ Π³ΠΎΡΠΎΠ²ΠΎΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ open-source ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π§Π°ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ, ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ
ΠΡΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ β Π²ΡΡ ΡΡΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΡΠΎΠ±ΡΠΎΡΠ° USB ΠΎΡ Ρ
ΠΎΡΡΠ° Π² Π²ΠΈΡΡΡΠ°Π»ΠΊΡ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π΅ΡΠ΅ Π² VMWare 4.1. ΠΠΎ Π² ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ»ΡΡΠΈΠΊ Π·Π°ΡΠΈΡΡ, ΠΎΠΏΠΎΠ·Π½Π°ΡΡΠΈΠΉΡΡ ΠΊΠ°ΠΊ WIBU-KEY, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΊ ΡΠ°Π·Π½ΡΠΌ ΠΌΠ°ΡΠΈΠ½Π°ΠΌ, ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ.
ΠΠ΅ΡΠ²ΡΠΉ Π²ΠΈΡΠΎΠΊ ΠΏΠΎΠΈΡΠΊΠ° Π² Π΄Π°Π»Π΅ΠΊΠΎΠΌ 2009-ΠΌ Π³ΠΎΠ΄Ρ ΠΏΡΠΈΠ²Π΅Π» ΠΌΠ΅Π½Ρ ΠΊ ΠΆΠ΅Π»Π΅Π·ΠΊΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
ΠΠ»ΡΡΡ:
- ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΠΈΠ½ΡΡΡ:
- ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΊΠ»ΡΡ Π·Π°ΡΠΈΡΡ Guardant Stealth II ΡΠ΅ΡΠ΅Π· Π½Π΅Ρ Π½Π΅ Π·Π°Π²ΠΎΠ΄ΠΈΡΡΡ, ΡΡΠ³Π°ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Β«ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎΒ».
- ΠΠ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΡΠΈΡΠ°ΠΉ β ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ USB-ΡΡΡΡΠΎΠΉΡΡΠ²) ΡΠ±ΠΎΠ³ΠΎ Π΄ΠΎ ΠΊΡΠ°ΠΉΠ½ΠΎΡΡΠΈ. ΠΠ»ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ β Π½Π΅, Π½Π΅ ΡΠ»ΡΡΠ°Π»ΠΈ. ΠΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΊΠ°ΠΌΠΈ. ΠΠΎΡΠΌΠ°Ρ.
- ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΠΠ ΠΈΡΠ΅Ρ ΡΠ°ΠΌΡ ΠΆΠ΅Π»Π΅Π·ΠΊΡ Π² ΡΠ΅ΡΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ broadcast-ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΠΈ. Π£ΠΊΠ°Π·Π°ΡΡ IP-Π°Π΄ΡΠ΅Ρ ΠΆΠ΅Π»Π΅Π·ΠΊΠΈ ΡΡΠΊΠ°ΠΌΠΈ Π½Π΅Π»ΡΠ·Ρ. ΠΠ΅Π»Π΅Π·ΠΊΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ? Π’ΠΎΠ³Π΄Π° Ρ Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°Π±ΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΠ»Π°ΡΡ Π±Π°Π³-ΡΠ΅ΠΏΠΎΡΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
ΠΡΠΎΡΠΎΠΉ Π²ΠΈΡΠΎΠΊ ΡΠ»ΡΡΠΈΠ»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° ΡΠΆΠ΅ Π½Π΅ ΡΡΠΎΠ»Ρ ΠΎΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅, ΠΈ ΠΏΡΠΈΠ²Π΅Π» ΠΌΠ΅Π½Ρ ΠΊ ΡΠ΅ΠΌΠ΅ ΡΡΠ°ΡΡΠΈ β
Π§Π°ΡΡΡ Π²ΡΠΎΡΠ°Ρ, ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎ-Π»ΠΈΠ½ΡΠΊΡΠΎΠ²Π°Ρ
Π‘Π΅ΡΠ²Π΅Ρ USB/IP, ΡΠ°ΡΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΠΉ USB-Π΄Π΅Π²Π°ΠΉΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Linux-based OS. ΠΡ ΡΡΠΎ ΠΆ, Π»ΠΈΠ½ΡΠΊΡ ΡΠ°ΠΊ Π»ΠΈΠ½ΡΠΊΡ, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΊΡ 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 Ρ ΠΎΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ Π΅Π³ΠΎ Bus ID. Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ Π·ΡΠΈΡΠ΅Π»ΠΈ, Π½Π° Π°ΡΠ΅Π½Π΅ Π³ΡΠ°Π±Π»ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΡΠΈ: ΡΠΎΡ Bus ID, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π°ΡΡ Π½Π°ΠΌ lsusb (ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, ΡΠ°ΠΌΡΠΉ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΠΏΡΡΡ) β Π΅ΠΉ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ! ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΆΠ΅Π»Π΅Π·ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ USB-Ρ Π°Π±ΠΎΠ² usbip ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ. ΠΠΎΡΡΠΎΠΌΡ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
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
Π§Π°ΡΡΡ ΡΡΠ΅ΡΡΡ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΈ Π·Π°ΠΏΡΡΠ°Π½Π½Π°Ρ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΊ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Debian Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΠ°Π·Ρ ΠΆΠ΅ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΈ Π²ΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΎΡΡ:
sudo usbip attach --remote=localhost --busid=1-1
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ Windows. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ» 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
ΠΠΉ-ΠΎΠΉ. Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½Π°Π²ΡΠΊ Π³ΡΠ³Π»Π°. ΠΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΎΡΡΡΠ²ΠΎΡΠ½ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΌ Π½Π΅ ΡΠ°ΠΊ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ Π½Π° Π²Π΅ΡΡΠΈΡ 0.2.0 ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, Π° Π²ΠΎΡ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΏΠΎΠ΄ Win ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π·Π°Π±ΡΠ»ΠΈ. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ.
ΠΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ½Π΅ Π½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ ΠΊΠ°ΡΠ°ΡΡ Visual Studio ΡΠ°Π΄ΠΈ ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠ°ΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΡΠ°ΡΡΠΉ-Π΄ΠΎΠ±ΡΡΠΉ Hiew. Π ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ. ΠΠΎΠΈΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ»Π΅ 0Ρ 00000106, Π·Π°ΠΌΠ΅Π½ΡΡ Π½Π° 0Ρ 00000111. ΠΠ΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ, ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π±Π°ΠΉΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ. ΠΡΠΎΠ³ β Π΄Π²Π° ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΠΏΠ°ΡΡΠΈΠΌ:
[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
Π Π²ΡΡ. ΠΠ° ΡΡΠΎ ΠΌΠ½Π΅ Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π΄Π°ΠΆΠ΅ Π²ΡΠ΅Π·Π½Π°ΡΡΠΈΠΉ Π³ΡΠ³Π». Π ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ β Π²ΠΎΡ ΠΎΠ½, ΠΊΠ»ΡΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΎΠ±ΡΡ ΠΏΡΠΈΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·-ΠΏΠΎΠ΄ Linux β ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! Π Π΅ΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΠ·-ΠΏΠΎΠ΄ Windows? Π ΡΠΆΠ°Ρ β ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
ΠΡΠ°Π±Π»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅: ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΌ Π² ΠΊΠΎΠ΄Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ Π΄ΠΎΠΏΠΈΡΠ°Π½ΠΎ. ΠΡΠΈ ΡΠ°ΡΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΠ½ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Ρ Π½Π΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ USB-Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ². Π ΠΏΡΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠ·-ΠΏΠΎΠ΄ Linux, ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΏΠΎΠ΄ Linux Ρ Π·Π½Π°ΠΊΠΎΠΌ Π½Π° ΡΡΠΎΠ²Π½Π΅ Β«make && make installΒ». ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π³ΡΡΠ·Π½ΠΎΠ³ΠΎ Ρ Π°ΠΊΠ° β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² /etc/rc.local
usbip attach --remote=localhost --busid=1-1
usbip port
usbip detach --port=00
Π§Π°ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ
ΠΠΎΡΠ»Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡΡΠ°ΡΡΡΠ², ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΠΠ (ΠΈ ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠΎΠΆΠ΅), Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ β Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΡΠ΅ΡΠΈ. ΠΡΠ»ΠΈ Ρ
ΠΎΡΠ΅ΡΡΡ β ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. Π§ΡΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ β ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠ΅.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΉ ΠΎΠΏΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Ρ
Π°Π±ΡΠ°ΠΆΠΈΡΠ΅Π»ΡΠΌ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΠ΅ Π³ΡΠ°Π±Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ°Π»ΠΈΡΡ Ρ ΠΌΠ΅Π½Ρ Π½Π° Π»Π±Ρ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com