Active Topics

 


Reply
Thread Tools
Posts: 20 | Thanked: 3 times | Joined on Sep 2007
#1
Update: see post 8 for a solution.


This post is aimed at hardware, EE gurus- that possibly have tried this already.

I have read everything I can find on the topic, and even built my own Y-cable to charge N900 from self-powered premium USB Hub that offers 500mA per port.

Sadly even under this scenario N900 still charges only at the 100mA - even though 1A is consistently available.

I looked at charger specification of N900 and I understand that i2cset command should be able to set the charging basen on Iin_limit
registers.

I know that this register value can be set to 500mA, or 800mA for charging and needs to be refreshed every 30 seconds or so - run from within the loop just like what is done to make USB host mode work.

I have purchased spare batteries, but it really makes no sense that n900 that is always hooked-up as a 3G modem to a Tomato firmware based router - dies due to lack of power after just after few hours of use.

This happens when the USB delivers 500mA per port and even with Y-Cable (power insertion) - yet N900 claims "not charging insufficient power" if the LCD is lit.

The bottom line is that I would like someone to verify what the actual command for i2cset command line should be to set it to 800mA - because I am not an expert and do not want to cause any issues for myself by accident.

Even the i2cset command that sets it to 100mA would be sufficient for me to figure out how to change it to 500/800 modes.

N900 is just not smart enough to detect the actual charging situation and the USB Host and shutting the BME, still seems to only use 100mA - if there is no actual host to interrogate and agree on what the vbus usb spec for charging is.

Even with solid yellow/orange light on(so called fast charge mode) - I believe my N900 slow charges with 100mA by default.

Please help informed users to set the charging speed manualy.
Even if the sample command would be referring to existing insufficient defaults.

This is the only peeve I have with my n900 - all other issues I have managed to solve by now.

Thanks in advance!

netC

Last edited by netC; 2010-11-23 at 14:31. Reason: solved
 
woody14619's Avatar
Posts: 1,455 | Thanked: 3,309 times | Joined on Dec 2009 @ Rochester, NY
#2
You may want to consider a hardware fix vs software. One option would be to hack a cable (you can get them pretty cheep after all) to short out the data lines. That will imply to the N900 that it's a "dumb power supply", and will usually trigger it to move to 500mA mode. The charger, as I recall, has a fixed level resistor in place to indicate that it's 1A capable. Doing a search for that should reveal a post or two about it.

This eliminates the need for software hacks and/or changes that may damage the N900. Worst case you hose a cheep cable.
 
dr_frost_dk's Avatar
Posts: 1,503 | Thanked: 2,688 times | Joined on Oct 2010 @ Denmark
#3
im with woody14619 on this one.

The other solution i have is to cut a cable an use it with a 5V power supply without resistor, this will work to, did never measure the current but it charged pretty fast so it should be 500mA or more.

My charger was an normal nokia charger (800mA) with a 2mm DC plug, cut the plug off an soldered it to the cut micro-USB cable.
This works fine even if the voltage is 6V+.
 
Posts: 306 | Thanked: 566 times | Joined on Jan 2010 @ Romania
#4
i made myself an adaptor with standard A male to A female.
on A female data lines shorted
so i can charge from any source without popup of mass storage - pc suite selection
 
Posts: 20 | Thanked: 3 times | Joined on Sep 2007
#5
Thanks for all of your replies.

I was already familiar with that method of shorting the D+/D- lines.

As i was saying the issue is fast charging while phone is being used as as a power hungry 3.5 G modem that is connected to the wireless router in a dedicated mode through a self-powered and expensive USB hub. The data lines are needed for data, and although Y cable injects the additional 500mA from a second port - I cant short the data lines because I need the internet to work at the same time.

I have read the datasheets for the charger that N900 uses (charger chip bq24150 ) and they explain that i2cset can be used to set the charge level by manipulating Iil_limits registers.
My conclusion is that this is software settable parameter - but no one had seemed to have talked about it thus far. I guess most people are fine with not using the phone while it is charging, or maybe content with the battery swap.

