From 4b69de4a3de9e7120e04ab27c684c571cc4f4c49 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Sat, 4 May 2013 12:15:24 +0300 Subject: [PATCH] VirtualBox: udev rule to populate /dev/vboxusb. After Linux 3.2(?), /proc/bus/usb (and usbfs (or usbdevfs?)) went away, leaving virtualbox no way to determine what USB devices were connected to the system. The solution was to add some virtualbox specific udev rules to populate /dev/vboxusb with what was in /proc/bus/usb before. Patch contributed by Jack Cummings. --- modules/programs/virtualbox.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/programs/virtualbox.nix b/modules/programs/virtualbox.nix index a7c41d915ec..c2781edffb8 100644 --- a/modules/programs/virtualbox.nix +++ b/modules/programs/virtualbox.nix @@ -15,6 +15,10 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in '' KERNEL=="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660", TAG+="systemd" KERNEL=="vboxnetctl", OWNER="root", GROUP="root", MODE="0600", TAG+="systemd" + SUBSYSTEM=="usb_device", ACTION=="add", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" + SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}" + SUBSYSTEM=="usb_device", ACTION=="remove", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" + SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN+="${virtualbox}/libexec/virtualbox/VBoxCreateUSBNode.sh --remove $major $minor" ''; # Since we lack the right setuid binaries, set up a host-only network by default.