- usb: virt_test_type = qemu no Host_RHEL.m5 no Host_RHEL.m6.u1 restart_vm = yes kill_vm_on_error = yes usbs = " usbtest" usb_bus = "usbtest.0" # usb controllers variants: - piix3-uhci: usb_type_usbtest = piix3-usb-uhci usb_controller = uhci max_ports_usbtest = 2 drive_format_stg = "usb1" no ppc64 ppc64le - piix4-uhci: usb_type_usbtest = piix4-usb-uhci usb_controller = uhci max_ports_usbtest = 2 drive_format_stg = "usb1" no ppc64 ppc64le no Windows - ich9-uhci: usb_type_usbtest = ich9-usb-uhci6 usb_controller = uhci max_ports_usbtest = 2 drive_format_stg = "usb1" no ppc64 ppc64le no Host_RHEL.m6 - ich9-ehci: usb_controller = ehci max_ports = 6 drive_format_stg = "usb2" no ppc64 ppc64le # Use ich9-usb-ehci2 for usb_hotplug..usb_negative_test and # usb_multi_disk test since ich9-usb-ehci1 is specified to # be used as companion controller in avocado-vt variants: - @ich9-ehci1: no usb_hotplug..usb_negative_test, usb_multi_disk usb_type_usbtest = ich9-usb-ehci1 - ich9-ehci2: only usb_hotplug..usb_negative_test, usb_multi_disk usb_type = ich9-usb-ehci2 - usb-ehci: usb_type_usbtest = usb-ehci usb_type = usb-ehci usb_controller = ehci max_ports = 6 drive_format_stg = "usb2" - nec-xhci: no RHEL.5 no Host_RHEL.m6 usb_type_usbtest = nec-usb-xhci usb_type = nec-usb-xhci usb_controller = xhci max_ports = 4 drive_format_stg = "usb3" Host_RHEL: no Win2000, WinXP, Win2003, WinVista, Win7, Win2008 - qemu-xhci: no RHEL.5 no Host_RHEL.m6, Host_RHEL.m7.u0, Host_RHEL.m7.u1 no Host_RHEL.m7.u2, Host_RHEL.m7.u3 usb_type_usbtest = nec-usb-xhci usb_type = qemu-xhci usb_controller = xhci max_ports = 4 drive_format_stg = "usb3" Host_RHEL: no Win2000, WinXP, Win2003, WinVista, Win7, Win2008 # usb toplogy variants: - without_usb_hub: - with_usb_hub: no usb_host, usb_multi_disk no usb-ehci usb_devices += " hub1" usb_type_hub1 = usb-hub usb_port_hub1 = "2" usb_port_testdev = "2.1" variants: - one_usb_dev: - max_usb_dev: only usb_boot, usb_reboot no usb_hub usb_devices += " d1 d2 d3 d4 d5 d6 d7" usb_port_d1 = "2.2" usb_port_d2 = "2.3" usb_port_d3 = "2.4" usb_port_d4 = "2.5" usb_port_d5 = "2.6" usb_port_d6 = "2.7" usb_port_d7 = "2.8" - max_usb_hub_dev: only usb_boot, usb_reboot only usb_hub usb_devices += " hub2 hub3 hub4" usb_port_hub2 = "2.2" usb_port_hub3 = "2.3" usb_port_hub4 = "2.4" # usb devices variants: - @usb_nodev: only usb_storage, usb_host, usb_multi_disk - usb_kbd: Host_RHEL.m6: no usb-ehci only usb_reboot, usb_hotplug usb_type = "usb-kbd" info_usb_name = "QEMU USB Keyboard" vendor_id = "0627" product_id = "0001" vendor = "Adomax Technology Co., Ltd" product = "QEMU USB Keyboard" - usb_mouse: Host_RHEL.m6: no usb-ehci only usb_reboot, usb_hotplug usb_type = "usb-mouse" info_usb_name = "QEMU USB Mouse" vendor_id = "0627" product_id = "0001" vendor = "Adomax Technology Co., Ltd" product = "QEMU USB Mouse" - usb_tablet: Host_RHEL.m6: no usb-ehci only usb_reboot, usb_hotplug usb_type = "usb-tablet" info_usb_name = "QEMU USB Tablet" vendor_id = "0627" product_id = "0001" vendor = "Adomax Technology Co., Ltd" product = "QEMU USB Tablet" - usb_ccid: no usb-ehci only usb_boot, usb_reboot, usb_hotplug usb_type = "usb-ccid" info_usb_name = "QEMU USB CCID" vendor_id = "08E6" product_id = "4433" vendor = "Gemplus" product = "QEMU USB CCID" Linux: dwprotocols = "dwProtocols\s+\d\s+T=0" - usb_audio: no Host_RHEL only usb_boot, usb_reboot, usb_hotplug usb_type = usb-audio info_usb_name = "QEMU USB Audio" vendor_id = "46F4" product_id = "0002" vendor = "" product = "QEMU USB Audio" - usb_hub: no usb-ehci only usb_boot, usb_reboot, usb_hotplug usb_type = usb-hub info_usb_name = "QEMU USB Hub" vendor_id = "(0000|0409)" product_id = "(0000|55aa)" vendor = "" product = "QEMU USB Hub" # usb tests variants: - usb_boot: type = usb_basic_check usb_devices += " testdev" deviceid_str = "%s:%s" chk_usb_info_cmd = "lsusb -v" chk_specified_usb_info = "lsusb -v -d ${deviceid_str}" - usb_reboot: type = usb_basic_check reboot_method = shell usb_devices += " testdev" deviceid_str = "%s:%s" chk_usb_info_cmd = "lsusb -v" chk_specified_usb_info = "lsusb -v -d ${deviceid_str}" - usb_hotplug: #XXX: usb_hotplug uses some linux-only cmds. # And the pattern to verify device is pluged can't # work with guests older then RHEL5. no RHEL.3 no RHEL.4 no RHEL.5 type = usb_hotplug #XXX: Now usb_hotplug doesn't support QMP monitor. # Limit it to human monitor only. monitor_type = human monitors = hmp1 main_monitor = hmp1 usb_sleep_time = 10 Windows: usb_match_add = "VID_%s&PID_%s" usb_match_del = "" usb_clear_guest_log_cmd = "" usb_query_syslog_cmd = 'wmic path Win32_USBControllerDevice get Dependent | find "USB"' usb_sleep_time = 10 usb_udev_refresh_cmd = "" variants: - usb_normal_test: - usb_negative_test: only ich9-ehci only usb_hub only without_usb_hub # Note: This is a workaround for the multifunction # code in qemu_vm module. usb_type_usbtest = ich9-usb-ehci2 usb_negative_test = "yes" usb_reply_msg = "Warning: speed mismatch trying to attach usb device" variants: - usb_one_time: usb_repeat_times = 1 - usb_multi_times: no usb_negative_test usb_repeat_times = 20 - usb_storage: type = usb_storage images += " stg" blk_extra_params_stg = "serial=TARGET_DISK0" image_boot_image1 = yes image_name_stg = "images/usbdevice" image_format_stg = "qcow2" image_boot_stg = no drive_index_stg = 1 create_image_stg = yes remove_image_stg = yes image_size_stg = 16G check_serial_option = yes check_removable_option = yes check_io_size_option = yes # The following parameters will be overridden in guest-os config files. create_partition_cmd = "" format_cmd = "yes | mkfs.ext4 {0}" list_disk_cmd = "" set_online_cmd = "" show_mount_cmd = "mount | grep {0}" wipefs_cmd = "wipefs -a {0}" mount_cmd = "mkdir -p /media && mount {0} /media" umount_cmd = "umount {0}" testfile_name = "/media/usb_storage-test.txt" writefile_cmd = "echo "set -e" > /media/md5chk.sh;" writefile_cmd += " out=%s;" writefile_cmd += " python -c "print('$out'*10**4)" > /tmp/usb_storage.in;" writefile_cmd += " for size in 4K 16K 64K 256K; do" writefile_cmd += " dd if=/tmp/usb_storage.in of=/media/out.$size bs=$size || exit 1;" writefile_cmd += " md5sum /media/out.$size > /media/out.$size.md5;" writefile_cmd += " echo "md5sum -c /media/out.$size.md5 >/dev/null 2>&1" >> /media/md5chk.sh;" writefile_cmd += " done;" writefile_cmd += " echo $out > %s" md5chk_cmd = "sh /media/md5chk.sh" readfile_cmd = "cat %s" chk_usb_info_cmd = "lsusb -v" chk_usb_info_keyword = "Mass Storage,SCSI,QEMU USB HARDDRIVE" RHEL.3, RHEL.4, RHEL.5: check_io_size_option = no Windows: chk_usb_info_cmd = 'wmic path Win32_USBControllerDevice get Dependent | find "USB"' chk_usb_info_keyword = "USBSTOR,VEN_QEMU,PROD_QEMU_HARDDISK" check_serial_option = no check_removable_option = no check_io_size_option = no - usb_host: # must configure which device should be used #usb_host_device = ":" type = usb_host #XXX: Now usb_host doesn't support QMP monitor. # Limit it to human monitor only. monitor_type = human monitors = hmp1 main_monitor = hmp1 variants: - usb_normal_test: - usb_negative_test: usb_negative_test = "yes" Host_RHEL.m6: # Now no output from monitor for negative test on Host_RHEL.m6 usb_reply_msg = "" usb_reply_msg = "Property 'usb-host.productid' doesn't take value" usb_reply_msg += "Parameter 'productid' expects an int64 value or range;" usb_reply_msg += "Parameter 'vendorid' expects an int64 value or range;" usb_reply_msg += "productid out of range;" usb_reply_msg += "vendorid out of range;" usb_reply_msg += "Parameter 'productid' expects uint32_t;" usb_reply_msg += "Parameter 'vendorid' expects uint32_t;" usb_host_device_list = "aaa:aaa,aaa:111,21231:11231333,11231333:21231,21231:1123132233,2123133:1123132233111,1123132233111:111" - usb_check_isobufs: usb_check_isobufs = "yes" variants: - usb_one_time: usb_repeat_times = 1 - usb_multi_times: no usb_negative_test usb_repeat_times = 20 - usb_multi_disk: no piix3-uhci, piix4-uhci, ich9-uhci Host_RHEL.m6: no usb-ehci Linux: file_system = "ext4" type = multi_disk cmd_timeout = 1000 black_list = C: S: cdroms = "" start_vm = no kill_vm = yes create_image = yes image_boot_image1 = yes force_create_image = yes force_create_image_image1 = no remove_image = yes remove_image_image1 = no stg_image_size = 1G stg_image_boot = no stg_image_format = qcow2 stg_assign_index = yes usb_devices = "" variants: - one_disk_repeat: stg_image_num = 1 n_repeat = 10 - max_disk: stg_image_num = 24 usb-ehci, ich9-ehci: stg_drive_format = usb2 # Add multi usb controllers usbs = "usbdisk1 usbdisk2 usbdisk3 usbdisk4" nec-xhci, qemu-xhci: stg_drive_format = usb3 usbs = "usbdisk1 usbdisk2 usbdisk3 usbdisk4 usbdisk5 usbdisk6"