So mine is a diferrent need/use case.

I was just not so sure to try it on my own, without first asking more knowledgable people that might have already done it themselves.

I guess that if no one can contribute the actual i2cset command - I will have to try to figure it out myself. I will first attempt to use i2c to read the register's data for 100mA and then 500mA - and once I am certain that I have the right chip address, mask, etc. I will try setting it myself and read /sys values to confirm that it works.

If I get lucky - I will share with the forum how it is done.

Thanks anyhow.

netC
 

The Following User Says Thank You to netC For This Useful Post:
Posts: 20 | Thanked: 3 times | Joined on Sep 2007
#6
http://focus.ti.com/lit/ds/symlink/bq24150.pdf - the data sheet.

from page 29:

Table 6. Control Register (READ/WRITE)
Memory Location: 01, Reset State: 0011 0000 (30H)
BIT NAME READ/WRITE FUNCTION
B7 (MSB) Iin_Limit_2 Read/Write 00-USB host with 100-mA current limit, 01-USB host with 500-mA current limit,
10-USB host/charger with 800-mA current limit, 11-No input current limit
B6 Iin_Limit_1 Read/Write (default 00)
B5 V(LOWV_2)
(1) Read/Write 200mV weak battery voltage threshold (default 1)
B4 VLOWV_1(1) Read/Write 100mV weak battery voltage threshold (default 1)
B3 TE Read/Write 1-Enable charge current termination, 0-Disable charge current termination (default 0)
B2 CE Read/Write 1-Charger is disabled, 0-Charger enabled (default 0)
B1 HZ_MODE Read/Write 1-High impedance mode, 0-Not high impedance mode (default 0)
B0 (LSB) OPA_MODE Read/Write 1-Boost mode, 0-Charger mode (default 0)
(1) The range of the weak battery voltage threshold (V(LOWV)) is 3.4 V to 3.7 V with an offset of 3.4 V and step of 100 mV (default of 3.7 V).


Just in case someone can offer some suggestions after reading this on the construction of the i2cset command on N900.

I know that this will take me some time to figure out - as I am not much of a low-level hardware/software expert.

All I can do is read, but maybe I am reading too much into it.


netC

PS: I run my phone in 3/3.5G mode exclusively and it is power hungry mode, so I want to charge while using it.
 
Posts: 155 | Thanked: 61 times | Joined on Nov 2009
#7
I wish you lucky on this.... I would use it sometimes too.
 
Posts: 237 | Thanked: 274 times | Joined on Jul 2010
#8
I don't know if you tried this...

see battery charging script at the end of
https://elektranox.org/n900/installation/hardware.html

the above script is based on script by joerg_rw
http://talk.maemo.org/showpost.php?p...&postcount=861
 
2disbetter's Avatar
Posts: 365 | Thanked: 98 times | Joined on Nov 2009
#9
This might expose me as a noob, but seems like it would be easier to just setup up your phone as a hotspot using joikuspot or hotspot. Just have your router see it as such, and pair it that way.

As I think you might have some bandwidth limitations this way that you'll never even reach as 3g wont push that kind of data through.

I'm fairly certian Tomato shoudl allow that. Just make sure you're gateway settings are right, and you have the router set to the right mode. Then you could use the USB for charging only (via the charger itself as that would be optimal).

The only downside is I'm not sure what this woudl do to the life of your phone. Running it as a router essentially tends to get mine pretty hot. I'd imagine eventually you'd kill it, but can only speculate.

2d
 
Posts: 20 | Thanked: 3 times | Joined on Sep 2007
#10
Great thanks to ivyking!

That is indeed what I was looking for.

This script does precisly what I was hoping to acomplish.

All I need to do is automate it so it runs every so often, instead a one
of single charge.

Thanks a lot for your help!

Thanks to the gurus that made it work in a first place also.

netC
 
Reply


 
Forum Jump


All times are GMT. The time now is 16:09.