Kebul na USB / IP

Ayyukan haɗa na'urar USB zuwa PC mai nisa ta hanyar sadarwar gida a kai a kai yana tasowa. Ƙarƙashin yanke shine tarihin bincike na a wannan hanya, da kuma hanyar da za a iya magance shirye-shiryen da aka yi bisa ga aikin budewa. USB/IP tare da bayanin cikas da mutane daban-daban suka girka a tsanake kan wannan tafarki, da kuma hanyoyin da za a bi wajen kaucewa su.

Kashi na daya, tarihi

Idan injin na kama-da-wane, duk wannan abu ne mai sauƙi. Ayyukan isar da USB daga mai watsa shiri zuwa injin kama-da-wane ya bayyana a cikin VMWare 4.1. Amma a cikin nawa, maɓallin tsaro, wanda aka sani da WIBU-KEY, dole ne a haɗa shi da na'urori daban-daban a lokuta daban-daban, ba kawai masu amfani ba.
Zagaye na farko na binciken baya a 2009 ya kai ni ga wani kayan aikin da ake kira TrendNet TU2-NU4
Sakamakon:

  • wani lokacin ma yana aiki

Fursunoni:

  • baya aiki kullum. Bari mu ce maɓallin kariya na Guardant Stealth II baya farawa ta hanyarsa, yana rantsuwa da kuskuren "ba za a iya fara na'urar ba."
  • Software don sarrafa (karanta: hawa da cire na'urorin USB) ba su da kyau sosai. Maɓallin layin umarni, aiki da kai - a'a, ba mu ji ba. Da hannunka ake yin komai. Mafarkin dare.
  • Software na sarrafawa yana neman kayan aikin kansa akan hanyar sadarwa ta hanyar watsa shirye-shirye, don haka yana aiki ne kawai a cikin ɓangaren watsa shirye-shirye na cibiyar sadarwa. Ba za ku iya tantance adireshin IP na yanki na kayan aikin da hannu ba. Shin yanki na kayan masarufi ne akan wani gidan yanar gizo na daban? Sannan kuna da matsala.
  • Masu haɓakawa sun daina kan na'urar, aika rahoton bug bashi da amfani.

Zagaye na biyu ya faru ne a cikin wani lokaci mai nisa, kuma ya kai ni ga batun labarin - USB/IP aikin. Yana jan hankalin tare da budewa, musamman tun daga guys daga ReactOS Sun sanya hannu kan direba don Windows, don haka yanzu ko da akan x64 duk abin yana aiki ba tare da wani ƙugiya kamar yanayin gwaji ba. Domin wanda yawa godiya ga ƙungiyar ReactOS! Komai yana da kyau, bari mu yi ƙoƙari mu ji shi, shin da gaske haka ne? Abin takaici, aikin da kansa ma an watsar da shi, kuma ba za ku iya dogara da tallafi ba - amma inda namu bai ɓace ba, lambar tushe tana nan, za mu gane shi!

Kashi na biyu, uwar garken-Linux

Kebul/IP uwar garken da ke raba na'urorin USB akan hanyar sadarwa za'a iya shigar dashi a cikin OS na tushen Linux. Da kyau, Linux shine Linux, shigar da Debian 8 akan injin kama-da-wane a cikin ƙaramin tsari, daidaitaccen motsi na hannu:

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

An kafa Sannan Intanet yana nuna cewa kuna buƙatar saukar da tsarin usbip, amma - sannu, rake na farko. Babu irin wannan tsarin. Wannan shi ne saboda yawancin litattafan da ke kan hanyar sadarwa suna komawa zuwa tsohuwar reshe 0.1.x, kuma a cikin sabuwar 0.2.0 na usbip modules suna da sunaye daban-daban.

Saboda haka:

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

To, bari mu ƙara waɗannan layin zuwa / sauransu/modules don loda su ta atomatik lokacin da tsarin ya fara:

usbip-core
usbip-host
vhci-hcd

Bari mu fara uwar garken usbip:

sudo usbipd -D

Bugu da ari, hikimar duniya ta gaya mana cewa usbip ya zo da rubutun da ke ba mu damar sarrafa uwar garken - nuna na'urar da za ta raba akan hanyar sadarwa, duba matsayi, da sauransu. Anan wani kayan aikin lambu yana jiran mu - waɗannan rubutun a cikin reshen 0.2.x, an sake sake suna. Kuna iya samun jerin umarni ta amfani da

sudo usbip

Bayan karanta bayanin umarnin, ya bayyana a fili cewa don raba na'urar USB da ake buƙata, usbip yana son gano ID ɗin Bus ɗin sa. Yan kallo, rake lamba uku a fage: ID ɗin Bus da zai bamu lsusb (zai zama alama mafi bayyane hanya) - bai dace da ita ba! Gaskiyar ita ce usbip yayi watsi da kayan aiki kamar cibiyoyin USB. Don haka, za mu yi amfani da ginanniyar umarnin:

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

Lura: nan da gaba a cikin jerin abubuwan zan bayyana komai ta amfani da misalin takamaiman maɓallin USB na. Sunan kayan aikin ku da VID:PID biyu na iya kuma za su bambanta. Nawa ana kiransa Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.

Yanzu za mu iya raba na'urar mu:

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

Huraira, yan uwa!

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)

Murna uku, 'yan'uwa! Sabar ta raba kayan aikin akan hanyar sadarwa, kuma zamu iya haɗa shi! Abin da ya rage shi ne ƙara autostart na usbip daemon a /etc/rc.local

usbipd -D

Kashi na uku, abokin ciniki-gefen da rudani

Nan da nan na yi ƙoƙarin haɗa na'urar da aka raba akan hanyar sadarwar zuwa na'ura mai aiki da Debian akan sabar iri ɗaya, kuma duk abin da aka haɗa daidai:

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

Bari mu matsa zuwa Windows. A cikin yanayina shine Windows Server 2008R2 Standard Edition. Littafin jagorar yana buƙatar ka fara shigar da direban. Hanyar da aka bayyana daidai a cikin karatun da aka haɗa tare da abokin ciniki na Windows, muna yin komai kamar yadda aka rubuta, duk abin yana aiki. Hakanan yana aiki akan XP ba tare da wahala ba.

Bayan mun cire kayan abokin ciniki, mun yi ƙoƙarin hawa maɓallin mu:

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

Oh oh. Wani abu ya faru. Bari mu yi amfani da fasaha na Google. Akwai ɓangarorin da aka ambata cewa wani abu ba daidai ba ne tare da madaidaicin; a cikin sashin uwar garken, masu haɓakawa sun canza sigar yarjejeniya lokacin matsawa zuwa sigar 0.2.0, amma a cikin abokin ciniki na Win sun manta da yin wannan. Maganin da aka ba da shawarar shine canza mai canzawa a cikin lambar tushe kuma sake gina abokin ciniki.

Amma da gaske ba na son saukar da Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Hulda) da Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyakin Kayayyaki ) da Rarrabuwa. Amma ina da kyakkyawar tsohuwar Hiew. A cikin lambar tushe, ana bayyana akai akai azaman kalma biyu. Bari mu nemi 0x00000106 a cikin fayil ɗin, mu maye gurbin shi da 0x00000111. Kar a manta, odar ta byte ya koma baya. Sakamakon matches biyu ne, mun faci:

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

Aaa... da!

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

Wannan zai iya zama ƙarshen labarin, amma waƙar ba ta daɗe ba. Bayan sake kunna uwar garken, na gano cewa na'urar da ke kan abokin ciniki ba ta hau ba!

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

Shi ke nan. Ko da Google-masani ba zai iya ba ni amsar wannan ba. Kuma a lokaci guda, umarnin don nuna na'urorin da ke kan uwar garke ya nuna daidai - a nan shi ne, maɓallin, za ku iya hawa shi. Ina ƙoƙarin hawa daga Linux - yana aiki! Idan muka gwada yanzu daga Windows? Oh tsoro - yana aiki!

Rake na ƙarshe: ba a rubuta wani abu a lambar uwar garken ba. Lokacin raba na'ura, ba ya karanta adadin kebul na siffantawa daga gare ta. Kuma lokacin hawa na'ura daga Linux, wannan filin yana cika. Abin takaici, na saba da ci gaban Linux a matakin "yi && sanya shigarwa". Saboda haka, an magance matsalar ta amfani da wani ƙazantaccen hack - ƙara zuwa /etc/rc.local

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

Bangare na karshe

Bayan wani gwaji, yana aiki. An cimma abin da ake so, yanzu ana iya shigar da maɓalli zuwa kowane PC (kuma an cire shi, ba shakka, ma), ciki har da waje da sashin watsa shirye-shirye na cibiyar sadarwa. Idan kuna so, kuna iya yin wannan ta amfani da rubutun harsashi na umarni. Abin da ke da kyau shi ne cewa jin daɗin yana da cikakken kyauta.
Ina fatan cewa kwarewata za ta taimaka wa masu fashin kwamfuta su kewaye rake da aka buga a goshina. Na gode da kulawar ku!

source: www.habr.com

Add a comment