[Spice-devel] Vdagent not working on xen linux hvm DomUs

Fabio Fantoni fabio.fantoni at m2r.biz
Thu Dec 5 07:11:52 PST 2013


Il 29/10/2013 13:02, Fabio Fantoni ha scritto:
> Il 29/10/2013 10:40, Alon Levy ha scritto:
>> On 10/29/2013 11:16 AM, Fabio Fantoni wrote:
>>> Il 18/10/2013 15:58, Fabio Fantoni ha scritto:
>>>>> On 10/14/2013 05:52 PM, Fabio Fantoni wrote:
>>>>>> /  I have added vdagent support on libxl for hvm domUs using
>>>>> upstream qemu.
>>>>> />/  On windows domUs it is working without problems found in over
>>>>> one year
>>>>> />/  that I'm using it.
>>>>> />/
>>>>> />/  On linux domUs is not working, it seems to be a problem on the
>>>>> kernel
>>>>> />/  side and/or linux vdagent services.
>>>>> />/  The domU parameters are the same on both linux and windows domUs
>>>>> and
>>>>> />/  below you can be find some details on dom0 if needed:
>>>>> />/ 
>>>>> http://lists.xen.org/archives/html/xen-devel/2013-10/msg01111.html
>>>>> />/  On my latest test with Fedora19 domU:
>>>>> />/  - on install one month ago there was this log:
>>>>> />/  /var/log/spice-vdagent.log (nomore now)
>>>>> />>/  spice-vdagent[1398]: err: Missing virtio device
>>>>> />>/  '/dev/virtio-ports/com.redhat.spice.0': No such file or 
>>>>> directory
>>>>> /
>>>>> This seems to be the error. You are missing the virtio device. 
>>>>> Does the
>>>>> domU have the virtio-serial module loaded (or compiled in)? does 
>>>>> the vm
>>>>> have the appropriate corresponding options in xen for creating that
>>>>> virtio pci device and the virtio serial port on top of it, with that
>>>>> name?
>>>> Thanks for reply.
>>>> I use the default kernel already installed on Fedora19 (plus software
>>>> update).
>>>> I did a grep on kernel config about VIRTIO and this is the result:
>>>>> less /boot/config-3.11.4-201.fc19.x86_64 | grep VIRTIO
>>>>> CONFIG_NET_9P_VIRTIO=m
>>>>> CONFIG_VIRTIO_BLK=m
>>>>> CONFIG_SCSI_VIRTIO=m
>>>>> CONFIG_VIRTIO_NET=m
>>>>> CONFIG_VIRTIO_CONSOLE=y
>>>>> CONFIG_HW_RANDOM_VIRTIO=m
>>>>> CONFIG_VIRTIO=y
>>>>> CONFIG_VIRTIO_PCI=y
>>>>> CONFIG_VIRTIO_BALLOON=m
>>>>> CONFIG_VIRTIO_MMIO=m
>>>>> # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
>>>>>> /  - spice-vdagent package is installed
>>>>> />/  - /dev/virtio-ports is missed
>>>>> />/  - lspci shows virtio console with virtio-pci driver in use
>>>>> /virtio console is something else. virtio-serial replaced it iirc,
>>>>> and is
>>>>> backward compatible, but you don't need a console. I'm not 
>>>>> familiar with
>>>>> Xen so I can't help in this.
>>>>>
>>>>> But this is your problem - don't bother checking any thing else until
>>>>> you have this device node present in the guest.
>>>> I used these qemu parameters in xen patch for vdagent support:
>>>> -device virtio-serial
>>>> -chardev spicevmc,id=vdagent,name=vdagent
>>>> -device virtserialport,chardev=vdagent,name=com.redhat.spice.0
>>>>
>>>> I also tried to use these qemu parameters instead with same result:
>>>> -device virtio-serial-pci,id=virtio-serial0
>>>> -device
>>>> virtserialport,bus=virtio-serial0.0,chardev=spicechannel0,name=com.redhat.spice.0 
>>>>
>>>>
>>>> -chardev spicevmc,id=spicechannel0,name=vdagent
>>>>
>>>> Since with same parameters windows guests it works, it seems there
>>>> would be some strange behaviours on guest's linux kernel.
>>>> I took a quick look at code but to no avail.
>>>>
>>>> If you need more details and/or tests tell me and I'll post them.
>>>>
>>> Ping
>> I don't have any clever ideas - you seem to be creating the device
>> correctly, like you say it's a kernel problem, try adding debug 
>> prints etc.
>
> Thanks for reply.
> I tried to add debug=20 on vdagent chardev but I not found any 
> additional lines on qemu logs.
> I didn't found any other debug information on Fedora guest logs.
> I added debug on kernel command line of grub.cfg and setted 
> kernel.printk = 7 7 1 7.
> Can you tell me how to have additional debug informations please?
> Are there some trace-events for vdagent on qemu?
> Thanks for any reply.

