Usb over ip: Difference between revisions

From Linux Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 30: Line 30:
<code class="mw-code mw-highlight plainlinks" style="display:block"><!--
<code class="mw-code mw-highlight plainlinks" style="display:block"><!--
-->[Unit]
-->[Unit]
Description=USB/IP Host Service
&#32;Description=USB/IP Host Service
After=network.target
&#32;After=network.target
&#32;
&#32;
[Service]
&#32;[Service]
ExecStart=/usr/bin/usbipd -D
&#32;ExecStart=/usr/bin/usbipd -D
ExecStop=/usr/bin/usbip --tcp-port 3240 --log
&#32;ExecStop=/usr/bin/usbip --tcp-port 3240 --log
Restart=on-failure
&#32;Restart=on-failure
User=root
&#32;User=root
Type=forking
&#32;Type=forking
StartLimitBurst=5
&#32;StartLimitBurst=5
StartLimitIntervalSec=10
&#32;StartLimitIntervalSec=10
&#32;
&#32;
[Install]
&#32;[Install]
WantedBy=multi-user.target
&#32;WantedBy=multi-user.target
</code>
</code>


Line 51: Line 51:
-->&#32;# systemctl enable --now usbipd.service
-->&#32;# systemctl enable --now usbipd.service
&#32;# systemctl status usbipd.service
&#32;# systemctl status usbipd.service
<span style="color:#0f0">●</span> usbipd.service - USB/IP Host Service
&#32;<span style="color:#0f0">●</span> usbipd.service - USB/IP Host Service
&#32;    Loaded: loaded (/etc/systemd/system/usbipd.service; enabled; vendor preset: enabled)
&#32;    Loaded: loaded (/etc/systemd/system/usbipd.service; enabled; vendor preset: enabled)
&#32;    Active: <span style="color:#0f0">active (running)</span> since Fri 2024-04-12 18:03:02 EEST; 25min ago
&#32;    Active: <span style="color:#0f0">active (running)</span> since Fri 2024-04-12 18:03:02 EEST; 25min ago
Line 83: Line 83:
</code>
</code>


===== Adaugare dispozitive USB =====
===== Adaugare dispozitive USB server =====
Din acest moment dispozitivele USB pot fi adaugate in system.
Din acest moment dispozitivele USB pot fi adaugate in system.
Mai jos este prezentat modul in care se face passtrue dispozitivelor USB intr-un hypervisor Proxmox VM
Mai jos este prezentat modul in care se face passtrue dispozitivelor USB intr-un hypervisor Proxmox VM
Line 95: Line 95:
Dupa ce dispozitivele USB sunt adaugate fizis se trece la atasarea acestora in server:
Dupa ce dispozitivele USB sunt adaugate fizis se trece la atasarea acestora in server:


Listam dispozitivele USB atasate:
====== Listare dispozitive USB ======
 
Listam dispozitivele USB atasate cu comanda lsusb:
 
<code class="mw-code mw-highlight plainlinks" style="display:block"><!--
<code class="mw-code mw-highlight plainlinks" style="display:block"><!--
-->&#32;# lsusb
-->&#32;# lsusb
Line 105: Line 108:


Pentru a vedea ce dispozitive sunt atasate pana in acel moment rulam:
Pentru a vedea ce dispozitive sunt atasate pana in acel moment rulam:
<code class="mw-code mw-highlight plainlinks" style="display:block"><!--
<code class="mw-code mw-highlight plainlinks" style="display:block"><!--
-->&#32;# usbip port
-->&#32;# usbip port

Revision as of 17:55, 12 April 2024

Configurare USB over IP Server pe Ubuntu 2X.04 LTS

Intr-un mediu enterprise in care se lucreaza cu foarte multe stiick-uri USB este nevoie ca acestea sa fie plasate intr-un mediu centralizat la care intreaga infrastuctura sa aiba acces. Prin intermediul USBIP stick-urile pot fi plasate intr-o singura locatie indiferent daca acestea sunt stick-uri de stocare, certificate SSL, semnaturi digitale, YubiKey-uri sau modem 4G/5G.

Instalare usbip

USBIP face parte in Ubuntu 2X.44 din luita de tool-uri linux-tools-generic. Pentru instalare se executa in consola:

# apt install linux-tools-generic

Se verifica daca kernelul are modulele disponibile:

# lsmod | grep usbip

...in unele situatii fiind necesara instalarea unor pachete specifice:

# apt install linux-tools-5.15.0-43-generic linux-cloud-tools-5.15.0-43-generic

Startup usbip

Pentru ca aplicatia sa porneasca la odata cu systemului de operare se creeaza un fisier de startup un systemctl

  • nano /etc/systemd/system/usbipd.service


[Unit] Description=USB/IP Host Service After=network.target [Service] ExecStart=/usr/bin/usbipd -D ExecStop=/usr/bin/usbip --tcp-port 3240 --log Restart=on-failure User=root Type=forking StartLimitBurst=5 StartLimitIntervalSec=10 [Install] WantedBy=multi-user.target

Dupa creerea serviciului se executa:

# systemctl enable --now usbipd.service # systemctl status usbipd.service usbipd.service - USB/IP Host Service Loaded: loaded (/etc/systemd/system/usbipd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-04-12 18:03:02 EEST; 25min ago Process: 696 ExecStart=/usr/bin/usbipd -D (code=exited, status=0/SUCCESS) Main PID: 728 (usbipd) Tasks: 1 (limit: 2220) Memory: 800.0K CPU: 18ms



Module usbip

USBIP are nevoie de 3 module dintre care doua de USB/IP si unul de virtual host controller

# modprobe usbip_core # modprobe usbip_host # modprobe vhci_hcd

Pentru ca aceste module sa fie activate la startup-ul de OS se adauga in lista de module incarcabile:

  • nano nano /etc/modules-load.d/modules.conf

usbip_core usbip_host vhci_hcd

Adaugare dispozitive USB server

Din acest moment dispozitivele USB pot fi adaugate in system. Mai jos este prezentat modul in care se face passtrue dispozitivelor USB intr-un hypervisor Proxmox VM

Dupa ce dispozitivele USB sunt adaugate fizis se trece la atasarea acestora in server:

Listare dispozitive USB

Listam dispozitivele USB atasate cu comanda lsusb:

# lsusb Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 005: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive Bus 002 Device 002: ID 13fe:4200 Kingston Technology Company Inc. Platinum USB drive mini

Pentru a vedea ce dispozitive sunt atasate pana in acel moment rulam:

# usbip port Imported USB devices ====================

Pentru a afla BUSID-ul fiecatui dispozitiv asa cum este inregistrat de usbip rulam:

# usbip list -l - busid 2-2 (13fe:4200) Kingston Technology Company Inc. : Platinum USB drive mini (13fe:4200) - busid 2-4 (090c:1000) Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000)

Atasarea dispozitive USB

Vom atasa serverului cele doua dispozitive listate anterior:

# usbip bind -b 2-2 usbip: info: bind device on busid 2-2: complete # usbip bind -b 2-4 usbip: info: bind device on busid 2-4: complete