public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Oliver Neukum <oliver@neukum.org>
To: Pavel Machek <pavel@suse.cz>
Cc: David Liontooth <liontooth@cogweb.net>,
	linux-kernel@vger.kernel.org,
	linux-usb-devel@lists.sourceforge.net
Subject: Re: USB devices fail unnecessarily on unpowered hubs
Date: Sat, 3 Jun 2006 11:29:54 +0200	[thread overview]
Message-ID: <200606031129.54580.oliver@neukum.org> (raw)
In-Reply-To: <20060530200134.GB4074@ucw.cz>

Am Dienstag, 30. Mai 2006 22:01 schrieb Pavel Machek:
> Hi!
> 
> > Starting with 2.6.16, some USB devices fail unnecessarily on unpowered
> > hubs. Alan Stern explains,
> > 
> > "The idea is that the kernel now keeps track of USB power budgets.  When a 
> > bus-powered device requires more current than its upstream hub is capable 
> > of providing, the kernel will not configure it.
> > 
> > Computers' USB ports are capable of providing a full 500 mA, so devices
> > plugged directly into the computer will work okay.  However unpowered hubs
> > can provide only 100 mA to each port.  Some devices require (or claim they
> > require) more current than that.  As a result, they don't get configured
> > when plugged into an unpowered hub."
> 
> Actually I have exactly opposite problem: my computer (spitz) can't
> supply full 500mA on its root hub, and linux tries to power up
> 'hungry' devices, anyway, leading to very weird behaviour.


You could lower the obvious values in this code from drivers/usb/core/hub.c

	if (hdev == hdev->bus->root_hub) {
		if (hdev->bus_mA == 0 || hdev->bus_mA >= 500)
			hub->mA_per_port = 500;
		else {
			hub->mA_per_port = hdev->bus_mA;
			hub->limited_power = 1;
		}

If that does the job we need to somehow inherit the power supply maximum from
PCI when we allocate the root hub's device structure.

	Regards
		Oliver

  reply	other threads:[~2006-06-03  9:29 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-01  9:18 USB devices fail unnecessarily on unpowered hubs David Liontooth
2006-05-30 20:01 ` Pavel Machek
2006-06-03  9:29   ` Oliver Neukum [this message]
2006-06-05 14:32     ` [linux-usb-devel] " David Brownell
2006-06-06  7:43       ` Oliver Neukum
2006-06-08  7:01         ` Pavel Machek
2006-06-08  8:34       ` [PATCH] limit power budget on spitz Pavel Machek
2006-06-08  8:50         ` Richard Purdie
2006-06-08  9:02           ` Pavel Machek
2006-06-08  9:22             ` Richard Purdie
2006-06-08 17:09               ` Russell King
2006-06-08 18:26                 ` David Brownell
2006-06-08 20:06                   ` Richard Purdie
2006-06-08 20:38                     ` [linux-usb-devel] " David Brownell
2006-06-08 21:22                       ` Richard Purdie
2006-06-08 21:40                         ` David Brownell
2006-06-08 21:49                           ` Richard Purdie
2006-06-08 23:44                             ` David Brownell
2006-06-09  1:25                               ` Nicolas Pitre
2006-06-09  2:03                                 ` David Brownell
2006-06-09  2:34                                   ` Nicolas Pitre
2006-06-01 10:01 ` USB devices fail unnecessarily on unpowered hubs Andrew Morton
2006-06-01 11:42   ` Daniel Drake
2006-06-01 14:58   ` Alan Stern
2006-06-01 15:09     ` linux-os (Dick Johnson)
2006-06-01 15:23       ` Lennart Sorensen
2006-06-01 21:39         ` Dagfinn Ilmari Mannsåker
2006-06-01 15:53       ` Oliver Neukum
2006-06-01 17:24         ` linux-os (Dick Johnson)
2006-06-01 16:57       ` Alan Stern
2006-06-01 16:43     ` [linux-usb-devel] " Greg KH
2006-06-02  0:03       ` David Liontooth
2006-06-02  1:53         ` [linux-usb-devel] " David Brownell
2006-06-02  7:12         ` Oliver Neukum
2006-06-02 15:11         ` Alan Stern
2006-06-02 19:49           ` David Liontooth
2006-06-01 16:59     ` Andrew Morton
2006-06-01 17:08       ` Alan Stern
2006-06-01 17:34   ` Mark Lord
2006-06-01 17:47     ` Alan Stern
     [not found] <6iWP5-2gj-71@gated-at.bofh.it>
     [not found] ` <6iX82-2UJ-3@gated-at.bofh.it>
2006-06-01 23:35   ` Robert Hancock
2006-06-01 23:46     ` Randy.Dunlap
     [not found] <6iYGP-5hv-3@gated-at.bofh.it>
     [not found] ` <6iYQx-5Jc-7@gated-at.bofh.it>
2006-06-01 23:37   ` Robert Hancock
  -- strict thread matches above, loose matches on Subject: below --
2006-06-05 11:07 Lee Dowling
     [not found] <6kl8h-1Uf-15@gated-at.bofh.it>
2006-06-07  0:51 ` Robert Hancock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200606031129.54580.oliver@neukum.org \
    --to=oliver@neukum.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=liontooth@cogweb.net \
    --cc=pavel@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox