When a real USB device stalls an endpoint, the VM sends CLEAR_FEATURE(ENDPOINT_HALT) to recover. Previously this was a no-op, leaving the endpoint permanently stalled and causing the guest to hang. Now the CLEAR_FEATURE handler in device.rs finds the interface that owns the stalled endpoint and calls clear_halt on its handler. For host passthrough this forwards to nusb's new Interface::clear_halt; for simulated devices it remains a no-op. Fixes YubiKey (and other CCID devices) hanging after endpoint stall during passthrough. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
19 lines
486 B
TOML
19 lines
486 B
TOML
[package]
|
|
name = "usbip-rs-cli"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "MIT"
|
|
description = "USB/IP over vsock/TCP CLI tool"
|
|
|
|
[[bin]]
|
|
name = "usbip-rs"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
usbip-rs = { path = "../lib" }
|
|
clap = { version = "4", features = ["derive"] }
|
|
tokio-vsock = "0.7"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "time", "net"] }
|
|
log = "0.4"
|
|
env_logger = "0.11"
|
|
nusb = { git = "https://git.dsg.is/dsg/nusb.git", rev = "a45a3e0" }
|