Hi Rabhi,
The usbLibDevCfgDrGet can now really fail when querying device info on
device capture. This is because the device being captured gets (soft-)
re-plugged, so it really disappears and then appears back, and doing
IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION and thing like this could
fail within this time slot.
The problem is that since description of one and the same device could
differ (depending on whether usbLibDevCfgDrGet fails or not), VBoxSVC
may think it is two different devices. There is a logic in VBoxSVC that
should prevent things like this, unfortunately it is hard to make it
work 100% correct.
I'll have another look into it t see if it can be improved to work
properly once I have a spare minute.
Thanks,
Mikhail
On 10/14/2011 7:18 PM, Ribhi Kamal wrote:
For the issue in vboxsvc, it seems like its a locking issue. See
attached log for more info.
Thanks,
Ribhi
On Thu, Oct 13, 2011 at 2:02 PM, Ribhi Kamal <[email protected]
<mailto:[email protected]>> wrote:
Alright, this is a very old problem that used to happens A LOT
with the very first version of vbox that had usb support. The
problem went a way for a while and now its back. It also happens
in both my compiled and Oracle binaries.
Here is what happens:
The smart-card reader is inserted to the host and a virtual
machine is running (nothing is captured yet)
vboxmanage list usbhost, shows the smartcard device but without
the Manufacturer and product strings.
C:\Users\tester\Desktop\bin-new>VBoxManage.exe list usbhost
Host USB Devices:
UUID: 7344ae78-9c6a-429f-a5d7-95838e6084e7
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
Current State: Busy
Next, when trying to attach the device:
C:\Users\tester\Desktop\bin-new>VBoxManage.exe controlvm testing
usbattach {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
C:\Users\tester\Desktop\bin-new>VBoxManage.exe list usbhost
Host USB Devices:
UUID: 7344ae78-9c6a-429f-a5d7-95838e6084e7
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
Current State: Captured
UUID: c78f6adb-5884-4bd2-8449-a06a892f0629
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Manufacturer: Axalto
Product: Reflex USB v3
Address:
\\?\usb#vid_80ee&pid_cafe#21120614404073#{00873fdf-cafe-80ee-aa5e-00c04fb1720b}
Current State: Held
C:\Users\tester\Desktop\bin-new>VBoxManage.exe list usbhost
Host USB Devices:
UUID: 7344ae78-9c6a-429f-a5d7-95838e6084e7
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
Current State: Captured
UUID: c78f6adb-5884-4bd2-8449-a06a892f0629
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Manufacturer: Axalto
Product: Reflex USB v3
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
Current State: Busy
Now the description for the smartcard reader is visable and the
capture will work.
C:\Users\tester\Desktop\bin-new>
C:\Users\tester\Desktop\bin-new>VBoxManage.exe controlvm testing
usbattach {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
VBoxManage.exe: error: USB device '<unknown>' with UUID
{7344ae78-9c6a-429f-a5d7-95838e6084e7} is busy with a previous
request. Please try again later
VBoxManage.exe: error: Details: code E_INVALIDARG (0x80070057),
component HostUSBDevice, interface IHostUSBDevice, callee IUnknown
VBoxManage.exe: error: Context: "AttachUSBDevice(usbId.raw())" at
line 832 of file VBoxManageControlVM.cpp
C:\Users\tester\Desktop\bin-new>VBoxManage.exe controlvm testing
usbattach *c78f6adb-5884-4bd2-8449-a06a892f0629*
C:\Users\tester\Desktop\bin-new>VBoxManage.exe list usbhost
Host USB Devices:
UUID: 7344ae78-9c6a-429f-a5d7-95838e6084e7
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
Current State: Captured
UUID: c78f6adb-5884-4bd2-8449-a06a892f0629
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Manufacturer: Axalto
Product: Reflex USB v3
Address:
\\?\usb#vid_80ee&pid_cafe#21120614404073#{00873fdf-cafe-80ee-aa5e-00c04fb1720b}
Current State: Captured
C:\Users\tester\Desktop\bin-new>
I'm not sure, but I think this problem was not in 4.1.2 and
definitely not in 4.0.12.
Thanks,
Ribhi
On Thu, Oct 13, 2011 at 12:12 PM, Ribhi Kamal <[email protected]
<mailto:[email protected]>> wrote:
More than often I see the following error when trying to
capture the axalto smartcard reader:
VBoxSVC.log
VirtualBox (XP)COM Server 4.1.51_OSE r38834 win.amd64 (Oct 11
2011 12:53:24) release log
00:00:00.000 main Log opened 2011-10-13T15:58:02.008196600Z
00:00:00.000 main OS Product: Windows 7
00:00:00.000 main OS Release: 6.1.7601
00:00:00.000 main Executable:
C:\Users\tester\Desktop\bin-new\VBOXSVC.exe
00:00:00.000 main Process ID: 2152
00:00:00.000 main Package type: WINDOWS_64BITS_GENERIC (OSE)
00:00:00.016 Loading settings file
"C:\Users\tester/.VirtualBox\VirtualBox.xml" with version
"1.12-windows"
00:00:00.156 usbLibDevCfgDrGet: DeviceIoControl 1
fail winEr (31)
00:00:00.453 VDInit finished
00:00:00.453 Loading settings file
"C:\Users\tester\VirtualBox VMs\testing\testing.vbox" with
version "1.11-windows"
00:00:01.794 USBPROXY usbLibDevCfgDrGet: DeviceIoControl 1
fail winEr (31)
------------------------------------------------------------
After the capture the device will be left in the following state:
C:\Users\tester\Desktop\bin-new>VBoxManage.exe list usbhost
Host USB Devices:
UUID: 717a5a0d-3510-4b9e-a5f5-2830de45ff3f
VendorId: 0x04b9 (04B9)
ProductId: 0x1000 (1000)
Revision: 1.0 (0100)
Manufacturer: Rainbow Technologies
Product: iKey 1000
Address:
\\?\usb#vid_80ee&pid_cafe#5&35ea7c2c&0&1#{00873fdf-cafe-80ee-aa5e-00c04fb1720b}
Current State: Captured
UUID: 407b053e-0566-47de-b293-a81781524dbf
VendorId: 0x04e6 (04E6)
ProductId: 0x511c (511C)
Revision: 5.24 (0524)
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0002
_*Current State: Captured*_
UUID: d027769c-8edb-4e12-a93e-56ff4e0614c6
VendorId: 0x0b97 (0B97)
ProductId: 0x7772 (7772)
Revision: 1.16 (0116)
Manufacturer: O2
Product: O2Micro CCID SC Reader
Address: {50dd5230-ba8a-11d1-bf5d-0000f805f530}\0001
Current State: Busy
There are two problems:
1- The capture issue. (maybe retry usbLibDevCfgDrGet?)
2- Handling the error is not done properly in vboxsvc(?) and
the device is left the "Captured" state eventhough it is not.
Please let me know how I can help.
Thanks,
-- Ribhi
--
-- Ribhi
--
-- Ribhi
_______________________________________________
vbox-dev mailing list
[email protected]
https://www.virtualbox.org/mailman/listinfo/vbox-dev
_______________________________________________
vbox-dev mailing list
[email protected]
https://www.virtualbox.org/mailman/listinfo/vbox-dev