Гэртээ IP дээр USB

Заримдаа та зөөврийн компьютерийнхээ дэргэдэх ширээн дээр тавиагүйгээр USB-ээр холбогдсон төхөөрөмжтэй ажиллахыг хүсдэг. Миний төхөөрөмж бол 500 мВт-ын лазер бүхий хятад сийлбэр бөгөөд ойр дотно байх үед маш тааламжгүй байдаг. Нүдэнд шууд аюул учруулахаас гадна лазерын үйл ажиллагааны явцад шаталтын хортой бүтээгдэхүүн ялгардаг тул төхөөрөмжийг агааржуулалт сайтай газар байрлуулж, хүмүүсээс тусгаарлах нь дээр. Ийм төхөөрөмжийг хэрхэн хянах вэ? Хуучин D-Link DIR-320 A2 чиглүүлэгчийн зохистой хэрэглээг олно гэж бодож OpenWRT репозиторыг үзэж байхдаа би энэ асуултын хариултыг санамсаргүйгээр олсон. Холбохын тулд би өмнө нь Habré дээр дурдсаныг ашиглахаар шийдсэн. IP туннель дээрх USBГэсэн хэдий ч үүнийг суулгах бүх заавар нь ач холбогдолгүй болсон тул би өөрөө бичиж байна.

OpenWRT бол танилцуулга шаарддаггүй үйлдлийн систем учраас би түүний суулгацыг тайлбарлахгүй. Би чиглүүлэгчийнхээ хувьд OpenWrt 19.07.3-ын хамгийн сүүлийн үеийн тогтвортой хувилбарыг авч, горимыг сонгон үйлчлүүлэгчийн хувьд үндсэн Wi-Fi хандалтын цэгт холбосон. лан, галт ханыг зовоохгүйн тулд.

Серверийн хэсэг

Бид дагуу ажилладаг албан ёсны заавар. Ssh-ээр холбогдсоны дараа шаардлагатай багцуудыг суулгана уу.

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

Дараа нь бид төхөөрөмжөө чиглүүлэгчийн USB порт руу холбодог (миний хувьд төхөөрөмжүүд: USB төв, чиглүүлэгчийн файлын систем суурилуулсан флаш диск (дотоод санах ойн зай байхгүйн улмаас) болон шууд сийлбэрчин).

Холбогдсон төхөөрөмжүүдийн жагсаалтыг харуулахыг хичээцгээе:

root@OpenWrt:~# usbip list -l

Хоосон.

Гооглоод үзэхэд гэмт хэрэгтэн олдсон чинь номын сан болж таарсан либудев-fbsd.
Бид хамгийн сүүлийн үеийн хувилбарыг репозитороос гараараа гаргаж авдаг libudev_3.2-1 Таны архитектурт зориулсан OpenWRT 17.01.7 хувилбараас миний хувьд libudev_3.2-1_mipsel_mips32.ipk байна. Wget/scp ашиглан чиглүүлэгчийн санах ой руу татаж аваад дахин суулгана уу

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)

USB hub-д холбогдсон хятад эр bsuid хүлээн авлаа 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

Төхөөрөмжийг автоматаар холбохын тулд засъя /etc/rc.localөмнө нэмэх замаар гарах 0 дараах байдлаар:

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

Үйлчлүүлэгч тал

Openwrt.org дээрх дээрх зааврыг ашиглан төхөөрөмжийг Windows 10-д холбохыг оролдъё. Би шууд хэлье: санаа нь бүтэлгүйтэх болно. Нэгдүгээрт, зөвхөн Windows 7 x64 гэж үздэг. Хоёрдугаарт, 2014 онд засварласан драйверийг Dropbox-оос татаж авахыг санал болгож буй sourceforge.net сайт дээрх холбоосыг өгсөн болно. Бид үүнийг Windows 10 дээр ажиллуулж, төхөөрөмждөө холбогдохыг оролдоход дараах алдаа гарч ирнэ.

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

*** ERROR: cannot find device

