# [NAS4Free] Interface association missing VirtualBox USB



## Pixel (Jul 31, 2017)

I'm having a problem with a HiFace Two DAC connected to an Ubuntu guest on VirtualBox.
The host is a NAS4Free (FreeBSD based).

On a bare Ubuntu I get this module correct working and reported like this in Ubuntu:

```
[1191641.895471] usbcore: registered new interface driver [b]snd-usb-hiface[/b]
[1191749.850291] usb 1-1.1.1: new high-speed USB device number 9 using ehci-pci
```

On the VirtualBox guest is says this:

```
[    9.757422] usb 1-1: Audio class v2 interfaces need an interface association
[    9.757444] [b]snd-usb-audio[/b]: probe of 1-1:1.0 failed with error -22
```

I code found the source of this error message here.

If I compare the USB output from the bare metal server and the Ubuntu guest on the FreeBSD host then I see indeed that the bare metal has 2 blocks "Interface association" while those are stripped out when connected through VirtualBox?

So the wrong driver (snd-usb-audio instead of snd-usb-hiface) is loaded because those two blocks are missing.


----------



## SirDice (Jul 31, 2017)

PC-BSD, FreeNAS, NAS4Free, and all other FreeBSD Derivatives


----------



## ralphbsz (Jul 31, 2017)

Pixel said:


> If I compare the USB output from the bare metal server and the Ubuntu guest on the FreeBSD host then I see indeed that the bare metal has 2 blocks "Interface association" while those are stripped out when connected through VirtualBox?


If the host OS (which in your case is a FreeBSD derivative) really does strip out two USB blocks, that is a bug, most likely in VirtualBox.  The right audience for your post would be VirtualBox developers.



> So the wrong driver (snd-usb-audio instead of snd-usb-hiface) is loaded because those two blocks are missing.


As a dirty hack and work-around, could you perhaps go edit the file in Ubuntu that controls which driver is loaded for which hardware (the Ubuntu equivalent of /etc/devd/usb.conf in FreeBSD)?  To do that, you'd need to talk to Linux / Ubuntu experts; maybe start by reading about "udev" and how it is configured.


----------

