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=redir0At the moment I'm defining the physical usb devices like this: -readconfig /etc/qemu/ich9-ehci-uhci.cfgIf 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.0x2This seems to differ from the configuration file, e.g. you have multifunzion=on only on the first uhciThat 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.0But 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.0Are 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: -chardevlibxl: 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: -monlibxl: 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: -spicelibxl: 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: -devicelibxl: 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: -netdevlibxl: 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: -devicelibxl: 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: -devicelibxl: 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: -devicelibxl: 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: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev1
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev3
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev4
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev5
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,name=usbredir,id=usbredirchardev6
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -chardevlibxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: spicevmc,id=vdagent,name=vdagent
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -devicelibxl: 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: -drivelibxl: 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
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel