Testing an EHCI host contoller plug-in card using the QEMU system emulator.
Our client, a USA based multinational OEM, contracted Emutex to create a new PCI device in the QEMU system emulator to fully simulate the behaviour of a new PCI express based EHCI (USB 2.0) host controller plug-in card for Microsoft Windows desktop PCs.
The card, which included custom RTL, implemented a EHCI controller that allowed multiple remote USB devices to connect to a local machine. Our client consulted with us on ways to de-risk the development of their complex solution. We therefore created a new PCI device in the QEMU system emulator to fully simulate the behaviour of the proposed device. We used QEMU to launch Windows and validate the system behaviour. The QEMU EHCI device was connected via a network to an actual remote USB device and the concept was proven. After successful completion of the project, the QEMU EHCI device was published to the open source community and has been included in all subsequent versions of QEMU.
Emutex recommends creation of emulated PCI devices as an excellent way to create proof of concept devices in software only to avoid the upfront expense of creating custom devices and to get an early understanding of how interactions with operating systems such as windows need to be catered for in the product design.