Dažreiz vÄlaties strÄdÄt ar ierÄ«ci, kas pievienota, izmantojot USB, neturot to uz galda blakus klÄpjdatoram. Mans aparÄts ir Ä·Ä«nieÅ”u gravieris ar 500 mW lÄzeru, kas cieÅ”Ä kontaktÄ ir diezgan nepatÄ«kami. Papildus tieÅ”ajam acu apdraudÄjumam lÄzera darbÄ«bas laikÄ izdalÄs toksiski sadegÅ”anas produkti, tÄpÄc ierÄ«ce jÄnovieto labi vÄdinÄmÄ vietÄ un vÄlams izolÄta no cilvÄkiem. KÄ jÅ«s varat kontrolÄt Å”Ädu ierÄ«ci? Es nejauÅ”i atradu atbildi uz Å”o jautÄjumu, pÄrlÅ«kojot OpenWRT repozitoriju, cerot atrast cienÄ«gu pielietojumu vecajam marÅ”rutÄtÄjam D-Link DIR-320 A2. Lai izveidotu savienojumu, es nolÄmu izmantot HabrĆ© iepriekÅ” aprakstÄ«to. USB, izmantojot IP tunelitomÄr visas instalÄÅ”anas instrukcijas ir zaudÄjuÅ”as savu nozÄ«mi, tÄpÄc es rakstu savu.
OpenWRT ir operÄtÄjsistÄma, kas nav jÄievada, tÄpÄc es neaprakstÄ«Å”u tÄs instalÄÅ”anu. Savam marÅ”rutÄtÄjam es izmantoju jaunÄko stabilo OpenWrt versiju 19.07.3 un pievienoju to galvenajam Wi-Fi piekļuves punktam kÄ klientu, atlasot režīmu. lan, lai nemocÄ«tu ugunsmÅ«ri.
Servera daļa
MÄs rÄ«kojamies saskaÅÄ ar
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb-ohci usbip-server usbip-client
PÄc tam mÄs pievienojam savu ierÄ«ci marÅ”rutÄtÄja USB portam (manÄ gadÄ«jumÄ ierÄ«ces: USB centrmezgls, zibatmiÅas disks, kurÄ ir uzstÄdÄ«ta marÅ”rutÄtÄja failu sistÄma (jo iekÅ”ÄjÄ atmiÅÄ trÅ«kst vietas), un tieÅ”i gravieris).
MÄÄ£inÄsim parÄdÄ«t pievienoto ierÄ«Äu sarakstu:
root@OpenWrt:~# usbip list -l
TukŔs.
GooglÄjot vaininieks tika atrasts, izrÄdÄ«jÄs, ka tÄ ir bibliotÄka libudev-fbsd.
MÄs ar roku izvelkam no krÄtuves jaunÄko darba versiju libudev_3.2-1 no OpenWRT 17.01.7 laidiena jÅ«su arhitektÅ«rai, manÄ gadÄ«jumÄ tas ir libudev_3.2-1_mipsel_mips32.ipk. Izmantojot wget/scp, lejupielÄdÄjiet to marÅ”rutÄtÄja atmiÅÄ un atkÄrtoti instalÄjiet
root@OpenWrt:~# opkg remove --force-depends libudev-fbsd
root@OpenWrt:~# opkg install libudev_3.2-1_mipsel_mips32.ipk
PÄrbaude:
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)
KÄds Ä·Ä«nietis, kurÅ” bija savienots ar USB centrmezglu, saÅÄma bsuid 1-1.4. Atcerieties.
Tagad sÄksim dÄmonu:
root@OpenWrt:~# usbipd -D
un bindim ķīnieŔus
root@OpenWrt:~# usbip bind -b 1-1.4
usbip: info: bind device on busid 1-1.4: complete
PÄrbaudÄ«sim, vai viss darbojas:
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
Lai turpmÄk automÄtiski saistÄ«tu ierÄ«ci, rediÄ£Äsim /etc/rc.localpievienojot iepriekÅ” izeja 0 Å”Ädi:
usbipd -D &
sleep 1
usbip bind -b 1-1.4
Klienta puse
MÄÄ£inÄsim savienot ierÄ«ci ar Windows 10, izmantojot iepriekÅ” sniegtos norÄdÄ«jumus no openwrt.org. Es teikÅ”u uzreiz: ideja ir lemta neveiksmei. PirmkÄrt, tiek Åemta vÄrÄ tikai Windows 7 x64. OtrkÄrt, tiek dota saite uz vÄ«tni vietnÄ sourceforge.net, kas iesaka lejupielÄdÄt 2014. gadÄ labotu draiveri no Dropbox. MÄÄ£inot to palaist operÄtÄjsistÄmÄ Windows 10 un izveidot savienojumu ar mÅ«su ierÄ«ci, tiek parÄdÄ«ta Å”Äda kļūda:
c:Utilsusbip>usbip -a 192.168.31.203 1-1.4
usbip for windows ($Id$)
*** ERROR: cannot find device
Tas ir saistÄ«ts ar faktu, ka klients nedarbojas ar serveri, kas izveidots kodolam, kas ir vecÄks par versiju 3.14.
OpenWRT 19.07.3 usbip serveris ir veidots uz kodola 4.14.180.
Turpinot meklÄÅ”anu, es saskaros ar paÅ”reizÄjo Windows klienta izstrÄdi
TÄtad, vispirms viÅi lÅ«dz instalÄt sertifikÄtu un divas reizes. Labi, ievietosim to Trusted Root Certification Authority un Trusted Publishers.
TÄlÄk jums jÄievieto operÄtÄjsistÄma testa režīmÄ. To dara komanda
bcdedit.exe /set TESTSIGNING ON
Man ar pirmo reizi neizdevÄs, es traucÄju nodroÅ”inÄt boot. Lai to atspÄjotu, jums ir jÄpÄrstartÄ UEFI un jÄiestata droÅ”a sÄknÄÅ”ana, lai to atspÄjotu. Dažiem klÄpjdatoru modeļiem var bÅ«t jÄiestata vadÄ«tÄja parole.
PÄc tam sÄknÄjiet sistÄmu Windows un dariet bcdedit.exe /set TESTSIGNING ON
Vinda saka, ka viss ir kÄrtÄ«bÄ. MÄs atsÄknÄjam vÄlreiz, un apakÅ”ÄjÄ labajÄ stÅ«rÄ« redzam vÄrdus Test Mode, version un OS build number.
Kam domÄtas visas Ŕīs manipulÄcijas? Lai instalÄtu neparakstÄ«tu draiveri USB/IP VHCI. Ieteicams to izdarÄ«t, lejupielÄdÄjot failus usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat un palaižot ar administratora tiesÄ«bÄm.
usbip.exe install
vai otrÄ metode, manuÄli instalÄjot mantoto aparatÅ«ru. IzvÄlÄjos otro variantu, saÅÄmu brÄ«dinÄjumu par neparakstÄ«ta draivera uzstÄdÄ«Å”anu un tam piekritu.
PÄc tam mÄs pÄrbaudÄm, vai mums ir iespÄja izveidot savienojumu ar attÄlo USB ierÄ«ci, izpildot komandu:
usbip.exe list -r <ip Š²Š°ŃŠµŠ³Š¾ ŃŠ¾ŃŃŠµŃŠ°>
mÄs iegÅ«stam ierÄ«Äu sarakstu:
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)
par kļūdu usbip: kļūda: neizdevÄs atvÄrt usb id datu bÄzi MÄs nepievÄrÅ”am uzmanÄ«bu, tas neietekmÄ darbu.
Tagad mÄs saistÄm ierÄ«ci:
c:Utilsusbip>usbip.exe attach -r 192.168.31.203 -b 1-1.4
Tas arÄ« viss, Windows ir atklÄjis jaunu ierÄ«ci, tagad ar to varat strÄdÄt tÄ, it kÄ tÄ bÅ«tu fiziski savienota ar klÄpjdatoru.
NÄcÄs nedaudz paciesties ar Ä·Ä«nieÅ”u gravieri, jo mÄÄ£inot uzinstalÄt tÄ CH341SER draiveri caur instalÄÅ”anas programmu, kas bija komplektÄ ar gravieri (jÄ, Arduino gravieri), USB/IP VHCI nometa Windows BSOD. TomÄr instalÄjot CH341SER draiveri lÄ«dz savienojot ierÄ«ci, izmantojot usbip.exe, problÄma tika atrisinÄta.
SecinÄjums: gravieris trokÅ”Åo un smÄÄ·Ä virtuvÄ ar atvÄrtu logu un aizvÄrtÄm durvÄ«m, degÅ”anas procesu skatos no citas telpas caur savu programmatÅ«ru, kas nejÅ«t Ä·erÅ”anu.
Izmantotie avoti:
Avots: www.habr.com