Энэ нь үйлчлүүлэгч нь 3.14 хувилбараас хуучин цөмд зориулж бүтээсэн сервертэй ажилладаггүйтэй холбоотой юм.
OpenWRT 19.07.3-д зориулсан usbip сервер нь 4.14.180 цөм дээр суурилагдсан.

Хайлтаа үргэлжлүүлэхдээ би Windows клиентийн одоогийн хөгжүүлэлтийг олж харлаа github. За, Windows 10 x64-ийн дэмжлэг гэж заасан боловч үйлчлүүлэгч нь зөвхөн туршилтын үйлчлүүлэгч тул хэд хэдэн хязгаарлалттай.

Тиймээс эхлээд тэд гэрчилгээг суулгахыг хүсч, хоёр удаа. За, үүнийг Итгэмжлэгдсэн эх гэрчилгээжүүлэх газар болон итгэмжлэгдсэн нийтлэгчид оруулъя.

Дараа нь та үйлдлийн системийг туршилтын горимд оруулах хэрэгтэй. Үүнийг баг гүйцэтгэдэг

bcdedit.exe /set TESTSIGNING ON

Би анх удаа амжилтад хүрээгүй, би саад болсон аюулгүй ачаалах. Үүнийг идэвхгүй болгохын тулд та UEFI руу дахин ачаалж, аюулгүй ачаалах тохиргоог идэвхгүй болгох хэрэгтэй. Зөөврийн компьютерын зарим загварт удирдагчийн нууц үгийг тохируулах шаардлагатай байж болно.

Үүний дараа Windows-г ачаалж, хийнэ үү bcdedit.exe /TESTSIGNING ON-г тохируулна уу
Винда бүх зүйл зүгээр гэж хэлсэн. Бид дахин ачаалж, баруун доод буланд Туршилтын горим, хувилбар, үйлдлийн системийн бүтээх дугаар гэсэн үгсийг харна.

Эдгээр бүх заль мэх нь юунд зориулагдсан бэ? Гарын үсэг зураагүй драйвер суулгахын тулд USB/IP VHCI. Үүнийг usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat файлуудыг татаж аваад администраторын эрхээр ажиллуулахыг зөвлөж байна.

usbip.exe install

эсвэл хоёр дахь арга, Legacy Hardware-г гараар суулгах. Би хоёр дахь сонголтыг сонгоод, гарын үсэг зураагүй драйвер суулгах талаар анхааруулга хүлээн авч, үүнтэй санал нийлэв.

Дараа нь бид дараах тушаалыг ажиллуулж алсын USB төхөөрөмжтэй холбогдох боломжтой эсэхийг шалгана.

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)

алдааны төлөө usbip: алдаа: usb id мэдээллийн санг нээж чадсангүй Бид анхаарал хандуулдаггүй, энэ нь ажилд нөлөөлөхгүй.

Одоо бид төхөөрөмжийг холбоно:

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

Ингээд л Windows шинэ төхөөрөмж илрүүллээ, одоо та зөөврийн компьютерт биечлэн холбогдсон мэт түүнтэй ажиллах боломжтой.

Би хятад сийлбэрчтэй бага зэрэг зовж шаналж байсан, учир нь би сийлбэртэй (тиймээ, Arduino сийлбэрч) суулгагчаар дамжуулан түүний CH341SER драйверийг суулгах гэж оролдох үед USB/IP VHCI Windows-ийг BSOD руу буулгасан. Гэсэн хэдий ч CH341SER драйверийг суулгаж байна нь төхөөрөмжийг usbip.exe-ээр холбосноор асуудлыг шийдсэн.

Доод шугам: сийлбэрч цонх онгорхой, хаалгыг нь хаасан гал тогооны өрөөнд чимээ шуугиан үүсгэж, тамхи татдаг, би өөр өрөөнөөс шатаж буй процессыг өөрийн программ хангамжаар дамжуулан хардаг бөгөөд энэ нь баригдсаныг мэдэрдэггүй.

Ашигласан эх сурвалжууд:

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

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх