[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] xHCI controller/USB passthrough device - event ring full

From: Samuel Brian
Subject: [Qemu-discuss] xHCI controller/USB passthrough device - event ring full error on high packet rate
Date: Thu, 7 Dec 2017 17:52:25 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

Hi all,

I'm looking for some help with a problem I'm having with Qemu USB 3.0 passthrough with a Sierra Wireless MC7430 cellular modem. In short, when I stress the modem with a high packet rate with small packets downstream using udpblast (the modem is receiving packets from the cellular network and passing them to the USB bus), I get the following error in my VM guest (Linux 4.14) almost immediately:

  xhci_hcd 0000:00:05.0: ERROR unknown event type 37
xhci_hcd 0000:00:05.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 12 comp_code 13 xhci_hcd 0000:00:05.0: Looking for event-dma 0000000004cdab50 trb-start 0000000004cda180 trb-end 0000000004cda180 seg-start 0000000004cda000 seg-end 0000000004cdaff0

The transfer event errors continue for a while until the guest kernel gives up and stops talking to the modem.

Qemu gives me this error message before it sends that event type 37 (CC_EVENT_RING_FULL_ERROR):

  xhci: ER 0 full, send ring full error

I think my problem is sort of mentioned in http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg00598.html

> It does suspious ERDP updates now and
> then (not every time, seems we must hit a race window for this to
> happen), which in turn makes the qemu xhci emulation think the event
> ring is full.  Things go south from here ...

I suppose I'm just really good at hitting that race window -- I can udpblast at 130,000 network packets per second over the modem when not running in a VM.

The most recent changes to Qemu that relate to the error I get are in http://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg01095.html

Does anyone have any insight into these recent xHCI controller changes in regards to this problem I'm seeing? Anyone help would be appreciated as I need to find a solution to this problem.



For reference, I'm using Qemu v2.10.1 and libusb 1.0.21 and running the VM on a Linux 4.14 host with:

  qemu-system-x86_64 --enable-kvm -nographic \
    -m 120M \
    -serial mon:stdio \
    -net nic,model=virtio -net tap,ifname=tap0script=no,downscript=no \
    -net nic,model=virtio -net tap,ifname=tap1,script=no,downscript=no \
    -drive file=$DISK,format=qcow2,if=virtio \
    -usb \
      -device usb-ehci,id=usb \
      -device usb-host,vendorid=0x1199,bus=usb.0

reply via email to

[Prev in Thread] Current Thread [Next in Thread]