|
From: | Fabrice Bellard |
Subject: | Re: [Qemu-devel] [patch] USB support |
Date: | Sun, 13 Nov 2005 22:47:10 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913 |
When I use usb_add, I get: USBDEVFS_DISCONNECT: Inappropriate ioctl for device This is with snapshot from 2005-11-11, on Debian testing, kernel 2.6.13 (with 1000Hz timer). The patch below fixes this (plainly taken from http://www.mail-archive.com/address@hidden/msg35550.html ; is ifno = 0 correct?)
Thank you. I was not able to test this ioctl on my PC, hence the problem...
With this patch, qemu recognized all USB devices I had available - which is actually only one device, a joystick :) Win2k showed it in the control panel with all available buttons and axes and reacted to events correctly. Though, a strange thing is that as long as the device is attached to the guest, Windows gets very slow. The Windows task manager shows that the guest CPU load is at 100%; but "top" on the guest shows that qemu uses only 20% host CPU. This starts as soon as usb_add is executed, and stops as soon as usb_del is executed. Does qemu use sleep in the usb code, or does maybe Windows sent the CPU a HLT ? I don't really understand that behaviour :)
As mentionned in the documentation, the USB host emulation is very slow in QEMU. The problem is that USB requests block the whole VM. I plan to implement non blocking USB I/Os soon.
Fabrice.
[Prev in Thread] | Current Thread | [Next in Thread] |