VERR_READ_ERROR with one particular USB device on 4.2.4

Discussions related to using VirtualBox on Linux hosts.
Post Reply
jpahka
Posts: 3
Joined: 23. Nov 2012, 20:55

VERR_READ_ERROR with one particular USB device on 4.2.4

Post by jpahka »

Hello,

I'm a long time user of VirtualBox, and have had remarkably few problems with it, so thanks for that. Now however, after upgrading my host operating system to 64bit Ubuntu 12.10, I have problems with one paritcular USB device, a connector from my Garmin wrist computer. All the other USB devices I've tried work fine and my user is part of the 'vboxusers' group. The guest I'm running is Windows 7, and this is the same virtual machine that was running on my old host computer that I'm now trying to get away from, which is running 32bit Ubuntu 12.04. Both the old and new host are running VirtualBox and guest additions version 4.2.4. The said Garmin USB connector has worked fine in all my previous configurations with VirtualBox, for approximately 5 years.

Now the problem: (Usually) When I connect my Garmin, I get the following:

Code: Select all

Failed to attach the USB device Unknown device 091E:0003 [0001] to the virtual machine WindowsSeiska.

Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR).

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: Console
Interface: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}
I say usually, because, and this is strange: If I alter the permissions of the vbox kernel module in /etc/udev/rules.d/10-vboxdrv.rules from MODE="0600" to MODE="0666" in the below:

Code: Select all

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0666"
KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root", GROUP="root", MODE="0666"
then I can connect the Garmin USB device, if I start the guest virtual machine right after I boot the host os. That right, and If don't do it right after boot, and instead use it for say 5 minutes, I get the above error.

So, there's something fishy going on. The default kernel in Ubuntu 12.10 is 3.5.0-18. I've also tried mainline kernel 3.6.7, but it's got the same issue.

It does seem to be some kind of permissions issue. And mayge a 64bit issue, since I run the same virtual machine in 32bit Ubuntu just fine. I don't know how to track it down further. Is there some way to run VirtualBox in "root" mode so that it has all the permissions, so I can confirm that it is indeed something to do with permissions? Can I somehow debug this problem further?

Below is VirtualBox view of the USB device:

Code: Select all

UUID:               855e3c81-c005-471f-bedd-d56dfbff41ca
VendorId:           0x091e (091E)
ProductId:          0x0003 (0003)
Revision:           0.1 (0001)
Port:               2
USB version/speed:  1/1
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3//device:/dev/vboxusb/003/004
Current State:      Available
Thanks in advace,

Juhis
jpahka
Posts: 3
Joined: 23. Nov 2012, 20:55

Re: VERR_READ_ERROR with one particular USB device on 4.2.4

Post by jpahka »

Hello,

After upgrading to 4.2.6 the problem still persists. There's some news however. I decided to install the same ubuntu, but in a 32bit version to another partition in the same host computer I'm running, and so that both the 64bit and 32bit versions share their /home partition. So, essentially the endianess issue is the only thing separating the two instances of the host. And in the 32bit environment, the said Garmin USB connector works just fine. So there's definitely some 64bit issue with USB code present. And I don't know, but it might have something to do with USB version 1 devices, since all my v2 devices work just fine, and I seem to remember seeing other people reporting problems with USBv1 devices as well.

Booting to 32bit is not a solution to my problem however, kind of defeats the purpose of running a virtual machine in the first place. So I'd really really like to know how to solve this problem. My requirements are not huge, basically to be able to run a 64bit linux system, but also be able to use my Windows 7 installation (which is by the way a 32bit Windows, could that be a problem?). Options I can think of are:

- Somehow help fix VirtualBox 64bit.
- Try reinstalling Windows, possibly in 64bit maybe, though might introduce problems in Windows space, if you guys think it could help.
- Haven't tried yet, but maybe worth trying, Installing 32bit ubuntu guest and running the Windows on that guest (so the Ubuntu guest would act as a host, is that even supported?)

Any help in solving this from one of you guys would be higly appreciated!

TIA, juhis
noteirak
Site Moderator
Posts: 5229
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7
Contact:

Re: VERR_READ_ERROR with one particular USB device on 4.2.4

Post by noteirak »

jpahka wrote:Failed to attach the USB device Unknown device 091E:0003 [0001] to the virtual machine WindowsSeiska.

Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR).

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: Console
Interface: IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}
The first thing that strikes me is that the device is called "Unknown Device", and your issue only comes after an upgrade of your OS.
A device is typically called "Unkown Device" when there are no driver present for it - could you ensure you actually have the proper driver for your device installed?
Maybe these drivers have been removed from the new version of the OS, or there are not 64 bits drivers?
Hyperbox - Virtual Infrastructure Manager - https://apps.kamax.lu/hyperbox/
Manage your VirtualBox infrastructure the free way!
Martin
Volunteer
Posts: 2561
Joined: 30. May 2007, 18:05
Primary OS: Fedora other
VBox Version: PUEL
Guest OSses: XP, Win7, Win10, Linux, OS/2

Re: VERR_READ_ERROR with one particular USB device on 4.2.4

Post by Martin »

As 091E:0003 is defined in the default hwdata usb.ids a clean Linux install should be able to detect/name it as "Garmin International GPSmap (various models)".
If not then something is broken in the USB part of your Linux installation.
jpahka
Posts: 3
Joined: 23. Nov 2012, 20:55

Re: VERR_READ_ERROR with one particular USB device on 4.2.4

Post by jpahka »

Well, this just gets stranger. Yesterday I forgot to mention that I no longer could get the Garmin usb device working in 64 bit host even right after boot. I've tested a million things trying to get this solved and thought I'd just done... something to make it go away. Well, now in the 32bit system, where the device seemed to work yesterday when I installed the os, but today, when I booted the 32bit system so that I could compare the usb things I'm about to show you, the 32bit host no longer works, the same error results. So, It doesn't seem to be a 64bit issue after all.

I don't blame you if you're confused with this, I know I am. Seems that the first few times I run this guest Windows 7 on each host, I can attach the Garmin usb device, but then something goes wrong and it no longer works.

Now, the usb subsystem might be the problem. My computer is an Ivy Bridge laptop (Asus Zenbook UX32VD), that supports USBv3, pretty new stuff. But then again, as far as I can remember, the Garmin device was never identified by name, alway the id, in VirtualBox. And as I've told, I've used VirtualBox for several years, althoung always on Ubuntu hosts.

Now, this is how my host (64 bit from now on) sees the device:

Code: Select all

juhis@zenbook:~$ dmesg 
...
[   32.357030] usb 3-3: new full-speed USB device number 2 using xhci_hcd
[   32.375031] usb 3-3: New USB device found, idVendor=091e, idProduct=0003
[   32.375035] usb 3-3: New USB device strings: Mfr=0, Product=0, SerialNumber=0

Code: Select all

juhis@zenbook:~$ lsusb 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 007: ID 091e:0003 Garmin International GPS (various models)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:0139 Realtek Semiconductor Corp. Card reader
Bus 002 Device 003: ID 04f2:b330 Chicony Electronics Co., Ltd 
Bus 002 Device 004: ID 8087:07da Intel Corp. 

Code: Select all

juhis@zenbook:~$ lsusb -v
  ...
  idVendor           0x091e Garmin International
  idProduct          0x0003 GPS (various models)
  ...

Code: Select all

juhis@zenbook:~$ usb-devices
...
T:  Bus=03 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  8 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs=  1
P:  Vendor=091e ProdID=0003 Rev=00.01
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
And this is how VirtualBox sees the device:

Code: Select all

juhis@zenbook:~$ VBoxManage list usbhost
Host USB Devices:
...

UUID:               4f357b7c-c80e-4366-b1cb-5daf3aa4567a
VendorId:           0x091e (091E)
ProductId:          0x0003 (0003)
Revision:           0.1 (0001)
Port:               2
USB version/speed:  1/1
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3//device:/dev/vboxusb/003/007
Current State:      Available
lsusb recognizes the device by name, the kernel and VirtualBox don't. Should this look somehow different? Is there a bug in Ubuntu, that's always been there, but has bitten me? Any hint on how to debug this further?

Thanks guys, I now have a new suspect, the USB subsystem on the host...


TIA, juhis
DavidD
Posts: 1
Joined: 25. Jan 2013, 17:03

Re: VERR_READ_ERROR with one particular USB device on 4.2.4

Post by DavidD »

I have a very similar ( perhaps the same) error, which may cast some light into the gloom.

I discovered that the motherboard has USB 2.0 and USB 3.0 ports (by eventually reading the manual).
My device (Toshiba GigaBeat) would give the 'Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR)' when plugged into a USB 3 port.
When I eventually plugged it into a USB 2 port - it worked.

I have a similar issue with a USB-Serial dongle. It doesn't like the USB 3 ports and it is happy on the USB 2 ports.
All my USB memory sticks are happy on both.
Post Reply