I-USB phezu kwe-IP ekhaya

Kwesinye isikhathi ufuna ukusebenza ngedivayisi exhunywe nge-USB ngaphandle kokuyigcina etafuleni eduze kwekhompyutha yakho ephathekayo. Idivayisi yami ingumqophi waseShayina onelaser engu-500 mW, engemnandi neze uma useduze. Ngaphezu kwengozi esheshayo emehlweni, imikhiqizo evuthayo enobuthi ikhishwa ngesikhathi sokusebenza kwe-laser, ngakho-ke idivayisi kufanele ibekwe endaweni enomoya omuhle, futhi mhlawumbe ihlukaniswe nabantu. Ungawulawula kanjani umshini onjalo? Ngithole ngephutha impendulo yalo mbuzo ngenkathi ngiphequlula inqolobane ye-OpenWRT ngethemba lokuthola ukusetshenziswa okufanele kwerutha endala ye-D-Link DIR-320 A2. Ukuze ngixhume, nginqume ukusebenzisa leyo echazwe ku-HabrΓ© ngaphambili. Umhubhe we-USB phezu kwe-IP, nokho, yonke imiyalelo yokuyifaka ilahlekelwe ukuhambisana kwayo, ngakho ngibhala eyami.

I-OpenWRT iyisistimu yokusebenza engadingi singeniso, ngakho-ke ngeke ngichaze ukufakwa kwayo. Kurutha yami, ngithathe ukukhishwa kwakamuva okuzinzile kwe-OpenWrt 19.07.3, ngakuxhuma endaweni enkulu yokufinyelela ye-Wi-Fi njengeklayenti, ngikhetha imodi. lan, ukuze ungahlukumezi i-firewall.

Ingxenye yeseva

Senza ngokuvumelana imiyalelo esemthethweni. Ngemuva kokuxhuma nge-ssh, faka amaphakheji adingekayo.

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

Okulandelayo, sixhuma idivayisi yethu echwebeni le-USB le-router (kimina, amadivayisi: ihabhu le-USB, i-flash drive lapho uhlelo lwefayela lomzila lufakwe khona (ngenxa yokuntuleka kwesikhala kwisitoreji sangaphakathi), futhi, ngokuqondile, umqophi).

Ake sizame ukubonisa uhlu lwamadivayisi axhunyiwe:

root@OpenWrt:~# usbip list -l

Akunalutho.

Ngokungena ku-googling isigebengu sitholakele, kwavela ukuthi umtapo wolwazi libudev-fbsd.
Sikhipha inguqulo yakamuva yokusebenza endaweni yokugcina ngesandla libudev_3.2-1 kusukela ku-OpenWRT 17.01.7 ukukhululwa kwezakhiwo zakho, esimweni sami yi-libudev_3.2-1_mipsel_mips32.ipk. Usebenzisa i-wget/scp, yilande kumemori yomzila bese uyibuyisela kabusha

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

Sihlola:

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)

Indoda yaseShayina exhunywe kuhabhu le-USB ithole i-bsuid 1-1.4. Khumbula.

Manje ake siqale i-daemon:

root@OpenWrt:~# usbipd -D

futhi ubophe amaShayina

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

Ake sihlole ukuthi yonke into iyasebenza:

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

Ukuze siqhubeke sibophe idivayisi ngokuzenzakalela, masihlele /etc/rc.localngokungeza ngaphambili phuma 0 okulandelayo:

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

Ingxenye yeklayenti

Ake sizame ukuxhuma idivayisi kuyo Windows 10 sisebenzisa imiyalo engenhla evela ku-openwrt.org. Ngizothi ngaso leso sikhathi: umqondo uzohluleka. Okokuqala, kucatshangelwa iWindows 7 x64 kuphela. Okwesibili, isixhumanisi sinikezwa intambo ku-sourceforge.net, ephakamisa ukulanda umshayeli owabhaca ngo-2014 kuDropbox. Uma sizama ukuyisebenzisa ngaphansi Windows 10 futhi sixhume kudivayisi yethu, sithola iphutha elilandelayo:

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

*** ERROR: cannot find device

Lokhu kungenxa yokuthi iklayenti alisebenzi neseva eyakhelwe i-kernel endala kunenguqulo 3.14.
Iseva ye-usbip ye-OpenWRT 19.07.3 yakhelwe ku-kernel 4.14.180.

Ngiqhubeka nokusesha, ngihlangabezana nokuthuthuka kwamanje kweklayenti le-Windows github. Kulungile, usekelo lwe-Windows 10 x64 ishiwo, kodwa iklayenti liyiklayenti lokuhlola kuphela, ngakho-ke kunenani lemikhawulo.

Ngakho, okokuqala bacela ukufaka isitifiketi, futhi kabili. Kulungile, asikubeke kokuthi I-Trusted Root Certification Authority kanye Nabashicileli Abathembekile.

Okulandelayo, udinga ukufaka isistimu yokusebenza kumodi yokuhlola. Lokhu kwenziwa yiqembu

bcdedit.exe /set TESTSIGNING ON

Angizange ngiphumelele okokuqala, ngangena endleleni i-boot evikelekile. Ukuze uyikhubaze, udinga ukuqala kabusha ku-UEFI bese usetha i-boot evikelekile ukuze uyikhubaze. Amanye amamodeli aphathekayo angase adinge ukusetha iphasiwedi yomphathi.

Ngemuva kwalokho, vula iWindows futhi wenze bcdedit.exe /setha UKUHLOLA KUVULIWE
UVinda uthi konke kuhamba kahle. Siqalisa kabusha futhi, futhi sibona ekhoneni elingezansi kwesokudla amagama athi Imodi Yokuhlola, inguqulo kanye nenombolo yokwakha ye-OS.

Okwakuphi konke lokhu kukhohlisa? Ukufaka umshayeli ongasayiniwe I-USB/IP VHCI. Kunconywa ukwenza lokhu ngokulanda amafayela usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat, nokusebenzisa amalungelo omlawuli

usbip.exe install

noma indlela yesibili, ukufaka i-Legacy Hardware ngesandla. Ngakhetha inketho yesibili, ngathola isexwayiso mayelana nokufaka umshayeli ongasayiniwe futhi ngavumelana nayo.

Okulandelayo, sihlola ukuthi sinamandla okuxhuma kudivayisi ye-USB ekude ngokusebenzisa umyalo:

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

sithola uhlu lwamadivayisi:

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)

ngephutha usbip: iphutha: yehlulekile ukuvula isizindalwazi se-usb Asinaki, akuphazamisi umsebenzi.

Manje sibopha idivayisi:

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

Yilokho nje, iWindows ithole idivayisi entsha, manje usungakwazi ukusebenza nayo njengokungathi ixhunywe ngokoqobo kwi-laptop.

Kwadingeka ngihlupheke kancane ngomqophi waseShayina, ngoba ngesikhathi ngizama ukufaka umshayeli wayo we-CH341SER ngesifaki esifike nesiqophi (yebo, umqophi we-Arduino), i-USB/IP VHCI yehlise iWindows ku-BSOD. Nokho, ukufaka umshayeli we-CH341SER ukuze ukuxhuma idivayisi nge-usbip.exe kuxazulule inkinga.

Ngezansi: umdwebi wenza umsindo futhi uyabhema ekhishini ngefasitela elivuliwe nomnyango uvaliwe, ngibuka inqubo evuthayo esuka kwelinye igumbi ngokusebenzisa isofthiwe yami, engezwakali ukubamba.

Imithombo esetshenzisiwe:

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

Source: www.habr.com

Engeza amazwana