USB over IP otthon

Néha szeretne USB-n keresztül csatlakoztatott eszközzel dolgozni anélkül, hogy a laptop mellett az asztalon tartaná. A készülékem egy kínai gravírozó 500 mW-os lézerrel, ami közeli érintkezésben elég kellemetlen. A lézeres működés során a szem közvetlen veszélye mellett mérgező égéstermékek szabadulnak fel, ezért a készüléket jól szellőző helyen kell elhelyezni, lehetőleg emberektől elzárva. Hogyan lehet irányítani egy ilyen készüléket? Erre a kérdésre véletlenül megtaláltam a választ az OpenWRT repository böngészése közben abban a reményben, hogy méltó felhasználási lehetőséget találok a régi D-Link DIR-320 A2 routernek. A csatlakozáshoz úgy döntöttem, hogy a Habrén korábban leírtat használom. USB over IP alagút, azonban az összes telepítési utasítás elvesztette jelentőségét, ezért írom a sajátomat.

Az OpenWRT egy olyan operációs rendszer, amelyet nem kell bemutatni, ezért nem írom le a telepítését. A routeremhez az OpenWrt 19.07.3 legújabb, stabil kiadását vettem, és kliensként csatlakoztattam a fő Wi-Fi hozzáférési ponthoz, kiválasztva a módot. lan, hogy ne gyötörje a tűzfalat.

Szerver rész

szerint járunk el hivatalos utasításokat. Az ssh-n keresztüli csatlakozás után telepítse a szükséges csomagokat.

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

Ezután a router USB portjához csatlakoztatjuk eszközünket (esetemben eszközök: USB hub, flash meghajtó, amelyre a router fájlrendszere fel van szerelve (a belső tároló helyhiánya miatt), és közvetlenül a vésnök).

Próbáljuk meg megjeleníteni a csatlakoztatott eszközök listáját:

root@OpenWrt:~# usbip list -l

Üres.

A guglizással megtalálták a tettest, kiderült, hogy egy könyvtár libudev-fbsd.
Kézzel húzzuk ki a tárolóból a legújabb működő verziót libudev_3.2-1 az OpenWRT 17.01.7-es verziójából az Ön architektúrájához, esetemben ez a libudev_3.2-1_mipsel_mips32.ipk. A wget/scp használatával töltse le az útválasztó memóriájába, és telepítse újra

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

Ellenőrizzük:

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)

Egy USB-elosztóhoz csatlakoztatott kínai férfi bsuit kapott 1-1.4. Emlékezik.

Most indítsuk el a démont:

root@OpenWrt:~# usbipd -D

és bindim a kínai

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

Ellenőrizzük, hogy minden működik:

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

Az eszköz további automatikus összekapcsolásához szerkesszük /etc/rc.localelőtti hozzáadásával 0. kijárat a következő:

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

Ügyfél oldal

Próbáljuk meg csatlakoztatni az eszközt a Windows 10 rendszerhez az openwrt.org fenti utasításai szerint. Azonnal mondom: az ötlet kudarcra van ítélve. Először is csak a Windows 7 x64 rendszert veszik figyelembe. Másodszor, a sourceforge.net egy szálára mutató hivatkozás található, amely azt javasolja, hogy töltsön le egy 2014-ben javított illesztőprogramot a Dropboxból. Amikor megpróbáljuk futtatni Windows 10 alatt, és csatlakozni az eszközünkhöz, a következő hibaüzenetet kapjuk:

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

*** ERROR: cannot find device

Ennek az az oka, hogy a kliens nem működik a 3.14-es verziónál régebbi kernelhez épített szerverrel.
Az OpenWRT 19.07.3 usbip-kiszolgálója a 4.14.180-as kernelre épül.

Folytatva a keresést, egy Windows kliens jelenlegi fejlesztésével találkozom GitHub. Rendben, a Windows 10 x64 támogatása meg van adva, de a kliens csak tesztkliens, így számos korlátozás van érvényben.

Tehát először kérik a tanúsítvány telepítését, és kétszer. Rendben, tegyük a Trusted Root Certification Authority és Trusted Publishers közé.

Ezután az operációs rendszert teszt módba kell helyeznie. Ezt egy csapat végzi

bcdedit.exe /set TESTSIGNING ON

Elsőre nem sikerült, közbe kerültem biztonságos csomagtartó. A letiltásához újra kell indítania az UEFI-t, és le kell állítania a biztonságos rendszerindítást. Egyes laptopmodelleknél előfordulhat, hogy felügyeleti jelszót kell beállítani.

Ezután indítsa el a Windows rendszert, és tegye meg bcdedit.exe /set TESTSIGNING ON
Vinda szerint minden rendben. Újraindítjuk, és a jobb alsó sarokban a Test Mode, version és OS build number szavakat látjuk.

Mire szolgálnak ezek a manipulációk? Aláíratlan illesztőprogram telepítéséhez USB/IP VHCI. Javasoljuk, hogy ezt az usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat fájlok letöltésével és rendszergazdai jogokkal való futtatásával tegye.

usbip.exe install

vagy a második módszer, a Legacy Hardware manuális telepítése. A második lehetőséget választottam, figyelmeztetést kaptam az aláíratlan illesztőprogram telepítéséről, és egyetértettem vele.

Ezután ellenőrizzük, hogy a parancs futtatásával tudunk-e csatlakozni egy távoli USB-eszközhöz:

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

kapunk egy listát az eszközökről:

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)

tévedésért usbip: hiba: nem sikerült megnyitni az usb id adatbázist Nem figyelünk, ez nem befolyásolja a munkát.

Most bekötjük a készüléket:

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

Ennyi, a Windows új eszközt észlelt, most már úgy lehet vele dolgozni, mintha fizikailag csatlakozna a laptophoz.

A kínai gravírozóval kellett egy kicsit szenvednem, mert amikor megpróbáltam a CH341SER driverét a gravírozóhoz mellékelt telepítőn (igen, egy Arduino engraveren) keresztül telepíteni, az USB/IP VHCI bedobta a Windowst BSOD-ba. Azonban a CH341SER illesztőprogram telepítése a az eszköz csatlakoztatása az usbip.exe-n keresztül megoldotta a problémát.

A lényeg: a gravírozó nyitott ablaknál és csukott ajtónál zajong és dohányzik a konyhában, a saját szoftveremen keresztül egy másik szobából nézem az égési folyamatot, ami nem érzékel fogást.

Felhasznált források:

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

Forrás: will.com

Hozzászólás