Package: usbip Version: 2.0+4.2-1 Severity: important Dear Maintainer,
I am trying to use a USB microphone with usbip, between two physical machines both running Linux 3.16.0-4-amd64. The machines are connected via gigabit ethernet. The USB device can be bound, attached, and it shows up in lsusb on the client machine, but as soon as I try to use it (or run "usbip port") the device disappears. A USB stick (not isochonous) works without issues. On the server side, I run # modprobe usbip-core && modprobe usbip-host # usbip list -l | grep 3-3.1.3 -A 2 - busid 3-3.1.3 (0d8c:016c) C-Media Electronics, Inc. : unknown product (0d8c:016c) # usbip -d bind -b 3-3.1.3 usbip: debug: usbip.c:141:[run_command] running command: `bind' usbip: info: bind device on busid 3-3.1.3: complete # usbipd -D On the client side, I run # modprobe usbip-core && modprobe usbip-host && modprobe vhci-hcd # lsusb | grep 'Bus 011' Bus 011 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # usbip attach -r 192.168.1.100 -b 3-3.1.3 # lsusb | grep 'Bus 011' Bus 011 Device 002: ID 0d8c:016c C-Media Electronics, Inc. # new device! Bus 011 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # usbip --debug port usbip: debug: .../src/usbip.c:141:[run_command] running command: `port' libusbip: debug: .../libsrc/vhci_driver.c:242:[usbip_vhci_driver_open] available ports: 7 libusbip: debug: .../libsrc/vhci_driver.c:71:[parse_status] port 0 status 6 speed 2 devid 30028 libusbip: debug: .../libsrc/vhci_driver.c:72:[parse_status] socket ffff8802019f2a40 lbusid 11-1 libusbip: debug: .../libsrc/vhci_driver.c:26:[imported_device_init] udev_device_new_from_subsystem_sysname failed: 11-1 libusbip: debug: .../libsrc/vhci_driver.c:91:[parse_status] imported_device_init failed usbip: error: open vhci_driver usbip: error: list imported devices # lsusb | grep 'Bus 011' Bus 011 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub # it's gone # In other words, the USB device disappears as soon as I try to query it. I'm pretty sure it has something to do with the fact that this is an isochronous USB device. I can share a Lexar USB stick with no issues, list the port, mount the filesystem on it, etc; here's what that looks like: # usbip port Imported USB devices ==================== Port 00: <Port in Use> at High Speed(480Mbps) unknown vendor : unknown product (05dc:a81d) 11-1 -> usbip://192.168.1.133:3240/3-3.1.4 -> remote bus/dev 003/044 It's not just the "port" listing that fails with the microphone, if I try to use the device in any way the same thing happens. Note that this microphone works correctly if I plug it directly into the client system. The best clue I have for this bug is the server's dmesg, which has: [1898124.688515] vhci_hcd: module is from the staging directory, the quality is unknown, you have been warned. [1898124.689777] vhci_hcd vhci_hcd: USB/IP Virtual Host Controller [1898124.689781] vhci_hcd vhci_hcd: new USB bus registered, assigned bus number 5 [1898124.690751] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002 [1898124.690754] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [1898124.690756] usb usb5: Product: USB/IP Virtual Host Controller [1898124.690759] usb usb5: Manufacturer: Linux 3.16.0-4-amd64 vhci_hcd [1898124.690761] usb usb5: SerialNumber: vhci_hcd [1898124.690919] hub 5-0:1.0: USB hub found [1898124.690928] hub 5-0:1.0: 8 ports detected [1898124.691151] vhci_hcd: USB/IP 'Virtual' Host Controller (VHCI) Driver v1.0.0 [1898128.327590] usbip-host 3-3.1.3: stub up [1898128.328428] usbip-host 3-3.1.3: recv a header, 0 [1898128.413139] usbip-host 3-3.1.3: reset full-speed USB device number 40 using xhci_hcd [1898128.513687] usbip-host 3-3.1.3: device reset [1898132.871792] usbip-host 3-3.1.3: stub up [1898133.231902] usbip-host 3-3.1.3: usb_set_interface done: inf 1 alt 1 [1898133.233559] usbip-host 3-3.1.3: usb_set_interface done: inf 1 alt 0 [1898133.234173] usbip-host 3-3.1.3: usb_set_interface done: inf 2 alt 1 [1898133.235850] usbip-host 3-3.1.3: usb_set_interface done: inf 2 alt 0 [1898133.237724] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.238363] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.238701] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.239031] usbip-host 3-3.1.3: endpoint 0 is stalled (...20 more repetitions...) [1898133.267747] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.268078] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.268415] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.268750] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.269079] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.269523] usbip-host 3-3.1.3: endpoint 0 is stalled [1898133.277673] usbip-host 3-3.1.3: endpoint 0 is stalled [1898304.828338] usbip-host 3-3.1.3: unlink urb ffff8802a28b9340 [1898304.830284] usbip-host 3-3.1.3: unlinked by a call to usb_unlink_urb() [1898719.403607] usbip-host 3-3.1.3: recv a header, 0 [1898719.486112] usbip-host 3-3.1.3: reset full-speed USB device number 40 using xhci_hcd [1898719.586728] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff8802a234d040 [1898719.587019] usbip-host 3-3.1.3: device reset [1898777.377789] usbip-host 3-3.1.3: stub up [1898777.731053] usbip-host 3-3.1.3: usb_set_interface done: inf 1 alt 1 [1898777.732561] usbip-host 3-3.1.3: usb_set_interface done: inf 1 alt 0 [1898777.733205] usbip-host 3-3.1.3: usb_set_interface done: inf 2 alt 1 [1898777.735792] usbip-host 3-3.1.3: usb_set_interface done: inf 2 alt 0 [1898777.738358] usbip-host 3-3.1.3: endpoint 0 is stalled [1898777.738804] usbip-host 3-3.1.3: endpoint 0 is stalled [1898777.739269] usbip-host 3-3.1.3: endpoint 0 is stalled and so on. Client dmesg shows the device briefly, but it quickly disappears: [2756722.613839] usbip_core: module is from the staging directory, the quality is unknown, you have been warned. [2756722.615224] usbip_core: USB/IP Core v1.0.0 [2756724.253798] vhci_hcd: module is from the staging directory, the quality is unknown, you have been warned. [2756724.254954] vhci_hcd vhci_hcd: USB/IP Virtual Host Controller [2756724.255334] vhci_hcd vhci_hcd: new USB bus registered, assigned bus number 11 [2756724.256186] usb usb11: New USB device found, idVendor=1d6b, idProduct=0002 [2756724.256560] usb usb11: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [2756724.256874] usb usb11: Product: USB/IP Virtual Host Controller [2756724.257167] usb usb11: Manufacturer: Linux 3.16.0-4-amd64 vhci_hcd [2756724.257456] usb usb11: SerialNumber: vhci_hcd [2756724.257940] hub 11-0:1.0: USB hub found [2756724.258367] hub 11-0:1.0: 8 ports detected [2756724.258920] vhci_hcd: USB/IP 'Virtual' Host Controller (VHCI) Driver v1.0.0 [2756741.529448] vhci_hcd vhci_hcd: rhport(0) sockfd(3) devid(196648) speed(2) speed_str(full-speed) [2756741.742246] usb 11-1: new full-speed USB device number 2 using vhci_hcd [2756741.854199] usb 11-1: SetAddress Request (2) to port 0 [2756741.874211] usb 11-1: New USB device found, idVendor=0d8c, idProduct=016c [2756741.874492] usb 11-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [2756741.874760] usb 11-1: Product: USB Advanced Audio Device [2756741.875074] usb 11-1: Manufacturer: C-Media Electronics Inc. [2756741.936833] input: C-Media Electronics Inc. USB Advanced Audio Device as /devices/platform/vhci_hcd/usb11/11-1/11-1:1.3/0003:0D8C:016C.0010/input/input22 [2756741.937356] hid-generic 0003:0D8C:016C.0010: input,hiddev0,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc. USB Advanced Audio Device] on usb-vhci_hcd-1/input3 [2756743.582873] vhci_hcd: dequeue a urb ffff88019cff0040 [2756743.583263] vhci_hcd: device ffff880074086290 seems to be still connected [2756743.583547] vhci_hcd: dequeue a urb ffff88019cff0040 [2756743.585904] vhci_hcd: unlink->seqnum 102 [2756743.586232] vhci_hcd: urb->status -104 [2756744.690266] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756745.562323] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756746.434232] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756747.306284] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756747.307022] usb 11-1: USB disconnect, device number 2 [2756748.178282] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756749.050235] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756749.922265] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756750.794249] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756750.794618] usb usb11-port1: unable to enumerate USB device [2756751.770246] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756752.642207] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756753.514212] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? [2756754.386207] usb usb11-port1: Cannot enable. Maybe the USB cable is bad? Server usbip and usbipd logs don't show anything unusual. This seems like a kernel-module bug. I looked up the "endpoint X is stalled" message and it seems to come from EPIPE on the server-side kernel. -- System Information: Debian Release: 8.1 APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_CA.utf8, LC_CTYPE=en_CA.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages usbip depends on: ii libc6 2.19-22 ii libudev1 221-1 ii libwrap0 7.6.q-25 ii usbutils 1:007-2 usbip recommends no packages. usbip suggests no packages. -- no debconf information