Re: Charging Neo Freerunner via USB port

2008-04-21 Thread Steven Milburn
Good news, you're likely wrong :)

Don't project the current draw when on the charger to when on the battery.

It's very normal for the charger portion of a PMIC to be extremely
in-efficient.  I typically see less than 50% efficiency on chargers.  The
power system will be optimized for running off the battery, but charger
power is usually seen as a free an infinite resource for the phone. It's not
worth the cost and area to optimize the power usage from the charger, so
it's almost never done.

--Steve M

On Sat, Apr 19, 2008 at 9:24 AM, Marco Trevisan (Treviño) [EMAIL PROTECTED]
wrote:


 Mhmhm... Does this mean that the freerunner uses about 100mA to stay on
 standby? And... Then that in about 12 hours of simple standby its battery
 will be out? :o

 I really hope I'm wrong...


 --
 Treviño's World - Life and Linux
 http://www.3v1n0.net/


 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-21 Thread Flemming Richter Mikkelsen
Hello Joachim.

Thank You for the information.

On 4/19/08, Joachim Steiger [EMAIL PROTECTED] wrote:
 the id pin is connected directly to pin9 of the pmu (adcin1)
 in addition to that there is one resistor of 100k(1%) to gnd and one of
 39k(1%) to pin8 of the pmu (accsw)
 now everyone should be able to do the math while looking at the pmu
 datasheet. ;)

I am looking at the PMU datasheet, and I just want to verify Your information.

In [EMAIL PROTECTED] 14 (page 119 in PCF50633 user manual), accsw is
connected to adcin1 with a 100k resistor and adcin is connected to gnd
with Racc. Is the information I got from You correct?

I will look at the current kernel driver to see how it is implemented, but I
assume ratiometric measurement is used (ref. PCD50633 user manual
@ page 102).

best regards,

Flemming Richter
-- 
Please don't send me Word or PowerPoint attachments. See
http://www.gnu.org/philosophy/no-word-attachments.html

Join the FSF as an Associate Member at:
URL:http://www.fsf.org/register_form?referrer=5774

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Marco Trevisan (Treviño)

Michael Shiloh wrote:

Andy Powell wrote:

On Friday 18 April 2008 18:34, Michael Shiloh wrote:
The Neo Freerunner can charge most rapidly when it can pull 1 Amp from
the power supply connected to the USB socket. However, not all chargers
or computers can provide this much current.


It might seem like a dumb question, the the charger provided can 
source 1Amp, right? :)


Not a dumb question at all. I do say this further down, but perhaps 
should elevate it.


According to this [1] (final pages) it should provide 2.0A.

[1] http://tinyurl.com/5sh68w

--
Treviño's World - Life and Linux
http://www.3v1n0.net/


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Marco Trevisan (Treviño)

Michael Shiloh wrote:
When the Neo Freerunner detects that power has been provided at the USB 
port, it will attempt to draw only 100mA. This minimum is mandated by 
the USB standard. This amount of current is insufficient to both power 
the Neo Freerunner (or even just its backlight) and to charge the 
battery, and therefore the battery will not be charged. (The battery 
discharge rate, however, will be slightly lower, as the supplied 100mA 
will be used to augment the battery.)


(When a charger is connected to the USB port, the Neo Freerunner 
automatically powers up. Thus, if charging at 100mA is desired, the Neo 
Freerunner must be shut down after the startup process has completed.)


Mhmhm... Does this mean that the freerunner uses about 100mA to stay on 
standby? And... Then that in about 12 hours of simple standby its 
battery will be out? :o


I really hope I'm wrong...

--
Treviño's World - Life and Linux
http://www.3v1n0.net/


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Terminology (was: Charging Neo Freerunner via USB port)

2008-04-19 Thread Jens Fursund
Good idea to put this straight. In what mode would you expect listening
to audio would be?

Best Regards,

Jens

On Sat, 2008-04-19 at 14:37 +0100, Michael 'Mickey' Lauer wrote:
 Guys,
 
 you really need to set the terminology straight here otherwise we spread FUD.
 
 Feature phones only differ between talk time and standby time.
 For us, it's a bit more complicated, since we have more modes.
 
 Can we agree on the following:
 
 usage time = CPU is powered on, lots of peripherals have power and you're 
 actually talking and doing lots of things.
 
 standby time = CPU is powered on, but the display and most peripherals are 
 off 
 to save power. You are doing something that requires the CPU to be on though.
 
 suspend time = CPU is powered off. only gsm (and RTC and some other wakeup 
 sources) are listening for events.
 
 Now I _personally_ expect the following from FreeRunner:
 
 usage time = 2 to 8 hours, depending on what you're actually doing
 standby time = 10 hours
 suspend time = 2-3 days
 
 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Terminology (was: Charging Neo Freerunner via USB port)

2008-04-19 Thread Erland Lewin
2008/4/19, Michael 'Mickey' Lauer [EMAIL PROTECTED]:

 Feature phones only differ between talk time and standby time.
 For us, it's a bit more complicated, since we have more modes.

 Can we agree on the following:

 usage time = CPU is powered on, lots of peripherals have power and you're
 actually talking and doing lots of things.

 standby time = CPU is powered on, but the display and most peripherals are
 off
 to save power. You are doing something that requires the CPU to be on
 though.

 suspend time = CPU is powered off. only gsm (and RTC and some other wakeup
 sources) are listening for events.


Why can't we keep the existing terminology?

I think what you refer to as 'suspend time' should really be called 'standby
time', since it is how most people think of it - how long will the battery
last when the phone is not being used.

What you call 'usage time' I think we could keep calling 'talk time', since
it seems to me to be the same thing, and is in common use.

What you call 'standby time' doesn't seem like a very important state to me,
I would think that for most people the phone would either be used (what you
call 'usage time'), or in your pocket or whatever, when you want maximum
battery time, what you call 'suspend time'. Maybe we could call it 'music
playback time', since that seems to be one usage of this mode.

/Erland
___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Hans L
Great summary Michael, and a good discussion.  It would be nice to see
the ability to support other fast chargers in the future.  That is one
of my pet peeves about cell phones is that it seems every single
company(and often even every model made by that company) has it's own
specific charger which is incompatible with anything else.

Michael Shiloh wrote:
  In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and 1A.

Just to be absolutely clear, are these 3 rates hardwired into the
circuitry?  Or might it be possible in the future to support(through
only software changes) some charger that has for example a max rating
of 750mA, and get the maximum output from it.
The discussion up to this point seems to indicate that the best that
could be done with this theoretical charger would be 500mA.  I suppose
it doesn't make a huge difference, but something I'd like to know for
sure.

- Hans Loeblich

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Terminology (was: Charging Neo Freerunner via USB port)

2008-04-19 Thread Kevin Dean
On Sat, Apr 19, 2008 at 11:46 AM, Erland Lewin [EMAIL PROTECTED] wrote:
 2008/4/19, Michael 'Mickey' Lauer [EMAIL PROTECTED]:

  Feature phones only differ between talk time and standby time.
  For us, it's a bit more complicated, since we have more modes.
 
  Can we agree on the following:
 
  usage time = CPU is powered on, lots of peripherals have power and you're
  actually talking and doing lots of things.
 
  standby time = CPU is powered on, but the display and most peripherals are
 off
  to save power. You are doing something that requires the CPU to be on
 though.
 
  suspend time = CPU is powered off. only gsm (and RTC and some other wakeup
  sources) are listening for events.

 Why can't we keep the existing terminology?

As you're going to state here, not everyone agrees on what the
existing terminology means. You can call it whatever you want as
long as everyone using the term understands what the terms mean.
Mickey's terms clear up the ambiguity.


 I think what you refer to as 'suspend time' should really be called 'standby
 time', since it is how most people think of it - how long will the battery
 last when the phone is not being used.

That makes assumptions that we can't be sure of yet. We should work to
clear up those assumptions first.


 What you call 'usage time' I think we could keep calling 'talk time', since
 it seems to me to be the same thing, and is in common use.

Broadcasting a GSM signal uses more power than playing Sudoko so the
times will be different. I don't think either term here really clears
that up.

How much talk time does the Freerunner currently get? This means while
broadcasting GSM signal. How much usage time can the Freerunner get,
for instance playing sudoku? What is the frame in between? Could
someone expect 10 hours of sit on my desk while I sleep and have the
phone do nothing? Does this drop to 6 hours when playing music via a
bluetooth headset (since it's processing audio and broadcasting over
BT). What battery life could someone expect while making a call from
full charge to battery death while using a Bluetooth headset?

Perhaps a battery life FAQ might make more sense... I'll see if I
can't start one.


 What you call 'standby time' doesn't seem like a very important state to me,
 I would think that for most people the phone would either be used (what you
 call 'usage time'), or in your pocket or whatever, when you want maximum
 battery time, what you call 'suspend time'.

There's a critical difference, but exactly how requires more
information. The GTA01 currently can't accept incoming calls while in
suspend, so for the average person suspend is useless since
suspending does NOTHING except essentially decrease boot time - it has
the same functionality as turning the device off and uses more power.

Can the Freerunner resume on incoming call? If so, someone could
suspend the device and toss it in their pocket/purse, reap maximum
battery life AND keep the primary functionality intact. If it can't
resume on incoming call, I'd agree it's essentially useless.

 Maybe we could call it 'music
 playback time', since that seems to be one usage of this mode.

 /Erland


 ___
  Openmoko community mailing list
  community@lists.openmoko.org
  http://lists.openmoko.org/mailman/listinfo/community



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Ortwin Regel
That's also something I'd like to know as my Minty Boost supposedly
does up to ~250 mA and I'd like to use that much if possible.
The Neo 1973 doesn't have the necessary hardware to detect chargers,
though, or does it?

Ortwin

On 4/19/08, Hans L [EMAIL PROTECTED] wrote:
 Great summary Michael, and a good discussion.  It would be nice to see
 the ability to support other fast chargers in the future.  That is one
 of my pet peeves about cell phones is that it seems every single
 company(and often even every model made by that company) has it's own
 specific charger which is incompatible with anything else.

 Michael Shiloh wrote:
   In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and
 1A.

 Just to be absolutely clear, are these 3 rates hardwired into the
 circuitry?  Or might it be possible in the future to support(through
 only software changes) some charger that has for example a max rating
 of 750mA, and get the maximum output from it.
 The discussion up to this point seems to indicate that the best that
 could be done with this theoretical charger would be 500mA.  I suppose
 it doesn't make a huge difference, but something I'd like to know for
 sure.

 - Hans Loeblich

 ___
 Openmoko community mailing list
 community@lists.openmoko.org
 http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Terminology (was: Charging Neo Freerunner via USB port)

2008-04-19 Thread Hans L
On Sat, Apr 19, 2008 at 10:46 AM, Erland Lewin [EMAIL PROTECTED] wrote:
 What you call 'standby time' doesn't seem like a very important state to me...

I would disagree that this state(regardless of what you want to call
it) is unimportant.  I think that, while this may be true for the
majority of *closed* phones on the market, the open-ness of the
freerunner will allow this area to grow significantly.  Seeing it as
not simply a cellphone, but more in terms of a general computing
device with great connectivity(GSM, wifi, GPS, bluetooth, etc.), will
allow for uses that might not be completely obvious at the moment.  I
think as the software is further developed, this sort of state will
could more and more important.

I do however agree with your point about the generally accepted
meaning of Standby time.
I think most other phones talk about battery life in terms of talk
time and standby time as their two modes of operation.

-Hans Loeblich

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Terminology (was: Charging Neo Freerunner via USB port)

2008-04-19 Thread Erland Lewin
2008/4/19, Kevin Dean [EMAIL PROTECTED]:

 Can the Freerunner resume on incoming call? If so, someone could
 suspend the device and toss it in their pocket/purse, reap maximum
 battery life AND keep the primary functionality intact. If it can't
 resume on incoming call, I'd agree it's essentially useless.


My impression from the mailing list discussions is that the Freerunner can
resume on an incoming call (which is how a reasonable, or very good,
'standby time' has been achieved.
___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Michael Shiloh



Marco Trevisan (Treviño) wrote:

Michael Shiloh wrote:

Andy Powell wrote:

On Friday 18 April 2008 18:34, Michael Shiloh wrote:
The Neo Freerunner can charge most rapidly when it can pull 1 Amp from
the power supply connected to the USB socket. However, not all chargers
or computers can provide this much current.


It might seem like a dumb question, the the charger provided can 
source 1Amp, right? :)


Not a dumb question at all. I do say this further down, but perhaps 
should elevate it.


According to this [1] (final pages) it should provide 2.0A.

[1] http://tinyurl.com/5sh68w



True, but we only use 1A. I should confirm this, but I took the 47K Ohm 
resistor to mean able to source at least 1A, meaning that it would be 
possible to ship a different supply and not violate this. I know of no 
plans to replace the supply with one that can only source 1A, but that 
is a possibility.


I'll look into this.

Michael

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Michael Shiloh



Hans L wrote:

Great summary Michael, and a good discussion.  It would be nice to see
the ability to support other fast chargers in the future.  That is one
of my pet peeves about cell phones is that it seems every single
company(and often even every model made by that company) has it's own
specific charger which is incompatible with anything else.

Michael Shiloh wrote:

 In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and 1A.


Just to be absolutely clear, are these 3 rates hardwired into the
circuitry?  


I'm pretty sure this is all software, but might depend on the firmware 
controlling the charger chips. Some chips allow continuous control, some 
have fixed rates. I'll try to find out.



Or might it be possible in the future to support(through

only software changes) some charger that has for example a max rating
of 750mA, and get the maximum output from it.
The discussion up to this point seems to indicate that the best that
could be done with this theoretical charger would be 500mA.  I suppose
it doesn't make a huge difference, but something I'd like to know for
sure.

- Hans Loeblich

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-19 Thread Federico Lorenzi
On Sat, Apr 19, 2008 at 8:16 PM, Michael Shiloh [EMAIL PROTECTED] wrote:
 Good question. I'm pretty sure the answer is no. Roh, do you recall?
Are you referring to changing using different current draws? IIRC,
someone was tweaking uboot because it wasn't drawing the full 100ma,
only 20 or so, and managed to change some things.

Cheers,
Federico

  Remember, though, that the charging is all under software control, so you
 can set this in software and in fact there are apps to do just this. The
 hardware only provides automatic detection.

  Michael



  Ortwin Regel wrote:

  That's also something I'd like to know as my Minty Boost supposedly
  does up to ~250 mA and I'd like to use that much if possible.
  The Neo 1973 doesn't have the necessary hardware to detect chargers,
  though, or does it?
 
  Ortwin
 
  On 4/19/08, Hans L [EMAIL PROTECTED] wrote:
 
   Great summary Michael, and a good discussion.  It would be nice to see
   the ability to support other fast chargers in the future.  That is one
   of my pet peeves about cell phones is that it seems every single
   company(and often even every model made by that company) has it's own
   specific charger which is incompatible with anything else.
  
   Michael Shiloh wrote:
  
 In summary, the Neo can charge at 3 different rates: 100mA, 500mA,
 and
   
   1A.
  
   Just to be absolutely clear, are these 3 rates hardwired into the
   circuitry?  Or might it be possible in the future to support(through
   only software changes) some charger that has for example a max rating
   of 750mA, and get the maximum output from it.
   The discussion up to this point seems to indicate that the best that
   could be done with this theoretical charger would be 500mA.  I suppose
   it doesn't make a huge difference, but something I'd like to know for
   sure.
  
   - Hans Loeblich
  
   ___
   Openmoko community mailing list
   community@lists.openmoko.org
   http://lists.openmoko.org/mailman/listinfo/community
  
  
 
  ___
  Openmoko community mailing list
  community@lists.openmoko.org
  http://lists.openmoko.org/mailman/listinfo/community
 

  ___
  Openmoko community mailing list
  community@lists.openmoko.org
  http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Terminology (was: Charging Neo Freerunner via USB port)

2008-04-19 Thread Flemming Richter Mikkelsen
On Sat, Apr 19, 2008 at 3:37 PM, Michael 'Mickey' Lauer
[EMAIL PROTECTED] wrote:
  Now I _personally_ expect the following from FreeRunner:

  usage time = 2 to 8 hours, depending on what you're actually doing
  standby time = 10 hours
  suspend time = 2-3 days


Thanks for the information:)
-- 
Please don't send me Word or PowerPoint attachments. See
http://www.gnu.org/philosophy/no-word-attachments.html

Join the FSF as an Associate Member at:
URL:http://www.fsf.org/register_form?referrer=5774

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Charging Neo Freerunner via USB port

2008-04-18 Thread Michael Shiloh

Hi everyone,

With input from the experts who designed the system, I've tried to 
document precisely how charging works on the Neo Freerunner.


I welcome your feedback:



The Neo Freerunner charges the battery when 5VDC is provided at the USB
port, whether from a computer USB port or from a dedicated USB charger.

The Neo Freerunner can charge most rapidly when it can pull 1 Amp from 
the power supply connected to the USB socket. However, not all chargers 
or computers can provide this much current.


When the Neo Freerunner detects that power has been provided at the USB 
port, it will attempt to draw only 100mA. This minimum is mandated by 
the USB standard. This amount of current is insufficient to both power 
the Neo Freerunner (or even just its backlight) and to charge the 
battery, and therefore the battery will not be charged. (The battery 
discharge rate, however, will be slightly lower, as the supplied 100mA 
will be used to augment the battery.)


(When a charger is connected to the USB port, the Neo Freerunner 
automatically powers up. Thus, if charging at 100mA is desired, the Neo 
Freerunner must be shut down after the startup process has completed.)


After detecting USB power, The Neo Freerunner will attempt to negotiate, 
via the USB protocol, a higher charge rate of 500mA. If the device 
powering the Neo is capable of doing so, the Neo Freerunner will charge 
at 500mA.


USB chargers do not implement the USB protocol, and thus can not respond
to requests for higher charge rates. Some manufacturers have worked
around this issue by installing resistors of different values between
different pairs of pins in in order to identify their own chargers of 
known capacity. This is not part of the USB standard and is completely 
up to each manufacturer.


The USB charger provided with the Neo Freerunner can source up to 1A. In
order to identify this special charger, there is a 47K ohm resistor 
between the ID pin and ground. If the Neo Freerunner detects this 
resistor, then the Neo Freerunner will charge at 1A.


In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and 1A.

Notes:

1. USB negotiation and resistor detection is performed in software, and 
is thus under developer control. A developer might write an application 
to indicate that 500mA or 1 Amp are available, bypassing the USB 
negotiation and the 47K ohm resistor detection.


There is nothing  preventing the software from charging at a higher rate 
than then power provider can supply, although there is danger in doing so.


The danger in drawing more current than a charger or computer USB port
can provide is that components overheat and may become permanently
damaged, or even catch fire, although most USB host devices implement 
current limits that will depower the port on overcurrent.


2. The Neo Freerunner charger is a single assembly which includes
the USB cable. The cable is NOT a separate item and can not be removed
from the charger (without cutting).

3. Any third-party charger that does not contain the 47K resistor will 
cause the software to assume it can draw only 100mA, regardless of how 
much current the charger really can source.


4. In its hard-coded configuration, the PMU doesn't charge the battery
at all. The hard-coded configuration is used when power is applied to 
the PMU after a period of complete absence of power, including the 
backup battery.


When the system comes up, it reconfigures the PMU to enable charging. 
Most of the configurable items are also preserved by the PMU if it 
powers the system down, but the PMU itself still has power - either from 
USB, main battery, or the backup battery. (This is the PMU's STANDBY mode.)


5. All of this discussion is for setting the maximum current that the 
Neo Freerunner can safely draw from the USB socket. The battery charging 
current may actually be lower, if the charging logic determines that a 
lower charge rate is appropriate.


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Paul Jimenez

Hi Michael,

   This is a good start, very informative.  Some good additions, I think,
would be: 

  * Why does computer/usb charging max out at 500mA? is that a
  limitation of the USB spec?

  * you mention 'other manufacturers' that 'identify their own chargers'
  with various resistors... if I have one of those chargers, is there a
  way to get the phone to ID it?

  * for hacking purposes it would be good to document what other mfrs
  chargers use and how easy they are to hack into moko fastchargers.
  This should be a wiki page and community driven, of course, but you
  could get it jump-started with whatever info you have on this issue.
  I, for one, have a small pile of motorola chargers with mini USB on
  them that I'm more than willing to hack into moko fastchargers given
  some basic instructions.

  * you/we should make the charging status *VERY APPARENT*. People are
  going to be unhappy if they plug it in and it doesn't charge when they
  think it will (consider the case of a cheapo usb hub that won't supply
  the power), but this can be avoided if the phone makes it obvious when
  it is or isn't charging.

Just my pair of pennies,

  --pj

On Friday, Apr 18, 2008, Michael Shiloh writes:
Hi everyone,

With input from the experts who designed the system, I've tried to 
document precisely how charging works on the Neo Freerunner.

I welcome your feedback:



The Neo Freerunner charges the battery when 5VDC is provided at the USB
port, whether from a computer USB port or from a dedicated USB charger.

The Neo Freerunner can charge most rapidly when it can pull 1 Amp from 
the power supply connected to the USB socket. However, not all chargers 
or computers can provide this much current.

When the Neo Freerunner detects that power has been provided at the USB 
port, it will attempt to draw only 100mA. This minimum is mandated by 
the USB standard. This amount of current is insufficient to both power 
the Neo Freerunner (or even just its backlight) and to charge the 
battery, and therefore the battery will not be charged. (The battery 
discharge rate, however, will be slightly lower, as the supplied 100mA 
will be used to augment the battery.)

(When a charger is connected to the USB port, the Neo Freerunner 
automatically powers up. Thus, if charging at 100mA is desired, the Neo 
Freerunner must be shut down after the startup process has completed.)

After detecting USB power, The Neo Freerunner will attempt to negotiate, 
via the USB protocol, a higher charge rate of 500mA. If the device 
powering the Neo is capable of doing so, the Neo Freerunner will charge 
at 500mA.

USB chargers do not implement the USB protocol, and thus can not respond
to requests for higher charge rates. Some manufacturers have worked
around this issue by installing resistors of different values between
different pairs of pins in in order to identify their own chargers of 
known capacity. This is not part of the USB standard and is completely 
up to each manufacturer.

The USB charger provided with the Neo Freerunner can source up to 1A. In
order to identify this special charger, there is a 47K ohm resistor 
between the ID pin and ground. If the Neo Freerunner detects this 
resistor, then the Neo Freerunner will charge at 1A.

In summary, the Neo can charge at 3 different rates: 100mA, 500mA, and 1A.

Notes:

1. USB negotiation and resistor detection is performed in software, and 
is thus under developer control. A developer might write an application 
to indicate that 500mA or 1 Amp are available, bypassing the USB 
negotiation and the 47K ohm resistor detection.

There is nothing  preventing the software from charging at a higher rate 
than then power provider can supply, although there is danger in doing so.

The danger in drawing more current than a charger or computer USB port
can provide is that components overheat and may become permanently
damaged, or even catch fire, although most USB host devices implement 
current limits that will depower the port on overcurrent.

2. The Neo Freerunner charger is a single assembly which includes
the USB cable. The cable is NOT a separate item and can not be removed
from the charger (without cutting).

3. Any third-party charger that does not contain the 47K resistor will 
cause the software to assume it can draw only 100mA, regardless of how 
much current the charger really can source.

4. In its hard-coded configuration, the PMU doesn't charge the battery
at all. The hard-coded configuration is used when power is applied to 
the PMU after a period of complete absence of power, including the 
backup battery.

When the system comes up, it reconfigures the PMU to enable charging. 
Most of the configurable items are also preserved by the PMU if it 
powers the system down, but the PMU itself still has power - either from 
USB, main battery, or the backup battery. (This is the PMU's STANDBY mode.)

5. All of this discussion is for setting the maximum current that the 
Neo 

Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Shawn Rutledge
On Fri, Apr 18, 2008 at 11:22 AM, Andy Powell [EMAIL PROTECTED] wrote:
  On the GTA01 you can press AUX as you power up to get the boot menu. On mine 
 I
  have added an option to start fast (500ma) charging and power off the
  backlight. This means I don't need to have enough power to do a full boot to
  get the device charging.  Perhaps an option for slow (100ma) charging that
  turns the backlight off would be useful - although it would probably need to
  have a few tests run to see if it was actually helping any.

In my testing, the current draw from the battery while I'm sitting at
the boot menu is not very low.  Maybe this menu hack needs to set the
CPU into a very low-power mode, turn off the radios, etc.

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Shawn Rutledge
On Fri, Apr 18, 2008 at 12:06 PM, Michael Shiloh [EMAIL PROTECTED] wrote:
   * for hacking purposes it would be good to document what other mfrs
   chargers use and how easy they are to hack into moko fastchargers.
   This should be a wiki page and community driven, of course, but you
   could get it jump-started with whatever info you have on this issue.
   I, for one, have a small pile of motorola chargers with mini USB on
   them that I'm more than willing to hack into moko fastchargers given
   some basic instructions.

  Since I feel the utility of this isn't tremendous, I think my time is
 better spent elsewhere. However, if others want to do this, I would suggest
 you start your search at lady ada's forum where they discuss getting the
 minty-boost charger to work with different models of iPod. That seems to be
 one of the most comprehensive discussions of USB charger identifications I
 have ever found. (If anyone knows of a similar, or better one, I would love
 to hear about it.)

I would like to see the Motorola chargers working too, without having
to modify the charger.  It seems that it's some other resistance,
maybe 200k.  What is the tolerance?  Does the Freerunner actually
measure the resistance?  If we modify the code to be more tolerant
(any resistance between 20K and 500K means a charger is being
detected, and 500mA should be OK, whereas if it's 47K we can charge at
1A) could the phone be distributed with this modification?  Where is
this code which does the measuring, is it the PMU firmware or it runs
on the main CPU?

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Flemming Richter Mikkelsen
On 4/18/08, Shawn Rutledge [EMAIL PROTECTED] wrote:

 On Fri, Apr 18, 2008 at 12:06 PM, Michael Shiloh [EMAIL PROTECTED]
 wrote:
* for hacking purposes it would be good to document what other mfrs
chargers use and how easy they are to hack into moko fastchargers.
This should be a wiki page and community driven, of course, but you
could get it jump-started with whatever info you have on this issue.
I, for one, have a small pile of motorola chargers with mini USB on
them that I'm more than willing to hack into moko fastchargers given
some basic instructions.
 
   Since I feel the utility of this isn't tremendous, I think my time is
  better spent elsewhere. However, if others want to do this, I would
 suggest
  you start your search at lady ada's forum where they discuss getting the
  minty-boost charger to work with different models of iPod. That seems to
 be
  one of the most comprehensive discussions of USB charger identifications
 I
  have ever found. (If anyone knows of a similar, or better one, I would
 love
  to hear about it.)

 I would like to see the Motorola chargers working too, without having
 to modify the charger.  It seems that it's some other resistance,
 maybe 200k.  What is the tolerance?  Does the Freerunner actually
 measure the resistance?  If we modify the code to be more tolerant
 (any resistance between 20K and 500K means a charger is being
 detected, and 500mA should be OK, whereas if it's 47K we can charge at
 1A) could the phone be distributed with this modification?  Where is
 this code which does the measuring, is it the PMU firmware or it runs
 on the main CPU?


If you make this kind of modification, there is no use in the autodetection.
It is more safe to check for the 47k and the other values.
-- 
Please don't send me Word or PowerPoint attachments. See
http://www.gnu.org/philosophy/no-word-attachments.html

Join the FSF as an Associate Member at:
URL:http://www.fsf.org/register_form?referrer=5774
___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Alexey Feldgendler
On Fri, 18 Apr 2008 21:06:26 +0200, Michael Shiloh [EMAIL PROTECTED]  
wrote:


   * you mention 'other manufacturers' that 'identify their own  
chargers' with various resistors... if I have one of those chargers,

is there a way to get the phone to ID it?


There are two issues here: First of all, you have to know the value and  
location (i.e. between which two pins) of the resistor. There is no  
standard, no gathering place of all this information. You can search the  
Internet in case someone has posted this.


I'm not sure how we measure the resistor. My guess is we measure the  
current and deduce from this. Measuring the current requires an analog  
to digital converter (ADC), which we must have wired up to the pin in  
question. If an arbitrary charger uses a different pin, and if we don't  
have an ADC on that pin, we won't be able to detect the resistor there.


That said, the most common location for a resistor is the same as ours,  
so you're in good shape.


Next, you have to modify the code to do this. Trivial for all you  
developers.


This could actually be done by an application downloadable by a user who  
knows what he's doing. The user starts the application, plugs in the  
charger, the application measures the resistance. If it's not something  
identifiable, too bad. Otherwise, the user reads the output current  
specification on the charger and adds the pair (ID resistance, current) to  
the table.


The reason I think this is of limited use is that I would guess that  
most of you will simply read the label on the charger, and then use a  
utility to override all the automatic detection and simply tell the  
charging logic that 500mA or 1A is available. Automating this is a lot  
of work for little gain.


Not so little if you have a particular charger (say, Motorola) and use it  
to charge Neo every time. You'd really want it to auto-detect the charger  
instead of choosing the charging current manually every time.



--
Alexey Feldgendler [EMAIL PROTECTED]
[ICQ: 115226275] http://feldgendler.livejournal.com

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Shawn Rutledge
On Fri, Apr 18, 2008 at 1:44 PM, Flemming Richter Mikkelsen
[EMAIL PROTECTED] wrote:
 If you make this kind of modification, there is no use in the autodetection.

What do you mean?  Autodetecting that a computer is the host depends
on some digital communications rather than measuring a resistor.
There is no resistor between pin X and ground in that case, right?

 It is more safe to check for the 47k and the other values.

It would be safer but not as universal.  Somebody will have to figure
out the tests for Samsung chargers etc.  But probably every mini-USB
charger can supply at least 500mA, or if not, it would limit the
current itself.  So I don't think there's anything very unsafe about
making that assumption.  But we could show the actual battery charge
current on the mini-control panel which can be popped up by clicking
on the status bar, so if you need to know whether the phone is really
charging (rather than trying and not getting enough juice) you can
easily find out.

Anyway you are assuming no other charger in the world uses 47k, or
that if it does, it would be capable of supplying 1A, right?  But, if
the phone tries to draw 1A and the dumb fast-charger cannot supply it,
then the current would probably be limited by the charger anyway.  I
have a powered hub from which the Neo cannot even draw a full 500mA.
(Lousy hub, I guess, or lousy power supply that is powering it.)
Nothing gets damaged, but I was wondering why the phone wasn't getting
fully charged when plugged into that hub for days or weeks.  Now I
have to use an actual motherboard USB port instead.

Moto also has some USB accessories like a headset, and a
headset-adapter.  It will be interesting to see what happens when one
of those is plugged in; I suspect they used more resistor/transistor
tricks to detect those, too.  Maybe they even abused the USB pins in
other ways to enable those accessories.

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Michael Shiloh



Alexey Feldgendler wrote:
On Fri, 18 Apr 2008 21:06:26 +0200, Michael Shiloh 
[EMAIL PROTECTED] wrote:


   * you mention 'other manufacturers' that 'identify their own 
chargers' with various resistors... if I have one of those chargers,

is there a way to get the phone to ID it?


There are two issues here: First of all, you have to know the value 
and location (i.e. between which two pins) of the resistor. There is 
no standard, no gathering place of all this information. You can 
search the Internet in case someone has posted this.


I'm not sure how we measure the resistor. My guess is we measure the 
current and deduce from this. Measuring the current requires an analog 
to digital converter (ADC), which we must have wired up to the pin in 
question. If an arbitrary charger uses a different pin, and if we 
don't have an ADC on that pin, we won't be able to detect the resistor 
there.


That said, the most common location for a resistor is the same as 
ours, so you're in good shape.


Next, you have to modify the code to do this. Trivial for all you 
developers.


This could actually be done by an application downloadable by a user who 
knows what he's doing. The user starts the application, plugs in the 
charger, the application measures the resistance. If it's not something 
identifiable, too bad. Otherwise, the user reads the output current 
specification on the charger and adds the pair (ID resistance, current) 
to the table.


That's a great idea. Find the code that checks for the specific 
Freerunner resistance, and modify it to simply report the value of 
whatever it sees. If it is anything different from an open or short 
circuit (within reasonable tolerances) assume it is a resistor, and note 
the value. Post to the wiki, and if a few other people see the same 
value for the same charger, this seems safe to code.






The reason I think this is of limited use is that I would guess that 
most of you will simply read the label on the charger, and then use a 
utility to override all the automatic detection and simply tell the 
charging logic that 500mA or 1A is available. Automating this is a lot 
of work for little gain.


Not so little if you have a particular charger (say, Motorola) and use 
it to charge Neo every time. You'd really want it to auto-detect the 
charger instead of choosing the charging current manually every time.


Yes, that's a really good point, and one I had overlooked.







___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Flemming Richter Mikkelsen
This could be done even more simple:
 - Download and install the program
 - Connect the charger with the unknown resistor
 - Click on the button Get charger ID
 - If a valid charger ID is found, the button Add this charger
becomes clickable, else it is grayed out.

What do you think?

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Flemming Richter Mikkelsen
On 4/18/08, Flemming Richter Mikkelsen [EMAIL PROTECTED] wrote:
 This could be done even more simple:
  - Download and install the program
  - Connect the charger with the unknown resistor
  - Click on the button Get charger ID
  - If a valid charger ID is found, the button Add this charger
 becomes clickable, else it is grayed out.

 What do you think?


- Ohh, and a valid charger ID would be a resistance between res_min and res_max.
- Several pins could be probed
- The program add this value to the /etc/charger.conf for you
- The program that autodetects the charger, parses /etc/charger.conf
if the file exists

Just a thought
-- 
Please don't send me Word or PowerPoint attachments. See
http://www.gnu.org/philosophy/no-word-attachments.html

Join the FSF as an Associate Member at:
URL:http://www.fsf.org/register_form?referrer=5774

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Michael Shiloh



Flemming Richter Mikkelsen wrote:

This could be done even more simple:
 - Download and install the program
 - Connect the charger with the unknown resistor
 - Click on the button Get charger ID
 - If a valid charger ID is found, the button Add this charger
becomes clickable, else it is grayed out.

What do you think?



Sounds great to me. If this happens before you all get yours, I can test 
on my prototypes.


Michael



___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Michael Shiloh



Flemming Richter Mikkelsen wrote:

On 4/18/08, Flemming Richter Mikkelsen [EMAIL PROTECTED] wrote:

This could be done even more simple:
 - Download and install the program
 - Connect the charger with the unknown resistor
 - Click on the button Get charger ID
 - If a valid charger ID is found, the button Add this charger
becomes clickable, else it is grayed out.

What do you think?



- Ohh, and a valid charger ID would be a resistance between res_min and res_max.
- Several pins could be probed


You can only probe the pins that have the appropriate hardware interface 
to them. This may be all, but can't be taken for granted. One of the 
hardware people can tell us which pins are capable of this, and how you 
select which one you want to measure.





- The program add this value to the /etc/charger.conf for you
- The program that autodetects the charger, parses /etc/charger.conf
if the file exists

Just a thought


___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: Charging Neo Freerunner via USB port

2008-04-18 Thread Joachim Steiger
Michael Shiloh wrote:
 Flemming Richter Mikkelsen wrote:
 - Ohh, and a valid charger ID would be a resistance between res_min
 and res_max.
 - Several pins could be probed
 
 You can only probe the pins that have the appropriate hardware interface
 to them. This may be all, but can't be taken for granted. One of the
 hardware people can tell us which pins are capable of this, and how you
 select which one you want to measure.

there is only one pin to measure.
the 'id pin'  is pin number 4 directly beneath pin 5 which is gnd.
pin 1 is vcc (5V)
2 and 3 are D- and D+ for usb data.
thus all pins are 'taken' by standard besides the 'id pin'

on gta02 its connected to an adc inside the pmu.
details:
the id pin is connected directly to pin9 of the pmu (adcin1)
in addition to that there is one resistor of 100k(1%) to gnd and one of
39k(1%) to pin8 of the pmu (accsw)
now everyone should be able to do the math while looking at the pmu
datasheet. ;)

motorola chargers have a 200k (pretty exact, shows 200.0 on my
not-that-cheap-but-chinese multimeter) resistor to gnd.
in addition to that they short D+ and D- to each others (read about that
too in some usb-charging-spec), but i think we can ignore that because
detecting that would propably quite some hacking if possible at all
(dunno the usb-hw-if of the samsung enough) and also not that helpful.
i wouldn want to have a 'range' of 'recognized valid resistance' but
rather a table..
means
* 48k - moko charger (2A) - 1A mode
* 200k - motorola charger (550mA) - 500mA mode
* ...

if no resistor or short is detected - if it speaks usb and does
enumerate us as 500mA - 550mA mode
if it does not speak usb at all or only enumerates us as 100mA - 100mA mode

the nice thing is: this whole feature doesn't affect the hw going to mp.
its a software needs to have more (to be found out) values and fitting
modes coded in.

the code to measure the pin should be in uboot and kerneldrivers. didn't
have a look at both yet.

but yes. a nice small (can be console) way to find out the adc value
would be practical to build the table of known to be valid chargers.

-- 

Joachim Steiger
developer relations/support

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community