我无法让QEMU识别我的键盘。 主机是Windows7。客户端是solaris 10 SPARC。我正在通过cygwin运行命令。
一切都开始了,但是当需要输入任何东西时,不会捕获任何笔画。
我的键盘,鼠标和显示器通过物理Dell集线器连接到我的计算机,这可能会影响事物。但是因为我的计算机上的USB插槽很少,所以需要集线器。
但是,使用lsusb可以正常看到USB键盘和鼠标:
$ lsusb
Bus 002 Device 022: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse
...
Bus 002 Device 029: ID 413c:2107 Dell Computer Corp.
Bus 002 Device 002: ID 413c:9016 Dell Computer Corp.
...
我用-v和总线002进行了仔细检查,设备029是键盘
Bus 002 Device 029: ID 413c:2107 Dell Computer Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x413c Dell Computer Corp.
idProduct 0x2107
bcdDevice 1.15
iManufacturer 1 Dell
iProduct 2 Dell USB Entry Keyboard
我通常可以进入选择语言对话框,但是然后我要么不能输入任何东西,要么不需要输入(取决于选项):
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Feb 15 2019 10:05
Type 'help' for detailed information
[Evaling fcode, entry point...]
SunOS Release 5.10 Version Generic_147147-26 64-bit
Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
could not find debugger-vocabulary-hook>threads:interpret: exception -13 caught
interpret \ Copyright (c) 1995-1999 by Sun Microsystems, Inc.
[Some pragma stuff...]
h# unix-tte:interpret: exception -13 caught
interpret ' unix-tte is va>tte-data failed with error ffffffffffffffed
WARNING: consconfig: cannot find driver for screen device /pci@1fe,0/pci@1,1/QEMU,VGA@2
Configuring devices.
WARNING: ata_controller[0] - Unsupported Controller
Vendor 0x9510, Device 0x4606, Revision 0x7
WARNING: Out of range register specification from device node <fdthree>
/platform/sun4u/kernel/drv/sparcv9/i8042: undefined symbol 'i_ddi_alloc_ispec'
WARNING: mod_load: cannot load module 'i8042'
WARNING: ata_controller[0] - Unsupported Controller
Vendor 0x9510, Device 0x4606, Revision 0x7
WARNING: Out of range register specification from device node <fdthree>
/platform/sun4u/kernel/drv/sparcv9/i8042: undefined symbol 'i_ddi_alloc_ispec'
WARNING: mod_load: cannot load module 'i8042'
WARNING: SUNW,hme0 : No transceiver found., SEVERITY_HIGH, XCVR
WARNING: SUNW,hme0 : No transceiver found., SEVERITY_HIGH, XCVR
WARNING: SUNW,hme0 : Failed to initialize hardware/driver, SEVERITY_HIGH, INIT
Using RPC Bootparams for network configuration information.
svc:/system/filesystem/local:default: WARNING: /usr/sbin/zfs mount -a failed: one or more file systems failed to mount
Serial console, reverting to text install
Beginning system identification...
Searching for configuration file(s)...
Search complete.
Discovering additional network configuration...
Select a Language
0. English
1. Brazilian Portuguese
2. French
3. German
4. Italian
5. Japanese
6. Korean
7. Simplified Chinese
8. Spanish
9. Swedish
10. Traditional Chinese
Please make a choice (0 - 10), or press h or ? for help:
[Cannot input, or if can, doesn't take]
我确信这与USB传递正确的参数有关,但我不确定哪个参数正确。为了方便起见,假定以下所有命令均以
开头"C:\Program Files\qemu\qemu-system-sparc64" -m 2048 -cdrom "sol-10-u11-ga-sparc-dvd.iso" -k en-us -boot d
我尝试过的事情:
没有其他选项
我进入选择语言步骤,但无法输入任何内容。尝试键入时,我已经检查过qemu窗口是否“吸引了我”。
无图形模式
-nographic
我最终需要图形(这将是另一蠕虫),但是现在我尝试将其关闭。这使我可以进入选择语言的步骤,但是插值选择并按Enter则无济于事。也许与初始化硬件驱动程序失败有关?
指定高级键盘
-device usb-kbd
哪个给我
No 'usb-bus' bus found for device 'usb-kbd'
指定主机总线和地址
-device usb-host,hostbus=2,hostaddr=29
哪个也给我
No 'usb-bus' bus found for device 'usb-host'
指定供应商ID和产品ID
-device piix4-usb-uhci,id=usb,bus=pci,addr=0x4 -device usb-host,vendorid=0x413c,productid=0x2107
我似乎找不到免费的,未保留的位置。他们都已经有了设备,或者返回类似以下内容:
PCI: slot 4 function 0 not available for piix4-usb-uhci, reserved
我认为uhci是USB 1.0,在第一个设备参数中是否应该使用其他说明符?我可以在-device help
上看到这些选项,但不知道该选择什么。
不同的设备和操作系统
我尝试让QEMU在两台不同的物理计算机上为Windows 7、10和Ubuntu 18.04.2 LTE上的此solaris客户端接受输入。
QEMU Monitor
我尝试在VM运行并使用sendkey
时启动QEMU监视器。没用但是,info
表示VM正在运行。 usb
不返回任何设备。
我已经浏览了以下链接:
Mouse and Keyboard not working in qemu emulator
我没有遇到key event queue full
错误,但是尝试了给出的答案,即简单的-device usb-kbd
方法和总线/地址方法。
QEMU: problems with mouse and keyboard settings
听起来很相似,但原因无关。
How to passthrough USB device through Qemu in Windows?
没有答案
https://brezular.com/2012/02/17/installation-solaris-2-6-sparc-on-qemu-part2-solaris-installation/
他们没有遇到这个错误。
这详细说明了我尝试过的总线/地址和vendorid / productid方法。
https://bugs.launchpad.net/qemu/+bug/685096
半程穿线;还详细介绍了我尝试过的vendorid / productid方法。
https://www.linuxquestions.org/questions/slackware-14/qemu-keyboard-does-not-work-523168/
我尝试使用-k
选项运行没有任何影响。我没有用sudo运行。
答案 0 :(得分:1)
我遇到了同样的问题,并尝试了几种方法。从运行不同的ISO到尝试不同的驱动程序配置,但没有任何效果。我相信QEMU体系结构尚未完全支持SPARC64。我还按照@Andrew Henle的建议尝试了Solaris 11。尽管我无法使用-M niagara
来运行它,但我相信这可能是正确的方向。
现在,如果您不是特别想要QEMU,而只是想在SPARC体系结构上使用/测试Solaris 10或11。我认为您还有两个选择:
祝你好运!