Thanks Dan. However, as I checked this command "device_add", I did not found QMP support it. I use the command: {"QMP": {"query-command"}} In the return list, I did not found the "device_add". The list is as below: ------------------------------------------------------------- {"return": [{"name": "quit"}, {"name": "eject"}, {"name": "change"}, {"name": "stop"}, {"name": "cont"}, {"name": "system_reset"}, {"name": "system_powerdown"}, {"name": "memsave"}, {"name": "pmemsave"}, {"name": "migrate"}, {"name": "migrate_cancel"}, {"name": "pci_add"}, {"name": "pci_del"}, {"name": "balloon"}, {"name": "getfd"}, {"name": "closefd"}, {"name": "block_passwd"}, {"name": "query-version"}, {"name": "query-commands"}, {"name": "query-chardev"}, {"name": "query-block"}, {"name": "query-blockstats"}, {"name": "query-cpus"}, {"name": "query-hpet"}, {"name": "query-kvm"}, {"name": "query-status"}, {"name": "query-mice"}, {"name": "query-vnc"}, {"name": "query-name"}, {"name": "query-uuid"}, {"name": "query-migrate"}, {"name": "query-balloon"}]} ------------------------------------------------------------- And on the page : http://www.linux-kvm.org/page/MonitorProtocol. I notice that : ------------------------------------------------------------- TODO High Priority do_device_add()/do_device_del() conversions (markus) do_netdev_add()/do_netdev_del() conversions (markus) do_blockdev_add()/do_blockdev_del() conversions (markus) Events Grouping (luiz) Make qmp-shell work again (luiz) Self-description & High-level protocol documentation High-level internal documentation Better QObjects and QMP debug support ------------------------------------------------------------- Cause the do_device_add is in the to_do list, does this mean it is not finished yet? BTW: my qemu version is 0.12.3 which I believe is the latest version. My linux kernel is 2.6.33 Good Luck! On Fri, Apr 16, 2010 at 9:28 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: > On Fri, Apr 16, 2010 at 09:18:12PM +0800, chunhui zhao wrote: >> Hi guys. >> >> As the kvm does not support auto connection of USB device, unless >> someone inputs the command "usb_add" in the monitor. I wonder if >> there is a better way, say, like some linux, auto mount the USB device >> without any command input. And I know there is also qmp(qemu monitor >> protocol) to use to communicate with the monitor. So I wanna write a >> program which will capture the hotplug signal and communicate with the >> monitor to auto mount the USB device. >> >> The problem is, the qmp does not support the command "usb_add". >> (http://www.linux-kvm.org/page/MonitorProtocol) >> Is there any method to solve this? > > usb_add/del & pci_add/del are all deprecated and not going to be ported > to QMP. Instead use the device_add command eg in plain monitor format: > > device_add usb-host,hostbus=BUS,hostaddr=ADDR,vendorid=VID,productid=PRID > > Or QMP format > > { "execute": "device_add", "arguments": { "driver": "usb-host", > "hostbus": "BUS", > "hostaddr": "ADDR", > "vendorid": "VID", > "productid": "PRID" }} > > This accepts identical param names as the -device command line arg which is > documented in docs/qdev-device-use.txt > > Regards, > Daniel > -- > |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| > |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| > |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| > |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html