0

I have the following on the host machine

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I would like second in a line device to be passed through to the machine.

Also

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M

What should I write in qemu command line? I wrote

-usb -hostbus=1 -hostport=3

and in failed to run with

qemu-system-arm: -hostbus=1: invalid option

I wrote

-usb \
-device usb-host,hostbus=1,hostport=3 \

And got

libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003: Permission denied
libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes.
libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/001/003: Permission denied
libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes.

errors during boot under conventional used. If ran under sudo I got no errors, but also got no USB working under quest.

# lsusb
unable to initialize libusb: -99

Full command line

sudo qemu-system-arm \
    -kernel kernel-qemu-4.4.34-jessie \
    -cpu arm1176 -m 256 -M versatilepb \
    -serial stdio \
    -append "root=/dev/sda2 rootfstype=ext4 rw" \
    -hda myimage.img \
    -usb \
    -device usb-host,hostbus=1,hostport=3 \
    -redir tcp:5022::22 \
    -redir tcp:5080::80 \
    -no-reboot 

I have recompiled QEMU with

./configure --enable-libusb

but this didn't help. lsusb still gives an error. Also no rows about usb in dmesg. On real raspberri pi there are many usb rows including dwc_otg.

Dims
  • 3,181
  • 9
  • 49
  • 107

0 Answers0