Usb over ip: Difference between revisions
No edit summary |
No edit summary |
||
| Line 6: | Line 6: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># apt install linux-tools-generic | --> # apt install linux-tools-generic | ||
</code> | </code> | ||
| Line 12: | Line 12: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># lsmod | grep usbip | --> # lsmod | grep usbip | ||
</code> | </code> | ||
| Line 18: | Line 18: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--># apt install linux-tools-5.15.0-43-generic linux-cloud-tools-5.15.0-43-generic | --> # apt install linux-tools-5.15.0-43-generic linux-cloud-tools-5.15.0-43-generic | ||
</code> | </code> | ||
| Line 26: | Line 26: | ||
* nano /etc/systemd/system/usbipd.service | * nano /etc/systemd/system/usbipd.service | ||
<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 |  Description=USB/IP Host Service | ||
 After=network.target |  After=network.target | ||
| Line 60: | Line 59: | ||
  CPU: 18ms |   CPU: 18ms | ||
</code> | </code> | ||
====== Module usbip ====== | ====== Module usbip ====== | ||
| Line 78: | Line 74: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
-->usbip_core | --> usbip_core | ||
usbip_host |  usbip_host | ||
vhci_hcd |  vhci_hcd | ||
</code> | </code> | ||
| Line 107: | Line 103: | ||
</code> | </code> | ||
Pentru a vedea ce dispozitive | Pentru a vedea ce dispozitive pot fi parsate de catre aplicatie rulam: | ||
<code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | <code class="mw-code mw-highlight plainlinks" style="display:block"><!-- | ||
--> # usbip | --> # usbip list -p -l | ||
  |  busid=2-2#usbid=13fe:4200# | ||
 == |  busid=2-4#usbid=090c:1000# | ||
</code> | </code> | ||
====== Atasarea dispozitive USB ====== | |||
Pentru a afla BUSID-ul fiecatui dispozitiv asa cum este inregistrat de usbip rulam: | Pentru a afla BUSID-ul fiecatui dispozitiv asa cum este inregistrat de usbip rulam: | ||
| Line 125: | Line 123: | ||
  Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000) |   Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000) | ||
</code> | </code> | ||
Vom atasa serverului cele doua dispozitive listate anterior: | Vom atasa serverului cele doua dispozitive listate anterior: | ||
Revision as of 18:06, 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 pot fi parsate de catre aplicatie rulam:
# usbip list -p -l
busid=2-2#usbid=13fe:4200#
busid=2-4#usbid=090c:1000#
Atasarea dispozitive USB
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)
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