Index: /trunk/src/VBox/ValidationKit/tests/usb/usbgadget2.py
===================================================================
--- /trunk/src/VBox/ValidationKit/tests/usb/usbgadget2.py	(revision 60547)
+++ /trunk/src/VBox/ValidationKit/tests/usb/usbgadget2.py	(revision 60548)
@@ -1295,4 +1295,6 @@
         self.sImpersonation = g_ksGadgetImpersonationInvalid;
         self.idGadget       = None;
+        self.iBusId         = None;
+        self.iDevId         = None;
         self.iUsbIpPort     = None;
 
@@ -1306,4 +1308,6 @@
             fRc = self.oUtsSession.syncGadgetDestroy(self.idGadget);
             self.idGadget = None;
+            self.iBusId   = None;
+            self.iDevId   = None;
 
         return fRc;
@@ -1340,4 +1344,6 @@
                 fRc = True;
                 self.idGadget = getU32(abPayload, 16);
+                self.iBusId   = getU32(abPayload, 20);
+                self.iDevId   = getU32(abPayload, 24);
         else:
             reporter.log('Invalid or unsupported impersonation');
@@ -1351,4 +1357,10 @@
         """
         return self.iUsbIpPort;
+
+    def getGadgetBusAndDevId(self):
+        """
+        Returns the bus ad device ID of the gadget as a tuple.
+        """
+        return (self.iBusId, self.iDevId);
 
     def connectTo(self, cMsTimeout, sHostname, uPort = None, fUsbIpSupport = True, cMsIdleFudge = 0):
Index: /trunk/src/VBox/ValidationKit/utils/usb/UsbTestService.cpp
===================================================================
--- /trunk/src/VBox/ValidationKit/utils/usb/UsbTestService.cpp	(revision 60547)
+++ /trunk/src/VBox/ValidationKit/utils/usb/UsbTestService.cpp	(revision 60548)
@@ -703,4 +703,6 @@
 
         Rep.idGadget = 0;
+        Rep.u32BusId = utsGadgetGetBusId(pClient->hGadget);
+        Rep.u32DevId = utsGadgetGetDevId(pClient->hGadget);
         rc = utsReplyInternal(pClient, &Rep.Sts, "ACK     ", sizeof(Rep) - sizeof(UTSPKTSTS));
     }
Index: /trunk/src/VBox/ValidationKit/utils/usb/UsbTestServiceProtocol.h
===================================================================
--- /trunk/src/VBox/ValidationKit/utils/usb/UsbTestServiceProtocol.h	(revision 60547)
+++ /trunk/src/VBox/ValidationKit/utils/usb/UsbTestServiceProtocol.h	(revision 60548)
@@ -221,6 +221,10 @@
     /** The gadget ID on success. */
     uint32_t        idGadget;
-    /** Padding - reserved. */
-    uint8_t         au8Padding[12];
+    /** Bus ID the gadget is attached to */
+    uint32_t        u32BusId;
+    /** Device ID of the gadget on the bus. */
+    uint32_t        u32DevId;
+    /** Padding - reserved. */
+    uint8_t         au8Padding[4];
 } UTSPKTREPGDGTCTOR;
 AssertCompileSizeAlignment(UTSPKTREPGDGTCTOR, UTSPKT_ALIGNMENT);
