PhobosK’s Blog

My personal weblog

Howto fix a VirtualBox “Failed to access the USB subsystem” error.


The system configuration is:

  • Gentoo 10.0 (3.6.6-gentoo, SMP, PREEMPT, x86_64)
  • VirtualBox 4.2.4 (app-emulation/virtualbox-bin-4.2.4)
  • KDE v4.9.3

The error is not distro or platform specific though.

Now if you encounter the VirtualBox error:

Failed to access the USB subsystem.
Could not load the Host USB Proxy service: VERR_DISK_FULL.


there could be a couple of reasons. But most often they could be:

  • Permissions problems for accessing the USB filesystem.
    • To check if this is the case try this command as user, and then as root:

VBoxManage list usbhost

If you get the USB devices listed as root but not as user, try to see if the /dev/vboxusb permissions are something like this:

ls -lR /dev/vboxusb/

/dev/vboxusb/:
total 0
drwxr-x— 2 root vboxusers 60 Nov 11 18:07 001
drwxr-x— 2 root vboxusers 40 Nov 11 19:34 003
drwxr-x— 2 root vboxusers 80 Nov 11 18:07 004
drwxr-x— 2 root vboxusers 80 Nov 11 18:07 005

/dev/vboxusb/001:
total 0
crw-rw—- 1 root vboxusers 189, 2 Nov 11 18:07 003

/dev/vboxusb/003:
total 0

/dev/vboxusb/004:
total 0
crw-rw—- 1 root vboxusers 189, 385 Nov 11 18:07 002
crw-rw—- 1 root vboxusers 189, 386 Nov 11 18:07 003

/dev/vboxusb/005:
total 0
crw-rw—- 1 root vboxusers 189, 514 Nov 11 18:07 003
crw-rw—- 1 root vboxusers 189, 515 Nov 11 18:07 004

    • Then make sure that you are in the vboxusers group.
  • Another reason for such an error is almost not commented on any Google resource for the error. And this reason is the limits of inotify that the system implies.
    • Check your limits by:

cat /proc/sys/fs/inotify/max_user_instances /proc/sys/fs/inotify/max_user_watches /proc/sys/fs/inotify/max_queued_events

If you are running at the same time a lot of applications that use inotify (like Amarok, Clementine, Krusader etc.) and meanwhile you start VirtualBox, the probability that the inotify watches per your user to be exhausted is great. And that makes VBox complain and turn off USB support.

    • Another way to check the problem, is as user in one terminal to start:

strace -o /tmp/VBoxSVC.out -f /opt/VirtualBox/VBoxSVC

and then again as user in another terminal to start:

VBoxManage list usbhost

Then go back to the first terminal and Ctrl+C the process. Then open the /tmp/VBoxSVC.out and look for permissions problems or “out of space” problems.

 

So now the fix if the problem is caused by limited inotify handles:

  • Create (as root) an /etc/sysctl.d/inotify.conf file with the following contents:

# VirtualBox tweak for USB to work (defaults are 1/2)

fs.inotify.max_user_instances = 256
fs.inotify.max_user_watches = 16384
fs.inotify.max_queued_events = 32768

  • Do (as root) a:

/etc/init.d/sysctl restart

and you are ready.

  • If for some reason the values above are not enough for you, you may higher them as needed. Look for more info here and here.

 

 

Please feel free to comment 🙂

Advertisements

11/11/2012 Posted by | Linux, Tech, Troubleshooting | , , , , , , | 8 Comments

Ubuntu Linux and the ACS ACR38DT DualKey smart card reader


Recently I bought the ACS ACR38DT DualKey smart card reader (ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader).
Since I work only on a Linux box, I needed a support driver for this device.
The PC/SC light project offers a CCID common driver that works with this device – the libccid package on Ubuntu.
But my problem was that I also have a OMNIKEY CardMan 6121 smart card reader that refuses to work properly with the PC/SC CCID driver, so i needed the official driver supplied by HID Global (see the Download link on the product page). Ubuntu offers an official driver for CardMan 6121 – pcsc-omnikey package. Unfortunately this package conflicts with the libccid package and the last cannot be installed together with the pcsc-omnikey. Another problem of the CardMan 6121 is that the pcsc-omnikey package is outdated, so i needed to download and prepare a new package for Ubuntu with the updated official driver version. It is now in my Ubuntu PPA repository for all those that will need it.

So in order to use my ACS ACR38DT DualKey smart card reader with the native PC/SC CCID driver i needed to remove the pcsc-omnikey package… I.e. I had to chose between using one of my readers at a time… A situation that was unacceptable for me…

I solved this problem by downloading the Linux driver from Advanced Card Systems and preparing a new CCID ACR package. BTW Ubuntu has a non-CCID driver package in the repositories and it’s named libacr38u. Sadly it does not support the listed smart card reader above.
So the new prepared package named: pcsc-acsccid, is ready and in my PPA repository. The difference from PC/SC native CCID driver is that it is standalone and does not need any additional packages except the official pcscd package from Ubuntu’s repos…
It works ok and that solved my two card readers problem…

So now I can use both my smart card reader devices (the OMNIKEY CardMan 6121 and the ACS ACR38DT DualKey) at the same time. 🙂
If you have the same problem I hope my solution helps you.

27/07/2011 Posted by | Linux, Tech, Tutorials | , , , , , , | 1 Comment

About Amarok and KDE4…


(posted on http://amarok.kde.org/en/releases/2.0 )

It is a pity that Amarok from the best Linux music player (v1.x) turns into one of the many music players out there for Linux…

But I understand it is not entirely by your fault… It was inevitable when you follow the KDE development and since the crap named KDE4 all this is going totally messed up and wrong, and finally will end up in oblivion.

What i do not understand is why should one start something almost from scratch in order to make some “nice” looking GUI and buggy not fully functional code, as he still has not fixed all the bugs and functionality in the old working version (this counts both for Amarok and KDE4). Is the reason for this to show the world that one may code or that one is a great developer? And where are the users’ opinion and ideas? You always say this or that new feature is better and usability is much better… OK, all this is better, but to whom it is better? To your users or to you the developers?

Because once you used to listen to your users… I still remember a version of Amarok that suddenly changed the GUI and because the users were totally disappointed, this version didn’t make it at all. What is now going on…. You find every reason to say how great you cope with the “new” development…. but we all know that there will be at least an year time to fix all bugs and introduce all old features to this new code…. Who do you lie infact …?

According to me one should do big steps when he is ready for that, and he should do it in small stages…. And you are not ready, neighter KDE is ready

Sorry if my opinion sounds to you too rude or inappropriate but I am really disappointed by Amarok2 and KDE4 as a whole… which makes me switch to GNOME (no matter how much i do not like it)…

05/01/2009 Posted by | Tech | , , | Leave a comment

HOWTO easy compile SubDownloader on Windows for free


I hope this post will help all the Windows users of SubDownloader that are dissatisfied with the new silly and insipid “Dual-Licensing” policy of the application concerning Windows OS binaries.

I wrote this HOWTO for the users that want to have SubDownloader packed and independent of any Python on the machine… like in situations when you put it on another MS computer, or you uninstall the Python and it’s modules etc.

The steps to follow for the building of SubDownloader on Windows are:

1. Depending on your Windows version, install

Microsoft Visual C++ 2005 Redistributable Package (x86) from here
or
Microsoft Visual C++ 2008 Redistributable Package (x86) from here.

2. Download and install the Windows 2.6.(x) version of Python from here:

http://www.python.org/ftp/python/2.6.1/python-2.6.1.msi
As an install folder use something simple (for convenience) like:
C:\python26

3. Download and install the PyQt4 for Windows (it should match the Python version you have downloaded in step 1 i.e. PyQt-Py2.6-gpl…) from here:

http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-Py2.6-gpl-4.4.4-2.exe

4. Download and install the py2exe binary (it should match the Python version you have downloaded in step 1 i.e. …win32-py2.6.exe ) from here:

http://downloads.sourceforge.net/py2exe/py2exe-0.6.9.win32-py2.6.exe?modtime=1226789831&big_mirror=0

5. Download the latest sources of SubDownloader from here:

http://code.launchpad.net/subdownloader/trunk/2.0.9/+download/SubDownloader-2.0.9.tar.gz

6. Create the folder “PROJECTS” in the install folder of Python from step 1 (C:\python26\PROJECTS)

7. Extract the SubDownloader-2.0.9.tar.gz into C:\python26\PROJECTS.

You may use any archive program for that like IZArc (it is a very good and free application).
After the extraction of the archive you should have this directory containing all the files of SubDownloader:
C:\python26\PROJECTS\subdownloader

8. Download and put in the C:\python26\PROJECTS\subdownloader folder these two files:

“setup.py”
“installer.nsi”

9. Download and install the NSIS (Nullsoft Scriptable Install System) from here:

http://downloads.sourceforge.net/nsis/nsis-2.42-setup.exe?modtime=1229784695&big_mirror=0

10. Open Windows command shell (Command Prompt) window and issue these commands in it (copy/paste them one line at a time):

Code:
cd C:\python26\PROJECTS\subdownloader
..\..\python -OO setup.py py2exe

11. You are ready with the build. The result is in the “dist” directory – C:\python26\PROJECTS\subdownloader\dist.

Test if the build works by starting the C:\python26\PROJECTS\subdownloader\dist\SubDownloader.exe file.
If it works you may proceed to next step and use the “dist” folder without making an install package
OR
you may go directly to step 14 to prepare the install package of SubDownloader.

12. Uninstall any previous versions of SubDownloader, copy the “dist” directory to your “Program Files” folder, rename it to: “SubDownloader” and create a shortcut to the “SubDownloader.exe” file.

13. Start the SubDownloader.exe and you will have a working, no time limit and open source, free application for Windows.

Below are the steps to prepare an install package of the already built SubDownloader.exe.

14. Open Windows command shell (Command Prompt) window and issue these commands in it (copy/paste them one line at a time):

Code:
cd C:\python26\PROJECTS\subdownloader
“C:\Program Files\NSIS\makensis.exe” installer.nsi

15. You are ready with the install package. You may find it in the C:\python26\PROJECTS\subdownloader folder as:

C:\python26\PROJECTS\subdownloader\SubDownloader_2.0.9-Installer.exe.
Now you have a python independent and free SubDownloader Windows installer that will uninstall the shareware version you have and install the free version.

If you have any questions i will be glad to help you.

NOTE: In case the above steps produce errors on your OS or something is not working, please try to use the Python 2.5.2 version and all the other versions of the programs listed above for that python version. Links are as follow:
1. Python – http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi
2. PyQt4 – http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-Py2.5-gpl-4.4.3-1.exe
3. py2exe – http://downloads.sourceforge.net/py2exe/py2exe-0.6.9.win32-py2.5.exe?use_mirror=kent

Your feedback on this is very welcome because probably some tweaking of this HOWTO is needed for the different Windows versions, but for this to happen you should share your experience in the building and packaging. To do this please answer the following questions no matter if building works or not:

1. What version of Windows you are using (98, XP, Vista)?
2. What version of Python/PyQt4/py2exe did you use?
3. Did you need to install some additional stuff from MS like Microsoft Visual C++ 2005 Redistributable Package (x86) etc.?
4. Did you need to do anything else not described in the HOWTO to make all work?

Thanks in advance…

For getting more info read the following thread here.

WARNING: Distributing the installer or the binaries that you get from this HOWTO breaks the EULAs with Microsoft and this makes their distribution ILLEGAL. BTW the same issue is with the official SubDownloader installer/binaries… Smile

29/12/2008 Posted by | Tech, Tutorials | , | 2 Comments