All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Geis <pgwipeout@gmail.com>
To: kvm@vger.kernel.org, linux-usb@vger.kernel.org
Subject: [BUG] KVM USB passthrough did not claim interface before use
Date: Mon, 10 Oct 2022 09:56:53 -0400	[thread overview]
Message-ID: <CAMdYzYrUOoTmBL2c_+=xLBMXg38Pp4hANnzqxoe1cVDDrFvqTA@mail.gmail.com> (raw)

Good Morning,

I've run into a bug with a new usb device when attempting to pass
through using qemu-kvm. Another device is passed through without
issue, and qemu spice passthrough does not exhibit the issue. The usb
device shows up in the KVM machine, but is unusable. I'm unsure if
this is a usbfs bug, a qemu bug, or a bug in the device driver.

usb 3-6.2: usbfs: process 365671 (CPU 2/KVM) did not claim interface 0
before use
usb 3-6.2: usbfs: process 365671 (CPU 2/KVM) did not claim interface 0
before use
usb 3-6.2: usbfs: process 365672 (CPU 3/KVM) did not claim interface 1
before use
usb 3-6.2: usbfs: process 365671 (CPU 2/KVM) did not claim interface 0
before use
usb 3-6.2: usbfs: process 365672 (CPU 3/KVM) did not claim interface 0
before use
usb 3-6.2: usbfs: process 365672 (CPU 3/KVM) did not claim interface 0
before use

The host system is Ubuntu 22.04.
The qemu version is as shipped: QEMU emulator version 6.2.0 (Debian
1:6.2+dfsg-2ubuntu6.3)
The host kernel version is: 5.15.0-48-generic #54-Ubuntu SMP Fri Aug
26 13:26:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

The VM is HomeAssistant, running kernel 5.15.67. Issue was also
observed on kernel version 5.10.

The device in question is:
Bus 003 Device 006: ID 1cf1:0030 Dresden Elektronik ZigBee gateway [ConBee II]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.01
  bDeviceClass            2 Communications
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x1cf1 Dresden Elektronik
  idProduct          0x0030 ZigBee gateway [ConBee II]
  bcdDevice            1.00
  iManufacturer           1 dresden elektronik ingenieurtechnik GmbH
  iProduct                2 ConBee II
  iSerial                 3 DE2597089
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0043
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0
      CDC Header:
        bcdCDC               1.10
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      CDC Call Management:
        bmCapabilities       0x03
          call management
          use DataInterface
        bDataInterface          1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval              16
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x000c
  bNumDeviceCaps          1
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      HIRD Link Power Management (LPM) Supported
Device Status:     0x0000
  (Bus Powered)

Very Respectfully,
Peter Geis

             reply	other threads:[~2022-10-10 13:57 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-10 13:56 Peter Geis [this message]
2022-10-10 14:07 ` [BUG] KVM USB passthrough did not claim interface before use Alan Stern
2022-10-10 14:22   ` Peter Geis
2022-10-10 15:01     ` Alan Stern
2022-10-11 18:49       ` Peter Geis
2022-10-12 21:14         ` Alan Stern
2022-10-16  0:36           ` Peter Geis
2022-10-16  1:33             ` Alan Stern
2022-10-23 18:14               ` Peter Geis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMdYzYrUOoTmBL2c_+=xLBMXg38Pp4hANnzqxoe1cVDDrFvqTA@mail.gmail.com' \
    --to=pgwipeout@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.