အိမ်တွင် IP ကျော် USB

တစ်ခါတစ်ရံတွင် သင်သည် သင့်လက်ပ်တော့ဘေးရှိ စားပွဲပေါ်တွင် မထားရှိဘဲ USB မှတစ်ဆင့် ချိတ်ဆက်ထားသော စက်ပစ္စည်းနှင့် အလုပ်လုပ်လိုပါသည်။ ကျွန်ုပ်၏စက်ပစ္စည်းသည် 500 mW လေဆာပါရှိသော တရုတ်ကမ္ပည်းပြားဖြစ်ပြီး၊ အနီးကပ်ထိတွေ့ရသောအခါတွင် အလွန်စိတ်မကောင်းဖြစ်ရပါသည်။ မျက်စိကို ချက်ခြင်းအန္တရာယ်အပြင် လေဆာလည်ပတ်စဉ်အတွင်း အဆိပ်လောင်ကျွမ်းစေသည့် ထုတ်ကုန်များကို ထုတ်လွှတ်သောကြောင့် ကိရိယာကို လေဝင်လေထွက်ကောင်းသောနေရာတွင် ထားသင့်ပြီး လူများနှင့် ပိုကောင်းအောင် ခွဲထားသင့်သည်။ ထိုကဲ့သို့သောကိရိယာကို သင်မည်သို့ထိန်းချုပ်နိုင်သနည်း။ D-Link DIR-320 A2 router အဟောင်းအတွက် ထိုက်တန်သောအသုံးပြုမှုကို ရှာဖွေရန်မျှော်လင့်ချက်ဖြင့် OpenWRT repository ကိုရှာဖွေစဉ် ဤမေးခွန်းအတွက် အဖြေကို မတော်တဆတွေ့ရှိခဲ့ပါသည်။ ချိတ်ဆက်ရန်၊ အစောပိုင်း Habre တွင်ဖော်ပြထားသည့်အရာကို အသုံးပြုရန် ဆုံးဖြတ်ခဲ့သည်။ USB အိုင်ပီဥမင်လိုဏ်ခေါင်းကျော်သို့သော်၊ ၎င်းကိုထည့်သွင်းခြင်းအတွက် လမ်းညွှန်ချက်အားလုံးသည် ၎င်းတို့၏ဆက်စပ်မှုကို ဆုံးရှုံးသွားသောကြောင့် ကျွန်ုပ်ကိုယ်တိုင်ရေးနေပါသည်။

OpenWRT သည် မိတ်ဆက်ရန်မလိုအပ်သော လည်ပတ်မှုစနစ်တစ်ခုဖြစ်သောကြောင့် ၎င်း၏ထည့်သွင်းမှုကို ကျွန်ုပ်ဖော်ပြမည်မဟုတ်ပါ။ ကျွန်ုပ်၏ router အတွက်၊ OpenWrt 19.07.3 ၏နောက်ဆုံးထွက်တည်ငြိမ်သောထွက်ရှိမှုကိုယူကာ ၎င်းကို client တစ်ခုအနေဖြင့် ပင်မ Wi-Fi ချိတ်ဆက်မှုအမှတ်နှင့် ချိတ်ဆက်ပြီး မုဒ်ကိုရွေးချယ်ကာ၊ LAN ကိုFirewall ကိုမညှဉ်းဆဲစေရန်။

Server အပိုင်း

ကျွန်တော်တို့က အတိုင်းဆောင်ရွက်တယ်။ တရားဝင်ညွှန်ကြားချက်. ssh မှတစ်ဆင့် ချိတ်ဆက်ပြီးနောက် လိုအပ်သော ပက်ကေ့ဂျ်များကို ထည့်သွင်းပါ။

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

ထို့နောက် ကျွန်ုပ်တို့၏စက်ပစ္စည်းအား router ၏ USB အပေါက်သို့ ချိတ်ဆက်ပါ (ကျွန်ုပ်တို့ကိစ္စတွင်၊ စက်ပစ္စည်းများ- USB hub၊ router ၏ဖိုင်စနစ်အား တပ်ဆင်ထားသည့် flash drive ( internal storage တွင် နေရာမရှိခြင်းကြောင့်) နှင့် တိုက်ရိုက်၊ ကမ္ပည်းထိုးခြင်း)။

