2024. április 19., péntek

Gyorskeresés

USB távolról - USB eszköz megosztása USBIP-vel

Írta: | Kulcsszavak: linux . usb . megosztás . távoli . remote

[ ÚJ BEJEGYZÉS ]

Többféle megoldás létezik arra az esetre, ha egy távoli gép USB portjait szeretnénk helyben használni. Az usbip az egyik, nem a legegyszerűbb, de használható módszer. Elég sokat kellett túrni, de miután kiismeri az ember a(z Ubuntu/Debian verzió) hülyeségeit, tök használhatónak látszott.

Ubuntu és Debian rendszereken a telepítés módja megegyezik : apt install usbip
Az első gáncs az, hogy valamelyik Linux-tools-common csomagban is benne van az usbip, de az kb. mindenben is különbözik, nekem nem működött.
Suse-n és Centos alapú disztrókon is létezik a csomag, de nekem Suse-n nem működött, Centos-t meg nem tudtam telepíteni (sehogy nem tudtam bebootolni a telepítőt a tesztgépen :DDD), szóval azon nem néztem.

Azon a gépen, amiről megosztunk egy USB eszközt, be kell tölteni az usbip moduljait - én mind a két gépen kiadtam ezeket, az a biztos. (Elvileg a kliensen a vhci-hcd épül az usbip-core-ra, a szerveren meg az usbip-host.)

modprobe usbip-core
modprobe usbip-host
modprobe usbip-vduc
modprobe vhci-hcd

(Aztán ha már biztos jó, akkor be is lehet vágni a /etc/modules-ba)

Az usbipd démon futtatásához a szerveren kell egy usbipd -D parancs. Ez fogja a háttérben megosztani az usbip -vel kiexportált eszközöket.

Ha meg akarunk osztani valamit, akkor :
- az lsusb kimenetéből kiderülnek a bus és device id-k
- az usbip list -l -ből is, ez a helyi eszközöket listázza
- usbip bind -b busid-devid -adott busid-devid azonosítójú cuccot csatolja magához
- usbip detach -pX -a vhci (virtuális USB vezérlő) vezérlő adott X=0....akármennyi portján levő eszközt lerúgja (ha az meg volt osztva, akkor a távoli fél így járt :DDD )

Ha fel szeretnénk húzni valamit egy távoli gépről, akkor :
- usbip list -r távoli.gép.ip.címe - adott IP-jű gépről lelistázza a megosztott eszközöket
- usbip attach -r távoli.gép.ip.címe -b busid-devid -a bus id, dev id a list -r listájából derül ki
- usbip detach -p 0 -a vhci 0. porton ülő eszköz kihúzása... a vhci port nem azonos az usb busz id-val... :O

Nem triviális, pláne nem volt egyszerű összeszedni, de ha egyszer működik, akkor az már fog is. A modulokat és a démonként indítást meg könnyű automatizálni. (És pont az ennek a postnak a lényege, hogy másnak ne kelljen vele szívni. :) )

A gyakorlatban ez így néz ki :

A gépen, amiről megosztjuk az eszközt, kapcsolódik az usbip az eszközre (az 1-1.6-os bus id-jű kamerát adtam át) :

A gépen, ami a megosztott eszközt szeretnénk használni, lehet kapcsolódni a távoli USB-kre - a bus ID azonos a szerver bus id-jával. Meg is jelent a T430-am kamerája az "acer" nevű T400-on :D

...majd ha már nem kell, lekapcsolódni.

Ami viszont nekem nem ment : Windowson felhúzni a megosztott USB eszközöket. Létezik vhci-hcd driver Windowsra, nem is egy, csak egyik régebbi, mint a másik. Teszt cert is van hozzájuk, de a Driver Signature Enforcement kikapcsolása után sem működtek.

Windowson meg is találja a távoli USB-t, de a virtuális hub nem működik :O

Igazából az usbip-s USB megosztás nem túl felhasználóbarát; olyankor jó, ha pl. egy hardverkulcsot, vagy olyan eszközt kell megosztani, ami nem kell egyszerre több embernek, de több gépről használatos. Így egy állandóan működő szerver-jellegű valamibe (akár Openwrt-s routerbe) dugva, és megosztva az USB eszközt, több gépen is használható lesz.

Hozzászólások

(#1) Honkydoo


Honkydoo
őstag

Szia!

Köszönöm a cikket! :R

Nem is tudtam, hogy létezik ilyen...

Én csak ezt a megoldást ismertem, hasonló problémára...
Igaz ennek az eszköznek vannak limitációi:
- Csak max USB 2.0 (!) dugató bele, USB 3.0-tól fölfele nem működik. Ezt át lehet hidalni úgy, hogy az eszköz és a 3.0 USB-vel rendelkező gép közé raksz egy USB 2.0 HUB-ot.
- Nyilván ez nem TCP/IP eszköz, tehát a te megoldásod jobb, ha pl VPN-en is át kell menni...
Egyébként ügyes kis eszköz, aktív, vagyis átkonvertálja az USB jelét az Ethernet szabvány jelére.

"Légy olyan, mint bárki más, tégy olyat, mint senki más."

(#2) hcl válasza Honkydoo (#1) üzenetére


hcl
félisten
LOGOUT blog

Én sem ismertem, amíg ki nem derült, hogy a Xen valamiért nekem nem akar USB2.0 -t adni a virtuális gépekhez, csak 1.1-t, azzal meg nem megy a passthrough :D
Az az USB-IP cucc is jó, csak más esetekre - pl. melóhelyen van eset, hogy rendkívül agresszív környezetben kell PC-t használni (erősen savas minden), így egy nem ipari cucc nem bírja sokáig. Ilyen USB over LAN cumóval vannak odavive a gép kezelőszervei és a monitor a munkaállomásra, a gép pedig kicsit messzebb van, már a munkatéren kívül. Lényegesen olcsóbb, mint egy mindent kibíró kivitelű ipari PC.

[ Szerkesztve ]

Mutogatni való hater díszpinty

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.