Kugadzirisa USB/IP

Basa rekubatanidza mudziyo we USB kune PC iri kure kuburikidza netiweki yemunharaunda nguva dzose inomuka. Pazasi pekuchekwa pane nhoroondo yekutsvaga kwangu mune ino nzira, uye nzira inoenda kune yakagadzirira-yakagadzirwa mhinduro yakavakirwa pane yakavhurika-sosi purojekiti. USB/IP ine tsananguro yezvipingamupinyi zvakanyatsoiswa nevanhu vakasiyana munzira iyi, pamwe nenzira dzekuzvinzvenga.

Chikamu chekutanga, nhoroondo

Kana muchina wacho uri chaiwo, zvese izvi zviri nyore. Iko kushanda kwe USB kutumira kubva kumugadziri kuenda kumuchina chaiwo wakaonekwa muVMWare 4.1. Asi mune yangu, kiyi yekuchengetedza, inozivikanwa seWIBU-KEY, yaifanira kunge yakabatana nemichina yakasiyana panguva dzakasiyana, uye kwete chete chaiwo.
Rwendo rwekutanga rwekutsvaga kumashure muna 2009 rwakanditungamira kune chimwe chikamu chehardware chinonzi TrendNet TU2-NU4
Pros:

  • dzimwe nguva zvinotoshanda

Cons:

  • haishande nguva dzose. Ngatitii kiyi yekudzivirira yeGuardant Stealth II haitangi nayo, kupika nekukanganisa "mudziyo haugone kutangwa."
  • Iyo software yekutarisira (verenga: kukwira uye kudzikisa USB zvishandiso) yakashata zvakanyanya. Command line switch, otomatiki - kwete, isu hatisati tanzwa. Zvose zvinoitwa nemaoko ako. Hope dzakaipa.
  • Iyo yekudzora software inotsvaga iyo hardware pachayo pane network nekutepfenyura, saka inongoshanda mukati mechikamu chimwe chekutepfenyura chetiweki. Iwe haugone kutsanangura iyo IP kero yechidimbu chehardware nemaoko. Icho chidimbu chehardware pane imwe subnet yakasiyana here? Ipapo une dambudziko.
  • Ivo vanogadzira vakakanda mapfumo pasi pamudziyo, kutumira bug mishumo hazvibatsiri.

Dunhu rechipiri rakaitika munguva isiri kure, uye rakanditungamira kune musoro wechinyorwa - USB/IP chirongwa. Inokwezva nekuvhurika kwayo, kunyanya kubva kune vakomana vanobva ReactOS Vakasaina mutyairi weWindows, saka ikozvino kunyangwe pa x64 zvese zvinoshanda zvisina chero madondoro senge test mode. Kune iyo yakawanda yekutenda kune ReactOS timu! Zvese zvinonzwika zvakanaka, ngatiedzei kuzvinzwa, ndizvo chaizvo? Nehurombo, iyo purojekiti pachayo yakasiiwa zvakare, uye haugone kuvimba nerutsigiro - asi uko kwedu kusati kwanyangarika, iyo kodhi kodhi iripo, isu tichazviona!

Chikamu chechipiri, server-Linux

Iyo USB / IP sevha inogovera USB zvishandiso pamusoro petiweki inogona kuiswa chete muLinux-based OS. Zvakanaka, Linux iLinux, isa Debian 8 pamushini chaiwo mune zvishoma zvigadziriso, yakajairwa ruoko kufamba:

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

Established. Ipapo iyo Internet inoratidza kuti iwe unofanirwa kurodha iyo usbip module, asi - mhoro, chekutanga rake. Iko hakuna module yakadaro. Uye zvese nekuti akawanda ezvinyorwa pamanetiweki anoreva bazi rekare 0.1.x, uye muzvino 0.2.0 usbip modules ane mazita akasiyana.

Naizvozvo:

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

Zvakanaka, ngatiwedzerei mitsara inotevera ku /etc/modules kuti tizviise otomatiki kana sisitimu yatanga:

usbip-core
usbip-host
vhci-hcd

Ngatitangei usbip server:

sudo usbipd -D

Kupfuurirazve, huchenjeri hwepasirese hunotiudza kuti usbip inouya nezvinyorwa zvinotitendera kubata sevha - ratidza kuti ndechipi chishandiso chachagovera pamusoro petiweki, ona chimiro, zvichingodaro. Pano chimwe chishandiso chebindu chakatimirira - izvi zvinyorwa mubazi re 0.2.x, zvakare, zvakatumidzwa zita. Unogona kuwana runyoro rwemirairo uchishandisa

sudo usbip

Mushure mekuverenga tsananguro yemirairo, zvinova pachena kuti kuitira kugovera inodiwa USB mudziyo, usbip inoda kuziva iyo Bhazi ID. Vanodiwa vaoni, tsvaga nhamba yechitatu munhandare: ID yeBhazi iyo inotipa lasyb (zvingaita senge nzira iri pachena) - hazvina kumukodzera! Icho chokwadi ndechekuti usbip inofuratira Hardware senge USB hubs. Naizvozvo, isu tichashandisa yakavakirwa-mukati kuraira:

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

Ongorora: pano nekuwedzera mune zvinyorwa ini ndichatsanangura zvese ndichishandisa muenzaniso weyangu chaiyo USB kiyi. Zita rako re hardware uye VID: PID pair inogona uye ichasiyana. Yangu inonzi Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.

Iye zvino tinogona kugovera mudziyo wedu:

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

Hurray, makomuredhi!

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)

Vatatu mufaro, makomuredhi! Sevha yakagovera hardware pamusoro petiweki, uye tinogona kuibatanidza! Chasara kuwedzera autostart yeusbip daemon mukati /etc/rc.local

usbipd -D

Chikamu chechitatu, mutengi-divi uye anovhiringa

Ndakabva ndaedza kubatanidza mudziyo wakagovaniswa pamusoro petiweki kumuchina unomhanya Debian pane imwechete server, uye zvese zvakabatana zvakakwana:

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

Ngatiendei kuWindows. Mune yangu yaive Windows Server 2008R2 Standard Edition. Bhuku repamutemo rinokukumbira kuti uise mutyairi kutanga. Maitiro acho anotsanangurwa zvakakwana mureadme inosanganisirwa neWindows mutengi, tinoita zvese sezvakanyorwa, zvese zvinoshanda. Inoshandawo pa XP pasina matambudziko.

Taburitsa mutengi, tinoedza kukwidza kiyi yedu:

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

Ooo. Pane chakaipa. Ngatishandisei hunyanzvi hweGoogle. Pane zvidimbu zvinodudza kuti chimwe chinhu hachina kumira zvakanaka; muchikamu cheseva, vagadziri vakachinja vhezheni yeprotocol pavakaenda kune vhezheni 0.2.0, asi muWin mutengi vakakanganwa kuita izvi. Mhinduro yakatsanangurwa ndeye kushandura iyo inogara mune kodhi kodhi uye kuvakazve mutengi.

Asi ini handidi kurodha Visual Studio yeiyi maitiro. Asi ndine Hiew yakare yakanaka. Mune iyo kodhi yekodhi, iyo nguva dzose inoziviswa sezwi mbiri. Ngatitarisei 0x00000106 mufaira, tichiitsiva ne 0x00000111. Usakanganwa, iyo byte order iri reverse. Mhedzisiro yacho machisi maviri, isu chigamba:

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

Aaaand... hongu!

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

Uku kungadai kwakava kuguma kwenyaya, asi mumhanzi wacho hauna kutamba kwenguva refu. Mushure mekutangazve sevha, ndakaona kuti mudziyo uri pamutengi hauna kuiswa!

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

Ndizvo zvose. Kunyangwe iyo Google inoziva zvese haina kukwanisa kundipindura izvi. Uye panguva imwe chete, murairo wekuratidza zvishandiso zviripo pane sevha zvinonyatsoratidza - heino, kiyi, unogona kuiisa. Ini ndinoedza kukwira kubva kuLinux - inoshanda! Ko kana tikaedza ikozvino kubva kuWindows? Oh horror - inoshanda!

Raka rekupedzisira: chimwe chinhu chisina kunyorwa mukodhi yeseva. Paunenge uchigovera mudziyo, haiverenge nhamba ye USB descriptors kubva pairi. Uye kana uchiisa mudziyo kubva kuLinux, munda uyu unozadzwa mukati. Nehurombo, ini ndinojairana nekuvandudzwa kweLinux padanho re "ita && make install". Naizvozvo, dambudziko rakagadziriswa pachishandiswa tsvina yakasviba - kuwedzera ku /etc/rc.local

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

Final chikamu

Pashure peimwe nhamo, inoshanda. Izvo zvaidiwa zvakawanikwa, ikozvino kiyi inogona kuiswa kune chero PC (uye isina kukwidzwa, hongu, zvakare), kusanganisira kunze kwechikamu chekutepfenyura chetiweki. Kana iwe uchida, iwe unogona kuita izvi uchishandisa yekuraira shell script. Chinofadza ndechekuti mafaro acho ndeemahara.
Ndinovimba kuti ruzivo rwangu ruchabatsira ma hackers kutenderera nereki yakadhindwa pahuma yangu. Ndinokutendai nekuteerera kwenyu!

Source: www.habr.com

Voeg