RE: [Qemu-devel] Bus number and address changes after usb_add?
On Thu, 2006-12-07 at 14:43 +0800, Yu, Xiaoyang wrote: > Thanks a lot! So we need to use "usb_del bus.addr" to remove the device from > the guest. So I must get the bus.addr information for the device first. But I > cannot do so by just add code into usb_device_add() function, because the > bus.addr will change after that. Is there a place in QEMU source code > suitable for logging the bus.addr information? The usb code could use some improvement in regards to tracking the devices internally in qemu. If you scan this list there was an attempt at adding devices to a tree for tracking them, but that code was seemingly rushed so it had numerous bugs. You can find the thread with the proposal here: http://lists.gnu.org/archive/html/qemu-devel/2006-04/msg00489.html ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] Bus number and address changes after usb_add?
Thanks a lot! So we need to use "usb_del bus.addr" to remove the device from the guest. So I must get the bus.addr information for the device first. But I cannot do so by just add code into usb_device_add() function, because the bus.addr will change after that. Is there a place in QEMU source code suitable for logging the bus.addr information? Thanks Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2006年12月7日 14:23 To: qemu-devel@nongnu.org Subject: RE: [Qemu-devel] Bus number and address changes after usb_add? On Thu, 2006-12-07 at 14:11 +0800, Yu, Xiaoyang wrote: > I see. Guest OS will assign the USB device an address later. Is it possible > to store this new address in host OS? Then when the USB device is unplugged, > host OS can send "usb_del" command to QEMU to automatically delete the device. It's possible (on linux host) to register a signal with the kernel that will trigger when the device is disconnected from the host system. From the signal handler the device can then be removed from the guest. See USBDEVFS_DISCSIGNAL ioctl in usbdevice_fs.h. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] Bus number and address changes after usb_add?
On Thu, 2006-12-07 at 14:11 +0800, Yu, Xiaoyang wrote: > I see. Guest OS will assign the USB device an address later. Is it possible > to store this new address in host OS? Then when the USB device is unplugged, > host OS can send "usb_del" command to QEMU to automatically delete the device. It's possible (on linux host) to register a signal with the kernel that will trigger when the device is disconnected from the host system. From the signal handler the device can then be removed from the guest. See USBDEVFS_DISCSIGNAL ioctl in usbdevice_fs.h. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
RE: [Qemu-devel] Bus number and address changes after usb_add?
I see. Guest OS will assign the USB device an address later. Is it possible to store this new address in host OS? Then when the USB device is unplugged, host OS can send "usb_del" command to QEMU to automatically delete the device. Thanks! Xiaoyang -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Lonnie Mendez Sent: 2006年12月7日 12:25 To: qemu-devel@nongnu.org Subject: Re: [Qemu-devel] Bus number and address changes after usb_add? On Thu, 2006-12-07 at 12:18 +0800, Yu, Xiaoyang wrote: > After add a USB device by “usb_add”, I can view it by “info usb”. It > shows the bus number and address. > > > > As shown in vl.c, it seems that usb_info() is called when issue “info > usb”, and usb_device_add() is called when issue “usb_add”. > > > > But if I add call to usb_info() in the end of usb_device_add(), it > always show the bus number and address as “0.0”, which can be > different from the output of “usb_add”. > > So it seems like the bus number and address of a USB device changed > some time after “usb_add”. Does anyone know why it changes? Thanks in > advance! The address you see with the monitor command "info usb" is the address all usb devices start out with when connected to the guest. The guest os will later assign the device an address on bus 0 (the uhci controller on the i386 system target) after it does things like fetch the device descriptor, configuration, etc. iirc linux will first assign a device an address unlike windows which queries for the configuration information before an address is assigned. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] Bus number and address changes after usb_add?
On Thu, 2006-12-07 at 12:18 +0800, Yu, Xiaoyang wrote: > After add a USB device by “usb_add”, I can view it by “info usb”. It > shows the bus number and address. > > > > As shown in vl.c, it seems that usb_info() is called when issue “info > usb”, and usb_device_add() is called when issue “usb_add”. > > > > But if I add call to usb_info() in the end of usb_device_add(), it > always show the bus number and address as “0.0”, which can be > different from the output of “usb_add”. > > So it seems like the bus number and address of a USB device changed > some time after “usb_add”. Does anyone know why it changes? Thanks in > advance! The address you see with the monitor command "info usb" is the address all usb devices start out with when connected to the guest. The guest os will later assign the device an address on bus 0 (the uhci controller on the i386 system target) after it does things like fetch the device descriptor, configuration, etc. iirc linux will first assign a device an address unlike windows which queries for the configuration information before an address is assigned. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Bus number and address changes after usb_add?
After add a USB device by "usb_add", I can view it by "info usb". It shows the bus number and address. As shown in vl.c, it seems that usb_info() is called when issue "info usb", and usb_device_add() is called when issue "usb_add". But if I add call to usb_info() in the end of usb_device_add(), it always show the bus number and address as "0.0", which can be different from the output of "info usb". So it seems like the bus number and address of a USB device changed some time after "usb_add". Does anyone know why it changes? Thanks in advance! Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Bus number and address changes after usb_add?
After add a USB device by "usb_add", I can view it by "info usb". It shows the bus number and address. As shown in vl.c, it seems that usb_info() is called when issue "info usb", and usb_device_add() is called when issue "usb_add". But if I add call to usb_info() in the end of usb_device_add(), it always show the bus number and address as "0.0", which can be different from the output of "usb_add". So it seems like the bus number and address of a USB device changed some time after "usb_add". Does anyone know why it changes? Thanks in advance! Thanks Xiaoyang ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel