USB IP bidez etxean

Batzuetan, USB bidez konektatutako gailu batekin lan egin nahi duzu ordenagailu eramangarriaren ondoko mahai gainean jarri gabe. Nire gailua 500 mW-ko laserra duen grabatzaile txinatarra da, eta hori nahiko desatsegina da harreman estuan egonda. Begietarako berehalako arriskuaz gain, errekuntza-produktu toxikoak askatzen dira laser funtzionamenduan, beraz, gailua ondo aireztatutako gune batean egon behar da, eta hobe pertsonengandik isolatuta. Nola kontrola dezakezu horrelako gailu bat? Galdera honen erantzuna ustekabean aurkitu nuen OpenWRT biltegia arakatzen ari nintzela D-Link DIR-320 A2 bideratzaile zaharraren erabilera duin bat aurkitzeko asmoz. Lotzeko, lehen HabrΓ©-n azaldutakoa erabiltzea erabaki nuen. IP bidezko USB tunela, hala ere, instalatzeko argibide guztiek garrantzia galdu dute, beraz, nirea idazten ari naiz.

OpenWRT aurkezpenik behar ez duen sistema eragilea da, beraz, ez dut bere instalazioa deskribatuko. Nire bideratzailerako, OpenWrt 19.07.3-ren azken bertsio egonkorra hartu nuen eta Wi-Fi sarbide puntu nagusira konektatu nuen bezero gisa, modua hautatuz. lan, suebakia ez oinazetzeko.

Zerbitzariaren zatia

arabera jokatzen dugu argibide ofizialak. Ssh bidez konektatu ondoren, instalatu beharrezko paketeak.

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb-ohci usbip-server usbip-client

Jarraian, gure gailua bideratzailearen USB atakara konektatuko dugu (nire kasuan, gailuak: USB hub bat, bideratzailearen fitxategi-sistema muntatzen duen flash drive bat (barne biltegian leku falta dela eta), eta, zuzenean, grabatzailea).

Saia gaitezen konektatutako gailuen zerrenda bistaratzen:

root@OpenWrt:~# usbip list -l

Hutsik.

Erruduna aurkitu zuten googlen sartuta, liburutegi bat izan zen libudev-fbsd.
Laneko azken bertsioa biltegitik ateratzen dugu eskuz libudev_3.2-1 Zure arkitekturarako OpenWRT 17.01.7 bertsiotik, nire kasuan libudev_3.2-1_mipsel_mips32.ipk da. wget/scp erabiliz, deskargatu bideratzailearen memorian eta instalatu berriro

root@OpenWrt:~# opkg remove --force-depends libudev-fbsd
root@OpenWrt:~# opkg install libudev_3.2-1_mipsel_mips32.ipk

Egiaztatzen dugu:

root@OpenWrt:~# usbip list -l
 - busid 1-1.1 (090c:1000)
   Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000)

 - busid 1-1.4 (1a86:7523)
   QinHeng Electronics : HL-340 USB-Serial adapter (1a86:7523)

USB hub batera konektatutako txinatar batek bsuid bat jaso zuen 1-1.4. Gogoratu.

Orain has gaitezen deabrua:

root@OpenWrt:~# usbipd -D

eta txinatarrak bindim

root@OpenWrt:~# usbip bind -b 1-1.4
usbip: info: bind device on busid 1-1.4: complete

Egiaztatu dena funtzionatzen duela:

root@OpenWrt:/home# netstat -alpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3240            0.0.0.0:*               LISTEN      1884/usbipd

Gailua automatikoki gehiago lotzeko, edita dezagun /etc/rc.localaurretik gehituz 0. irteera honako hau:

usbipd -D &
sleep 1
usbip bind -b 1-1.4

Bezeroaren aldean

Saia gaitezen gailua Windows 10-ra konektatzen openwrt.org-en goiko argibideak erabiliz. Berehala esango dut: ideia porrotera kondenatuta dago. Lehenik eta behin, Windows 7 x64 bakarrik hartzen da kontuan. Bigarrenik, sourceforge.net-eko hari baterako esteka bat ematen da, eta horrek 2014an Dropbox-etik adabakitako kontrolatzaile bat deskargatzea proposatzen du. Windows 10-n exekutatzen saiatzen garenean eta gure gailura konektatzen saiatzen garenean, errore hau jasoko dugu:

c:Utilsusbip>usbip -a 192.168.31.203 1-1.4
usbip for windows ($Id$)

*** ERROR: cannot find device

Hau da, bezeroak ez duelako funtzionatzen 3.14 bertsioa baino zaharragoa den nukleo baterako eraikitako zerbitzari batekin.
OpenWRT 19.07.3rako usbip zerbitzaria 4.14.180 nukleoan eraikita dago.

Bilatzen jarraituz, Windows bezero baten egungo garapenarekin topo egin dut GitHub. Ados, Windows 10 x64-rako laguntza adierazten da, baina bezeroa proba-bezero bat baino ez da, beraz, hainbat muga daude.

Beraz, lehenik eta behin ziurtagiria instalatzeko eskatzen dute, eta bitan. Ados, jar ditzagun Erro Fidagarriaren Ziurtagiriaren Agintaritzan eta Argitaletxe Fidagarrietan.

Ondoren, sistema eragilea proba moduan jarri behar duzu. Hau talde batek egiten du

bcdedit.exe /set TESTSIGNING ON

Lehenengo aldian ez nuen lortu, traba egin nuen abio segurua. Desgaitzeko, UEFI-n berrabiarazi eta abio segurua desgaitzeko ezarri behar duzu. Ordenagailu eramangarri batzuek gainbegiratzaileen pasahitza ezartzea eska dezakete.

Horren ondoren, abiarazi Windows-en eta egin bcdedit.exe /set TESTSIGNING ON
Vindak dio dena ondo dagoela. Berriro berrabiaraziko dugu, eta beheko eskuineko izkinan Proba modua, bertsioa eta OS eraikitzeko zenbakia hitzak ikusiko ditugu.

Zertarako dira manipulazio horiek guztiak? Sinatu gabeko kontrolatzaile bat instalatzeko USB/IP VHCI. Hau egitea gomendatzen da usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat fitxategiak deskargatu eta administratzaile eskubideekin exekutatzen.

usbip.exe install

edo bigarren metodoa, Legacy Hardware eskuz instalatzea. Bigarren aukera aukeratu nuen, sinatu gabeko kontrolatzaile bat instalatzeari buruzko abisua jaso nuen eta ados egon nintzen.

Ondoren, urruneko USB gailu batera konektatzeko gaitasuna dugula egiaztatuko dugu komandoa exekutatuz:

usbip.exe list -r <ip вашСго Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°>

gailuen zerrenda jasoko dugu:

c:Utilsusbip>usbip.exe list -r 192.168.31.203
usbip: error: failed to open usb id database
Exportable USB devices
======================
 - 192.168.31.203
      1-1.4: unknown vendor : unknown product (1a86:7523)
           : /sys/devices/ssb0:1/ehci-platform.0/usb1/1-1/1-1.4
           : unknown class / unknown subclass / unknown protocol (ff/00/00)

akats batengatik usbip: errorea: ezin izan da ireki usb id datu-basea Ez dugu kasurik egiten, ez du lanari eragiten.

Orain gailua lotzen dugu:

c:Utilsusbip>usbip.exe attach -r 192.168.31.203 -b 1-1.4

Hori da, Windows-ek gailu berri bat detektatu du, orain harekin lan egin dezakezu ordenagailu eramangarrira fisikoki konektatuta egongo balitz bezala.

Pixka bat sufritu behar izan nuen Txinako grabagailuarekin, zeren bere CH341SER kontrolatzailea grabagailuarekin zetorren instalatzailearen bidez (bai, Arduino grabagailu bat) instalatzen saiatu nintzenean, USB/IP VHCI-k Windows BSOD sartu zuen. Hala ere, CH341SER kontrolatzailea instalatuz to gailua usbip.exe bidez konektatzeak arazoa konpondu du.

Beheko lerroa: grabatzaileak zarata egiten du eta sukaldean erre egiten du leihoa irekita eta atea itxita, beste gela batetik erre prozesua ikusten dut nire software propioaren bitartez, harrapaketarik sumatzen ez duena.

Erabilitako iturriak:

https://openwrt.org/docs/guide-user/services/usb.iptunnel
https://github.com/cezanne/usbip-win

Iturria: www.habr.com

Gehitu iruzkin berria