ఇంట్లో IP ద్వారా USB

కొన్నిసార్లు మీరు మీ ల్యాప్‌టాప్ పక్కన ఉన్న టేబుల్‌పై ఉంచకుండా USB ద్వారా కనెక్ట్ చేయబడిన పరికరంతో పని చేయాలనుకుంటున్నారు. నా పరికరం 500 mW లేజర్‌తో కూడిన చైనీస్ చెక్కినది, ఇది సన్నిహితంగా ఉన్నప్పుడు చాలా అసహ్యకరమైనది. కళ్ళకు తక్షణ ప్రమాదంతో పాటు, లేజర్ ఆపరేషన్ సమయంలో విషపూరిత దహన ఉత్పత్తులు విడుదలవుతాయి, కాబట్టి పరికరం బాగా వెంటిలేషన్ చేయబడిన ప్రదేశంలో ఉండాలి మరియు ప్రజల నుండి వేరుచేయడం మంచిది. అటువంటి పరికరాన్ని మీరు ఎలా నియంత్రించగలరు? పాత D-Link DIR-320 A2 రూటర్‌కి తగిన ఉపయోగాన్ని కనుగొనాలనే ఆశతో OpenWRT రిపోజిటరీని బ్రౌజ్ చేస్తున్నప్పుడు నేను అనుకోకుండా ఈ ప్రశ్నకు సమాధానాన్ని కనుగొన్నాను. కనెక్ట్ చేయడానికి, నేను ఇంతకు ముందు హబ్రేలో వివరించిన దాన్ని ఉపయోగించాలని నిర్ణయించుకున్నాను. USB ఓవర్ IP టన్నెల్, అయితే, దీన్ని ఇన్‌స్టాల్ చేయడానికి సంబంధించిన అన్ని సూచనలు వాటి ఔచిత్యాన్ని కోల్పోయాయి, కాబట్టి నేను నా స్వంతంగా వ్రాస్తున్నాను.

OpenWRT అనేది పరిచయం అవసరం లేని ఆపరేటింగ్ సిస్టమ్, కాబట్టి నేను దాని ఇన్‌స్టాలేషన్‌ను వివరించను. నా రౌటర్ కోసం, నేను OpenWrt 19.07.3 యొక్క తాజా స్థిరమైన విడుదలను తీసుకున్నాను మరియు మోడ్‌ను ఎంచుకుని, దానిని క్లయింట్‌గా ప్రధాన Wi-Fi యాక్సెస్ పాయింట్‌కి కనెక్ట్ చేసాను LAN, కాబట్టి ఫైర్‌వాల్‌ను హింసించకూడదు.

సర్వర్ భాగం

మేం ప్రకారమే వ్యవహరిస్తాం అధికారిక సూచనలు. ssh ద్వారా కనెక్ట్ అయిన తర్వాత, అవసరమైన ప్యాకేజీలను ఇన్‌స్టాల్ చేయండి.

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

తరువాత, మేము మా పరికరాన్ని రౌటర్ యొక్క USB పోర్ట్‌కి కనెక్ట్ చేస్తాము (నా విషయంలో, పరికరాలు: USB హబ్, రౌటర్ ఫైల్ సిస్టమ్ మౌంట్ చేయబడిన ఫ్లాష్ డ్రైవ్ (అంతర్గత నిల్వలో స్థలం లేకపోవడం వల్ల), మరియు, నేరుగా, చెక్కేవాడు).

కనెక్ట్ చేయబడిన పరికరాల జాబితాను ప్రదర్శించడానికి ప్రయత్నిద్దాం:

root@OpenWrt:~# usbip list -l

ఖాళీ.

