Passing USB controller to VFIO Virtual Machine

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












Im running a Windows 10 VM using qemu version 2.10.1 on kernel 4.14.1 with a GPU passed through. I can also pass through an Intel-based USB controller. So far so good.



My Intel USB controller does not support resetting which is causing issues. I have another onboard USB controller - ASMedia based. Supposedly it supports resetting:



IOMMU group 12
[RESET] 04:00.0 USB controller [0c03]: ASMedia Technology Inc. Device [1b21:2142]


But when i try to pass it, instead of my intel one, the VM is unable to boot. 'dmesg' gives me:



[ 389.368990] device vnet0 entered promiscuous mode
[ 389.369151] virbr0: port 2(vnet0) entered blocking state
[ 389.369153] virbr0: port 2(vnet0) entered forwarding state
[ 390.360933] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003)
[ 390.361265] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x900
[ 391.444984] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
[ 391.444999] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
[ 391.445007] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
[ 391.445012] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
[ 391.445017] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
[ 391.445027] pcieport 0000:00:1c.4: broadcast error_detected message
[ 391.445034] pcieport 0000:00:1c.4: broadcast mmio_enabled message
[ 391.445036] pcieport 0000:00:1c.4: broadcast resume message
[ 391.445041] pcieport 0000:00:1c.4: AER: Device recovery successful
[ 391.445153] vfio_ecap_init: 0000:04:00.0 hiding ecap 0x19@0x200
[ 393.781020] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
[ 393.781033] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
[ 393.781041] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
[ 393.781047] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
[ 393.781052] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
[ 393.781061] pcieport 0000:00:1c.4: broadcast error_detected message
[ 393.781079] pcieport 0000:00:1c.4: broadcast mmio_enabled message
[ 393.781082] pcieport 0000:00:1c.4: broadcast resume message


Both of the USB controllers are in their own IOMMU group which they dont share with anything else



Why is this happening? Is the ASMedia missing some required hardware feature i dont know about?







