The Following User Says Thank You to Estel For This Useful Post: | ||
![]() |
2011-07-12
, 00:19
|
Posts: 63 |
Thanked: 27 times |
Joined on Jul 2011
@ Venezuela
|
#32
|
Go install i2c-tools from extras-devel(ignore the warning).
Here's the charge-script used in backupmenu; should tell you something:
Save it as charge.sh (anywhere but mydocs/sd) and run "chmod +x /path/to/charge.sh".Code:#/bin/bash # Reset #echo -n Reset... #i2cset -y -m 0x80 2 0x6b 0x04 80 #echo -n Done. Sleep 1... #sleep 1 #echo -n Done. #echo "Charger: " $(cat /sys/devices/platform/musb_hdrc/charger) # Disable charger for configuration: i2cset -y 2 0x6b 0x01 0xcc # No limit, 3.4V weak threshold, enable term, charger disable # Register 0x04 # 8: reset # 4: 27.2mV # charge current # 2: 13.6mV # 1: 6.8mV # 8: N/A # 4: 13.6mV # termination current # 2: 6.8mV # 1: 3.4mV # 7-1250 6-1150 5-1050 4-950 3-850 2-750 1-650 0-550 # 7-400 6-350 5-300 4-250 3-200 2-150 1-100 0-50 i2cset -y -m 0xFF 2 0x6b 0x04 0x50; # Register 0x02 # 8: .640 V # 4: .320 V # 2: .160 V # 1: .080 # 8: .040 # 4: .020 (+ 3.5) # 2: otg pin active at high (default 1) # 1: enable otg pin i2cset -y -m 0xfc 2 0x6b 0x02 0x8c; # 4.2 = 3.5 + .640 + .040 + .02 = 8c # 4.16 = 3.5 + .640V + .020 = 84 # 4.1 = 3.5 + .320 + .160 + .08 + .04 = 78 # 4.0 = 3.5 + .320 + .160 + .02 = 64 # 3.9 = 3.5 + .320 + .080 = 50 # Register 0x1 # 8: 00 = 100, 01 = 500, 10 = 800mA # 4: 11 = no limit # 2: 200mV weak threshold default 1 # 1: 100mV weak treshold defsult 1 (3.4 - 3.7) # 8: enable termination # 4: charger disable # 2: high imp mode # 1: boost i2cset -y 2 0x6b 0x01 0xc8; #0110 1011 # Register 0x00 # 8: Read: OTG Pin Status # Write: Timer Reset # 4: Enable Stat Pin # 2: Stat : 00 Ready 01 In Progress # 1: : 10 Done 11 Fault # 8: Boost Mode # 4: Fault: 000 Normal 001 VBUS OVP 010 Sleep Mode # 2: 011 Poor input or Vbus < UVLO # 1: 100 Battery OVP 101 Thermal Shutdown # 110 Timer Fault 111 NA i2cset -y 2 0x6b 0x00 0x00; #echo -n "Charge parameters programmed. Sleep 1..." sleep 1 #echo "Status: " $(i2cget -y 2 0x6b 0x00) i2cset -y 2 0x6b 0x00 0x80 # timer reset cat /sys/devices/platform/musb_hdrc/charger >/dev/null # Initialize variables THROTTLE=0 FULL=0 MODE="STANDBY" WALLCHARGER=0 # Assuming a nice round number 20mOhm for bq27200 sense resistor RS=20 get_nac () { NAC=$(i2cget -y 2 0x55 0x0c w) NAC=$(($NAC * 3570 / $RS / 1000)) } get_rsoc () { RSOC=$(i2cget -y 2 0x55 0x0b) RSOC=$((RSOC)) } get_volt () { VOLT=$(i2cget -y 2 0x55 0x08 w) VOLT=$(($VOLT)) } STATUS=$(i2cget -y 2 0x6b 0x00) while true ; do sleep 10; STATUS=$(i2cget -y 2 0x6b 0x00) #echo $STATUS i2cset -y -m 0x80 2 0x6b 0x00 0x80; # timer reset get_nac get_rsoc get_volt if [ $MODE == "STANDBY" ] ; then if [ $STATUS == 0x10 ] || [ $STATUS == 0x90 ] ; then MODE="CHARGING" #echo $(date) "standby -> CHARGING. Current available capacity: " $NAC "mAh" >> /home/user/MyDocs/charger.log echo 60 > /sys/class/backlight/acx565akm/brightness WALLCHARGER=$(cat /sys/devices/platform/musb_hdrc/charger) fi fi if [ $MODE == "CHARGING" ] ; then if [ $STATUS == 0x00 ] ; then MODE="STANDBY" echo 15 > /sys/class/backlight/acx565akm/brightness #echo $(date) "charging -> STANDBY. Current available capacity: " $NAC "mAh" >> /home/user/MyDocs/charger.log WALLCHARGER=0 # This will stop USB from eating power as long as you haven't plugged it into a PC echo 0 > /sys/devices/platform/musb_hdrc/connect fi fi if [ $STATUS == 0xa0 ] && [ $FULL == 0 ] ; then #echo "Charge done" #echo $(date) "FULL: " $NAC "mAh" >> /home/user/MyDocs/charger.log FULL=1 fi if [ $STATUS == 0x00 ] && [ $FULL == 1 ] ; then FULL=0 fi echo Status: $STATUS Mode: $MODE Full: $FULL WallCharger: $WALLCHARGER Battery Voltage: $VOLT NAC: $NAC Battery level: $RSOC % done
Then run it. Every ~10 or so seconds, you'll get a message telling what's going on.
![]() |
2011-07-12
, 00:25
|
|
Posts: 5,028 |
Thanked: 8,613 times |
Joined on Mar 2011
|
#33
|
![]() |
2011-07-12
, 00:26
|
Posts: 63 |
Thanked: 27 times |
Joined on Jul 2011
@ Venezuela
|
#34
|
Just little addition to what Mentalist said - AFAIK device hanging totally instead of rebooting has one disadvantage - possible filesystem corruptions. Watchdogs tends to unmount filesystem before rebooting, just like bme does (#fixme if I'm wrong).
Anyway, especially this line:
cat /sys/class/power_supply/bq27200-0/charge_full_design
0
...makes me wonder, if Your ID pin of battery is even connected/recognized? That could be source of problems, BUT - (another AFAIK) bme turns device on in < 1 second when unable to probe ID pin. I never heard that R&D mode disables this behavior - can someone running on R&D confirm/deny this?
And, wasn't temperature also probed on ID pin?
It's VERY strange all together. could other people, reporting there "same issues" do similar cat probing? I think first of all, we need to check if it's "reproduceable" problem, that may hit some devices, or jvollmann's troubles are unique, and other doesn't share same symptoms.
From top of my head i would still say "damaged bq_27200 chip", but somehow voltage and temp is probed correctly... Huge WTF.
![]() |
2011-07-12
, 00:29
|
|
Posts: 5,028 |
Thanked: 8,613 times |
Joined on Mar 2011
|
#35
|
The Following User Says Thank You to Estel For This Useful Post: | ||
![]() |
2011-07-12
, 03:21
|
Posts: 63 |
Thanked: 27 times |
Joined on Jul 2011
@ Venezuela
|
#36
|
From output You provided, it seems that You only chmod it. Now, You need to run it.
Also, you placed it in MyDosc, while Robbie clearly asked You to place it anywhere EXCEPT MyDocs or vFAT partition of microSD. vFAT is set as noexec on N900.
[off-topic]Robbie, it's same script that shadowjk created for HEN? If that, is it latest version?[/off-topic]
![]() |
2011-07-12
, 03:28
|
Posts: 63 |
Thanked: 27 times |
Joined on Jul 2011
@ Venezuela
|
#37
|
Just little addition to what Mentalist said - AFAIK device hanging totally instead of rebooting has one disadvantage - possible filesystem corruptions. Watchdogs tends to unmount filesystem before rebooting, just like bme does (#fixme if I'm wrong).
Anyway, especially this line:
cat /sys/class/power_supply/bq27200-0/charge_full_design
0
...makes me wonder, if Your ID pin of battery is even connected/recognized? That could be source of problems, BUT - (another AFAIK) bme turns device on in < 1 second when unable to probe ID pin. I never heard that R&D mode disables this behavior - can someone running on R&D confirm/deny this?
And, wasn't temperature also probed on ID pin?
It's VERY strange all together. could other people, reporting there "same issues" do similar cat probing? I think first of all, we need to check if it's "reproduceable" problem, that may hit some devices, or jvollmann's troubles are unique, and other doesn't share same symptoms.
From top of my head i would still say "damaged bq_27200 chip", but somehow voltage and temp is probed correctly... Huge WTF.
The Following User Says Thank You to jvollmann For This Useful Post: | ||
![]() |
2011-07-12
, 18:04
|
Posts: 63 |
Thanked: 27 times |
Joined on Jul 2011
@ Venezuela
|
#38
|
![]() |
2011-07-12
, 18:23
|
|
Posts: 5,028 |
Thanked: 8,613 times |
Joined on Mar 2011
|
#39
|
![]() |
2011-07-12
, 19:03
|
Posts: 63 |
Thanked: 27 times |
Joined on Jul 2011
@ Venezuela
|
#40
|
The Following User Says Thank You to jvollmann For This Useful Post: | ||
Anyway, especially this line:
cat /sys/class/power_supply/bq27200-0/charge_full_design
0
...makes me wonder, if Your ID pin of battery is even connected/recognized? That could be source of problems, BUT - (another AFAIK) bme turns device on in < 1 second when unable to probe ID pin. I never heard that R&D mode disables this behavior - can someone running on R&D confirm/deny this?
And, wasn't temperature also probed on ID pin?
It's VERY strange all together. could other people, reporting there "same issues" do similar cat probing? I think first of all, we need to check if it's "reproduceable" problem, that may hit some devices, or jvollmann's troubles are unique, and other doesn't share same symptoms.
From top of my head i would still say "damaged bq_27200 chip", but somehow voltage and temp is probed correctly... Huge WTF.
N900's aluminum backcover / body replacement
-
N900's HDMI-Out
-
Camera cover MOD
-
Measure battery's real capacity on-device
-
TrueCrypt 7.1 | ereswap | bnf
-
Hardware's mods research is costly. To support my work, please consider donating. Thank You!