I saw a draft of virtio disk/net implementation for xen here:
http://wiki.xen.org/wiki/Virtio_On_Xen

There are 2 kernel patch to support virtio on pv domUs:
http://downloads.xen.org/Wiki/VirtioOnXen/linux-01-virtio-xenbus.patch
http://downloads.xen.org/Wiki/VirtioOnXen/linux-02-virtio-ring.patch

What about virtio on hvm linux? Maybe
 From wiki it seems virtio kernel patches only needed for pv domUs. 
Could be these patches needed to have virtio fully working also for hvm 
domUs?

I have cc'ed Wei Liu (patches author), and I restate that on hvm windows 
domUs it is working, with xen gplpv too.

Thanks for any reply.

>
>>>>>> /
>>>>> />/  Tried to check service:
>>>>> />/
>>>>> />/  # systemctl status spice-vdagentd
>>>>> />/  spice-vdagentd.service - Agent daemon for Spice guests
>>>>> />/     Loaded: loaded 
>>>>> (/usr/lib/systemd/system/spice-vdagentd.service;
>>>>> />/  enabled)
>>>>> />/     Active: inactive (dead)
>>>>> />/
>>>>> />/  # systemctl start spice-vdagentd
>>>>> />/  # systemctl status spice-vdagentd
>>>>> />/  spice-vdagentd.service - Agent daemon for Spice guests
>>>>> />/     Loaded: loaded 
>>>>> (/usr/lib/systemd/system/spice-vdagentd.service;
>>>>> />/  enabled)
>>>>> />/     Active: active (running) since lun 2013-10-14 16:32:52 CEST;
>>>>> 6s ago
>>>>> />/    Process: 1723 ExecStart=/usr/sbin/spice-vdagentd
>>>>> />/  $SPICE_VDAGENTD_EXTRA_ARGS (code=exited, status=0/SUCCESS)
>>>>> />/    Process: 1720 ExecStartPre=/bin/rm -f
>>>>> />/  /var/run/spice-vdagentd/spice-vdagent-sock (code=exited,
>>>>> />/  status=0/SUCCESS)
>>>>> />/   Main PID: 1725 (spice-vdagentd)
>>>>> />/     CGroup: name=systemd:/system/spice-vdagentd.service
>>>>> />/             ââ1725 /usr/sbin/spice-vdagentd
>>>>> />/
>>>>> />/  On /var/log/messages:
>>>>> />/  ...
>>>>> />>/  Oct 14 16:32:52 localhost systemd[1]: Starting Agent daemon for
>>>>> Spice
>>>>> />>/  guests...
>>>>> />>/  Oct 14 16:32:52 localhost systemd[1]: PID file
>>>>> />>/  /var/run/spice-vdagentd/spice-vdagentd.pid not readable (yet?)
>>>>> after
>>>>> />>/  start.
>>>>> />>/  Oct 14 16:32:52 localhost systemd[1]: Started Agent daemon for
>>>>> Spice
>>>>> />>/  guests.
>>>>> />/
>>>>> />/  But vdagent is still not working.
>>>>> />/
>>>>> />/
>>>>> />/  If you need more details and test tell me and I'll post them.
>>>>> />/
>>>>> />/  Thanks for any reply./
>>>
>



More information about the Spice-devel mailing list