share|improve this question
























    up vote
    1
    down vote

    favorite












    Im running a Windows 10 VM using qemu version 2.10.1 on kernel 4.14.1 with a GPU passed through. I can also pass through an Intel-based USB controller. So far so good.



    My Intel USB controller does not support resetting which is causing issues. I have another onboard USB controller - ASMedia based. Supposedly it supports resetting:



    IOMMU group 12
    [RESET] 04:00.0 USB controller [0c03]: ASMedia Technology Inc. Device [1b21:2142]


    But when i try to pass it, instead of my intel one, the VM is unable to boot. 'dmesg' gives me:



    [ 389.368990] device vnet0 entered promiscuous mode
    [ 389.369151] virbr0: port 2(vnet0) entered blocking state
    [ 389.369153] virbr0: port 2(vnet0) entered forwarding state
    [ 390.360933] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003)
    [ 390.361265] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x900
    [ 391.444984] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
    [ 391.444999] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
    [ 391.445007] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
    [ 391.445012] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
    [ 391.445017] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
    [ 391.445027] pcieport 0000:00:1c.4: broadcast error_detected message
    [ 391.445034] pcieport 0000:00:1c.4: broadcast mmio_enabled message
    [ 391.445036] pcieport 0000:00:1c.4: broadcast resume message
    [ 391.445041] pcieport 0000:00:1c.4: AER: Device recovery successful
    [ 391.445153] vfio_ecap_init: 0000:04:00.0 hiding ecap 0x19@0x200
    [ 393.781020] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
    [ 393.781033] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
    [ 393.781041] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
    [ 393.781047] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
    [ 393.781052] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
    [ 393.781061] pcieport 0000:00:1c.4: broadcast error_detected message
    [ 393.781079] pcieport 0000:00:1c.4: broadcast mmio_enabled message
    [ 393.781082] pcieport 0000:00:1c.4: broadcast resume message


    Both of the USB controllers are in their own IOMMU group which they dont share with anything else



    Why is this happening? Is the ASMedia missing some required hardware feature i dont know about?







    share|improve this question






















      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      Im running a Windows 10 VM using qemu version 2.10.1 on kernel 4.14.1 with a GPU passed through. I can also pass through an Intel-based USB controller. So far so good.



      My Intel USB controller does not support resetting which is causing issues. I have another onboard USB controller - ASMedia based. Supposedly it supports resetting:



      IOMMU group 12
      [RESET] 04:00.0 USB controller [0c03]: ASMedia Technology Inc. Device [1b21:2142]


      But when i try to pass it, instead of my intel one, the VM is unable to boot. 'dmesg' gives me:



      [ 389.368990] device vnet0 entered promiscuous mode
      [ 389.369151] virbr0: port 2(vnet0) entered blocking state
      [ 389.369153] virbr0: port 2(vnet0) entered forwarding state
      [ 390.360933] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003)
      [ 390.361265] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x900
      [ 391.444984] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
      [ 391.444999] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
      [ 391.445007] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
      [ 391.445012] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
      [ 391.445017] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
      [ 391.445027] pcieport 0000:00:1c.4: broadcast error_detected message
      [ 391.445034] pcieport 0000:00:1c.4: broadcast mmio_enabled message
      [ 391.445036] pcieport 0000:00:1c.4: broadcast resume message
      [ 391.445041] pcieport 0000:00:1c.4: AER: Device recovery successful
      [ 391.445153] vfio_ecap_init: 0000:04:00.0 hiding ecap 0x19@0x200
      [ 393.781020] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
      [ 393.781033] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
      [ 393.781041] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
      [ 393.781047] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
      [ 393.781052] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
      [ 393.781061] pcieport 0000:00:1c.4: broadcast error_detected message
      [ 393.781079] pcieport 0000:00:1c.4: broadcast mmio_enabled message
      [ 393.781082] pcieport 0000:00:1c.4: broadcast resume message


      Both of the USB controllers are in their own IOMMU group which they dont share with anything else



      Why is this happening? Is the ASMedia missing some required hardware feature i dont know about?







      share|improve this question












      Im running a Windows 10 VM using qemu version 2.10.1 on kernel 4.14.1 with a GPU passed through. I can also pass through an Intel-based USB controller. So far so good.



      My Intel USB controller does not support resetting which is causing issues. I have another onboard USB controller - ASMedia based. Supposedly it supports resetting:



      IOMMU group 12
      [RESET] 04:00.0 USB controller [0c03]: ASMedia Technology Inc. Device [1b21:2142]


      But when i try to pass it, instead of my intel one, the VM is unable to boot. 'dmesg' gives me:



      [ 389.368990] device vnet0 entered promiscuous mode
      [ 389.369151] virbr0: port 2(vnet0) entered blocking state
      [ 389.369153] virbr0: port 2(vnet0) entered forwarding state
      [ 390.360933] vfio-pci 0000:01:00.0: enabling device (0000 -> 0003)
      [ 390.361265] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x900
      [ 391.444984] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
      [ 391.444999] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
      [ 391.445007] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
      [ 391.445012] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
      [ 391.445017] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
      [ 391.445027] pcieport 0000:00:1c.4: broadcast error_detected message
      [ 391.445034] pcieport 0000:00:1c.4: broadcast mmio_enabled message
      [ 391.445036] pcieport 0000:00:1c.4: broadcast resume message
      [ 391.445041] pcieport 0000:00:1c.4: AER: Device recovery successful
      [ 391.445153] vfio_ecap_init: 0000:04:00.0 hiding ecap 0x19@0x200
      [ 393.781020] pcieport 0000:00:1c.4: AER: Uncorrected (Non-Fatal) error received: id=00e4
      [ 393.781033] pcieport 0000:00:1c.4: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=00e4(Requester ID)
      [ 393.781041] pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00100000/00010000
      [ 393.781047] pcieport 0000:00:1c.4: [20] Unsupported Request (First)
      [ 393.781052] pcieport 0000:00:1c.4: TLP Header: 34000000 04000010 00000000 17ff17ff
      [ 393.781061] pcieport 0000:00:1c.4: broadcast error_detected message
      [ 393.781079] pcieport 0000:00:1c.4: broadcast mmio_enabled message
      [ 393.781082] pcieport 0000:00:1c.4: broadcast resume message


      Both of the USB controllers are in their own IOMMU group which they dont share with anything else



      Why is this happening? Is the ASMedia missing some required hardware feature i dont know about?









      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 29 '17 at 20:19









      user1202032

      1062




      1062

























          active

          oldest

          votes











          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f407817%2fpassing-usb-controller-to-vfio-virtual-machine%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f407817%2fpassing-usb-controller-to-vfio-virtual-machine%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          Peggy Mitchell

          Palaiologos

          The Forum (Inglewood, California)