УСБ преко ИП код куће

Понекад желите да радите са уређајем повезаним преко УСБ-а, а да га не држите на столу поред лаптопа. Мој уређај је кинески гравер са ласером од 500 мВ, који је прилично непријатан у блиском контакту. Поред непосредне опасности за очи, током рада ласера ​​се ослобађају токсични производи сагоревања, тако да уређај треба да се налази у добро проветреном простору, а по могућности изолован од људи. Како можете контролисати такав уређај? Случајно сам пронашао одговор на ово питање док сам прегледао ОпенВРТ спремиште у нади да ћу пронаћи достојну употребу за стари Д-Линк ДИР-320 А2 рутер. За повезивање, одлучио сам да користим онај који је раније описан на Хабре. УСБ преко ИП тунела, међутим, сва упутства за инсталирање су изгубила на важности, па пишем своје.

ОпенВРТ је оперативни систем који не треба представљати, тако да нећу описивати његову инсталацију. За свој рутер, узео сам најновије стабилно издање ОпенВрт 19.07.3 и повезао га на главну Ви-Фи приступну тачку као клијент, бирајући режим ЛАН, како не би мучили заштитни зид.

Серверски део

Понашамо се према службена упутства. Након повезивања преко ссх-а, инсталирајте потребне пакете.

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

Затим повезујемо наш уређај са УСБ портом рутера (у мом случају, уређаји: УСБ чвориште, флеш диск на који је монтиран систем датотека рутера (због недостатка простора на интерној меморији) и, директно, гравер).

Покушајмо да прикажемо листу повезаних уређаја:

root@OpenWrt:~# usbip list -l

Празан.

Гуглањем је пронађен кривац, испоставило се да је у питању библиотека либудев-фбсд.
Ручно извлачимо најновију радну верзију из спремишта либудев_3.2-1 из издања ОпенВРТ 17.01.7 за вашу архитектуру, у мом случају то је либудев_3.2-1_мипсел_мипс32.ипк. Користећи вгет/сцп, преузмите га у меморију рутера и поново га инсталирајте

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

Проверавамо:

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)

Кинез повезан на УСБ чвориште добио је бсуид 1-1.4. Запамтити.

Сада покренимо демона:

root@OpenWrt:~# usbipd -D

и биндим Кинезе

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

Хајде да проверимо да ли све ради:

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

Да бисмо даље аутоматски повезали уређај, уредимо /етц/рц.лоцалдодавањем пре излаз 0 следеће:

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

На страни клијента

Покушајмо да повежемо уређај са Виндовс 10 користећи горња упутства са опенврт.орг. Одмах ћу рећи: идеја је осуђена на пропаст. Прво, разматра се само Виндовс 7 к64. Друго, дата је веза до теме на соурцефорге.нет, која предлаже преузимање драјвера закрпљеног 2014. са Дропбок-а. Када покушамо да га покренемо под Виндовс 10 и повежемо се са нашим уређајем, добијамо следећу грешку:

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

*** ERROR: cannot find device

Ово је због чињенице да клијент не ради са сервером направљеним за кернел старије од верзије 3.14.
Усбип сервер за ОпенВРТ 19.07.3 је изграђен на кернелу 4.14.180.

Настављајући своју потрагу, наишао сам на тренутни развој Виндовс клијента за гитхуб. Ок, наведена је подршка за Виндовс 10 к64, али клијент је само тестни клијент, тако да постоји низ ограничења.

Дакле, прво траже да инсталирају сертификат, и то два пута. У реду, ставимо га у Поуздано тело за сертификацију корена и Поуздане издаваче.

Затим морате да ставите оперативни систем у тестни режим. Ово ради тим

bcdedit.exe /set TESTSIGNING ON

Први пут нисам успео, испречио сам се обезбеди покретање. Да бисте га онемогућили, морате поново да покренете УЕФИ и подесите безбедно покретање на онемогућено. Неки модели лаптопова могу захтевати постављање лозинке надзора.

Након тога, покрените Виндовс и урадите бцдедит.еке /сет ТЕСТСИГНИНГ ОН
Винда каже да је све у реду. Поново покрећемо систем и видимо у доњем десном углу речи Тест Моде, верзија и број верзије ОС-а.

Чему служе све ове манипулације? Да бисте инсталирали непотписани драјвер УСБ/ИП ВХЦИ. Предлаже се да се то уради преузимањем датотека усбип.еке, усбип_вхци.сис, усбип_вхци.инф, усбип_вхци.цер, усбип_вхци.цат и покретањем са администраторским правима

usbip.exe install

или други метод, ручно инсталирање застарелог хардвера. Изабрао сам другу опцију, добио сам упозорење о инсталирању непотписаног драјвера и сложио се са тим.

Затим проверавамо да ли имамо могућност да се повежемо са удаљеним УСБ уређајем тако што ћемо покренути команду:

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

добијамо листу уређаја:

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)

за грешку усбип: грешка: није успело отварање базе података усб ид Не обраћамо пажњу, то не утиче на рад.

Сада везујемо уређај:

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

То је то, Виндовс је открио нови уређај, сада можете да радите са њим као да је физички повезан са лаптопом.

Морао сам мало да се мучим са кинеским гравером, јер када сам покушао да инсталирам његов драјвер ЦХ341СЕР преко инсталатера који је дошао уз гравер (да, Ардуино гравер), УСБ/ИП ВХЦИ је испустио Виндовс у БСОД. Међутим, инсталирање драјвера ЦХ341СЕР до повезивање уређаја преко усбип.еке решило је проблем.

Закључак: гравер прави буку и пуши у кухињи са отвореним прозором и затвореним вратима, гледам процес паљења из друге собе преко сопственог софтвера, који не осећа кваку.

Коришћени извори:

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

Извор: ввв.хабр.цом

Додај коментар