USB devices reset on guest boot, causing boot failures if USB device is the boot device

Bug #1903857 reported by Leonardo Müller
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qemu (Ubuntu)
New
Undecided
Unassigned

Bug Description

When trying to boot a guest from a bootable USB device, the device is reset in the middle of the boot process. For example:

sudo qemu-system-x86_64 -m 2048 -vga qxl -usb -device usb-host,vendorid=0x054c -boot menu=on -accel kvm

Expected result: the bootable media is detected and the entire boot process works, booting correctly the system.

Observed result: bootloader (on this case, GRUB2) is detected correctly, boot process starts, messages that the USB device was reset appear and the boot fails.

I observed this problem with multiple USB devices from different brands (SanDisk, Sony, Kingston, Toshiba, Maxprint), so it's unlikely it's a problem with the device. This was observed with external HDD and pen-drives.

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: qemu-system-x86 1:4.2-3ubuntu6.8
ProcVersionSignature: Ubuntu 5.4.0-52.57-generic 5.4.65
Uname: Linux 5.4.0-52-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.11
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: XFCE
Date: Wed Nov 11 09:47:17 2020
InstallationDate: Installed on 2017-06-13 (1246 days ago)
InstallationMedia: Xubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
KvmCmdLine:
 COMMAND STAT EUID RUID PID PPID %CPU COMMAND
 qemu-system-x86 Sl+ 0 0 19986 19985 50.7 qemu-system-x86_64 -m 2048 -vga qxl -usb -device usb-host,vendorid=0x054c -boot menu=on -accel kvm
 kvm-nx-lpage-re S 0 0 19988 2 0.0 [kvm-nx-lpage-re]
 kvm-pit/19986 S 0 0 19992 2 0.0 [kvm-pit/19986]
MachineType: LENOVO 80UG
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.4.0-52-generic root=UUID=6b4ae5c0-c78c-49a6-a1ba-029192618a7a ro ro kvm.ignore_msrs=1 kvm.report_ignored_msrs=0 kvm.halt_poll_ns=0 kvm.halt_poll_ns_grow=0 i915.enable_gvt=1 resume=UUID=a82e38a0-8d20-49dd-9cbd-de7216b589fc log_buf_len=1M usbhid.quirks=0x0079:0x0006:0x100000 nbd.nbds_max=2 nbd.max_part=127
SourcePackage: qemu
UpgradeStatus: Upgraded to focal on 2019-12-22 (324 days ago)
dmi.bios.date: 08/09/2018
dmi.bios.vendor: LENOVO
dmi.bios.version: 0XCN45WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: Toronto 4A2
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40679 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Lenovo ideapad 310-14ISK
dmi.modalias: dmi:bvnLENOVO:bvr0XCN45WW:bd08/09/2018:svnLENOVO:pn80UG:pvrLenovoideapad310-14ISK:rvnLENOVO:rnToronto4A2:rvrSDK0J40679WIN:cvnLENOVO:ct10:cvrLenovoideapad310-14ISK:
dmi.product.family: IDEAPAD
dmi.product.name: 80UG
dmi.product.sku: LENOVO_MT_80UG_BU_idea_FM_Lenovo ideapad 310-14ISK
dmi.product.version: Lenovo ideapad 310-14ISK
dmi.sys.vendor: LENOVO

Revision history for this message
Leonardo Müller (leozinho29-eu) wrote :
Revision history for this message
Leonardo Müller (leozinho29-eu) wrote :
Revision history for this message
Leonardo Müller (leozinho29-eu) wrote :

I found two options in QEMU that solve this problem: adding 'streams=on,command_serr_enable=on' to the qemu-xhci (as -device qemu-xhci,streams=on,command_serr_enable=on) will make the USB devices not reset on boot, so it's possible to use live USBs on a QEMU guest correctly.

I'm not aware of negative impacts these options have on guests as, so far, I noticed nothing wrong with the guests or the USB devices after using them.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.