Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Driver won’t install, not compatible #807

Closed
oliviercailloux opened this issue Aug 11, 2022 · 1 comment
Closed

Driver won’t install, not compatible #807

oliviercailloux opened this issue Aug 11, 2022 · 1 comment
Assignees
Labels
Bug Bug Deprecated OS OS is no longer supported virtio-fs

Comments

@oliviercailloux
Copy link

oliviercailloux commented Aug 11, 2022

Describe the bug
Windows XP refuses to install the virtio-fs driver for the “Mass storage” device. Windows says that no compatible driver was found.

To Reproduce

  • Install a new Windows XP SP3 guest, shut it down.
  • Change the VM definition: add the two xml elements as documented.
  • Mount the virtio driver distribution as a CDROM.
  • Boot the guest. New devices have appeared. Windows asks for a driver for the Mass storage device.
  • Indicate the virtio CD and let Windows search for compatible drivers.
  • No compatible driver is found.

Expected behavior
I expect Windows to find a compatible driver.

Host:

  • Disto: Debian stable
  • Kernel version: 5.10.0-16-amd64 # 1 SMP Debian 5.10.127-2 (2022-07-23) x86_64 GNU/Linux
  • QEMU version: 5.2.0 (Debian 1:5.2+dfsg-11+deb11u2)
  • QEMU command line: using GUI
  • libvirt version: libvirt-daemon:amd64/bullseye 7.0.0-3
  • libvirt XML file
<domain type="kvm">
  <name>winxp</name>
  <uuid>d47f3c96-432c-47d4-bd85-f13aa0c272fb</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://microsoft.com/win/xp"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit="KiB">524288</memory>
  <currentMemory unit="KiB">524288</currentMemory>
  <memoryBacking>
    <source type="memfd"/>
    <access mode="shared"/>
  </memoryBacking>
  <vcpu placement="static">1</vcpu>
  <os>
    <type arch="x86_64" machine="pc-i440fx-5.2">hvm</type>
    <boot dev="hd"/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state="on"/>
      <vapic state="on"/>
      <spinlocks state="on" retries="8191"/>
    </hyperv>
    <vmport state="off"/>
  </features>
  <cpu mode="host-model" check="partial"/>
  <clock offset="localtime">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
    <timer name="hypervclock" present="yes"/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/home/libvirt-qemu/winxp/disk.qcow2"/>
      <target dev="hda" bus="ide"/>
      <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw"/>
      <source file="/home/libvirt-qemu/winxp/virtio-win-0.1.221.iso"/>
      <target dev="hdb" bus="ide"/>
      <readonly/>
      <address type="drive" controller="0" bus="0" target="0" unit="1"/>
    </disk>
    <disk type="file" device="disk">
      <driver name="qemu" type="raw"/>
      <source file="/home/olivier/Local/Nextcloud LAMSADE/Logiciels/D&#xE9;veloppement/winxp/virtio-win-0.1.221.iso"/>
      <target dev="hdc" bus="ide"/>
      <address type="drive" controller="0" bus="1" target="0" unit="0"/>
    </disk>
    <controller type="usb" index="0" model="ich9-ehci1">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x7"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci1">
      <master startport="0"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0" multifunction="on"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci2">
      <master startport="2"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x1"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci3">
      <master startport="4"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x2"/>
    </controller>
    <controller type="pci" index="0" model="pci-root"/>
    <controller type="ide" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/>
    </controller>
    <controller type="virtio-serial" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0"/>
    </controller>
    <filesystem type="mount" accessmode="passthrough">
      <driver type="virtiofs"/>
      <source dir="/home/olivier/Local/LaTeX/"/>
      <target dir="mount_tag"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0"/>
    </filesystem>
    <serial type="pty">
      <target type="isa-serial" port="0">
        <model name="isa-serial"/>
      </target>
    </serial>
    <console type="pty">
      <target type="serial" port="0"/>
    </console>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
      <address type="virtio-serial" controller="0" bus="0" port="1"/>
    </channel>
    <input type="tablet" bus="usb">
      <address type="usb" bus="0" port="1"/>
    </input>
    <input type="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <graphics type="spice" autoport="yes">
      <listen type="address"/>
      <image compression="off"/>
    </graphics>
    <sound model="ich6">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
    </sound>
    <video>
      <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
    </video>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="2"/>
    </redirdev>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="3"/>
    </redirdev>
    <memballoon model="virtio">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>
    </memballoon>
  </devices>
</domain>

VM:

  • Windows version: XP
  • Which driver has a problem: Virtiofs
  • Driver version or commit hash that was used to build the driver: virtio-win-0.1.221.iso.

Additional context
Windows gives me the following ids when I ask for details about the Mass storage device.

Device Instance Id : PCI\VEN_1AF4&DEV_105A&SUBSYS_11001AF4&REV_01\3&267A616A&0&38
Hardware Ids: PCI\VEN_1AF4&DEV_105A&SUBSYS_11001AF4&REV_01,
PCI\VEN_1AF4&DEV_105A&SUBSYS_11001AF4,
PCI\VEN_1AF4&DEV_105A&CC_018000,
PCI\VEN_1AF4&DEV_105A&CC_0180
Compatible Ids: PCI\VEN_1AF4&DEV_105A&REV_01,
PCI\VEN_1AF4&DEV_105A,
PCI\VEN_1AF4&CC_018000,
PCI\VEN_1AF4&CC_0180,
PCI\VEN_1AF4,
PCI\CC_018000,
PCI\CC_0180

Pointing to various specific folders in the virtio CD also fails (same result, no compatible driver).

Installing the Balloon drivers for the memory storage device works with no problem.

Additional question
Is WinSFP required for the driver to install? Is it required that the shared path be reachable and readable? I suppose that these two things cannot help explain why Windows does not find a compatible driver for this device (I expect that those things are only required at a later stage), so to ease debugging I left them aside for now. Is this correct?

@viktor-prutyanov
Copy link
Collaborator

Windows XP is not supported, sorry. The oldest supported version is Windows 8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Bug Deprecated OS OS is no longer supported virtio-fs
Projects
None yet
Development

No branches or pull requests

3 participants