qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] USB support


From: Fabrice Bellard
Subject: Re: [Qemu-devel] USB support
Date: Sat, 05 Nov 2005 18:10:29 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913

Volker Ruppert wrote:
Hi,


The following features are implemented:

- PCI UHCI USB controller (I finally decided to implement UHCI because I
know it better than OHCI and because Bochs has a similar driver. Of
course it would still be very interesting to have an equivalent OHCI
controller for non PC targets and an EHCI controller for USB 2.0 devices).


I compared the Qemu USB controller with the Bochs one using Ralph Brown's pcifg utility and found two different things.
- Bochs USB appears at function 2 of the PIIX3
- Bochs USB uses PIRQ line INTD
You can find both things in the PIIX3 documentation.

I'll try to update that.

I tried the Qemu USB implementation with Win98 here. The hubs are detected correctly, but it makes Win98 hang on shutdown.

I only tested with a Linux 2.4 guest OS. The USB mouse is working in X11 and the USB hubs seem to work too.

- Linux host USB redirector to use the USB 1.1 host devices which are
not requested by the host OS (i.e. no host driver is loaded for them).
It is *very* limited and buggy at the moment, but I was able (once !) to
mount a disk-on-key flash device.


I guess the host OS doesn't like modifing data on a mounted devices. It might be okay for input-only devices. I cannot try it here, since it requires root permissions.

I will add a documentation once it works better, but here are some information :

1) The host OS must not use the USB device. It means in particular that no host OS driver must be present for that device. The solution I am using is to rename the host kernel module "usb-storage.o" to "usb-storage.o.disabled" so that it is not loaded by Linux. Then QEMU can exclusively access to the corresponding host storage USB device. The same apply to every other type of USB devices.

2) In order not to launch QEMU as root, I changed the permissions in /proc/bus/usb : chown -R myuid /proc/bus/usb. I am sure it is possible to find a better solution !

3) Isosynchronous USB packets are not redirected yet, so host webcams have no chance to work.

Fabrice.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]