usb.cfg 11.5 KB
Newer Older
1
- usb:
2
    virt_test_type = qemu
3 4
    no Host_RHEL.m5
    no Host_RHEL.m6.u1
5 6
    restart_vm = yes
    kill_vm_on_error = yes
C
Cong Li 已提交
7
    usbs = " usbtest"
8
    usb_bus = "usbtest.0"
9 10 11

    # usb controllers
    variants:
C
Cong Li 已提交
12
        - piix3-uhci:
13
            usb_type_usbtest = piix3-usb-uhci
14
            usb_controller = uhci
15 16
            usb_max_port_usbtest = 2
            drive_format_stg = "usb1"
17
            no ppc64 ppc64le
C
Cong Li 已提交
18 19 20 21 22
        - piix4-uhci:
            usb_type_usbtest = piix4-usb-uhci
            usb_controller = uhci
            usb_max_port_usbtest = 2
            drive_format_stg = "usb1"
23
            no ppc64 ppc64le
C
Cong Li 已提交
24 25 26 27 28
        - ich9-uhci:
            usb_type_usbtest = ich9-usb-uhci6
            usb_controller = uhci
            usb_max_port_usbtest = 2
            drive_format_stg = "usb1"
29
            no ppc64 ppc64le
30
            no Host_RHEL.m6
C
Cong Li 已提交
31
        - ich9-ehci:
32
            usb_type_usbtest = ich9-usb-ehci1
33
            usb_controller = ehci
34 35
            usb_max_port_usbtest = 6
            drive_format_stg = "usb2"
C
Cong Li 已提交
36 37 38 39 40 41
        - usb-ehci:
            usb_type_usbtest = usb-ehci
            usb_controller = ehci
            usb_max_port_usbtest = 6
            drive_format_stg = "usb2"
        - nec-xhci:
42 43 44
            no RHEL.3
            no RHEL.4
            no RHEL.5
45
            no Host_RHEL.m6
46
            usb_type_usbtest = nec-usb-xhci
47
            usb_controller = xhci
48 49
            usb_max_port_usbtest = 4
            drive_format_stg = "usb3"
50 51
            Host_RHEL:
                no Win2000, WinXP, Win2003, WinVista, Win7, Win2008
52

53 54
    # usb toplogy
    variants:
55
        - without_usb_hub:
56 57
        - with_usb_hub:
            no usb_nodev
58
            no usb-ehci
59 60 61 62
            usb_devices += " hub1"
            usb_type_hub1 = usb-hub
            usb_port_hub1 = "2"
            usb_port_testdev = "2.1"
63 64 65 66
            variants:
                - one_usb_dev:
                - max_usb_dev:
                    only usb_boot, usb_reboot
67
                    no usb_hub
68 69 70 71 72 73 74 75
                    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"
76 77 78 79 80 81 82
                - 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"
83

84
    # usb devices
85 86
    variants:
        - @usb_nodev:
87
            only usb_storage, usb_host, usb_multi_disk
88
        - usb_kbd:
89 90
            Host_RHEL.m6:
                no usb-ehci
91
            only usb_boot, usb_reboot, usb_hotplug
92
            usb_type = "usb-kbd"
93 94 95 96 97 98
            info_usb_name = "QEMU USB Keyboard"
            vendor_id = "0627"
            product_id = "0001"
            vendor = "Adomax Technology Co., Ltd"
            product = "QEMU USB Keyboard"
        - usb_mouse:
99 100
            Host_RHEL.m6:
                no usb-ehci
101
            only usb_boot, usb_reboot, usb_hotplug
102
            usb_type = "usb-mouse"
103 104 105 106 107 108
            info_usb_name = "QEMU USB Mouse"
            vendor_id = "0627"
            product_id = "0001"
            vendor = "Adomax Technology Co., Ltd"
            product = "QEMU USB Mouse"
        - usb_tablet:
109 110
            Host_RHEL.m6:
                no usb-ehci
111
            only usb_boot, usb_reboot, usb_hotplug
112
            usb_type = "usb-tablet"
113 114 115 116 117 118
            info_usb_name = "QEMU USB Tablet"
            vendor_id = "0627"
            product_id = "0001"
            vendor = "Adomax Technology Co., Ltd"
            product = "QEMU USB Tablet"
        - usb_ccid:
119
            no usb-ehci
120
            only usb_boot, usb_reboot, usb_hotplug
121
            usb_type = "usb-ccid"
122
            info_usb_name = "QEMU USB CCID"
123
            vendor_id = "08E6"
124 125 126 127
            product_id = "4433"
            vendor = "Gemplus"
            product = "QEMU USB CCID"
        - usb_audio:
128 129
            no Host_RHEL.m6
            no Host_RHEL.m7
130
            only usb_boot, usb_reboot, usb_hotplug
131
            usb_type = usb-audio
132
            info_usb_name = "QEMU USB Audio"
133
            vendor_id = "46F4"
134 135 136 137
            product_id = "0002"
            vendor = ""
            product = "QEMU USB Audio"
        - usb_hub:
138
            no usb-ehci
139
            only usb_boot, usb_reboot, usb_hotplug
140
            usb_type = usb-hub
141 142 143 144 145 146 147 148 149
            info_usb_name = "QEMU USB Hub"
            vendor_id = "(0000|0409)"
            product_id = "(0000|55aa)"
            vendor = ""
            product = "QEMU USB Hub"

    # usb tests
    variants:
        - usb_boot:
150
            type = usb_basic_check
151
            usb_devices += " testdev"
152 153
            deviceid_str = "%s:%s"
            chk_usb_info_cmd = "lsusb -v"
154
        - usb_reboot:
155
            type = usb_basic_check
156 157
            reboot_method = shell
            usb_devices += " testdev"
158 159
            deviceid_str = "%s:%s"
            chk_usb_info_cmd = "lsusb -v"
160
        - usb_hotplug:
161 162 163 164 165 166
            #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
167
            type = usb_hotplug
168 169 170
            #XXX: Now usb_hotplug doesn't support QMP monitor.
            # Limit it to human monitor only.
            monitor_type = human
171 172
            monitors = hmp1
            main_monitor = hmp1
173
            usb_sleep_time = 10
174 175 176 177 178 179 180
            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 = ""
181 182 183 184 185
            variants:
                - usb_normal_test:
                - usb_negative_test:
                    only ehci
                    only usb_hub
186
                    only without_usb_hub
187 188 189 190 191
                    # Note: This is a workaround for the multifunction
                    # code in qemu_vm module.
                    usb_type_usbtest = usb-ehci
                    usb_negative_test = "yes"
                    usb_reply_msg = "Warning: speed mismatch trying to attach usb device"
192 193 194 195 196
            variants:
                - usb_one_time:
                    usb_repeat_times = 1
                - usb_multi_times:
                    usb_repeat_times = 5000
197
        - usb_storage:
198
            type = usb_storage
199
            images += " stg"
200
            blk_extra_params_stg = "serial=TARGET_DISK0"
201
            image_boot_image1 = yes
M
Mike Qiu 已提交
202
            image_name_stg = "images/usbdevice"
203 204 205 206
            image_format_stg = "qcow2"
            image_boot_stg = no
            drive_index_stg = 1
            create_image_stg = yes
207
            remove_image_stg = yes
208 209 210 211 212 213
            image_size_stg = 10M
            fdisk_string = "10 MB, 10485760 bytes"
            format_timeout = 400
            check_serial_option = yes
            check_removable_option = yes
            check_io_size_option = yes
214 215 216 217 218 219 220 221
            # The following parameters will be overridden in guest-os config files.
            create_partition_cmd = ""
            format_cmd = "yes |mkfs $(readlink -f `ls /dev/disk/by-path/* | grep usb`)"
            list_disk_cmd = ""
            set_online_cmd = ""
            mount_cmd =  "mount $(readlink -f `ls /dev/disk/by-path/* | grep usb`) /media"
            umount_cmd = "umount $(readlink -f `ls /dev/disk/by-path/* | grep usb`)"
            testfile_name = "/media/usb_storage-test.txt"
222 223
            writefile_cmd = "echo "set -e" > /media/md5chk.sh;"
            writefile_cmd += " out=%s;"
224 225 226 227
            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;"
228
            writefile_cmd += " echo "md5sum -c /media/out.$size.md5 >/dev/null 2>&1" >> /media/md5chk.sh;"
229 230
            writefile_cmd += " done;"
            writefile_cmd += " echo $out > %s"
231 232
            md5chk_cmd = "sh /media/md5chk.sh"
            readfile_cmd = "cat %s"
233 234
            chk_usb_info_cmd = "lsusb -v"
            chk_usb_info_keyword = "Mass Storage,SCSI,QEMU USB HARDDRIVE"
235 236
            RHEL.3, RHEL.4, RHEL.5:
                check_io_size_option = no
237 238 239 240 241 242
            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
243 244 245 246
        - usb_host:
            # must configure which device should be used
            #usb_host_device = "<vendorid>:<productid>"
            type = usb_host
247 248 249 250 251 252 253 254 255 256
            #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"
                    usb_reply_msg = "Property 'usb-host.productid' doesn't take value"
257 258
                    Host_RHEL.m6:
                        # Now no output from monitor for negative test on Host_RHEL.m6
259
                        usb_reply_msg = ""
260
                    Host_RHEL.m7:
261 262 263 264 265 266 267
                        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"
268 269
                - usb_check_isobufs:
                    usb_check_isobufs = "yes"
270 271 272 273 274
            variants:
                - usb_one_time:
                    usb_repeat_times = 1
                - usb_multi_times:
                    usb_repeat_times = 5000
275 276 277 278
        - usb_multi_disk:
            only ehci
            type = multi_disk
            cmd_timeout = 1000
279
            black_list = "C: D:"
280 281 282 283
            start_vm = no
            kill_vm = yes
            create_image = yes
            image_boot_image1 = yes
284 285 286 287 288 289 290 291 292 293
            force_create_image = yes
            force_create_image_image1 = no
            remove_image = yes
            remove_image_image1 = no
            cmd_timeout = 1000
            stg_image_size = 1G
            stg_image_boot = no
            stg_image_format = qcow2
            stg_assign_index = yes
            stg_drive_format = usb2
294
            usbs = usb1
295 296
            # Override global config for the usb1.
            usb_type_usb1 = usb-ehci
297 298 299 300 301
            usb_type = usb-ehci
            usb_max_port_usb1 = 6
            usb_max_port = 6
            usb_devices = ""
            variants:
302
                - one_disk_repeat:
303
                    stg_image_num = 1
304 305 306 307
                    n_repeat = 10
                - max_disk:
                    usbs += " usb2 usb3 usb4"
                    stg_image_num = 24