QEMU USB键盘通过困难

时间:2019-04-10 15:02:20

标签: usb solaris qemu

我无法让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 

我尝试过的事情:

  1. 没有其他选项

    我进入选择语言步骤,但无法输入任何内容。尝试键入时,我已经检查过qemu窗口是否“吸引了我”。

  2. 无图形模式

     -nographic 
    

    我最终需要图形(这将是另一蠕虫),但是现在我尝试将其关闭。这使我可以进入选择语言的步骤,但是插值选择并按Enter则无济于事。也许与初始化硬件驱动程序失败有关?

  3. 指定高级键盘

    -device usb-kbd
    

    哪个给我

    No 'usb-bus' bus found for device 'usb-kbd'
    
  4. 指定主机总线和地址

    -device usb-host,hostbus=2,hostaddr=29
    

    哪个也给我

    No 'usb-bus' bus found for device 'usb-host'
    
  5. 指定供应商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上看到这些选项,但不知道该选择什么。

  6. 不同的设备和操作系统

    我尝试让QEMU在两台不同的物理计算机上为Windows 7、10和Ubuntu 18.04.2 LTE上的此solaris客户端接受输入。

  7. QEMU Monitor

    我尝试在VM运行并使用sendkey时启动QEMU监视器。没用但是,info表示VM正在运行。 usb不返回任何设备。

我已经浏览了以下链接:

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并尝试了几种方法。从运行不同的ISO到尝试不同的驱动程序配置,但没有任何效果。我相信QEMU体系结构尚未完全支持SPARC64。我还按照@Andrew Henle的建议尝试了Solaris 11。尽管我无法使用-M niagara来运行它,但我相信这可能是正确的方向。

现在,如果您不是特别想要QEMU,而只是想在SPARC体系结构上使用/测试Solaris 10或11。我认为您还有两个选择:

  1. 您可以在eBay上购买支持的硬件。
  2. 如果您不想购买硬件,则可以从Oracle Cloud获取共享的SPARC服务器。

祝你好运!