N900: Force charging on USB?

N900: Force charging on USB?

Nils Faerber
Karma: 44
2010-04-13 12:28 UTC
Hi!
I am preparing for a vacation and want to avoid carrying too many
accessories.
So I took my universal USB charger (which is just a USB plug carrying
the +5V) plugged in the Nokia micro-USB cable and connected to the N900.

Well, it does not charge - in contrast to almost any other device.
This is I think also perfectly valid since there is no host at the other
end to negotiate the charging current.

The normal way to proceed now would be to take the power adapter from
the N900 package, connect that to some +5V source and the other end to
the N900.Just that this power adapter has an integrated voltage
regulator which consumes quite some power on its own which I would like
to avoid (since I have a solar-cell battery pack which I would like to
use ;)

So assuming I know what I am doing is there a way to enforce the N900 to
start charging even if there is no host connected? This must work
somehow since the power adapter presumably does not contain a USB host ;)
Some fiddling with /sys/... or DBus would be fine with me...

Hints would be welcome, thanks!

Cheers
nils

--
kernel concepts GbR Tel: +49-271-771091-12
Sieghuetter Hauptweg 48 Fax: +49-271-771091-19
D-57072 Siegen Mob: +49-176-21024535
http://www.kernelconcepts.de
  •  Reply

Re: N900: Force charging on USB?

Joerg Reisenweber
Karma: 1285
2010-04-13 22:36 UTC
[Nils Faerber Di 13. April 2010]:
> Hi!
> I am preparing for a vacation and want to avoid carrying too many
> accessories.
> So I took my universal USB charger (which is just a USB plug carrying
> the +5V) plugged in the Nokia micro-USB cable and connected to the N900.
>
> Well, it does not charge - in contrast to almost any other device.

Probably it does, just it charges at 100mA only, and it doesn't signal it's
charging.


> This is I think also perfectly valid since there is no host at the other
> end to negotiate the charging current.

No, according to USB specs any source of VBUS 5Volt USB has to deliver 100mA.
And the charger chip enables charging @ 100mA when detecting external 5V on
USB - completely compliant with these specs.



> The normal way to proceed now would be to take the power adapter from
> the N900 package, connect that to some +5V source and the other end to
> the N900.Just that this power adapter has an integrated voltage
> regulator which consumes quite some power on its own which I would like
> to avoid (since I have a solar-cell battery pack which I would like to
> use ;)

Though you're basically right here, I'd not expect the efficiency of that
adapter to be prohibitively low. I mean that's a small plastic case which gets
considerably hot an a few tens of mW, and you want to charge with something
like 5W max. Do the efficiency math yourself.


> So assuming I know what I am doing is there a way to enforce the N900 to
> start charging even if there is no host connected? This must work
> somehow since the power adapter presumably does not contain a USB host ;)

Exactly. The charger shorts D+ and D- data lines of USB port.
This should enable fast charging


> Some fiddling with /sys/... or DBus would be fine with me...

Alas we got no sysfs nodes (yet ;-D ) to control the BQ24150 USB charger chip
directly. BME does all the 'magic' for now, and afaik there's no API to tell
BME to switch to a different charging mode.

cheers
jOERG

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (GNU/Linux)

iEYEABECAAYFAkvE8hAACgkQ7Xtwhpk1UgxLugCfZCF9uJz1+mYft+On4ijb8g9F
x+EAnjh7XFmNyBfNrR5u0sx6PGDnIXUi
=J2bH
-----END PGP SIGNATURE-----

  •  Reply

Re: N900: Force charging on USB?

Nils Faerber
Karma: 44
2010-04-14 10:58 UTC
Joerg Reisenweber schrieb:
> [Nils Faerber Di 13. April 2010]:
>> I am preparing for a vacation and want to avoid carrying too many
>> accessories.
>> So I took my universal USB charger (which is just a USB plug carrying
>> the +5V) plugged in the Nokia micro-USB cable and connected to the N900.
>>
>> Well, it does not charge - in contrast to almost any other device.
>
> Probably it does, just it charges at 100mA only, and it doesn't signal it's
> charging.

Well, pitily it does not - I just checked with a "USB charger" which has
a dual color LED turning red on current flow. When I connect the N900
via the normal USB cable there it does not change in any way. Just
connecting the charging adapter change the LED from green to green plus
a little red which mean current flow (just from the regulator).

So I think we can safely assume that a blank USB cable will not in any
way charge, even not at 100mA.

>> This is I think also perfectly valid since there is no host at the other
>> end to negotiate the charging current.
>
> No, according to USB specs any source of VBUS 5Volt USB has to deliver 100mA.
> And the charger chip enables charging @ 100mA when detecting external 5V on
> USB - completely compliant with these specs.

