USB/Ethernet passthrough from Windows Host to App Build Envrionment

Hi, we are starting to develop Apps with ctrlX OS as our target system.

We setup the App Build Environment and tested the first cpp-samples.

Is it possible to connect (usb 3.0 or Ethernet) hardware to the Windows host and use the hardware inside the App Build Environment during development?

Best reply by Sgilk

Hi EchoHarmony ,

Sorry, I was working on this while nickH replied, so there is some duplicate information.

This is possible by setting some flags in the QEMU launch.bat file.

See documentation on USB Emulation from QEMU. Specifically, you will want usb-host and usb-net.

You can find the VM data at the storage location specified in ctrlX WORKS.

Here is an example implementation passing through a USB mouse/keyboard reciever from the Windows host.

 

IF "%ARCH%" == "amd64" (
    qemu-system-x86_64.exe ^
    -name "%NAME%" ^
    -machine q35,accel=%ACCEL% ^
    -smp 4 ^
    -m 4G ^
    -netdev user,id=eth0,%PFW% ^
    -device virtio-net-pci,netdev=eth0,mac=DE-AD-BE-00-00-01 ^
    -drive "file=%QCOW2%,format=qcow2" ^
    -drive "file=%UDIMG%,format=raw" ^
    -display none ^
    -nographic ^
    -device nec-usb-xhci ^
    -device usb-host,vendorid=0x1F75,productid=0x0817

    exit /B 0
)

 

 

The last two -device flags are the required changes from the default. I can now see the reciever in the usb device list.

 

 

View original
3 replies