เบ„เบงเบšเบ„เบธเบก USB/IP

เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบญเบธเบ›เบฐเบเบญเบ™ USB เบเบฑเบš PC เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเป€เบเบตเบ”เบ‚เบถเป‰เบ™. เบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ•เบฑเบ”, เบ›เบฐเบซเบงเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”, เปเบฅเบฐเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบชเบนเปˆเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป‚เบ„เบ‡เบเบฒเบ™ open-source. USB/IP เบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเบญเบธเบ›เบฐเบชเบฑเบเบ—เบตเปˆเบงเบฒเบ‡เป„เบงเป‰เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เป‚เบ”เบเบ„เบปเบ™เบ•เปˆเบฒเบ‡เป†เปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ™เบตเป‰, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเบ‚เป‰เบฒเบกเบžเบงเบเป€เบ‚เบปเบฒ.

เบชเปˆเบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹, เบ›เบฐโ€‹เบซเบงเบฑเบ”โ€‹เบชเบฒเบ”โ€‹

เบ–เป‰เบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ™ virtual - เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบ‡เปˆเบฒเบ. เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆ USB เบˆเบฒเบเปเบกเปˆเบ‚เปˆเบฒเบเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡ virtual เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™ VMWare 4.1. เปเบ•เปˆเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบเบฐเปเบˆเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบฎเบฑเบšเบฎเบนเป‰เป„เบ”เป‰เบงเปˆเบฒเป€เบ›เบฑเบ™ WIBU-KEY, เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบฅเบฐเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆ virtual เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.
เบฎเบญเบšเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเปƒเบ™เป„เบฅเบเบฐเป„เบ 2009 เป„เบ”เป‰เบ™เปเบฒเบžเบฒเบ‚เป‰เบญเบเป„เบ›เบซเบฒเบ—เบฒเบ”เป€เบซเบผเบฑเบเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ TrendNet TU2-NU4
Pros:

  • เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เบเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ

Cons:

  • เบšเปเปˆเบชเบฐเป€เบซเบกเบตเป€เบฎเบฑเบ”เบงเบฝเบ. เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบเบฐเปเบˆเบ›เป‰เบญเบ‡เบเบฑเบ™ Guardant Stealth II เบšเปเปˆเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบœเปˆเบฒเบ™เบกเบฑเบ™, เบ›เบฐเบ•เบดเบเบฒเบ™เบงเปˆเบฒ "เบญเบธเบ›เบฐเบเบญเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบ”เป‰".
  • เบŠเบญเบšโ€‹เปเบงโ€‹เบเบฒเบ™โ€‹เบ„เบธเป‰เบกโ€‹เบ„เบญเบ‡ (เบญเปˆเบฒเบ™ - mounting เปเบฅเบฐ unmounting เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™ USBโ€‹) เปเบกเปˆเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เป€เบชเบโ€‹เบ”เบฒเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹. เบชเบฐเบซเบผเบฑเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” - เบšเปเปˆ, เบšเปเปˆเป„เบ”เป‰เบเบดเบ™. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ”เป‰เบงเบเบกเบท. เบเบฑเบ™เบฎเป‰เบฒเบ.
  • เบŠเบญเบšเปเบงเบ„เบงเบšเบ„เบธเบกเบ„เบปเป‰เบ™เบซเบฒเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบ—เบฒเบ”เป€เบซเบผเบฑเบเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป‚เบ”เบเบเบฒเบ™เบญเบญเบเบญเบฒเบเบฒเบ”, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฒเบเปƒเบ™เบซเบ™เบถเปˆเบ‡เบชเปˆเบงเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบญเบเบญเบฒเบเบฒเบ”. เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ—เบฒเบ”เป€เบซเบผเบฑเบเบ”เป‰เบงเบเบกเบท. เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบ—เบฒเบ”เป€เบซเบผเบฑเบเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบเบญเบทเปˆเบ™เป†? เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบกเบตเบšเบฑเบ™เบซเบฒ.
  • เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบ„เบฐเปเบ™เบ™เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™, เบกเบฑเบ™เบšเปเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เบฅเบฒเบเบ‡เบฒเบ™เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”.

เบฎเบญเบšเบ—เบตเบชเบญเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเปˆเป„เบ, เปเบฅเบฐเบ™เปเบฒเบ‚เป‰เบญเบเป„เบ›เบซเบฒเบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก - เป‚เบ„เบ‡เบเบฒเบ™ USB/IP. เบ”เบถเบ‡เบ”เบนเบ”เบเบฒเบ™เป€เบ›เบตเบ”, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ guys เบˆเบฒเบ ReactOS เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบŠเบฑเบ™เบ„เบปเบ™เบ‚เบฑเบšเบชเปเบฒเบฅเบฑเบš Windows, เบชเบฐเบ™เบฑเป‰เบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบขเบนเปˆเปƒเบ™ x64 เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ crutches เปƒเบ”เป€เบŠเบฑเปˆเบ™: เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš. เบ‚เบญเบšเปƒเบˆเบซเบผเบฒเบเป†เบเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™ ReactOS! เบ—เบธเบเบขเปˆเบฒเบ‡เบŸเบฑเบ‡เปเบฅเป‰เบงเบชเบงเบเบ‡เบฒเบก, เบฅเบญเบ‡เบกเบฒเบชเบณเบœเบฑเบ”เป€เบšเบดเปˆเบ‡, เบกเบฑเบ™เปเบ—เป‰เบšเป? เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบเบฑเบ‡เบ–เบทเบเบ›เบฐเบ–เบดเป‰เบก, เปเบฅเบฐเบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ™เบฑเบšเป„เบ”เป‰เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ - เปเบ•เปˆเบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบซเบฒเบเป„เบ›, เปเบซเบผเปˆเบ‡เปเบกเปˆเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ„เบดเบ”เบกเบฑเบ™เบญเบญเบ!

เบชเปˆเบงเบ™เบ—เบตเบชเบญเบ‡, server-linux

เป€เบŠเบตเบšเป€เบงเบต USB/IP เบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™ USB เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเบฒเบกเบฒเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ OS เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Linux เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ”เบต, Linux เปเบกเปˆเบ™ Linux, เบชเบฐเบ™เบฑเป‰เบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual Debian 8 เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบฑเป‰เบ™เบ•เปˆเปเบฒ, เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบกเบทเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™:

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

เบ•เบปเบเบฅเบปเบ‡. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ”เบฒเบงเป‚เบซเบฅเบ”เป‚เบกเบ”เบนเบ™ usbip, เปเบ•เปˆ - เบชเบฐเบšเบฒเบเบ”เบต, rake เบ—เปเบฒเบญเบดเบ”. เบšเปเปˆเบกเบตเป‚เบกเบ”เบนเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เปเบฅเบฐเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบžเบฒเบฐเบงเปˆเบฒเบ„เบนเปˆเบกเบทเบชเปˆเบงเบ™เปƒเบซเบเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบซเบกเบฒเบเป€เบ–เบดเบ‡เบชเบฒเบ‚เบฒเป€เบเบปเปˆเบฒ 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 เบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบชเบฐเบ„เบดเบšเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ - เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบญเบธเบ›เบฐเบเบญเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐ, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เบ—เบตเปˆเบ™เบตเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเบงเบ™เบญเบทเปˆเบ™เบฅเปเบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒ - scripts เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบชเบฒเบ‚เบฒ 0.2.x, เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เบŠเบทเปˆ. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบต

sudo usbip

เบซเบผเบฑเบ‡เบˆเบฒเบเบญเปˆเบฒเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡, เบกเบฑเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเป€เบžเบทเปˆเบญเปเบšเปˆเบ‡เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™ USB เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, usbip เบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบนเป‰ Bus ID เบ‚เบญเบ‡เบกเบฑเบ™. เบœเบนเป‰เบŠเบปเบกเบ—เบตเปˆเบฎเบฑเบเปเบžเบ‡, เบญเบฑเบ™เบ”เบฑเบšเบชเบฒเบกเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบชเบฐเบซเบ™เบฒเบกเบเบดเบฅเบฒ: Bus ID เบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒ lsusb (เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบˆเบฐเปเบˆเป‰เบ‡เบ—เบตเปˆเบชเบธเบ”) - เบกเบฑเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ™เบฒเบ‡! เบ„เบงเบฒเบกเบˆเบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ usbip เบšเปเปˆเบชเบปเบ™เปƒเบˆเบฎเบฒเบ”เปเบงเป€เบŠเบฑเปˆเบ™: hubs 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

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)

เบชเบฒเบก cheers, เบชเบฐเบซเบฒเบ! เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป„เบ”เป‰เปเบšเปˆเบ‡เบ›เบฑเบ™เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบ—เบฒเบ”เป€เบซเบผเบฑเบเบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบกเบฑเบ™เป„เบ”เป‰! เบกเบฑเบ™เบเบฑเบ‡เบ„เบปเบ‡เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบตเปˆเบก autostart เบ‚เบญเบ‡ usbip daemon เปƒเบชเปˆ /etc/rc.local

usbipd -D

เบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก, เบ”เป‰เบฒเบ™เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเบชเบฑเบšเบชเบปเบ™

เบ‚เป‰เบญเบเบžเบฐเบเบฒเบเบฒเบกเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เบœเปˆเบฒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ Debian เบ—เบฑเบ™เบ—เบตเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ”เบฝเบงเบเบฑเบ™, เปเบฅเบฐเบ—เบธเบเบขเปˆเบฒเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เป‰เบ”เบต:

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

เปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆ Windows. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบฑเบ™เปเบกเปˆเบ™ Windows Server 2008R2 Standard Edition. เบ„เบนเปˆเบกเบทเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เปเปƒเบซเป‰เบ—เปˆเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบ”เป€เบงเบตเบเปˆเบญเบ™. เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เปƒเบ™ readme เบ—เบตเปˆเบ•เบดเบ”เบเบฑเบš windows client, เบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบ. เปƒเบ™ XP เบกเบฑเบ™เบเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†.

เบซเบผเบฑเบ‡เบˆเบฒเบ unpacking เบฅเบนเบเบ„เป‰เบฒ, เบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบ•เบดเบ”เบเบฐเปเบˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

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. เบˆเบทเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™, เบ„เปเบฒเบชเบฑเปˆเบ‡ byte เปเบกเปˆเบ™เบ›เบตเป‰เบ™เบเบฑเบšเบเบฑเบ™. เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เปเบกเปˆเบ™โ€‹เบชเบญเบ‡โ€‹เบ„เบนเปˆโ€‹, patchโ€‹:

[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

เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต, เปเบ•เปˆเบ”เบปเบ™เบ•เบตเบšเปเปˆเป„เบ”เป‰เบซเบผเบดเป‰เบ™เบ”เบปเบ™เบ™เบฒเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบ rebooting เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบปเบšเป€เบซเบฑเบ™เบงเปˆเบฒเบญเบธเบ›เบฐเบเบญเบ™เบขเบนเปˆเปƒเบ™เบฅเบนเบเบ„เป‰เบฒเบšเปเปˆเป„เบ”เป‰ mounted!

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

เปเบฅเบฐเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบกเบฑเบ™. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ Google เบ—เบตเปˆเบฎเบนเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบ‚เป‰เบญเบ. เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡ - เบ™เบตเป‰เปเบกเปˆเบ™, เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” mount เบกเบฑเบ™. เบ‚เป‰เบญเบเบžเบฐเบเบฒเบเบฒเบกเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบˆเบฒเบเบžเบฒเบเปƒเบ•เป‰ Linux - เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ! เปเบฅเบฐเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบฐเบเบฒเบเบฒเบกเบˆเบฒเบเบžเบฒเบเปƒเบ•เป‰ Windows? เป‚เบญเป‰เบ shit - เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ!

rake เบชเบธเบ”เบ—เป‰เบฒเบ: เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบŠเบตเบŸเป€เบงเบต. เป€เบกเบทเปˆเบญเปเบšเปˆเบ‡เบ›เบฑเบ™เบญเบธเบ›เบฐเบเบญเบ™, เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบญเปˆเบฒเบ™เบ•เบปเบงเป€เบฅเบเบ‚เบญเบ‡เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบ USB เบˆเบฒเบเบกเบฑเบ™. เปเบฅเบฐเป€เบกเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบญเบธเบ›เบฐเบเบญเบ™เบˆเบฒเบเบžเบฒเบเปƒเบ•เป‰ Linux, เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ•เบฑเบกเป„เบ›. เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบ‚เป‰เบญเบเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเปƒเบ•เป‰ Linux เปƒเบ™เบฅเบฐเบ”เบฑเบš "เป€เบฎเบฑเบ” & & เป€เบฎเบฑเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡". เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เบ”เป‰เบงเบเบเบฒเบ™ hack เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ›เบทเป‰เบญเบ™ - เป€เบžเบตเปˆเบกเปƒเบชเปˆ /etc/rc.local

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

เบชเปˆเบงเบ™เบชเบธเบ”เบ—เป‰เบฒเบ

เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบšเบฒเบ‡ fiddleling, เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบš, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฑเบš PC เปƒเบ” (เปเบฅเบฐ unmounted, เปเบ™เปˆเบ™เบญเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™), เบฅเบงเบกเบ—เบฑเบ‡เบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเบ™เบญเบเบžเบฒเบเบชเปˆเบงเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบญเบเบญเบฒเบเบฒเบ”. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ Shell script. เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‡เบฒเบก - เบ„เบงเบฒเบกเบชเบธเบเปเบกเปˆเบ™เบšเปเปˆเป€เบชเบเบ„เปˆเบฒเบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡.
เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบซเบงเบฑเบ‡โ€‹เบงเปˆเบฒโ€‹เบ›เบฐโ€‹เบชเบปเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบŠเปˆเบงเบโ€‹เปƒเบซเป‰ habrazhiteli เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบ›เบฐโ€‹เบกเบฒเบ™ rake เบ—เบตเปˆ imprinted เบชเบธเบ” forehead เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒ. เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™!

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™