USB pa IP kunyumba

Nthawi zina mukufuna kugwira ntchito ndi chipangizo cholumikizidwa kudzera pa USB osachisunga patebulo pafupi ndi laputopu yanu. Chipangizo changa ndi chojambula cha ku China chokhala ndi laser 500 mW, yomwe imakhala yosasangalatsa mukamalumikizana kwambiri. Kuphatikiza pa kuopsa kwa maso, mankhwala oyaka moto amamasulidwa panthawi ya opaleshoni ya laser, choncho chipangizocho chiyenera kukhala pamalo abwino, ndipo makamaka otalikirana ndi anthu. Kodi mungasamalire bwanji chipangizo choterocho? Mwangozi ndinapeza yankho la funsoli ndikufufuza malo a OpenWRT ndikuyembekeza kupeza ntchito yoyenera ya rauta yakale ya D-Link DIR-320 A2. Kuti ndilumikizane, ndidaganiza zogwiritsa ntchito zomwe tafotokoza kale za HabrΓ©. USB pamwamba pa IP tunnel, komabe, malangizo onse oyiyika asiya kufunika, ndiye ndikulemba yanga.

OpenWRT ndi makina ogwiritsira ntchito omwe safunikira kuyambitsidwa, kotero sindingafotokoze kukhazikitsidwa kwake. Kwa rauta yanga, ndidatenga kutulutsidwa kwaposachedwa kwa OpenWrt 19.07.3, ndikulumikizana ndi malo ofikira a Wi-Fi monga kasitomala, ndikusankha njira. LAN, kuti musazunze chowotcha moto.

Gawo la seva

Timachita molingana ndi malangizo ovomerezeka. Mukalumikiza kudzera pa ssh, yikani mapepala ofunikira.

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

Kenaka, timagwirizanitsa chipangizo chathu ku doko la USB la router (kwa ine, zipangizo: USB hub, flash drive yomwe fayilo ya rauta imayikidwa (chifukwa cha kusowa kwa malo osungirako mkati), ndipo, mwachindunji, wolemba).

Tiyeni tiyese kuwonetsa mndandanda wa zida zolumikizidwa:

root@OpenWrt:~# usbip list -l

Chopanda kanthu.

Ndi googling wolakwa anapezeka, zinapezeka kuti laibulale libudev-fbsd.
Timatulutsa mtundu waposachedwa kwambiri wogwirira ntchito m'nkhokwe ndi dzanja libudev_3.2-1 kuchokera ku OpenWRT 17.01.7 kumasulidwa kwa zomangamanga zanu, kwa ine ndi libudev_3.2-1_mipsel_mips32.ipk. Pogwiritsa ntchito wget/scp, koperani mu kukumbukira kwa rauta ndikuyiyikanso

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

Kufufuza:

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)

Bambo waku China wolumikizidwa ndi doko la USB adalandira bsuid 1-1.4. Kumbukirani.

Tsopano tiyeni tiyambe daemon:

root@OpenWrt:~# usbipd -D

ndi kumanga Chinese

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

Tiyeni tiwone ngati zonse zikuyenda:

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

Kuti mumange chipangizocho chokha, tiyeni tisinthe /etc/rc.localpowonjezera kale tulukani 0 Otsatirawa:

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

Mbali ya kasitomala

Tiyeni tiyese kulumikiza chipangizocho Windows 10 pogwiritsa ntchito malangizo omwe ali pamwambawa kuchokera ku openwrt.org. Ndidzati nthawi yomweyo: lingalirolo lidzalephera. Choyamba, Windows 7 x64 yokha imaganiziridwa. Kachiwiri, ulalo umaperekedwa ku ulusi pa sourceforge.net, womwe umalimbikitsa kutsitsa dalaivala yemwe adalumikizidwa mu 2014 kuchokera ku Dropbox. Tikayesa kuyendetsa pansi Windows 10 ndikulumikiza ku chipangizo chathu, timapeza zolakwika zotsatirazi:

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

*** ERROR: cannot find device

Izi ndichifukwa choti kasitomala sagwira ntchito ndi seva yopangidwira kernel yakale kuposa mtundu wa 3.14.
Seva ya usbip ya OpenWRT 19.07.3 imamangidwa pa kernel 4.14.180.

Kupitiliza kusaka kwanga, ndakumana ndi chitukuko chaposachedwa cha kasitomala wa Windows github. Chabwino, chithandizo cha Windows 10 x64 yanenedwa, koma kasitomala ndi kasitomala woyesera, kotero pali zolephera zingapo.

Kotero, choyamba amafunsa kuti akhazikitse chiphasocho, ndipo kawiri. Chabwino, tiyeni tiziyike mu Trusted Root Certification Authority ndi Trusted Publishers.

Kenako, muyenera kuyika opareshoni mu mode mayeso. Izi zimachitidwa ndi gulu

bcdedit.exe /set TESTSIGNING ON

Sindinachite bwino nthawi yoyamba, ndidalowa m'njira boot yotetezeka. Kuti muyimitse, muyenera kuyambiranso ku UEFI ndikukhazikitsa boot yotetezeka kuti muyimitse. Mitundu ina ya laputopu ingafunike kukhazikitsa mawu achinsinsi a woyang'anira.

Pambuyo pake, yambitsani Windows ndikuchita bcdedit.exe/set TESTSIGNING ON
Vinda akuti zonse zili bwino. Timayambiranso, ndipo tikuwona pakona yakumanja ya mawu akuti Test Mode, mtundu ndi OS build number.

Kodi chinyengo chonsechi ndi chiyani? Kukhazikitsa dalaivala wosasainidwa USB/IP VHCI. Ndibwino kuti tichite izi potsitsa mafayilo a usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat, ndi kuthamanga ndi maufulu otsogolera

usbip.exe install

kapena njira yachiwiri, kukhazikitsa Legacy Hardware pamanja. Ndinasankha njira yachiwiri, ndinalandira chenjezo la kukhazikitsa dalaivala wosasainidwa ndipo ndinagwirizana nazo.

Kenako, tikuwona kuti tili ndi kuthekera kolumikizana ndi chipangizo chakutali cha USB poyendetsa lamulo:

usbip.exe list -r <ip вашСго Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°>

timapeza mndandanda wa zida:

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)

chifukwa cholakwitsa usbip: zolakwika: zalephera kutsegula nkhokwe ya ID ya usb Sitisamala, sizikhudza ntchito.

Tsopano timamanga chipangizocho:

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

Ndizo zonse, Windows yazindikira chipangizo chatsopano, tsopano mutha kugwira ntchito nayo ngati kuti idalumikizidwa ndi laputopu.

Ndidavutika pang'ono ndi chojambula cha ku China, chifukwa nditayesa kukhazikitsa dalaivala wake wa CH341SER kudzera pa choyika chomwe chinabwera ndi chojambula (inde, chojambula cha Arduino), USB/IP VHCI idagwetsa Windows mu BSOD. Komabe, kukhazikitsa dalaivala wa CH341SER mpaka kulumikiza chipangizocho kudzera pa usbip.exe kunathetsa vutoli.

Mfundo yofunika kwambiri: wolembayo amapanga phokoso ndi kusuta kukhitchini ndi zenera lotseguka ndi chitseko chotsekedwa, ndimayang'ana njira yoyaka kuchokera ku chipinda china kupyolera mu mapulogalamu anga, omwe samamva kugwira.

Kochokera:

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

Source: www.habr.com

Kuwonjezera ndemanga