1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
USB SoundCard Passthrough not working on arm64
Hello,
I am virtualizing a armhf guest on a aarch64 host and was to use my Sound Blaster USB Soundcard as passthrough.
armhf Guest is: Debian Buster
aarch64 host is a jetson nano. KVM is enabled.
Latest qemu is built from sources.
The command I use for running is as follows:
../qemu/build/qemu-system-aarch64 -M virt -m 2048 -smp 2 -cpu host,aarch64=off -enable-kvm \
-kernel vmlinuz-4.19.0-14-armmp-lpae -initrd initrd.img-4.19.0-14-armmp-lpae -append 'root=/dev/vda2' \
-device nec-usb-xhci -device usb-kbd -device usb-mouse -device usb-host,hostbus=1,hostport=2.3 -serial stdio \
-device virtio-gpu-pci,virgl=on,xres=1600,yres=900 -display sdl,gl=on \
-drive if=none,file=hda2.qcow2,format=qcow2,id=hd -device virtio-blk-device,drive=hd \
-netdev user,id=mynet -device virtio-net-device,netdev=mynet \
-bios edk2-arm-code.fd -no-reboot
Where are my lsusb -t shows:
rreddy78@jetson-nano:~/Downloads$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/4p, 5000M
|__ Port 1: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=tegra-xusb/5p, 480M
|__ Port 2: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 7, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 8, If 3, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 8, If 1, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 3: Dev 8, If 2, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 3: Dev 8, If 0, Class=Audio, Driver=snd-usb-audio, 12M
|__ Port 4: Dev 9, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
Within the VM I can see the usb as follows
rreddy78@debian:~$ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 480M
|__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 480M
Its looks like some passthrough as but it seems like only for
_ Port 3: Dev 8, If 3, Class=Human Interface Device, Driver=usbhid, 12M
I am not sure if passthrough even works because this post I saw
https://community.arm.com/developer/ip-products/system/f/embedded-forum/48031/usb-pass-through-in-qemu-command-line-for-arm-machines/168764#168764
|