Yes, sure. What I meant is, if the charger is designed in a way to only
properly work when sucking more than 100mA it would be valid to refuse
charging. If it could handle a 100mA slow charge but it apparently does
not do that I would see this as a bug.

>> So assuming I know what I am doing is there a way to enforce the N900 to
>> start charging even if there is no host connected? This must work
>> somehow since the power adapter presumably does not contain a USB host ;)
>
> Exactly. The charger shorts D+ and D- data lines of USB port.
> This should enable fast charging

Ah!
I will try that - press thumbs that it works ;)

>> Some fiddling with /sys/... or DBus would be fine with me...
>
> Alas we got no sysfs nodes (yet ;-D ) to control the BQ24150 USB charger chip
> directly. BME does all the 'magic' for now, and afaik there's no API to tell
> BME to switch to a different charging mode.

Umpf... too bad.

The D+/D- trick sounds promising, many thanks!

> cheers
> jOERG
Cheers
nils

--
kernel concepts GbR Tel: +49-271-771091-12
Sieghuetter Hauptweg 48 Fax: +49-271-771091-19
D-57072 Siegen Mob: +49-176-21024535
http://www.kernelconcepts.de
  •  Reply

Re: N900: Force charging on USB?

2010-04-14 11:11 UTC
On Wed, 2010-04-14 at 12:58 +0200, ext Nils Faerber wrote:
> Joerg Reisenweber schrieb:
> > [Nils Faerber Di 13. April 2010]:
> >> I am preparing for a vacation and want to avoid carrying too many
> >> accessories.
> >> So I took my universal USB charger (which is just a USB plug carrying
> >> the +5V) plugged in the Nokia micro-USB cable and connected to the N900.
> >>
> >> Well, it does not charge - in contrast to almost any other device.
> >
> > Probably it does, just it charges at 100mA only, and it doesn't signal it's
> > charging.
>
> Well, pitily it does not - I just checked with a "USB charger" which has
> a dual color LED turning red on current flow. When I connect the N900
> via the normal USB cable there it does not change in any way. Just
> connecting the charging adapter change the LED from green to green plus
> a little red which mean current flow (just from the regulator).
>
> So I think we can safely assume that a blank USB cable will not in any
> way charge, even not at 100mA.

AFAIK, the kernel detects the type of the charger (because USB host
requires some enumeration stuff), so you could probably hack it (with
your own risk).

-Kimmo

>
> >> This is I think also perfectly valid since there is no host at the other
> >> end to negotiate the charging current.
> >
> > No, according to USB specs any source of VBUS 5Volt USB has to deliver 100mA.
> > And the charger chip enables charging @ 100mA when detecting external 5V on
> > USB - completely compliant with these specs.
>
> Yes, sure. What I meant is, if the charger is designed in a way to only
> properly work when sucking more than 100mA it would be valid to refuse
> charging. If it could handle a 100mA slow charge but it apparently does
> not do that I would see this as a bug.
>
> >> So assuming I know what I am doing is there a way to enforce the N900 to
> >> start charging even if there is no host connected? This must work
> >> somehow since the power adapter presumably does not contain a USB host ;)
> >
> > Exactly. The charger shorts D+ and D- data lines of USB port.
> > This should enable fast charging
>
> Ah!
> I will try that - press thumbs that it works ;)
>
> >> Some fiddling with /sys/... or DBus would be fine with me...
> >
> > Alas we got no sysfs nodes (yet ;-D ) to control the BQ24150 USB charger chip
> > directly. BME does all the 'magic' for now, and afaik there's no API to tell
> > BME to switch to a different charging mode.
>
> Umpf... too bad.
>
> The D+/D- trick sounds promising, many thanks!
>
> > cheers
> > jOERG
> Cheers
> nils
>

  •  Reply

Re: N900: Force charging on USB?

Nils Faerber
Karma: 44
2010-04-14 16:13 UTC
Nils Faerber schrieb:
> Joerg Reisenweber schrieb:
>>> So assuming I know what I am doing is there a way to enforce the N900 to
>>> start charging even if there is no host connected? This must work
>>> somehow since the power adapter presumably does not contain a USB host ;)
>> Exactly. The charger shorts D+ and D- data lines of USB port.
>> This should enable fast charging
> Ah!
> I will try that - press thumbs that it works ;)

And it does!

And actually Simon Budig found out that this is spec compliant:

"The Dedicated Charging Port shorts the D+ and D- pins with a resistance
of at most 200Ω. The short disables data transfer, but allows devices to
detect the Dedicated Charging Port and allows very simple, high current
chargers to be manufactured."

I guess it is just a matter of time that newer "USB chargers" implement
this.

Cheers
nils

--
kernel concepts GbR Tel: +49-271-771091-12
Sieghuetter Hauptweg 48 Fax: +49-271-771091-19
D-57072 Siegen Mob: +49-176-21024535
http://www.kernelconcepts.de

  •  Reply