Hi All, Is anyone aware if this a general limitation of DomU Or is there a way to convince DomU to expose USB host controllers with streams support ?
Thanks Sudheer On Tue, Aug 30, 2022 at 1:34 PM A Sudheer <asr7...@gmail.com> wrote: > Few more logs > > From Dom0, did passthrough of two USB drives (32GB stick and 250GB USB SDD) > In DomU, 32GB driver got mounted but 250GB SSD fails to mount. > In DomU, "lsusb" shows both the drives but "usb-devices" shows only the > 32GB drive. > > *Dom0 log:* > amd@HOST:~$ sudo xl usb-list vm1 > Devid Type BE state usb-ver ports > 0 devicemodel 0 0 3 15 > Port 1: Bus 003 Device 002 > Port 2: Bus 005 Device 002 > Port 3: > Port 4: > Port 5: > Port 6: > Port 7: > Port 8: > Port 9: > Port 10: > Port 11: > Port 12: > Port 13: > Port 14: > Port 15: > HOST:~$ > > *DomU Log:* > amd@VM1:~$ lsusb > Bus 003 Device 003: ID 0781:558c SanDisk Corp. Extreme Portable SSD > Bus 003 Device 002: ID 0781:5581 SanDisk Corp. Ultra > Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub > Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub > Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU USB Tablet > Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub > amd@VM1:~$ > > *amd@VM1:~$ usb-devices* > > T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 > D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 > P: Vendor=1d6b ProdID=0001 Rev=05.18 > S: Manufacturer=Linux 5.18.0-4460-amd+ uhci_hcd > S: Product=UHCI Host Controller > S: SerialNumber=0000:00:01.2 > C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub > E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms > > T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 > P: Vendor=0627 ProdID=0001 Rev=00.00 > S: Manufacturer=QEMU > S: Product=QEMU USB Tablet > S: SerialNumber=42 > C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid > E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms > > T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh=15 > D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=1d6b ProdID=0002 Rev=05.18 > S: Manufacturer=Linux 5.18.0-4460-amd+ xhci-hcd > S: Product=xHCI Host Controller > S: SerialNumber=0000:00:04.0 > C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub > E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms > > T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh=15 > D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1 > P: Vendor=1d6b ProdID=0003 Rev=05.18 > S: Manufacturer=Linux 5.18.0-4460-amd+ xhci-hcd > S: Product=xHCI Host Controller > S: SerialNumber=0000:00:04.0 > C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub > E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms > > T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0 > D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 > P: Vendor=0781 ProdID=5581 Rev=01.00 > S: Manufacturer= USB > *S: Product= SanDisk 3.2Gen1* > S: > > SerialNumber=040143504c9a3bd4596082500826a11868845df4396ebc5cb2e33dd3071e3fd5505f000000000000000000003ca6a60b000d7c18815581071b2a7c33 > C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=896mA > I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage > E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms > E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms > amd@VM1:~$ > > *amd@VM1:~$ sudo dmesg <for 250GB USB-C SSD>* > > [ 247.071742] usb 3-2: new SuperSpeed USB device number 3 using xhci_hcd > [ 247.097304] usb 3-2: New USB device found, idVendor=0781, > idProduct=558c, bcdDevice=10.12 > [ 247.097314] usb 3-2: New USB device strings: Mfr=2, Product=3, > SerialNumber=1 > [ 247.097318] usb 3-2: Product: Extreme SSD > [ 247.097321] usb 3-2: Manufacturer: SanDisk > [ 247.097323] usb 3-2: SerialNumber: 31393430475A343030363932 > [ 247.101909] usb 3-2: USB controller 0000:00:04.0 does not support > streams, which are required by the UAS driver. > [ 247.101915] usb 3-2: Please try an other USB controller if you wish to > use UAS. > [ 247.101918] usb-storage 3-2:1.0: USB Mass Storage device detected > [ 247.102710] scsi host3: usb-storage 3-2:1.0 > [ 269.131522] usb 3-2: reset SuperSpeed USB device number 3 using xhci_hcd > > *DomU dmesg log while adding USB controller and USB 32GB disk* > > [ 94.494852] pci 0000:00:04.0: [1033:0194] type 00 class 0x0c0330 > [ 94.496278] pci 0000:00:04.0: reg 0x10: [mem 0x00000000-0x00003fff > 64bit] > [ 94.502161] pci 0000:00:04.0: BAR 0: assigned [mem > 0xf1800000-0xf1803fff 64bit] > [ 94.502981] pci 0000:00:04.0: enabling device (0000 -> 0002) > [ 94.504005] xen: --> pirq=24 -> irq=32 (gsi=32) > [ 94.514634] xhci_hcd 0000:00:04.0: xHCI Host Controller > [ 94.514650] xhci_hcd 0000:00:04.0: new USB bus registered, assigned bus > number 2 > [ 94.517840] xhci_hcd 0000:00:04.0: hcc params 0x00080001 hci version > 0x100 quirks 0x0000000000000014 > [ 94.523559] usb usb2: New USB device found, idVendor=1d6b, > idProduct=0002, bcdDevice= 5.18 > [ 94.523571] usb usb2: New USB device strings: Mfr=3, Product=2, > SerialNumber=1 > [ 94.523575] usb usb2: Product: xHCI Host Controller > [ 94.523579] usb usb2: Manufacturer: Linux 5.18.0-4460-amd+ xhci-hcd > [ 94.523581] usb usb2: SerialNumber: 0000:00:04.0 > [ 94.523974] hub 2-0:1.0: USB hub found > [ 94.524850] hub 2-0:1.0: 15 ports detected > [ 94.529968] xhci_hcd 0000:00:04.0: xHCI Host Controller > [ 94.529981] xhci_hcd 0000:00:04.0: new USB bus registered, assigned bus > number 3 > [ 94.529988] xhci_hcd 0000:00:04.0: Host supports USB 3.0 SuperSpeed > [ 94.530354] usb usb3: We don't know the algorithms for LPM for this > host, disabling LPM. > [ 94.530400] usb usb3: New USB device found, idVendor=1d6b, > idProduct=0003, bcdDevice= 5.18 > [ 94.530404] usb usb3: New USB device strings: Mfr=3, Product=2, > SerialNumber=1 > [ 94.530407] usb usb3: Product: xHCI Host Controller > [ 94.530410] usb usb3: Manufacturer: Linux 5.18.0-4460-amd+ xhci-hcd > [ 94.530412] usb usb3: SerialNumber: 0000:00:04.0 > [ 94.530653] hub 3-0:1.0: USB hub found > [ 94.531482] hub 3-0:1.0: 15 ports detected > [ 157.522609] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd > [ 157.548225] usb 3-1: New USB device found, idVendor=0781, > idProduct=5581, bcdDevice= 1.00 > [ 157.548236] usb 3-1: New USB device strings: Mfr=1, Product=2, > SerialNumber=3 > [ 157.548239] usb 3-1: Product: SanDisk 3.2Gen1 > [ 157.548242] usb 3-1: Manufacturer: USB > [ 157.548244] usb 3-1: SerialNumber: > 040143504c9a3bd4596082500826a11868845df4396ebc5cb2e33dd3071e3fd5505f000000000000000000003ca6a60b000d7c18815581071b2a7c33 > [ 157.571419] usb-storage 3-1:1.0: USB Mass Storage device detected > [ 157.571981] scsi host2: usb-storage 3-1:1.0 > [ 157.572125] usbcore: registered new interface driver usb-storage > [ 157.577381] usbcore: registered new interface driver uas > [ 158.581138] scsi 2:0:0:0: Direct-Access USB SanDisk 3.2Gen1 > 1.00 PQ: 0 ANSI: 6 > [ 158.581550] sd 2:0:0:0: Attached scsi generic sg0 type 0 > [ 158.584622] sd 2:0:0:0: [sda] 60088320 512-byte logical blocks: (30.8 > GB/28.7 GiB) > [ 158.590171] sd 2:0:0:0: [sda] Write Protect is off > [ 158.590181] sd 2:0:0:0: [sda] Mode Sense: 43 00 00 00 > [ 158.593387] sd 2:0:0:0: [sda] Write cache: disabled, read cache: > enabled, doesn't support DPO or FUA > [ 158.614589] sda: sda1 > [ 158.627564] sd 2:0:0:0: [sda] Attached SCSI removable disk > > > On Tue, Aug 30, 2022 at 11:12 AM A Sudheer <asr7...@gmail.com> wrote: > >> Hi All >> >> On XEN-4.16 with Ubuntu 22.04 Dom0 and HVM-DomU, I tried to do a USB mass >> storage device passthrough to DomU. >> I followed the PVUSB method mentioned in >> https://wiki.xenproject.org/wiki/Xen_USB_Passthrough. >> >> I am able to do passthrough for USB 2.0 and 3.x version 32/64 GB mass >> storage devices to DomU. >> Passthrough failed for "SanDisk 250GB SSD USB-C, USB 3.1" with below >> error. Able to access the SSD in Dom0. >> Can someone help with what could be missing here. >> >> *Commands used:* >> host$ sudo xl usbctrl-attach vm1 version=3 ports=6 >> host$ sudo xl usbdev-attach vm1 hostbus=3 hostaddr=2 >> >> *Error Log in DomU* >> VM1:~$ sudo dmesg >> [ 152.841566] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd >> [ 152.867164] usb 2-1: New USB device found, idVendor=0781, >> idProduct=558c, bcdDevice=10.12 >> [ 152.867173] usb 2-1: New USB device strings: Mfr=2, Product=3, >> SerialNumber=1 >> [ 152.867177] usb 2-1: Product: Extreme SSD >> [ 152.867179] usb 2-1: Manufacturer: SanDisk >> [ 152.867182] usb 2-1: SerialNumber: 31393430475A343030363932 >> [ 152.899103] *usb 2-1: USB controller 0000:00:04.0 does not support >> streams, which are required by the UAS driver.* >> [ 152.899110] usb 2-1: Please try an other USB controller if you wish to >> use UAS. >> [ 152.899113] usb-storage 2-1:1.0: USB Mass Storage device detected >> [ 152.902033] scsi host2: usb-storage 2-1:1.0 >> [ 152.902174] usbcore: registered new interface driver usb-storage >> [ 152.908928] usbcore: registered new interface driver uas >> [ 174.933399] usb 2-1: reset SuperSpeed USB device number 2 using >> xhci_hcd >> >> Thanks >> Sudheer >> >