On Sun, 18 Dec 2005, Franck wrote:

> 2005/12/17, Alan Stern <[EMAIL PROTECTED]>:
> > On Fri, 16 Dec 2005, Franck wrote:
> >
> > > > No, that's not what it means.  Suspending all the devices attached to a
> > > > bus is different from suspending the bus itself.
> > > >
> > >
> > > Well stopping any activity on the bus (that's what happen when
> > > suspending all devices from the bus) sounds to me like suspending the
> > > bus...
> >
> > But suspending the devices _doesn't_ stop all activity on the bus.  It
> > doesn't stop SOF packets, for instance.  At least, it doesn't with UHCI,
> > OHCI, or EHCI controllers.
> >
> 
> hmm, suspending a usb device means stop sending SOF packets, doesn't it ?

No.  It means turning on the port-suspend feature on the device's parent
hub, which might not even be the root hub.  SOF packets still get sent to
all the other, non-suspended devices.

And even if you have suspended all the devices on the bus, the circuitry
inside the host controller might still generate those SOF packets every
millisecond even though they don't get transmitted anywhere.


> > > > This says that the embedded hub in your stick needs 100 mA to run.  You
> > > > didn't say how much power is available from your host controller's port,
> > > > but apparently it only provides 100 mA (otherwise the error message
> > > > wouldn't have appeared).
> > >
> > > nope, my hcd->power_budget is set to 500mA. This error is printed by
> > > hub_port_connect_change in hub.c. The condition that refuses the new
> > > device is not related to power budget, is it ?
> >
> > Yes it is.  It's trying to avoid having a bus-powered hub plugged into
> > another bus-powered hub.
> >
> 
> Sorry I meant the condition is not related to the value I put in
> hcd->power_budget. So what's wrong when plugging this compound device
> into my roothub ?

Well, it _should_ be related to that value.  Add some printk statements to
the relevant sections of the code and find out what's going on.  The
interesting values are udev->bus_mA and hub->mA_per_port (used in
hub_port_connect_change), hdev->bus_mA (used in hub_configure), and
rhdev->bus_mA (set in hcd.c:usb_add_hcd).

Alan Stern



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to