Kusintha kwa USB/IP

Ntchito yolumikiza chipangizo cha USB ku PC yakutali kudzera pa netiweki yakomweko imakhalapo nthawi zonse. Pansi pa odulidwawo pali mbiri yakusaka kwanga kumbali iyi, ndi njira yopita ku yankho lokonzekera lokhazikitsidwa ndi polojekiti yotseguka. USB/IP ndi kufotokoza zopinga anaika mosamala ndi anthu osiyanasiyana panjira imeneyi, komanso njira circumvent iwo.

Gawo loyamba, mbiri

Ngati makinawo ndi enieni, zonsezi ndi zophweka. Kugwira ntchito kwa USB kutumiza kuchokera kwa wolandirayo kupita kumakina enieni adawonekera mu VMWare 4.1. Koma kwa ine, kiyi yachitetezo, yodziwika kuti WIBU-KEY, idayenera kulumikizidwa ndi makina osiyanasiyana nthawi zosiyanasiyana, osati zenizeni zokha.
Kufufuza koyamba mu 2009 kunanditsogolera ku chida chotchedwa hardware TrendNet TU2-NU4
Zotsatira:

  • nthawi zina zimagwiranso ntchito

Wotsatsa:

  • sizimagwira ntchito nthawi zonse. Tinene kuti kiyi yachitetezo cha Guardant Stealth II sichiyambira pamenepo, kulumbira ndi cholakwika "chipangizocho sichingayambike."
  • Mapulogalamu oyang'anira (werengani: kuyika ndi kutsitsa zida za USB) ndizovuta kwambiri. Kusintha kwa mzere, makina - ayi, sitinamvepo. Zonse zimachitika ndi manja anu. Maloto owopsa.
  • Pulogalamu yowongolera imasaka ma Hardware pamaneti powulutsa, kotero imagwira ntchito mkati mwa gawo limodzi lowulutsa la netiweki. Simungathe kufotokoza adilesi ya IP ya chipangizocho pamanja. Kodi chidutswa cha hardware chili pa subnet ina? Ndiye muli ndi vuto.
  • Madivelopa asiya kugwiritsa ntchito chipangizocho, kutumiza malipoti a cholakwika sikuthandiza.

Kuzungulira kwachiwiri kunachitika munthawi yochepa kwambiri, ndipo idanditsogolera kumutu wankhaniyo - Pulogalamu ya USB/IP. Amakopa ndi kumasuka kwake, makamaka kuyambira anyamata ochokera Yankhani Adasaina dalaivala wa Windows, ndiye tsopano ngakhale pa x64 chilichonse chimagwira ntchito popanda ndodo ngati mayeso. Zomwe zikomo kwambiri kwa gulu la ReactOS! Chilichonse chikuwoneka bwino, tiyeni tiyese kumva, sichoncho? Tsoka ilo, pulojekitiyo idasiyidwanso, ndipo simungadalire thandizo - koma komwe kwathu sikunasowe, nambala yoyambira ilipo, tipeza!

Gawo lachiwiri, seva-Linux

Seva ya USB/IP yomwe imagawana zida za USB pamaneti imatha kukhazikitsidwa mu Linux-based OS. Chabwino, Linux ndi Linux, ikani Debian 8 pamakina enieni mukusintha pang'ono, kusuntha kwamanja kwanthawi zonse:

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

Kukhazikitsidwa. Kenako intaneti ikuwonetsa kuti muyenera kutsitsa gawo la usbip, koma - moni, choyamba. Palibe gawo loterolo. Izi zili choncho chifukwa mabuku ambiri pa netiweki amatchula nthambi yakale 0.1.x, ndipo mu 0.2.0 yaposachedwa ma module a usbip ali ndi mayina osiyanasiyana.

Choncho:

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

Chabwino, tiyeni tiwonjezere mizere yotsatirayi ku /etc/modules kuti tiyike yokha dongosolo likayamba:

usbip-core
usbip-host
vhci-hcd

Tiyeni tiyambe seva ya usbip:

sudo usbipd -D

Kupitilira apo, nzeru zapadziko lonse lapansi zimatiuza kuti usbip imabwera ndi zolemba zomwe zimatilola kuyang'anira seva - wonetsani chipangizo chomwe chidzagawire pa intaneti, onani momwe ziliri, ndi zina zotero. Apa chida china chamunda chimatiyembekezera - zolemba izi munthambi ya 0.2.x, zasinthidwanso. Mukhoza kupeza mndandanda wa malamulo ntchito

sudo usbip

Pambuyo powerenga malongosoledwe a malamulowo, zikuwonekeratu kuti kuti mugawane chida chofunikira cha USB, usbip akufuna kudziwa ID yake ya Basi. Okondedwa owonerera, tenga nambala yachitatu pabwalo: ID ya Basi yomwe ingatipatse lsusb (zikuwoneka ngati zodziwikiratu) - sizimuyenerera! Chowonadi ndi chakuti usbip imanyalanyaza zida ngati ma hubs a USB. Chifukwa chake, tigwiritsa ntchito lamulo lokhazikika:

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

Chidziwitso: apa ndi kupitilira mumindandanda ndifotokoza chilichonse pogwiritsa ntchito kiyi yanga ya USB. Dzina lanu la hardware ndi VID: PID awiri akhoza kukhala osiyana. Yanga imatchedwa Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.

Tsopano titha kugawana chida chathu:

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

Zikomo, abwenzi!

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)

Zitatu zabwino, abwenzi! Seva yagawana zida pamanetiweki, ndipo titha kuyilumikiza! Zomwe zatsala ndikuwonjezera autostart ya usbip daemon mu /etc/rc.local

usbipd -D

Gawo lachitatu, kasitomala-mbali ndi zosokoneza

Nthawi yomweyo ndidayesa kulumikiza chida chogawana pamaneti pamakina omwe akuyendetsa Debian pa seva yomweyo, ndipo zonse zidalumikizidwa bwino:

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

Tiyeni tipite ku Windows. Kwa ine inali Windows Server 2008R2 Standard Edition. Buku lovomerezeka likufunsani kuti muyike dalaivala poyamba. Ndondomekoyi ikufotokozedwa bwino mu readme yomwe ikuphatikizidwa ndi kasitomala wa Windows, timachita zonse monga momwe talembera, zonse zimayenda bwino. Imagwiranso ntchito pa XP popanda zovuta.

Titamasula kasitomala, timayesetsa kuyika kiyi yathu:

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

O o. Chinachake chalakwika. Tiyeni tigwiritse ntchito luso la Google. Pali zonena zapang'onopang'ono kuti china chake sichili bwino ndi zokhazikika; mu gawo la seva, opanga adasintha mtundu wa protocol posunthira ku mtundu 0.2.0, koma mu kasitomala wa Win adayiwala kuchita izi. Njira yothetsera vutoli ndikusintha nthawi zonse mu code source ndikumanganso kasitomala.

Koma sindikufuna kutsitsa Visual Studio panjira iyi. Koma ndili ndi Hiew wakale wabwino. Mu code source, nthawi zonse imalengezedwa ngati mawu awiri. Tiyeni tiyang'ane 0x00000106 mufayilo, m'malo mwake ndi 0x00000111. Musaiwale, dongosolo la byte ndilosintha. Zotsatira zake ndi machesi awiri, timayika:

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

Aaaandi... yes!

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

Uku kukanakhala kutha kwa nkhaniyi, koma nyimbo sizinayimbidwe kwa nthawi yayitali. Nditayambiranso seva, ndidazindikira kuti chipangizocho sichinakhazikitsidwe!

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

Ndizomwezo. Ngakhale Google yodziwa zonse sinathe kundiyankha izi. Ndipo nthawi yomweyo, lamulo loti muwonetse zida zomwe zilipo pa seva likuwonetsa bwino - apa ndiye, fungulo, mutha kuyiyika. Ndimayesetsa kukwera kuchokera ku Linux - imagwira ntchito! Bwanji ngati tiyesa tsopano kuchokera pa Windows? O zoopsa - zimagwira ntchito!

Chomaliza chomaliza: china chake sichinalembedwe mu code ya seva. Mukagawana chipangizocho, sichiwerenga kuchuluka kwa zofotokozera za USB kuchokera pamenepo. Ndipo mukayika chipangizo kuchokera ku Linux, gawo ili ladzazidwa. Tsoka ilo, ndikudziwa bwino za kukula kwa Linux pamlingo wa "make && make install". Chifukwa chake, vutoli linathetsedwa pogwiritsa ntchito kuthyolako konyansa - kuwonjezera ku /etc/rc.local

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

Gawo lomaliza

Pambuyo pa zovuta zina, zimagwira ntchito. Zomwe zimafunidwa zakwaniritsidwa, tsopano fungulo likhoza kukwera ku PC iliyonse (ndi kuchotsedwa, ndithudi,), kuphatikizapo kunja kwa gawo lofalitsa la intaneti. Ngati mukufuna, mutha kuchita izi pogwiritsa ntchito chipolopolo cholamula. Chosangalatsa ndichakuti chisangalalo ndi chaulere.
Ndikukhulupirira kuti zomwe ndakumana nazo zithandiza omwe akubera kuti azungulire zomwe zalembedwa pamphumi panga. Zikomo chifukwa chakumvetsera!

Source: www.habr.com

Kuwonjezera ndemanga