Hoʻopili i ka USB/IP

ʻO ka hana o ka hoʻopili ʻana i kahi hāmeʻa USB i kahi PC mamao ma o kahi pūnaewele kūloko e kū mau. Aia ma lalo o ka ʻoki ka mōʻaukala o kaʻu mau ʻimi ʻana ma kēia ʻaoʻao, a me ke ala i kahi hoʻonā mākaukau i hana ʻia ma muli o kahi papahana open-source. USB/IP me ka wehewehe ʻana i nā keʻakeʻa i hoʻokomo pono ʻia e nā poʻe like ʻole ma kēia ala, a me nā ala e hoʻopuni ai iā lākou.

Mahele ʻekahi, mōʻaukala

Inā he virtual ka mīkini, maʻalahi kēia mau mea a pau. Ua ʻike ʻia ka hana o ka hoʻouna ʻana o USB mai ka host i ka mīkini virtual ma VMWare 4.1. Akā i koʻu hihia, ʻo ke kī palekana, i ʻike ʻia ʻo WIBU-KEY, pono e hoʻopili ʻia i nā mīkini like ʻole i nā manawa like ʻole, ʻaʻole wale nā ​​mea virtual.
ʻO ka puni mua o ka huli ʻana i ka makahiki 2009 i alakaʻi iaʻu i kahi ʻāpana o nā lako i kapa ʻia TrendNet TU2-NU4
Kākoʻo:

  • i kekahi manawa hana no

ʻAla:

  • ʻaʻole hana mau. E ʻōlelo kākou ʻaʻole hoʻomaka ke kī pale Guardant Stealth II ma o ia, me ka hoʻohiki ʻana me ka hewa "ʻaʻole hiki ke hoʻomaka ka hāmeʻa."
  • ʻO ka polokalamu no ka hoʻokele ʻana (heluhelu: kau ʻana a wehe i nā polokalamu USB) ʻilihune loa. Nā hoʻololi laina kauoha, automation - ʻaʻole, ʻaʻole mākou i lohe. Hana ʻia nā mea a pau me kou mau lima. ʻO ka moeʻuhane.
  • Huli ka polokalamu hoʻomalu i ka lako ponoʻī ma ka pūnaewele ma o ka hoʻolaha ʻana, no laila e hana wale ia i loko o hoʻokahi māhele hoʻolaha o ka pūnaewele. ʻAʻole hiki iā ʻoe ke kuhikuhi i ka helu IP o ka ʻāpana o ka lako hana me ka lima. Aia ka ʻāpana o ka lako ma kahi subnet ʻokoʻa? A laila he pilikia kāu.
  • Ua haʻalele nā ​​mea hoʻomohala i ka polokalamu, ʻaʻole pono ka hoʻouna ʻana i nā hōʻike bug.

Ua hana ʻia ka lua o ka pōʻai i ka manawa ʻaʻole mamao loa, a alakaʻi iaʻu i ke kumuhana o ka ʻatikala - Pāhana USB/IP. Attracts me kona hamama, oi loa aku mai na kanaka mai Hōʻoia Ua kau inoa lākou i kahi mea hoʻokele no Windows, no laila i kēia manawa ma ka x64 e hana nā mea āpau me ka ʻole o nā koʻokoʻo e like me ke ʻano hoʻāʻo. Mahalo nui i ka hui ReactOS! Nani nā mea a pau, e hoʻāʻo kākou e ʻike, ʻoiaʻiʻo anei? ʻO ka mea pōʻino, ua haʻalele ʻia ka papahana ponoʻī, a ʻaʻole hiki iā ʻoe ke hilinaʻi i ke kākoʻo - akā ma kahi i nalowale ʻole ai kā mākou, aia ke kumu kumu, e ʻike mākou!

Mahele ʻelua, server-Linux

Hiki ke hoʻokomo ʻia kahi kikowaena USB/IP e kaʻana like ana i nā polokalamu USB ma luna o kahi pūnaewele i loko o kahi OS Linux. ʻAe, ʻo Linux ka Linux, e hoʻokomo iā Debian 8 ma ka mīkini virtual i kahi hoʻonohonoho liʻiliʻi, ka neʻe lima maʻamau:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install usbip

Hoʻokumu ʻia. A laila ʻōlelo ka Pūnaewele e pono ʻoe e hoʻoiho i ka module usbip, akā - aloha, rake mua. ʻAʻohe modula like. ʻO kēia no ka mea ʻo ka hapa nui o nā manual ma ka pūnaewele e pili ana i ka lālā kahiko 0.1.x, a ma ka 0.2.0 hou loa he mau inoa like ʻole nā ​​modula usbip.

No laila:

sudo modprobe usbip-core
sudo modprobe usbip-host
sudo lsmod | grep usbip

ʻAe, e hoʻohui i kēia mau laina i /etc/modules e hoʻouka maʻalahi iā lākou ke hoʻomaka ka ʻōnaehana:

usbip-core
usbip-host
vhci-hcd

E hoʻomaka kākou i ke kikowaena usbip:

sudo usbipd -D

Eia hou, ua haʻi mai ka naʻauao āpau iā mākou e hele mai ana ka usbip me nā palapala e hiki ai iā mākou ke hoʻokele i ke kikowaena - e hōʻike i ka mea hana e kaʻana ai ma ka pūnaewele, ʻike i ke kūlana, a pēlā aku. Eia kekahi mea hana kīhāpai e kali ana iā mākou - ua kapa hou ʻia kēia mau palapala i ka lālā 0.2.x. Hiki iā ʻoe ke loaʻa i kahi papa inoa o nā kauoha me ka hoʻohana ʻana

sudo usbip

Ma hope o ka heluhelu ʻana i ka wehewehe ʻana o nā kauoha, ua maopopo ka mea e kaʻana like i ka mea pono USB, makemake ʻo usbip e ʻike i kāna Bus ID. E ka poʻe nānā aloha, e rake i ka helu ʻekolu ma ke kahua: ka ID Bus e hāʻawi iā mākou lsusb (ʻo ia ke ala maopopo loa) - ʻaʻole kūpono iā ia! ʻO ka ʻoiaʻiʻo, ʻaʻole ʻike ʻo usbip i nā hāmeʻa e like me nā hub USB. No laila, e hoʻohana mākou i ke kauoha i kūkulu ʻia:

user@usb-server:~$ sudo usbip list -l
 - busid 1-1 (064f:0bd7)
   WIBU-Systems AG : BOX/U (064f:0bd7)

Nānā: ma aneʻi a ma nā papa inoa e wehewehe wau i nā mea āpau me ka hoʻohana ʻana i ka laʻana o kaʻu kī USB kikoʻī. Hiki a ʻokoʻa kou inoa paahana a me VID:PID. Ua kapa ʻia koʻu Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.

I kēia manawa hiki iā mākou ke kaʻana like i kā mākou hāmeʻa:

user@usb-server:~$ sudo usbip bind --busid=1-1
usbip: info: bind device on busid 1-1: complete

Hurray, e nā hoa!

user@usb-server:~$ sudo usbip list -r localhost
Exportable USB devices
======================
 - localhost
        1-1: WIBU-Systems AG : BOX/U (064f:0bd7)
           : /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-1
           : Vendor Specific Class / unknown subclass / unknown protocol (ff/00/ff)

ʻEkolu hauʻoli, e nā hoa! Ua kaʻana like ke kikowaena i ka lako ma luna o ka pūnaewele, a hiki iā mākou ke hoʻohui iā ia! ʻO nā mea a pau i koe e hoʻohui i ka autostart o ka usbip daemon ma /etc/rc.local

usbipd -D

Mahele ʻekolu, ʻaoʻao o ka mea kūʻai aku a huikau

Ua hoʻāʻo koke wau e hoʻopili i ka mea kaʻana like ma luna o ka pūnaewele i kahi mīkini e holo ana iā Debian ma ka server like, a pili pono nā mea āpau:

sudo usbip attach --remote=localhost --busid=1-1

E neʻe kākou i Windows. I koʻu hihia ʻo Windows Server 2008R2 Standard Edition. Nīnau ka manual oihana iā ʻoe e hoʻokomo mua i ka mea hoʻokele. Hōʻike maikaʻi ʻia ke kaʻina hana i ka readme me ka mea kūʻai aku Windows, hana mākou i nā mea āpau e like me ka mea i kākau ʻia, hana nā mea āpau. Hoʻohana pū ia ma XP me ka pilikia ʻole.

