qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Spice-devel] Advice on some configuration parameters


From: Fabio Fantoni
Subject: Re: [Qemu-devel] [Spice-devel] Advice on some configuration parameters
Date: Tue, 05 Mar 2013 15:20:11 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3

Il 05/03/2013 11:19, Hans de Goede ha scritto:
Hi,

On 03/01/2013 11:02 AM, Fabio Fantoni wrote:
Il 12/02/2013 14:05, Fabio Fantoni ha scritto:
I'm making patches to enable some qemu upstream features in xen that are missing in libxl. I'm trying to do it just by giving arguments to qemu, and I want them to be dynamic (e.g. without physical addresses if possible) and concise.

I'm confused about usb configuration.

Looking at what virt-manager does, it seems that you set the usbredirection in channels like this: -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0

At the moment I'm defining the physical usb devices like this:
-readconfig /etc/qemu/ich9-ehci-uhci.cfg

If I try to set up virt-manager so that it doesn't point to a file, it uses this configuration:

-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2

This seems to differ from the configuration file, e.g. you have multifunzion=on only on the first uhci

That does not matter the multifunction bit needs to set only on 0x5.0x0.

besides I can't understand how many physical ports are defined.

6, the same as with the "-readconfig /etc/qemu/ich9-ehci-uhci.cf" directive.

I tried setting 9 usbredirection channels in virt-manager but that configuration doesn't change and no errors are reported, but I doubt that physical ports are being define dynamically.

Hmm, that would be a libvirt bug you should be able to add only 6
usb-redir channels, unless you add a second usb controller ...

Possibly libvirt is also adding a hub? That would work sort-of, it
would make channels 6-9 be usb-1 only, since we don't emulate
usb-2 hubs.


Can you omit physical addresses?

In most cases yes, then qemu will pick one itself.

I searched the web but I can't find detailed informations about it. Can someone explain in detail how you are supposed to configure usb physical ports? I want to enable both usb redirection and usb passthrough in a dynamic and concise manner.

The easiest way to do is probably to create the setup you want using
virt-manager and then run the vm once, after that the xml file
should contain fixed addresses for all devices.


About spice vdagent at the moment I'm using this configuration that seems to work: -device virtio-serial -chardev spicevmc,id=vdagent,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0

But I noticed that virt-manager use this slightly different one:
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0

Are there any problem with the more concise one I'm using?

No.

Regards,

Hans


Thanks for reply, my goal is doing complete and good full feature implementation of spice in xen (now exactly on libxl). The basic implementation was already present and working but without vdagent, qxl and usb redirection.

I did patch for qxl support, for now is working only as standard vga, with qxl driver not working in both windows and linux vm. I already did many posts on xen-devel,qemu-devel and spice-devel but without solution by now. I tried to found a solution myself for about 1 year without success. It seems (almost certain) there are changes/fixes to do on hvmloader (xen side) and it should be also necessary changes on qemu and/or spice side. Unfortunately I don't have much knowledge on this parts and I not found nobody that can help me about for now.

I'm trying to have a complete feature list of qemu options (about spice) by doing a try and learn tests between kvm and xen.
I have some question:
Is -nodefaults necessary/useful for spice? xen do not use/want that for now
Is -no-shutdown necessary/useful for spice?
What is exactly seamless migration on spice? is necessary to be on?
Is -device usb-tablet necessary/useful for spice?


I tried to do usb redirection without cfg files but is not working.
These are all qemu option of W7 domU of my test:

libxl: debug: libxl_device.c:920:device_hotplug: calling hotplug script: /etc/xen/scripts/block add libxl: debug: libxl_dm.c:1156:libxl__spawn_local_dm: Spawning device-model /usr/lib/xen/bin/qemu-system-i386 with arguments: libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: /usr/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -xen-domid
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   9
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-9,server,nowait
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -mon
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -name
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   W7
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -global
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: isa-fdc.driveA=
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -spice
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: port=6002,tls-port=0,addr=0.0.0.0,disable-ticketing,agent-mouse=on
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -vga
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   std
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -boot
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   order=dc
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -soundhw
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   hda
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -smp
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   2,maxcpus=2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: e1000,id=nic0,netdev=net0,mac=00:16:3e:38:af:5f
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -netdev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: type=tap,id=net0,ifname=vif9.0-emu,script=no,downscript=no
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: ich9-usb-ehci1,id=ehci,bus=pci.0,addr=1d.7
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: ich9-usb-uhci1,masterbus=ehci.0,firstport=0,bus=pci.0,multifunction=on,addr=1d.5
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: ich9-usb-uhci2,masterbus=ehci.0,firstport=2,bus=pci.0,addr=1d.1
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: ich9-usb-uhci3,masterbus=ehci.0,firstport=4,bus=pci.0,addr=1d.2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev1
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev3
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: usb-redir,chardev=usbredirchardev3,id=usbredirdev3,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev4
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: usb-redir,chardev=usbredirchardev4,id=usbredirdev4,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev5
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: usb-redir,chardev=usbredirchardev5,id=usbredirdev5,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev6
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: usb-redir,chardev=usbredirchardev6,id=usbredirdev6,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   virtio-serial
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,id=vdagent,name=vdagent
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: virtserialport,chardev=vdagent,name=com.redhat.spice.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -M
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   xenfv
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -m
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   2032
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:   -drive
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: file=/mnt/vm/disks/W7.disk1.xm,if=ide,index=0,media=disk,format=raw,cache=writeback

Vdagent is working, I'll do a patch for insert it in libxl, usbredirection with cfg file is working without (with config above) not, what I do wrong? Based on this qemu options is there something other that can be a problem with spice and need to be improved?

Thanks for any reply.

Attachment: smime.p7s
Description: Firma crittografica S/MIME


reply via email to

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