గూగ్లింగ్ చేయడం ద్వారా నేరస్థుడిని కనుగొన్నారు, అది లైబ్రరీగా మారింది libudev-fbsd.
మేము రిపోజిటరీ నుండి తాజా పని సంస్కరణను చేతితో తీసివేస్తాము లిబుదేవ్_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 హబ్‌కి కనెక్ట్ చేయబడిన ఒక చైనీస్ వ్యక్తికి 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 మాత్రమే పరిగణించబడుతుంది. రెండవది, sourceforge.netలోని థ్రెడ్‌కి లింక్ ఇవ్వబడింది, ఇది డ్రాప్‌బాక్స్ నుండి 2014లో ప్యాచ్ చేసిన డ్రైవర్‌ను డౌన్‌లోడ్ చేయమని సూచిస్తుంది. మేము దీన్ని 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లోకి రీబూట్ చేయాలి మరియు డిసేబుల్ చేయడానికి సురక్షిత బూట్‌ని సెట్ చేయాలి. కొన్ని ల్యాప్‌టాప్ మోడల్‌లకు సూపర్‌వైజర్ పాస్‌వర్డ్‌ని సెట్ చేయడం అవసరం కావచ్చు.

ఆ తరువాత, విండోస్‌లోకి బూట్ చేయండి మరియు చేయండి bcdedit.exe /సెట్ టెస్టిగ్నింగ్ ఆన్
విందా అంతా ఓకే చెప్పింది. మేము మళ్లీ రీబూట్ చేస్తాము మరియు దిగువ కుడి మూలలో టెస్ట్ మోడ్, వెర్షన్ మరియు OS బిల్డ్ నంబర్ అనే పదాలను చూస్తాము.

ఈ అవకతవకలన్నీ దేనికి? సంతకం చేయని డ్రైవర్‌ను ఇన్‌స్టాల్ చేయడానికి USB/IP VHCI. usbip.exe, usbip_vhci.sys, usbip_vhci.inf, usbip_vhci.cer, usbip_vhci.cat ఫైల్‌లను డౌన్‌లోడ్ చేయడం ద్వారా మరియు నిర్వాహక హక్కులతో అమలు చేయడం ద్వారా దీన్ని చేయాలని సూచించబడింది.

usbip.exe install

లేదా రెండవ పద్ధతి, లెగసీ హార్డ్‌వేర్‌ను మాన్యువల్‌గా ఇన్‌స్టాల్ చేయడం. నేను రెండవ ఎంపికను ఎంచుకున్నాను, సంతకం చేయని డ్రైవర్‌ను ఇన్‌స్టాల్ చేయడం గురించి హెచ్చరికను అందుకున్నాను మరియు దానితో అంగీకరించాను.

తరువాత, మేము ఆదేశాన్ని అమలు చేయడం ద్వారా రిమోట్ 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 కొత్త పరికరాన్ని గుర్తించింది, ఇప్పుడు మీరు ల్యాప్‌టాప్‌కు భౌతికంగా కనెక్ట్ చేయబడినట్లుగా దానితో పని చేయవచ్చు.

నేను చైనీస్ ఎన్‌గ్రేవర్‌తో కొంచెం బాధపడాల్సి వచ్చింది, ఎందుకంటే నేను దాని CH341SER డ్రైవర్‌ను ఇన్‌గ్రేవర్ (అవును, ఆర్డునో ఎన్‌గ్రేవర్)తో వచ్చిన ఇన్‌స్టాలర్ ద్వారా ఇన్‌స్టాల్ చేయడానికి ప్రయత్నించినప్పుడు USB/IP VHCI విండోస్‌ను BSODలోకి వదిలివేసింది. అయితే, CH341SER డ్రైవర్‌ను ఇన్‌స్టాల్ చేస్తోంది కు usbip.exe ద్వారా పరికరాన్ని కనెక్ట్ చేయడం సమస్యను పరిష్కరించింది.

బాటమ్ లైన్: చెక్కేవాడు కిటికీ తెరిచి మరియు తలుపు మూసి వంటగదిలో శబ్దం చేస్తాడు మరియు పొగ త్రాగుతున్నాడు, నేను నా స్వంత సాఫ్ట్‌వేర్ ద్వారా మరొక గది నుండి బర్నింగ్ ప్రక్రియను చూస్తున్నాను, అది క్యాచ్‌ను గ్రహించదు.

ఉపయోగించిన మూలాలు:

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

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి