Page 1 of 1

usb fails after some time

Posted: 19. Sep 2016, 16:29
by Wired Life
Hello,
i have a Windows 10 Pro x64 host with a Ubuntu 16.04 x64 guest and problems with usb.
There is a usb 2.0 hub connected to a usb 2.0 port on host with some smarthome usb transceivers, but when i choose ehci in VBox, Ubuntu is using ohci and i got usb errors in dmesg.
So i select xhci, then Ubuntu is using ehci with no errors at boot, but after some time i get this

Code: Select all

[So Sep 18 23:35:31 2016] xhci_hcd 0000:00:0c.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 0 comp_code 1
[So Sep 18 23:35:31 2016] xhci_hcd 0000:00:0c.0: Looking for event-dma 0000000035528630 trb-start 0000000035b670a0 trb-end 0000000035b670c0 seg-start 0000000035b67000 seg-end 0000000035b67ff0
[So Sep 18 23:35:36 2016] ftdi_sio ttyUSB1: failed to get modem status: -110
[Mo Sep 19 06:06:24 2016] xhci_hcd 0000:00:0c.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13
[Mo Sep 19 06:06:24 2016] xhci_hcd 0000:00:0c.0: Looking for event-dma 000000003551fe90 trb-start 000000003551fe80 trb-end 000000003551fe80 seg-start 000000003551f000 seg-end 000000003551fff0
and then some transceivers fails to ACK packets.
When i reboot the guest, everything is fine again until the errors come back.

I've disabled every energy saving option on host i found, on the guest i did GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1".
I'm running out of ideas, please help me.
Thanks!

Re: usb fails after some time

Posted: 19. Sep 2016, 16:36
by socratis
Not really an expert, but here are a couple of ideas that popped up:
  1. What happens if you remove the hub from the equation?
  2. You seem to have checked the guests settings for power off/suspension. What about the settings on the host?
  3. "...but after some time...". Is this time sort of fixed? What are the messages in the VBox.log at the same time?

Re: usb fails after some time

Posted: 19. Sep 2016, 16:45
by Perryg
Searching for you error shows a lot of OS bug reports ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13. Not always a VirtualBox problem.

Re: usb fails after some time

Posted: 20. Sep 2016, 00:28
by Wired Life
The first question is why ehci fails (in guest fallback to ohci).
I can't disconnect the hub because all devices connected to that.
The Virtualbox Image is created from a fully working physical system, there was no problems at all.
My current test: System started 20:55

Code: Select all

[Mo Sep 19 20:55:18 2016] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s3: link becomes ready
[Mo Sep 19 20:56:01 2016] ttyUSB1: 1 input overrun(s)
[Mo Sep 19 23:10:34 2016] xhci_hcd 0000:00:0c.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 0 comp_code 1
[Mo Sep 19 23:10:34 2016] xhci_hcd 0000:00:0c.0: Looking for event-dma 0000000035be4790 trb-start 0000000035089230 trb-end 0000000035089250 seg-start 0000000035089000 seg-end 0000000035089ff0
[Mo Sep 19 23:10:39 2016] ftdi_sio ttyUSB2: failed to get modem status: -110
[Di Sep 20 00:00:59 2016] xhci_hcd 0000:00:0c.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13
[Di Sep 20 00:00:59 2016] xhci_hcd 0000:00:0c.0: Looking for event-dma 0000000035bd4310 trb-start 0000000035bd4300 trb-end 0000000035bd4300 seg-start 0000000035bd4000 seg-end 0000000035bd4ff0
The VBox.log change date is at 21:05 so maybe there is nothing...

Edit:
Ok the VBoxSVC.log looks difficult.
I think its a usb 3.0 problem, so why i can't use 2.0 instead?
Its only using ohci when i choose ehci look:

Code: Select all

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/12p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=Communications, Driver=cdc_acm, 12M
    |__ Port 2: Dev 3, If 1, Class=CDC Data, Driver=cdc_acm, 12M
    |__ Port 3: Dev 4, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
    |__ Port 4: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
    |__ Port 5: Dev 6, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
    |__ Port 6: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 6: Dev 7, If 1, Class=Human Interface Device, Driver=, 12M
    |__ Port 7: Dev 8, If 0, Class=Vendor Specific Class, Driver=ch341, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/12p, 480M
Edit2:
Ok my fault, i added a usb stick and its using ehci

Code: Select all

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/12p, 12M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=, 12M
    |__ Port 3: Dev 4, If 0, Class=Communications, Driver=cdc_acm, 12M
    |__ Port 3: Dev 4, If 1, Class=CDC Data, Driver=cdc_acm, 12M
    |__ Port 4: Dev 5, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
    |__ Port 5: Dev 6, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
    |__ Port 6: Dev 7, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
    |__ Port 7: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 7: Dev 8, If 1, Class=Human Interface Device, Driver=, 12M
    |__ Port 8: Dev 9, If 0, Class=Vendor Specific Class, Driver=ch341, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/12p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Now its looking like that:

Code: Select all

[Di Sep 20 10:21:46 2016] usb 2-7: New USB device found, idVendor=0c45, idProduct=7402
[Di Sep 20 10:21:46 2016] usb 2-7: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[Di Sep 20 10:21:46 2016] usb 2-7: Product: TEMPERHUM1V1.3
[Di Sep 20 10:21:46 2016] usb 2-7: Manufacturer: RDing
[Di Sep 20 10:21:46 2016] input: RDing TEMPERHUM1V1.3 as /devices/pci0000:00/0000:00:06.0/usb2/2-7/2-7:1.0/0003:0C45:7402.0003/input/input9
[Di Sep 20 10:21:46 2016] hid-generic 0003:0C45:7402.0003: input,hidraw2: USB HID v1.10 Keyboard [RDing TEMPERHUM1V1.3] on usb-0000:00:06.0-7/input0
[Di Sep 20 10:21:46 2016] hid-generic 0003:0C45:7402.0004: hiddev0,hidraw3: USB HID v1.10 Device [RDing TEMPERHUM1V1.3] on usb-0000:00:06.0-7/input1
[Di Sep 20 10:21:46 2016] usb 2-8: new full-speed USB device number 9 using ohci-pci
[Di Sep 20 10:21:46 2016] usb 2-8: New USB device found, idVendor=1a86, idProduct=7523
[Di Sep 20 10:21:46 2016] usb 2-8: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[Di Sep 20 10:21:46 2016] usb 2-8: Product: USB2.0-Serial
[Di Sep 20 10:21:46 2016] cdc_acm 2-3:1.0: ttyACM0: USB ACM device
[Di Sep 20 10:21:46 2016] usbcore: registered new interface driver cdc_acm
[Di Sep 20 10:21:46 2016] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[Di Sep 20 10:21:46 2016] usbcore: registered new interface driver usbserial
[Di Sep 20 10:21:46 2016] usbcore: registered new interface driver usbserial_generic
[Di Sep 20 10:21:46 2016] usbserial: USB Serial support registered for generic
[Di Sep 20 10:21:46 2016] usbcore: registered new interface driver ftdi_sio
[Di Sep 20 10:21:46 2016] usbserial: USB Serial support registered for FTDI USB Serial Device
[Di Sep 20 10:21:46 2016] ftdi_sio 2-4:1.0: FTDI USB Serial Device converter detected
[Di Sep 20 10:21:46 2016] usb 2-4: Detected FT232RL
[Di Sep 20 10:21:46 2016] usbcore: registered new interface driver ch341
[Di Sep 20 10:21:46 2016] usbserial: USB Serial support registered for ch341-uart
[Di Sep 20 10:21:46 2016] usb 2-4: FTDI USB Serial Device converter now attached to ttyUSB0
[Di Sep 20 10:21:46 2016] ftdi_sio 2-5:1.0: FTDI USB Serial Device converter detected
[Di Sep 20 10:21:46 2016] usb 2-5: Detected FT232RL
[Di Sep 20 10:21:46 2016] usb 2-5: FTDI USB Serial Device converter now attached to ttyUSB2
[Di Sep 20 10:21:46 2016] ftdi_sio 2-6:1.0: FTDI USB Serial Device converter detected
[Di Sep 20 10:21:46 2016] usb 2-6: Detected FT232RL
[Di Sep 20 10:21:46 2016] usb 2-6: FTDI USB Serial Device converter now attached to ttyUSB3
[Di Sep 20 10:21:46 2016] usb 2-8: ch341-uart converter now attached to ttyUSB1
[Di Sep 20 10:22:19 2016] ftdi_sio ttyUSB3: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Di Sep 20 10:22:23 2016] ttyUSB2: 1 input overrun(s)
[Di Sep 20 10:22:24 2016] ftdi_sio ttyUSB3: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Di Sep 20 10:22:26 2016] ftdi_sio ttyUSB2: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Di Sep 20 10:23:26 2016] ftdi_sio ttyUSB3: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Di Sep 20 10:23:29 2016] ftdi_sio ttyUSB2: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Di Sep 20 10:23:32 2016] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
[Di Sep 20 10:24:44 2016] ch341-uart ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32