1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
graphic: 0.557
mistranslation: 0.516
semantic: 0.402
other: 0.382
device: 0.369
instruction: 0.332
network: 0.271
socket: 0.176
assembly: 0.122
boot: 0.113
vnc: 0.108
KVM: 0.037
connect low speed host devices to qemu ehci does not work
$ qemu-system-i386 -hda my_x86.img -device ich9-usb-ehci1,id=ehci -device usb-host,vendorid=0x045e,productid=0x071d -serial stdio
qemu-system-i386: Warning: speed mismatch trying to attach usb device "Microsoft? 2.4GHz Transceiver V" ( speed) to bus "ehci.0", port "1" (high speed)
qemu-system-i386: Warning: speed mismatch trying to attach usb device "Microsoft? 2.4GHz Transceiver V" ( speed) to bus "ehci.0", port "1" (high speed)
qemu-system-i386: Warning: speed mismatch trying to attach usb device "Microsoft? 2.4GHz Transceiver V" ( speed) to bus "ehci.0", port "1" (high speed)
Which is obviously wrong. The ehci specification states:
Low-speed device, release ownership of port <= Table 2-16.
Table 2-6:
Number of Companion Controller (N_CC). This field indicates the number of
companion controllers associated with this USB 2.0 host controller.
A zero in this field indicates there are no companion host controllers. Port-ownership
hand-off is not supported. Only high-speed devices are supported on the host controller
root ports.
A value larger than zero in this field indicates there are companion USB 1.1 host
controller(s). Port-ownership hand-offs are supported. High, Full- and Low-speed
devices are supported on the host controller root ports.
Which is not longer true, as for example skylake and baytrail offers a dual usb stack of ehci and xhci. In that case, EHCI handles the low speed device as well.
brgds,
Bert
Are you sure that EHCI handles low-speed devices in that case? I thought that XHCI is capable of handling low-speed devices instead...
Anyway, QEMU certainly only emulates the EHCI in a traditional way, so if you want to use low-speed devices here, you also have to specify an UHCI controller for them. I.e. as far as I can see, this is not a bug in QEMU, but just a configuration issue.
|