All Projects → jiegec → usbip

jiegec / usbip

Licence: MIT license
A Rust library to run a USB/IP server

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to usbip

FPGA-USB-Device
FPGA-based USB-device controller to implement USB-CDC, USB-HID, etc.
Stars: ✭ 29 (-68.13%)
Mutual labels:  usb-hid, usb-cdc
Tinyusb
An open source cross-platform USB stack for embedded system
Stars: ✭ 2,257 (+2380.22%)
Mutual labels:  usb-hid, usb-cdc
cdbus bridge
UART to RS485 adapter for CDBUS, or pass-through raw data of UART port
Stars: ✭ 18 (-80.22%)
Mutual labels:  usb-cdc
CH55x USB CompositeDevice
USB Composite Device Demo (Keyboard, Custom HID and Massive Storage) using CH55x
Stars: ✭ 94 (+3.3%)
Mutual labels:  usb-hid
DualSenseWindows UE4
Unreal Engine 4 port of the Windows API for the PS5 DualSense controller created at Ohjurot/DualSense-Windows
Stars: ✭ 25 (-72.53%)
Mutual labels:  usb-hid
USBIPManager
Advanced client for USBIP project
Stars: ✭ 60 (-34.07%)
Mutual labels:  usbip
usbipd-win
Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2.
Stars: ✭ 1,321 (+1351.65%)
Mutual labels:  usbip
Mac Precision Touchpad
Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad
Stars: ✭ 5,107 (+5512.09%)
Mutual labels:  usb-hid
USBHIDTerminal
USBHIDTerminal
Stars: ✭ 102 (+12.09%)
Mutual labels:  usb-hid
atmega8-magnetometer-usb-mouse
ATmega8 working as USB mouse, by reading movements from a magnetometer (digital compass). [Projeto Final do curso de Bacharelado em Ciência da Computação DCC/UFRJ]
Stars: ✭ 19 (-79.12%)
Mutual labels:  usb-hid
fix-linux-mouse
Hints how to fix USB mouse issues on Linux
Stars: ✭ 36 (-60.44%)
Mutual labels:  usb-hid
awesome-webhid
Curated list of resources relating to the WebHID (Human Interface Device) API
Stars: ✭ 126 (+38.46%)
Mutual labels:  usb-hid
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (-39.56%)
Mutual labels:  usb-hid
rasp vusb
This repo explains how to turn your Raspberry Pi Zero into USB Keyboard and Mouse. Also provides sample code and binaries to control them.
Stars: ✭ 85 (-6.59%)
Mutual labels:  usb-hid
SerialPundit
Serial port communication in Java - FTDI D2XX, HID API, X/Y modem
Stars: ✭ 116 (+27.47%)
Mutual labels:  usb-hid
qtpy-knob
QT Py Media Knob using rotary encoder & neopixel ring
Stars: ✭ 49 (-46.15%)
Mutual labels:  usb-hid
ck550-macos
MacOS effect control SW for a CoolMaster CK550 & CK530 Keyboard (US Layout).
Stars: ✭ 14 (-84.62%)
Mutual labels:  usb-hid
droidducky-app
Android app to run duckyscript
Stars: ✭ 34 (-62.64%)
Mutual labels:  usb-hid
hid-tminit
Linux driver to properly initialize some Thrustmaster Wheels
Stars: ✭ 23 (-74.73%)
Mutual labels:  usb-hid
hid-tmff2
Linux kernel module for Thrustmaster T300RS and T248
Stars: ✭ 83 (-8.79%)
Mutual labels:  usb-hid

usbip

Coverage Status crates.io

A Rust library to run a USB/IP server to simulate USB devices.

It also enables sharing devices from an OS supporting libusb(libusb claims that it supports Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris) to another OS supporting USB/IP(Linux, Windows). Sharing an CCID SmartCard from macOS to Linux is tested by running gpg --card-status.

How to use

See examples directory. Three examples are provided:

  1. hid_keyboard: Simulate a hid keyboard that types something every second.
  2. cdc_acm_serial: Simulate a serial that gets a character every second.
  3. host: Act like original usb/ip sharing server, sharing one device from one machine to another. Also supports sharing from macOS to Linux!

To run example, run:

$ env RUST_LOG=info cargo run --example hid_keyboard

Then, in a USB/IP client environment:

$ usbip list -r $remote_ip
$ usbip attach -r $remote_ip -b $bus_id

Then, you can inspect the simulated USB device behavior in both sides.

API

See code comments. Not finalized yet, so get prepared for api breaking changes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].