ချိတ်ဆက်ထားသော စက်များစာရင်းကို ပြသရန် ကြိုးစားကြပါစို့။

root@OpenWrt:~# usbip list -l

ဗလာ။

တရားခံကို ဂူသွင်းခြင်းဖြင့် စာကြည့်တိုက်တစ်ခု ဖြစ်သွားသည်။ libudev-fbsd.
ကျွန်ုပ်တို့သည် သိုလှောင်ခန်းမှ နောက်ဆုံးထွက်အလုပ်လုပ်ဗားရှင်းကို လက်ဖြင့်ဆွဲထုတ်ပါသည်။ libudev_3.2-1 သင့်ဗိသုကာအတွက် OpenWRT 17.01.7 ထုတ်ဝေမှုမှ၊ ကျွန်ုပ်ကိစ္စတွင် ၎င်းသည် libudev_3.2-1_mipsel_mips32.ipk ဖြစ်သည်။ wget/scp ကိုအသုံးပြု၍ router ၏ memory ထဲသို့ ဒေါင်းလုဒ်လုပ်ပြီး ၎င်းကို ပြန်လည်ထည့်သွင်းပါ။

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. သတိရပါ။

ကဲ daemon ကို စလိုက်ရအောင်။

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အရင်ထည့်ခြင်းအားဖြင့် ထွက်ပေါက် ၃၁ အောက်ပါ:

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

ဖောက်သည်ဘက်

openwrt.org မှ အထက်ဖော်ပြပါ ညွှန်ကြားချက်များကို အသုံးပြု၍ စက်ပစ္စည်းကို Windows 10 သို့ ချိတ်ဆက်ရန် ကြိုးစားကြပါစို့။ ငါချက်ချင်းပြောမယ်: အကြံအစည်သည်ရှုံးနိမ့်ခြင်းသို့ရောက်လိမ့်မည်။ ပထမဦးစွာ Windows 7 x64 ကိုသာထည့်သွင်းစဉ်းစားသည်။ ဒုတိယအနေနှင့်၊ Dropbox မှ 2014 ခုနှစ်တွင် ဖာထေးထားသော driver ကိုဒေါင်းလုဒ်လုပ်ရန် အကြံပြုသည့် sourceforge.net တွင် လင့်ခ်တစ်ခုအား ပေးထားပါသည်။ Windows 10 အောက်တွင် ၎င်းကို run ပြီး ကျွန်ုပ်တို့၏စက်ပစ္စည်းသို့ ချိတ်ဆက်ရန် ကြိုးစားသောအခါတွင်၊ ကျွန်ုပ်တို့သည် အောက်ပါ အမှားအယွင်းကို ရရှိပါသည်။

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

*** ERROR: cannot find device

၎င်းမှာ ဗားရှင်း 3.14 ထက်ဟောင်းသော kernel အတွက် တည်ဆောက်ထားသော client သည် client နှင့် အလုပ်မလုပ်သောကြောင့်ဖြစ်သည်။
OpenWRT 19.07.3 အတွက် usbip ဆာဗာကို kernel 4.14.180 ပေါ်တွင် တည်ဆောက်ထားသည်။

ကျွန်ုပ်၏ရှာဖွေမှုကို ဆက်လက်လုပ်ဆောင်ရင်း၊ Windows client ၏ လက်ရှိဖွံ့ဖြိုးတိုးတက်မှုကို တွေ့လိုက်ရပါသည်။ github. ကောင်းပြီ၊ Windows 10 x64 အတွက် အထောက်အပံ့ကို ဖော်ပြထားသော်လည်း ကလိုင်းယင့်သည် စမ်းသပ်ဖောက်သည်တစ်ခုသာဖြစ်သောကြောင့် ကန့်သတ်ချက်များစွာရှိသည်။

ဒါကြောင့် ပထမဦးစွာ သူတို့က လက်မှတ်ကို တပ်ဆင်ခိုင်းပြီး နှစ်ကြိမ်၊ ကောင်းပြီ၊ ၎င်းကို Trusted Root Certification Authority နှင့် Trusted Publishers တွင် ထည့်လိုက်ကြပါစို့။

