Ndonjëherë, ndihesh i ndihmuar të punosh me një pajisje të lidhur përmes USB, pa e mbajtur atë në tryezë pranë laptopit. Një pajisje e tillë për mua është një gravurë kineze me lazer 500 mW, e cila është shumë e pakëndshme në kontakt të ngushtë. Përveç rrezikut të drejtpërdrejtë për sytë, gjatë punës me lazer lëshohen produkte toksike të djegies, prandaj pajisja duhet të gjendet në një ambient të ajrosur mirë dhe, sa më shumë të jetë e mundur, e izoluar nga njerëzit. Por si mund ta menaxhosh një pajisje të tillë? Përgjigjen e kësaj pyetjeje e kam gjetur rastësisht, duke shikuar në depo OpenWRT, me shpresën për të gjetur një përdorim të denjë për një router të vjetër D-Link DIR-320 A2. Për lidhje, vendosa të përdor tunnelin e dëshmuar në Habr. USB over IP tunnel, megjithatë, të gjitha udhëzimet për instalimin e tij kanë humbur aktualitetin, prandaj po shkruaj të mirat e mia.
OpenWRT është një sistem operativ që nuk ka nevojë për prezantim, prandaj nuk do ta përshkruaj instalimin e tij. Për routerin tim, mora versionin më të fundit të stabilizuar OpenWrt 19.07.3, dhe e lidhësova atë me pikën e aksesit kryesore përmes Wi-Fi si klient, duke zgjedhur modalitetin lan, për të mos e munduar firewall-in.
Pjesa server
Veprojmë sipas . Pasi lidhemi përmes ssh, instalojmë paketat e nevojshme.
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb-ohci usbip-server usbip-clientMë pas lidhim pajisjen tonë në portin USB të router-it (në rastin tim, pajisjet: një hub USB, një USB flash, në të cilin është montuar sistemi i skedarëve të router-it (për shkak të mungesës së hapësirës në memorien e brendshme), dhe, drejtpërdrejt, gravuesi).
Provojmë të nxjerrim listën e pajisjeve të lidhura:
root@OpenWrt:~# usbip list -lE zbrazët.
Me anë të kërkimit në Google u zbulua fajtori, që ishte biblioteka libudev-fbsd.
E nxjerrim dorazi versionin e fundit të punës libudev_3.2-1 nga lëshimi OpenWRT 17.01.7 për arkitekturën tonë, në rastin tim është libudev_3.2-1_mipsel_mips32.ipk. Me wget/scp e ngarkojmë në memorien e router-it dhe e riporositëm
root@OpenWrt:~# opkg remove --force-depends libudev-fbsd
root@OpenWrt:~# opkg install libudev_3.2-1_mipsel_mips32.ipk
Po kontrollojmë:
root@OpenWrt:~# usbip list -l
- busid 1-1.1 (090c:1000)
Silicon Motion, Inc. - Taiwan (dikur Feiya Technology Corp.) : Flash Drive (090c:1000)
- busid 1-1.4 (1a86:7523)
QinHeng Electronics : HL-340 USB-Serial adapter (1a86:7523)Kinez, i lidhur në hub-in USB, mori bsuid 1-1.4. E kemi mbajtur mend.
Tani fillojmë demonin:
root@OpenWrt:~# usbipd -Ddhe e lidhim kinezën
root@OpenWrt:~# usbip bind -b 1-1.4
usbip: info: bind device on busid 1-1.4: completePohoqim se shohim që gjithçka funksionon:
root@OpenWrt:/home# netstat -alpt
Koneksionet aktive të Internetit (serverat dhe të vendosur)
Proto Recv-Q Send-Q Adresa Lokale Adresa e Huaj Shteti PID/Emri i Programit
tcp 0 0 0.0.0.0:3240 0.0.0.0:* DĂGJO 1884/usbipdPĂ«r tĂ« binduar pajisjen automatikisht mĂ« tej, do tĂ« redaktojmĂ« /etc/rc.local, duke shtuar pĂ«rpara exit 0 kĂ«tĂ«:
usbipd -D &
sleep 1
usbip bind -b 1-1.4Pjesa klient
Do të provojmë të lidhemi me pajisjen në Windows 10, duke përdorur udhëzimin e përmendur më sipër nga openwrt.org. Të them të drejtën: plani është i destinuar për dështim. Së pari, shqyrtohet vetëm Windows 7 x64. Së dyti, jepet një lidhje në një thread në sourceforge.net, ku propozohet të shkarkohet një driver i patchuar në 2014. Kur përpiqemi ta nisim atë në Windows 10 dhe të lidhemi me pajisjen tonë, marrim një gabim:
c:Utilsusbip>usbip -a 192.168.31.203 1-1.4
usbip për windows ($Id$)
*** GABIM: nuk mund të gjej pajisjen Kjo është e lidhur me faktin se klienti nuk punon me serverin që është ndërtuar me një bërthamë më të vjetër se versioni 3.14.
Serveri usbip nën OpenWRT 19.07.3 është ndërtuar në bërthamën 4.14.180.
Duke vazhduar kërkimin, ndeshem me një zhvillim aktual të klientit për Windows në . Ok, mbështetje për Windows 10 x64 është e deklaruar, por klienti është ekskluzivisht testues, prandaj ka një sërë të kufizimeve.
Pra të fillojmë, na kërkohet të instalohet certifikata, madje dy herë. Mirë, e vendosim atë në Autoritetin e Certifikimit të Besuar dhe në Botuesit e Besuar.
Më pas, duhet të kalojmë sistemin operativ në modin testues. Kjo bëhet me komandën
bcdedit.exe /set TESTSIGNING ONMe herën e parë nuk më rezultoi, u ndërhy secure boot. Për ta çaktivizuar atë, duhet të ribashkohemi në UEFI dhe ta vendosim secure boot në disabel. Në disa modele laptopësh mund të kërkohet vendosja e fjalëkalimit të supervisor.
Pas kësaj, ngarkohemi në Windows dhe bëjmë bcdedit.exe /set TESTSIGNING ON
Windows-i thotë se gjithçka është në rregull. Sërish ribashkohemi dhe shohim në këndin e djathtë poshtë shkrimin Test Mode, versionin dhe numrin e ndërtimit të OS-it.
Pse të bëjmë të gjitha këto manipulime? Për të instaluar një drejtues të padëshmuar USB/IP VHCI. Kjo ofrohet duke shkarkuar skedarët usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat, dhe duke e realizuar me të drejtat e administratorit
usbip.exe installapo një mënyrë tjetër, instalimi i Hardware Legacy në mënyrë manuale. Zgjodha opsionin e dytë, mora një paralajmërim për instalaciónin e drejtuesit të padëshmuar dhe e pranoja atë.
Më pas kontrollojmë nëse kemi mundësinë të lidhim me një dispozitiv USB të largët, duke ekzekutuar komandën:
usbip.exe list -rpo marrim një listë pajisjesh:
c:Utilsusbip>usbip.exe list -r 192.168.31.203
usbip: gabim: nuk ka mundur të hapet baza e të dhënave të identitetit usb
Pajisjet USB të eksportueshme
======================
- 192.168.31.203
1-1.4: prodhues i panjohur : produkt i panjohur (1a86:7523)
: /sys/devices/ssb0:1/ehci-platform.0/usb1/1-1/1-1.4
: klasë e panjohur / nënklasë e panjohur / protokoll i panjohur (ff/00/00)për gabimin usbip: gabim: nuk ka mundur të hapet baza e të dhënave të identitetit usb nuk është e nevojshme të shqetësohemi, nuk ndikon në funksionim.
Tani po e lidhim pajisjen:
c:Utilsusbip>usbip.exe attach -r 192.168.31.203 -b 1-1.4ĂĂ«shtja Ă«shtĂ« zgjidhur, Windows ka zbuluar njĂ« pajisje tĂ« re, tani mund tĂ« punojmĂ« me tĂ« siç do tĂ« ishte e lidhur fizikisht me laptopin.
Me gravuesin kinez u desh pak mund për shkak se kur u përpoqa të instaloj drejtuesin CH341SER përmes instaluesit të bashkangjitur (po, gravuesi është në Arduino), USB/IP VHCI çonte Windows në BSOD. Megjithatë, instalimi i drejtuesit CH341SER deri te nëpërmjet usbip.exe zgjidhte problemin.
Përmbledhje: gravuesi bëri zhurmë dhe tymosur në kuzhinë me dritare të hapur dhe derë të mbyllur, po e vëzhgoj procesin e djegies nga dhoma tjetër përmes softuerit të tij të natyrshëm, i cili nuk dyshon.
Burimet e përdorura:
Burimi: habr.com
