qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] usb-hub: wakeup on attach


From: hkran
Subject: Re: [Qemu-devel] [PATCH 1/3] usb-hub: wakeup on attach
Date: Thu, 03 Nov 2011 17:20:32 +0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110617 Red Hat/3.1.11-2.el6_1 Thunderbird/3.1.11

On 11/03/2011 04:41 PM, Gerd Hoffmann wrote:
On 11/03/11 07:01, hkran wrote:
On 11/02/2011 08:56 PM, Gerd Hoffmann wrote:
    Hi,

    static void usb_hub_detach(USBPort *port1)
pulled, In what cases, the usb hub will be suspended? and how to tell it
happened? thanks.
The guest enables the remote-wakeup feature.  'lspci -v' (within the
guest) shows it.

cheers,
    Gerd

I use the param "-usb -usbdevice tablet" to start qemu  and then usb_del
tablet via monitor console after getting qemu up.
I saw this by entering lsusb -v

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
   bLength                18
   bDescriptorType         1
   bcdUSB               1.10
   bDeviceClass            9 Hub
   bDeviceSubClass         0 Unused
   bDeviceProtocol         0 Full speed (or root) hub
   bMaxPacketSize0        64
   idVendor           0x1d6b Linux Foundation
   idProduct          0x0001 1.1 root hub
   bcdDevice            2.06
   iManufacturer           3 Linux 2.6.32-131.0.15.el6.x86_64 uhci_hcd
   iProduct                2 UHCI Host Controller
   iSerial                 1 0000:00:01.2
..........................
Hub Descriptor:
   bLength               9
   bDescriptorType      41
   nNbrPorts             2
   wHubCharacteristic 0x000a
     No power switching (usb 1.0)
     Per-port overcurrent protection
   bPwrOn2PwrGood        1 * 2 milli seconds
   bHubContrCurrent      0 milli Ampere
   DeviceRemovable    0x00
   PortPwrCtrlMask    0xff
  Hub Port Status:
    Port 1: 0000.0100 power
    Port 2: 0000.0100 power
Device Status:     0x0003
   Self Powered
   Remote Wakeup Enabled

(It seems that the Remote-wakeup feature has been enabled)
There are two ports with the status "power",  and I do not know how to
make it suspended yet. Can you help more ?
That is the root hub created by the linux kernel, not the hub emulated
by qemu.  If you hook up just a single device no hob is needed.

cheers,
   Gerd

Yes, it is. After I usb_add a storage a 8-port hub emulated is added :

lsusb
Bus 001 Device 004: ID 0000:7777
Bus 001 Device 003: ID 0000:0000
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Device 003 is the hub and Device 004 is my storage

lsusb -s 3 -v:

Bus 001 Device 003: ID 0000:0000
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0         8
  idVendor           0x0000
  idProduct          0x0000
  bcdDevice            1.01
  iManufacturer           1 QEMU 0.15.50
  iProduct                2 QEMU USB Hub
  iSerial                 3 314159
  bNumConfigurations      1
...........................................
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength              10
  bDescriptorType      41
  nNbrPorts             8
  wHubCharacteristic 0x000a
    No power switching (usb 1.0)
    Per-port overcurrent protection
  bPwrOn2PwrGood        1 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00 0x00
  PortPwrCtrlMask    0xff 0x00
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
   Port 5: 0000.0100 power
   Port 6: 0000.0100 power
   Port 7: 0000.0100 power
   Port 8: 0000.0100 power
Device Status:     0x0001
  Self Powered

my storage is connected to the port 1.

after usb_del, all the hub port status will turn to power. how should i do next to get it to be suspended?thanks.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]