Evdə IP üzərindən USB

Bəzən USB vasitəsilə qoşulmuş bir cihazla laptopunuzun yanında masanın üstündə saxlamadan işləmək istəyirsiniz. Mənim cihazım 500 mVt lazerə malik Çin qravüraçısıdır ki, bu da yaxın təmasda olduqca xoşagəlməzdir. Gözlər üçün dərhal təhlükə ilə yanaşı, lazer əməliyyatı zamanı zəhərli yanma məhsulları buraxılır, buna görə də cihaz yaxşı havalandırılan bir ərazidə yerləşdirilməlidir və tercihen insanlardan təcrid olunmalıdır. Belə bir cihazı necə idarə edə bilərsiniz? Köhnə D-Link DIR-320 A2 marşrutlaşdırıcısı üçün layiqli istifadə tapmaq ümidi ilə OpenWRT repozitoriyasına baxarkən təsadüfən bu sualın cavabını tapdım. Qoşulmaq üçün daha əvvəl Habré-də təsvir ediləndən istifadə etmək qərarına gəldim. IP tuneli üzərindən USB, lakin onun quraşdırılması üçün bütün təlimatlar aktuallığını itirdi, ona görə də özümü yazıram.

OpenWRT, təqdimata ehtiyacı olmayan əməliyyat sistemidir, ona görə də onun quraşdırılmasını təsvir etməyəcəm. Routerim üçün OpenWrt 19.07.3-ün ən son stabil buraxılışını götürdüm və rejimi seçərək müştəri kimi onu əsas Wi-Fi giriş nöqtəsinə qoşdum. lan, firewall-a əzab verməmək üçün.

Server hissəsi

uyğun hərəkət edirik rəsmi göstərişlər. Ssh vasitəsilə qoşulduqdan sonra lazımi paketləri quraşdırın.

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

Sonra, cihazımızı marşrutlaşdırıcının USB portuna (mənim vəziyyətimdə cihazlar: USB hub, marşrutlaşdırıcının fayl sisteminin quraşdırıldığı bir flash sürücü (daxili yaddaşda yer olmaması səbəbindən) və birbaşa oymaçı).

Qoşulmuş cihazların siyahısını göstərməyə çalışaq:

root@OpenWrt:~# usbip list -l

Boş.

Axtarışda günahkar tapıldı, bunun kitabxana olduğu ortaya çıxdı libudev-fbsd.
Ən son işləyən versiyanı əl ilə depodan çıxarırıq libudev_3.2-1 memarlığınız üçün OpenWRT 17.01.7 buraxılışından, mənim vəziyyətimdə libudev_3.2-1_mipsel_mips32.ipk-dir. wget/scp istifadə edərək onu marşrutlaşdırıcının yaddaşına endirin və yenidən quraşdırın

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

Yoxlayırıq:

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-a qoşulmuş çinli bir adam bsuid aldı 1-1.4. Yadda saxla.

İndi demonu işə salaq:

root@OpenWrt:~# usbipd -D

və çinliləri bindim

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

Hər şeyin işlədiyini yoxlayaq:

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

Cihazı avtomatik olaraq əlavə etmək üçün redaktə edək /etc/rc.localəvvəl əlavə etməklə çıxış 0 aşağıdakılar:

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

Müştəri tərəfi

Openwrt.org saytından yuxarıdakı təlimatları istifadə edərək cihazı Windows 10-a qoşmağa çalışaq. Dərhal deyəcəyəm: ideya uğursuzluğa məhkumdur. Birincisi, yalnız Windows 7 x64 nəzərə alınır. İkincisi, Dropbox-dan 2014-cü ildə yamaqlanmış sürücünün endirilməsini təklif edən sourceforge.net-dəki mövzuya bir keçid verilir. Onu Windows 10 altında işə salmağa və cihazımıza qoşulmağa çalışdığımız zaman aşağıdakı xətanı alırıq:

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

*** ERROR: cannot find device

Bu, müştərinin 3.14 versiyasından köhnə nüvə üçün qurulmuş serverlə işləməməsi ilə əlaqədardır.
OpenWRT 19.07.3 üçün usbip server 4.14.180 nüvəsi üzərində qurulub.

Axtarışıma davam edərək, Windows müştərisinin hazırkı inkişafı ilə rastlaşıram GitHub. Ok, Windows 10 x64 üçün dəstək ifadə edilir, lakin müştəri yalnız sınaq müştərisidir, ona görə də bir sıra məhdudiyyətlər var.

Beləliklə, əvvəlcə sertifikatın quraşdırılmasını xahiş edirlər və iki dəfə. Yaxşı, gəlin onu Etibarlı Kök Sertifikatlaşdırma Təşkilatına və Etibarlı Nəşriyyatlara yerləşdirək.

Bundan sonra, əməliyyat sistemini test rejiminə keçirməlisiniz. Bu bir komanda tərəfindən edilir

bcdedit.exe /set TESTSIGNING ON

İlk dəfə bacarmadım, mane oldum təhlükəsiz açılış. Onu söndürmək üçün UEFI-də yenidən yükləməli və təhlükəsiz yükləməni söndürmək üçün təyin etməlisiniz. Bəzi noutbuk modelləri nəzarətçi parolunun təyin edilməsini tələb edə bilər.

Bundan sonra, Windows-a yükləyin və edin bcdedit.exe /TESTSIGNING ON seçin
Vinda hər şeyin qaydasında olduğunu deyir. Yenidən başladıq və aşağı sağ küncdə Test Modu, versiya və OS quruluş nömrəsi sözlərini görürük.

Bütün bu manipulyasiyalar nə üçündür? İmzasız sürücü quraşdırmaq üçün USB/IP VHCI. Bunu usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat fayllarını yükləmək və administrator hüquqları ilə işləmək tövsiyə olunur.

usbip.exe install

və ya ikinci üsul, Legacy Hardware-in əl ilə quraşdırılması. İkinci variantı seçdim, imzasız bir sürücü quraşdırmaq barədə xəbərdarlıq aldım və onunla razılaşdım.

Sonra, əmri işlətməklə uzaq USB cihazına qoşulmaq imkanımız olduğunu yoxlayırıq:

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

cihazların siyahısını alırıq:

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)

bir səhv üçün usbip: xəta: usb id verilənlər bazasını açmaq alınmadı Diqqət etmirik, işə təsir etmir.

İndi cihazı bağlayırıq:

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

Budur, Windows yeni bir cihaz aşkarladı, indi onunla fiziki olaraq noutbuka qoşulmuş kimi işləyə bilərsiniz.

Mən Çin qravüraçısı ilə bir az əziyyət çəkməli oldum, çünki onun CH341SER sürücüsünü qravüraçı ilə birlikdə gələn quraşdırıcı (bəli, Arduino oymaçısı) vasitəsilə quraşdırmaq istəyəndə USB/IP VHCI Windows-u BSOD-a saldı. Bununla belə, CH341SER sürücüsünün quraşdırılması üzrə cihazı usbip.exe vasitəsilə birləşdirmək problemi həll etdi.

Aşağı xətt: qravüraçı pəncərə açıq və qapı bağlı mətbəxdə səs-küy salır və siqaret çəkir, mən tutma hiss etməyən öz proqram təminatım vasitəsilə başqa otaqdan yanma prosesini izləyirəm.

İstifadə olunan mənbələr:

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

Mənbə: www.habr.com

Добавить комментарий