Skip to content

[BUG] Native IOCTL auto-attach failed: The data area passed to a system call is too small. #34

Description

@Havner

Bug Description

From the log (some ABI mismatch between VIIPER and usbip):

2026-07-31T14:02:29.467476+02:00  INFO API listening addr=[::]:3242
2026-07-31T14:02:37.491308+02:00  INFO api cmd path=ping
2026-07-31T14:02:38.596090+02:00  INFO api cmd path=bus/create
2026-07-31T14:02:39.700555+02:00  INFO api cmd path=bus/1/add
2026-07-31T14:02:39.701559+02:00  INFO Auto-attaching localhost client via native IOCTL busID=1 deviceID=1
2026-07-31T14:02:39.701559+02:00 ERROR Native IOCTL auto-attach failed, falling back to command execution error=IOControl: DeviceIoControl failed: The data area passed to a system call is too small.
2026-07-31T14:02:39.701559+02:00  INFO Trying fallback via usbip executable

Versions used:
Windows 11
VIIPER: 0.7.0, release one
usbip2: https://github.com/vadimgrn/usbip-win2/releases/tag/v.0.9.7.8
rust-client crate (0.7.0)

I know there is a cmd line fallback, but I would like to avoid if possible.

To Reproduce

Steps to reproduce the behavior:

  1. Install usbip, reboot
  2. run viiper server
  3. Try to create an xbox360 controller through rust API according to the docs
  4. Observer the logs

Expected Behavior

Native IOCTL working

Actual Behavior

See the log

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions