diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index b26da505..fc8ca388 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -1370,7 +1375,7 @@ sub print_tabletdevice_full { # we use uhci for old VMs because tablet driver was buggy in older qemu my $usbbus; if ($q35 || $arch eq 'aarch64') { - $usbbus = 'ehci'; + $usbbus = 'qemu-xhci'; } else { $usbbus = 'uhci'; } @@ -1383,7 +1388,7 @@ sub print_keyboarddevice_full { return if $arch ne 'aarch64'; - return "usb-kbd,id=keyboard,bus=ehci.0,port=2"; + return "usb-kbd,id=keyboard,bus=qemu-xhci.0,port=2"; } my sub get_drive_id { diff --git a/PVE/QemuServer/USB.pm b/PVE/QemuServer/USB.pm index 49957444..c7b5033f 100644 --- a/PVE/QemuServer/USB.pm +++ b/PVE/QemuServer/USB.pm @@ -134,8 +134,8 @@ sub get_usb_controllers { my $is_q35 = PVE::QemuServer::Machine::machine_type_is_q35($conf); if ($arch eq 'aarch64') { - $pciaddr = print_pci_addr('ehci', $bridges, $arch, $machine); - push @$devices, '-device', "usb-ehci,id=ehci$pciaddr"; + $pciaddr = print_pci_addr('qemu-xhci', $bridges, $arch, $machine); + push @$devices, '-device', "qemu-xhci,id=qemu-xhci"; } elsif (!$is_q35) { $pciaddr = print_pci_addr("piix3", $bridges, $arch, $machine); push @$devices, '-device', "piix3-usb-uhci,id=uhci$pciaddr.0x2";