Users running Manjaro Linux as a host for OracleVM VirtualBox 7.0.14 often find that SD card readers connected via USB are invisible to the guest operating system, even when properly attached in the VirtualBox interface. This issue typically stems from incorrect USB controller configuration or missing user permissions for raw USB access within the Manjaro environment, requiring specific adjustments to both the VM settings and host group memberships.
Understanding the Root Cause
The inability to see SD card devices in a VirtualBox guest on a Manjaro host is rarely a failure of the virtualization software itself but rather a misconfiguration of how the host passes through USB hardware. VirtualBox relies on the host’s kernel modules to intercept USB requests and redirect them to the virtual machine. If the USB controller type assigned to the VM does not match the capabilities of the physical reader, or if the user account lacks permission to access the USB bus directly, the device will remain hidden. This problem is particularly common with high-speed storage devices like SD cards because they often require USB 3.0 (xHCI) controllers to function correctly at full speed. Older configurations might default to USB 2.0 (EHCI), which can sometimes struggle with detection depending on the guest OS drivers. Furthermore, Linux distributions like Manjaro enforce strict security policies regarding USB device access, meaning that simply plugging in the device is insufficient; the user must be explicitly granted access through system groups.Configuring the USB Controller in VirtualBox
The first step in resolving this visibility issue is ensuring that the virtual machine is configured to use the correct USB controller architecture. In OracleVM VirtualBox 7.0.14, you must navigate to the settings of your specific Manjaro-based guest VM. Select System from the left-hand menu and then click on the Motherboard tab. Here, verify that the Chipset is set to PIIX3 or ICH9, though this has minimal impact on USB passthrough compared to the controller selection below. More critically, switch to the USB tab within those same settings. You must ensure that the Enable USB Controller box is checked. Crucially, you should select USB 3.0 (xHCI) Controller rather than USB 2.0. Most modern SD card readers utilize the USB 3.0 standard for data transfer speeds that exceed what older USB 2.0 controllers can reliably handle. If the guest operating system is modern enough to support xHCI drivers, forcing this setting allows the VM to communicate directly with the high-speed bus where the SD card reader resides. After changing this setting, you must power off the VM completely and restart it. Do not resume from a saved state, as hardware changes during runtime can cause conflicts. Once the VM boots, check the device list again. If the SD card reader appears in the VirtualBox status bar at the bottom right, you have successfully corrected the architectural mismatch.Correcting Host User Permissions on Manjaro
Even with the correct USB controller selected, the device may still not appear if the current Linux user does not have permission to interact with the USB subsystem. VirtualBox uses a backend calledvboxusb to manage these connections, and access is controlled by the vboxusers group in Arch-based systems like Manjaro. If your user account is not a member of this group, VirtualBox cannot claim the USB device from the host kernel, resulting in the "device not found" error.
To fix this, open a terminal in your Manjaro host environment. You need to add your current username to the vboxusers group. Use the following command, replacing your_username with your actual login name:
sudo usermod -aG vboxusers your_username
It is important to note that adding a user to a group does not take effect immediately for currently running sessions. You must log out of your graphical desktop session entirely and log back in. Alternatively, you can reboot the host machine. Upon returning to your desktop, start VirtualBox and attempt to attach the SD card reader again. The system should now allow VirtualBox to bind to the USB device without permission errors.
For additional context on managing virtual machine environments securely, you might also review Secure VirtualBox VM Encryption to understand how other hardware restrictions are handled in your setup.
Verifying Device Attachment in the Guest
Once the host permissions are corrected and the USB 3.0 controller is active, you must manually attach the device to the running VM. In the VirtualBox window for your Manjaro guest, look at the bottom-right corner for the USB icon. Click it to open the device menu. You should see your SD card reader listed there. Select it to inject it into the guest OS. If the device still does not appear, check the Devices menu in the top bar of the VirtualBox window and select Insert Guest Additions CD image.... Reinstalling or updating the Guest Additions ensures that the guest OS has the necessary drivers to recognize the emulated USB hardware provided by VirtualBox. After installing the additions, restart the guest VM one last time. The SD card should now be visible in the file manager of the guest operating system, allowing you to read and write data as expected. For users who frequently transfer large amounts of data between hosts and guests, understanding network alternatives can be useful. See How to Register a VM with VBoxManage: Transferring VirtualBox VMs to a Different User Host for insights on broader VM management strategies.Frequently Asked Questions
Why does my SD card work on the host but not in the VM?
This occurs because the host OS captures the USB device exclusively unless VirtualBox is explicitly granted permission to share it. Without being in the vboxusers group and using the correct USB 3.0 controller, the VM cannot request the device from the host kernel.
Can I use USB 2.0 instead of USB 3.0 for SD cards?
While technically possible, USB 2.0 is significantly slower and may fail to initialize certain high-capacity or high-speed SD cards. Using USB 3.0 (xHCI) is strongly recommended to ensure compatibility and performance.
What if the USB device is grayed out in VirtualBox?
A grayed-out device usually means another application on the host is using it, or your user lacks permissions. Ensure no file managers on the host are mounted the card, and verify your membership in the vboxusers group.
Do I need to reinstall VirtualBox after changing USB settings?
No, you do not need to reinstall the software. Changing the controller type and group membership takes effect after restarting the VM and relogging into your host session.
Is this issue specific to Manjaro Linux?
No, this is a common issue across many Linux distributions that use systemd and strict udev rules for USB access. However, Arch-based systems like Manjaro require explicit group membership for vboxusers, which is sometimes automated differently in other distros.