LinuxDays 2026

USB/IP ovládej své zařízení z druhé strany republiky
2026-10-03 , 107
Language: Čeština

USB/IP je síťový protokol, který zpřístupní USB zařízení vzdálenému počítači, tak jako by bylo zapojené lokálně přímo do něj. Hodí se kdykoli potřebujete ovládat hardware z druhého konce republiky nebo připojit testovací zařízení do CI bez fyzického přístupu. Linuxové jádro USB/IP podporuje nativně.

Problém je na straně serveru. Raspberry Pi či podobné SBC je dnes zbytečně drahé díky cenám DDR pamětí, pokud nepotřebujete operační systém ani gigabajty RAM.

Na této přednášce si ukážeme, jak takovýto jednoduchý most mezi USB a Ethernetem rozběhnout na levném ARM Cortex-M MCU s operačním systémem Zephyr RTOS a proč to vlastně není tak složité, jak to zní.

Motivace za tímto projektem je poskytnout uživatelům a vývojářům mobilního Linuxu snadný způsob zapojení telefonu do HW CI.


USB/IP odděluje fyzické USB zařízení od počítače, který ho používá přes TCP/IP. Na straně klienta Linux nahlásí zařízení jako lokálně připojené (modul vhci-hcd). Samotná aplikace o síti neví vůbec nic.

Klasické řešení SBC s Linuxem funguje, ale DDR RAM, napájení a setup OS s CI runnerem prodražují i jednoduchý use-case. Přitom USB/IP server mnoho nepotřebuje. Stačí: USB host kontrolér, TCP stack a implementace několika USB/IP příkazů.

Na přednášce projdeme:

  • jak USB/IP protokol funguje (co se po drátě posílá)
  • proč MCU stačí — co nepotřebujeme implementovat (USB protokoly řeší hardware, IP stack dává RTOS)
  • konkrétní problémy při implementaci na Zephyru
  • ukázku živého připojení USB zařízení přes MCU k linuxovému klientovi

Cílová skupina: vývojáři embedded systémů i linuxoví admini zajímající se o hardware.


Difficulty: Beginners

Embedded vývojář a fanoušek mobilního Linuxu.