[PATCH] Provide two similar usb device configs with high and low power setting.

Harald Welte laforge at openmoko.org
Fri Mar 30 11:37:17 CEST 2007

On Fri, Mar 30, 2007 at 12:19:30AM +0200, Stefan Schmidt wrote:
> Hello.
> This patch fixes #260.


> The main idea is to provide the same usb device config twice. One with
> 500mA MaxPower and one with 100mA. This allows charging the battery
> faster on a powered hub or host and have it also available on bus
> powered hubs for example debug board v2.
> Normally g_ether provides one config with cdc_ether only and a second
> one if RNDIS is enabled. With this patch it provides 2 or 4 configs.
> In cdc_ether only mode all works fine. On host the high power config
> is choosen and on debug board the low power config.
> Enabling RNDIS makes it a bit more tricky. A special order of the
> configs is needed:
> rndis_config
> eth_config
> eth_config_low
> rndis_config_low
> Anybody know offhand why this is needed?

because the host will use the first configuration that "works".  So if
you have any low_power config before having all high_power configs, then
the low_power config will be chosen, unless some software/driver
specifically selects a different one.

> With this order I'm able to connect to the Neo1973 directly connected
> to my host or through the debug board.
> On the debug board rejecting of the two 500mA configs works fine:
> usb 2-1.3: rejected 2 configurations due to insufficient available bus power


> The one remaining problem is that the RNDIS, windows compatible,
> support is untested. It seems I have to search such a box to test it.
> :(

somebody needs to investigate this anyway.  I'm not worried about the
low_power/high_power selection, but about having one known-working
configuration (including the respective .inf file) for USB network

The same needs to be done for MacOS X at least, too.  

Testing *BSD and solaris would also be on the list, further down the

I think I'll ask roh to look into this once he starts working for
OpenMoko next week.

> At the moment this patch applies on top of the current quilt set. I
> would suggest to remove g_ether-highpower.patch and let this one base
> on the vanilla g_ether driver once we like to apply this one. If you
> agree I can take care off it.

sure, just merge the two patches.

- Harald Welte <laforge at openmoko.org>          	        http://openmoko.org/
Software for the world's first truly open Free Software mobile phone

More information about the openmoko-kernel mailing list