Ma hope o ka wehe ʻana i ka mea kūʻai aku, hoʻāʻo mākou e kau i kā mākou kī:

C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
usbip err: usbip_network.c: 121 (usbip_recv_op_common) recv op_common, -1
usbip err: usbip_windows.c: 756 (query_interface0) recv op_common
usbip err: usbip_windows.c: 829 (attach_device) cannot find device

ʻŌ ʻē. Ua hewa kekahi mea. E hoʻohana kākou i ka mākau Google. Aia nā ʻōlelo ʻāpana he hewa i nā mea mau; ma ka ʻāpana kikowaena, ua hoʻololi nā mea hoʻomohala i ka mana protocol i ka wā e neʻe ai i ka mana 0.2.0, akā i ka mea kūʻai Win poina lākou e hana i kēia. ʻO ka hopena i manaʻo ʻia e hoʻololi i ka mea mau i ke code kumu a kūkulu hou i ka mea kūʻai aku.

Akā ʻaʻole makemake wau e hoʻoiho iā Visual Studio no kēia kaʻina hana. Akā, loaʻa iaʻu ka Hiew kahiko maikaʻi. Ma ke kumu kumu, ua haʻi ʻia ka mea mau ma ke ʻano he huaʻōlelo pālua. E ʻimi kākou no 0x00000106 i ka waihona, e hoʻololi iā ia me 0x00000111. Mai poina, ua huli ke kauoha byte. ʻO ka hopena he ʻelua pāʻani, hoʻopaʻa mākou:

[usbip.exe]
00000CBC: 06 11
00000E0A: 06 11

Aaaand... ʻae!

C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
new usb device attached to usbvbus port 1

ʻO kēia paha ka hopena o ka moʻolelo, akā ʻaʻole i hoʻokani lōʻihi ke mele. Ma hope o ka hoʻihoʻi hou ʻana i ke kikowaena, ʻike wau ʻaʻole i kau ʻia ka hāmeʻa ma ka mea kūʻai aku!

C:Program FilesUSB-IP>usbip -a %server-ip% 1-1
usbip err: usbip_windows.c: 829 (attach_device) cannot find device

ʻo ia wale nō. ʻAʻole hiki i ka Google ʻike āpau ke pane i kēia noʻu. A i ka manawa like, hōʻike pololei ke kauoha e hōʻike i nā mea i loaʻa ma ka kikowaena - eia ke kī, hiki iā ʻoe ke kau iā ia. Ke ho'āʻo nei au e kau mai Linux - hana ia! He aha inā mākou e hoʻāʻo i kēia manawa mai Windows? ʻO ka weliweli - hana ia!

ʻO ka rake hope loa: ʻaʻole i kākau ʻia kekahi mea ma ka code server. Ke kaʻana like ʻana i kahi hāmeʻa, ʻaʻole ia e heluhelu i ka helu o nā mea wehewehe USB mai ia mea. A i ke kau ʻana i kahi mea mai Linux, hoʻopiha ʻia kēia kahua. ʻO ka mea pōʻino, ʻike wau i ka hoʻomohala ʻana o Linux ma ka pae "make && make install". No laila, ua hoʻoholo ʻia ka pilikia me ka hoʻohana ʻana i kahi hack lepo lepo - hoʻohui i /etc/rc.local

usbip attach --remote=localhost --busid=1-1
usbip port
usbip detach --port=00

ʻāpana hope

Ma hope o kekahi pilikia, hana ia. Ua hoʻokō ʻia ka mea i makemake ʻia, i kēia manawa hiki ke kau ʻia ke kī i kekahi PC (a unmounted, ʻoiaʻiʻo, pū kekahi), me waho o ka māhele hoʻolaha o ka pūnaewele. Inā makemake ʻoe, hiki iā ʻoe ke hana i kēia me ka hoʻohana ʻana i kahi script shell command. ʻO ka mea maikaʻi, ʻaʻole manuahi ka leʻaleʻa.
Manaʻo wau e kōkua kaʻu ʻike i ka poʻe hackers e hoʻopuni i ka rake i paʻi ʻia ma koʻu lae. Mahalo i kou nānā ʻana!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka