USB sou IP lakay ou

Pafwa ou vle travay ak yon aparèy ki konekte via USB san yo pa kenbe li sou tab la bò kote laptop ou. Aparèy mwen an se yon graveur Chinwa ak yon lazè 500 mW, ki se byen dezagreyab lè nan kontak sere. Anplis de danje imedya nan je yo, pwodui toksik ki degaje konbisyon yo lage pandan operasyon lazè, kidonk aparèy la ta dwe sitiye nan yon zòn ki byen vantile, epi de preferans izole nan men moun. Ki jan ou ka kontwole yon aparèy konsa? Mwen aksidantèlman te jwenn repons kesyon sa a pandan m t ap navige depo OpenWRT la avèk espwa pou m jwenn yon itilizasyon ki merite pou ansyen routeur D-Link DIR-320 A2 la. Pou konekte, mwen deside sèvi ak sa ki dekri sou Habré pi bonè. USB sou IP tinèl, sepandan, tout enstriksyon yo pou enstale li te pèdi enpòtans yo, kidonk mwen ekri pwòp mwen.

OpenWRT se yon sistèm opere ki pa bezwen entwodiksyon, kidonk mwen pa pral dekri enstalasyon li yo. Pou routeur mwen an, mwen te pran dènye lage ki estab nan OpenWrt 19.07.3, epi konekte li nan pwen aksè prensipal Wi-Fi kòm yon kliyan, chwazi mòd la. LAN, se konsa yo pa toumante firewall la.

Pati sèvè

Nou aji selon enstriksyon ofisyèl yo. Apre konekte via ssh, enstale pakè ki nesesè yo.

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

Apre sa, nou konekte aparèy nou an nan pò USB routeur a (nan ka mwen an, aparèy: yon mwaye USB, yon kondwi flash sou ki sistèm fichye routeur la monte (akòz mank espas sou depo entèn la), epi, dirèkteman, graveur).

Ann eseye montre yon lis aparèy konekte:

root@OpenWrt:~# usbip list -l

Vide.

Pa googling koupab la te jwenn, li te tounen yon bibliyotèk libudev-fbsd.
Nou rale dènye vèsyon k ap travay nan depo a alamen libudev_3.2-1 soti nan lage OpenWRT 17.01.7 pou achitekti ou a, nan ka mwen an li se libudev_3.2-1_mipsel_mips32.ipk. Sèvi ak wget/scp, telechaje li nan memwa routeur la epi reenstale li

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

Nou tcheke:

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)

Yon nonm Chinwa ki konekte nan yon sant USB te resevwa yon bsuid 1-1.4. Sonje.

Koulye a, ann kòmanse demon an:

root@OpenWrt:~# usbipd -D

ak bindim Chinwa yo

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

Ann tcheke si tout bagay ap travay:

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

Pou plis mare aparèy la otomatikman, ann edite /etc/rc.localpa ajoute anvan sòti 0 sa yo:

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

Bò kliyan

Ann eseye konekte aparèy la ak Windows 10 lè l sèvi avèk enstriksyon ki anwo yo nan openwrt.org. Mwen pral di touswit: lide a kondane a echèk. Premyèman, se sèlman Windows 7 x64 konsidere. Dezyèmman, yo bay yon lyen nan yon fil sou sourceforge.net, ki sijere telechaje yon chofè patched nan 2014 soti nan Dropbox. Lè nou eseye kouri li anba Windows 10 epi konekte ak aparèy nou an, nou jwenn erè sa a:

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

*** ERROR: cannot find device

Sa a se akòz lefèt ke kliyan an pa travay ak yon sèvè bati pou yon nwayo ki pi gran pase vèsyon 3.14.
Sèvè usbip pou OpenWRT 19.07.3 bati sou nwayo 4.14.180.

Kontinye rechèch mwen an, mwen vin atravè devlopman aktyèl la nan yon kliyan Windows pou GitHub. Oke, sipò pou Windows 10 x64 deklare, men kliyan an se sèlman yon kliyan tès, kidonk gen yon kantite limit.

Se konsa, premye yo mande yo enstale sètifika a, ak de fwa. Oke, ann mete l nan Trusted Root Certification Authority ak Trusted Publishers.

Apre sa, ou bezwen mete sistèm operasyon an nan mòd tès. Sa a se fè pa yon ekip

bcdedit.exe /set TESTSIGNING ON

Mwen pat reyisi premye fwa, mwen te antrave sekirite bòt. Pou enfim li, ou bezwen rdemare nan UEFI epi mete bòt an sekirite pou enfim. Gen kèk modèl laptop ki ka mande pou mete yon modpas sipèvizè.

Apre sa, bòt nan Windows epi fè bcdedit.exe /set TESTSIGNING ON
Vinda di tout bagay ok. Nou rdemare ankò, epi nou wè nan kwen ki pi ba dwat mo Tès Mode, vèsyon ak nimewo konstriksyon OS.

Pou kisa tout manipilasyon sa yo ye? Pou enstale yon chofè ki pa siyen USB/IP VHCI. Li sijere pou w fè sa lè w telechaje dosye yo usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat, epi kouri ak dwa administratè.

usbip.exe install

oswa dezyèm metòd la, enstale Legacy Hardware manyèlman. Mwen te chwazi dezyèm opsyon a, mwen te resevwa yon avètisman sou enstale yon chofè ki pa siyen epi mwen dakò ak li.

Apre sa, nou tcheke ke nou gen kapasite pou konekte avèk yon aparèy USB aleka pa kouri lòd la:

usbip.exe list -r <ip вашего роутера>

nou jwenn yon lis aparèy:

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)

pou yon erè usbip: erè: echwe pou pou louvri baz done id usb Nou pa peye atansyon, li pa afekte travay la.

Koulye a, nou mare aparèy la:

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

Sa a se li, Windows te detekte yon nouvo aparèy, kounye a ou ka travay avèk li kòm si li te fizikman konekte ak laptop la.

Mwen te oblije soufri yon ti kras ak graveur Chinwa a, paske lè mwen te eseye enstale chofè CH341SER li yo atravè enstalatè ki te vini ak graveur a (wi, yon graveur Arduino), USB / IP VHCI tonbe Windows nan BSOD. Sepandan, enstale chofè CH341SER la до konekte aparèy la atravè usbip.exe rezoud pwoblèm nan.

Anba liy: graveur a fè bri ak fimen nan kwizin nan ak fenèt la louvri ak pòt la fèmen, mwen gade pwosesis la boule soti nan yon lòt chanm nan pwòp lojisyèl mwen an, ki pa sans yon trape.

Sous yo itilize:

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

Sous: www.habr.com

Add nouvo kòmantè