Umsebenzi wokuxhuma idivayisi ye-USB ku-PC ekude ngenethiwekhi yendawo uvela njalo. Ngaphansi kokusikwa, umlando wokusesha kwami ngalokhu ubekiwe, kanye nendlela eya kwisixazululo esenziwe ngomumo ngokusekelwe kuphrojekthi yomthombo ovulekile.
Ingxenye yokuqala, ezomlando
Uma umshini ungokoqobo - konke lokhu kulula. Ukusebenza kokudlulisela phambili i-USB kusuka kumsingathi kuya emshinini obonakalayo kuvele ku-VMWare 4.1. Kodwa esimweni sami, ukhiye wokuphepha, owaziwa ngokuthi i-WIBU-KEY, kwakudingeka uxhunywe ngezikhathi ezahlukene emishinini ehlukene, hhayi kuphela ebonakalayo.
Umzuliswano wokuqala wokusesha ngo-2009 wangiholela ocezwini lwensimbi olubizwa
Izinzuzo:
- ngezinye izikhathi iyasebenza
Umthengi:
- ayisebenzi njalo. Ake sithi ukhiye wokuvikela we-Guardant Stealth II awuqali ngawo, ufunga ngephutha "idivayisi ayikwazi ukuqaliswa".
- Isoftware yokuphatha (funda - ukukhweza nokwehlisa amadivaysi e-USB) idabukisa ngokwedlulele. Ukushintshwa komugqa womyalo, i-automation - cha, akezwanga. Konke kwenziwa ngesandla. Iphupho elibi.
- isofthiwe yokulawula isesha ingxenye yensimbi ngokwayo kunethiwekhi ngokusakaza, ngakho lokhu kusebenza kuphela ngaphakathi kwesegimenti yenethiwekhi yokusakaza eyodwa. Awukwazi ukucacisa ikheli le-IP locezu lwensimbi ngesandla. Ucezu lwensimbi kwelinye i-subnet? Bese unenkinga.
- onjiniyela bathole amaphuzu kudivayisi, akusizi ukuthumela imibiko yeziphazamisi.
Umzuliswano wesibili wenzeka ngezikhathi ezingekude kangako, futhi wangiholela esihlokweni sendatshana -
Ingxenye yesibili, iseva-linux
Iseva ye-USB/IP eyabelana ngamadivayisi e-USB kunethiwekhi ingasethwa kuphela ku-OS esekelwe ku-Linux. Yebo, i-Linux yi-Linux, ngakho-ke faka emshinini we-Debian 8 ekucushweni okuncane, ukunyakaza okujwayelekile kwezandla:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install usbip
Ixazululiwe. Ngaphezu kwalokho, i-inthanethi iphakamisa ukuthi uzodinga ukulanda imojula ye-usbip, kodwa - sawubona, ireki yokuqala. Ayikho imojula enjalo. Futhi konke ngenxa yokuthi amamanyuwali amaningi kunethiwekhi abhekisela egatsheni elidala elingu-0.1.x, futhi ku-0.2.0 yakamuva amamojula we-usbip anamagama ahlukene.
Ngakho-ke:
sudo modprobe usbip-core
sudo modprobe usbip-host
sudo lsmod | grep usbip
Hhayi-ke, ake sengeze imigqa elandelayo ku-/etc/modules ukuze ilayishe ngokuzenzakalelayo ekuqaleni kwesistimu:
usbip-core
usbip-host
vhci-hcd
Ake siqale iseva ye-usbip:
sudo usbipd -D
Ngaphezu kwalokho, ingqondo yendawo yonke isitshela ukuthi i-usbip iza nemibhalo esivumela ukuthi siphathe iseva - bonisa ukuthi iyiphi idivayisi ezokwabelana ngayo kunethiwekhi, bona isimo, njalo njalo. Lapha elinye ithuluzi lasengadini lisilindile - le mibhalo esegatsheni le-0.2.x, futhi, iqanjwe kabusha. Ungathola uhlu lwemiyalo nge
sudo usbip
Ngemva kokufunda incazelo yemiyalelo, kuyacaca ukuthi ukuze wabelane ngedivayisi ye-USB edingekayo, i-usbip ifuna ukwazi i-ID yebhasi. Babukeli abathandekayo, inombolo ye-rake yesithathu isenkundleni: I-ID Yebhasi ezosinika lsusb (kungabonakala kuyindlela esobala kakhulu) - ayihambisani naye! Iqiniso liwukuthi i-usbip ayinaki i-hardware efana namahabhu e-USB. Ngakho-ke, sizosebenzisa umyalo owakhelwe ngaphakathi:
user@usb-server:~$ sudo usbip list -l
- busid 1-1 (064f:0bd7)
WIBU-Systems AG : BOX/U (064f:0bd7)
Qaphela: ngemva kwalokhu ohlwini ngizochaza yonke into ngisebenzisa isibonelo sokhiye wami othize we-USB. Igama lakho lezingxenyekazi zekhompuyutha kanye ne-VID:PID ipheya ingahluka futhi izohluka. Eyami ibizwa nge-Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.
Manje singabelana ngedivayisi yethu:
user@usb-server:~$ sudo usbip bind --busid=1-1
usbip: info: bind device on busid 1-1: complete
Hawu, bakwethu!
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)
Injabulo emithathu, maqabane! Iseva yabelane ngocezu lwensimbi kunethiwekhi, futhi singakwazi ukuyixhuma! Kusele kuphela ukwengeza i-autostart ye-daemon ye-usbip ku-/etc/rc.local
usbipd -D
Ingxenye yesithathu, ohlangothini lweklayenti futhi iyadida
Ngizamile ukuxhuma idivayisi eyabiwe ngenethiwekhi emshinini we-Debian ngaso leso sikhathi kuseva efanayo, futhi konke kuxhumeke kahle:
sudo usbip attach --remote=localhost --busid=1-1
Asidlulele ku-Windows. Endabeni yami kwakuyi-Windows Server 2008R2 Standard Edition. Umhlahlandlela osemthethweni ukucela ukuthi ufake umshayeli kuqala. Inqubo ichazwe ngokuphelele ku-readme enamathiselwe kuklayenti lewindi, senza konke njengoba kubhaliwe, konke kuyasebenza. Ku-XP futhi isebenza ngaphandle kwezinkinga.
Ngemva kokuqaqa iklayenti, sizama ukukhweza ukhiye wethu:
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. Kukhona into engahambanga kahle. Sisebenzisa ikhono le-Google. Kunokushiwo okuyizicucu kokuthi kukhona okungahambi kahle ngama-constants; engxenyeni yeseva, abathuthukisi bashintshe inguqulo yephrothokholi lapho beshintshela kunguqulo 0.2.0, kodwa bakhohlwe ukwenza lokhu kuklayenti le-Win. Isixazululo esihlongozwayo wukushintsha okungaguquki kukhodi yomthombo futhi wakhe kabusha iklayenti.
Kepha angifuni ngempela ukulanda i-Visual Studio ngenxa yale nqubo. Kodwa nginoHiew omdala omuhle. Kukhodi yomthombo, okungaguquki kumenyezelwa njengegama eliphindwe kabili. Ake sibheke ifayela elithi 0x00000106, silisuse ngo-0x00000111. Khumbula, i-byte order ihlehlisiwe. Umphumela uyimidlalo emibili, ipheshana:
[usbip.exe]
00000CBC: 06 11
00000E0A: 06 11
Eeeee... yebo!
C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
new usb device attached to usbvbus port 1
Lokhu bekungayiqeda isethulo, kodwa umculo awudlalanga isikhathi eside. Ngemva kokuqalisa kabusha iseva, ngithole ukuthi idivayisi ekwiklayenti ayifakiwe!
C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
usbip err: usbip_windows.c: 829 (attach_device) cannot find device
Futhi yilokho. Ngisho no-Google owazi konke akakwazanga ukungiphendulela lokhu. Futhi ngesikhathi esifanayo, umyalo wokubonisa amadivayisi atholakalayo kuseva ubonisa kahle - nansi, ukhiye, ungawukhweza. Ngizama ukukhweza kusuka ngaphansi kweLinux - iyasebenza! Futhi uma manje zama kusukela ngaphansi Windows? Oh shit - kuyasebenza!
Ireki yokugcina: okuthile akungeziwe kukhodi yeseva. Uma wabelana ngedivayisi, ayifundi inombolo yezichazi ze-USB ezivela kuyo. Futhi uma ukhweza idivayisi ngaphansi kwe-Linux, le nkambu iyagcwaliswa. Ngeshwa, ngijwayelene nentuthuko ngaphansi kwe-Linux ezingeni elithi “yenza && make install”. Ngakho-ke, inkinga ixazululwa ngokugebenga okungcolile - okungeza ku-/etc/rc.local
usbip attach --remote=localhost --busid=1-1
usbip port
usbip detach --port=00
Ingxenye yokugcina
Ngemva kokudlala okuthile, kuyasebenza. Umphumela ofisa utholakele, manje ukhiye ungafakwa kunoma iyiphi i-PC (futhi yehliswe, yebo, futhi), kuhlanganise nalabo abangaphandle kwengxenye yenethiwekhi yokusakaza. Uma ufuna, ungakwenza usebenzisa iskripthi segobolondo. Yini enhle - injabulo imahhala.
Ngethemba ukuthi ulwazi lwami luzosiza i-habrazhiteli ukuthi ihambe eduze kwereki ebhalwe ebunzini lami. Ngiyabonga ukulalela kwenu!
Source: www.habr.com