ထို့နောက်၊ သင်သည် operating system ကိုစမ်းသပ်မုဒ်သို့ထည့်ရန်လိုအပ်သည်။ ဒါကို အဖွဲ့တစ်ဖွဲ့က လုပ်တယ်။

bcdedit.exe /set TESTSIGNING ON

ပထမအကြိမ် မအောင်မြင်ခဲ့ဘူး၊ လမ်းကြောင်းပေါ်ရောက်ခဲ့တယ်။ လုံခြုံစွာ Boot တက်. ၎င်းကို disable လုပ်ရန်၊ သင်သည် UEFI တွင် ပြန်လည်စတင်ရန် လိုအပ်ပြီး disable လုပ်ရန် secure boot ကို သတ်မှတ်ပါ။ အချို့သော လက်ပ်တော့မော်ဒယ်များသည် ကြီးကြပ်ရေးမှူး စကားဝှက်ကို သတ်မှတ်ရန် လိုအပ်နိုင်သည်။

ပြီးရင် Windows မှာ boot လုပ်ပါ။ bcdedit.exe /စမ်းသပ်မှုဖွင့်ပါ။
Vinda က အရာအားလုံး အဆင်ပြေပါတယ် ။ ကျွန်ုပ်တို့ ပြန်ဖွင့်ပြီး ညာဘက်အောက်ထောင့်တွင် Test Mode၊ ဗားရှင်းနှင့် OS တည်ဆောက်နံပါတ် ဟူသော စကားလုံးများကို တွေ့ရပါသည်။

ဒီခြယ်လှယ်မှုတွေအားလုံးက ဘာအတွက်လဲ။ လက်မှတ်မထိုးထားသော ယာဉ်မောင်းကို ထည့်သွင်းရန် USB/IP VHCI. usbip.exe၊ usbip_vhci.sys၊ usbip_vhci.inf၊ usbip_vhci.cer၊ usbip_vhci.cat ဖိုင်များကို ဒေါင်းလုဒ်လုပ်ပြီး စီမံခန့်ခွဲသူအခွင့်အရေးဖြင့် လုပ်ဆောင်ခြင်းဖြင့် ၎င်းကို လုပ်ဆောင်ရန် အကြံပြုထားသည်။

usbip.exe install

သို့မဟုတ် ဒုတိယနည်းလမ်း၊ Legacy Hardware ကို ကိုယ်တိုင်ထည့်သွင်းပါ။ ဒုတိယရွေးချယ်မှုကို ငါရွေးချယ်ခဲ့ပြီး၊ လက်မှတ်မထိုးထားသော ဒရိုက်ဗာကို ထည့်သွင်းခြင်းနှင့်ပတ်သက်၍ သတိပေးချက်ကို လက်ခံရရှိခဲ့ပြီး ၎င်းကို သဘောတူခဲ့သည်။

ထို့နောက်၊ ကျွန်ုပ်တို့တွင် command ကို run ခြင်းဖြင့် အဝေးထိန်း 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 engraver) USB/IP VHCI က Windows ကို BSOD ထဲကို ပြုတ်ကျစေတဲ့အတွက်ကြောင့် တရုတ်ကမ္ပည်းပြားနဲ့ အနည်းငယ် ဒုက္ခရောက်ခဲ့ရပါတယ်။ သို့သော် CH341SER ဒရိုက်ဘာကို ထည့်သွင်းပါ။ သို့ usbip.exe မှတဆင့် device ကိုချိတ်ဆက်ခြင်းပြဿနာကိုဖြေရှင်းခဲ့သည်။

အောက်ခြေလိုင်း- ကမ္ပည်းပြားသည် ပြတင်းပေါက်ဖွင့်ကာ တံခါးပိတ်ကာ မီးဖိုချောင်တွင် ဆူညံပွက်ပွက်ဆူညံပွက်ပွက်ဆူညံပွက်ပွက်ဆူညံပွက်ပွက်ဆူညံနေပါသည်။

အသုံးပြုထားသော အရင်းအမြစ်များ-

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

source: www.habr.com

မှတ်ချက် Add