[Tilt, TyTN II, MDA Vario III Android Development] ftarz:
Battery charge problems on Kaiser

I'm using the latest files off the androidonhtc website on my Kaiser.

I'm having problems with the indicated battery charge on my Kaiser under Android. I have a battery that's rated at 1600mA. I drained the battery completely and charged overnight under Android. dmesg showed that the charge rate had dropped to ~2mA the ds2746 lines showed that the battery reached a max of 4466 units.

However when I disconnected the USB cord, used the Kaiser for a day and then charged it overnight again, I see that ds2746 lines from dmesg indicate that the battery is almost fully charged even through the indicated units aren't up to the 4466 units for the real full charge.

[ 141.540092] ds2746: 4155mV 379mA charge: 99/100 (4090 units)

The high charge rate of 379mA also shows that the battery isn't at 99% either.

If I let the Kaiser charging overnight the charge rate slowly drops as the battery reaches the max units while Android keeps reporting the battery at 99-100%.

I've seen this behavior get progressively worse over several days. After 3-4 days with charging the Kaiser only to where Android reports a full charge, the battery will be somewhere around 15% in reality.

Any ideas?

$ dmesg

[ 0.000000] Linux version 2.6.25-00903-g4c58024-dirty (martin@it0044296) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #3667 PREEMPT Fri Oct 23 09:37:41 NZDT 2009

[ 0.000000] CPU: ARMv6-compatible processor [4107b364] revision 4 (ARMv6TEJ), cr=00c5387f

[ 0.000000] Machine: HTC Kaiser

[ 0.000000] Ignoring unrecognised tag 0x00000000

[ 0.000000] Memory policy: ECC disabled, Data cache writeback

[ 0.000000] On node 0 totalpages: 24576

[ 0.000000] DMA zone: 208 pages used for memmap

[ 0.000000] DMA zone: 0 pages reserved

[ 0.000000] DMA zone: 24368 pages, LIFO batch:3

[ 0.000000] Normal zone: 0 pages used for memmap

[ 0.000000] Movable zone: 0 pages used for memmap

[ 0.000000] CPU0: D VIPT write-back cache

[ 0.000000] CPU0: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets

[ 0.000000] CPU0: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets

[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 24368

[ 0.000000] Kernel command line: board-kaiser-battery.battery_capacity=1600 clock-7x00.ahb_div=3 clock_7x00.slow=1 elevator=noop ppp.nostart=0 board-htckaiser.panel_type=1 ppp.apn=wap.cingular ppp.username=WAP@CINGULARGPRS.COM ppp.password=CINGULAR1 pm.sleep_mode=1 mddi.width=240 mddi.height=320 lcd.density=120 msm_sdcc.msmsdcc_fmax=32000000 no_console_suspend board-kaiser-keypad.atttilt=1

[ 0.000000] Unknown boot option `ppp.nostart=0': ignoring

[ 0.000000] Unknown boot option `ppp.apn=wap.cingular': ignoring

[ 0.000000] Unknown boot option `ppp.username=WAP@CINGULARGPRS.COM': ignoring

[ 0.000000] Unknown boot option `ppp.password=CINGULAR1': ignoring

[ 0.000000] Unknown boot option `lcd.density=120': ignoring

[ 0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)

[ 0.000000] Console: colour dummy device 80x30

[ 0.000038] console [tty0] enabled

[ 0.001220] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

[ 0.001970] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

[ 0.009740] GPT Interrupt 0 0 0 5ac190 d0175500

[ 0.013385] Memory: 56MB 40MB = 96MB total

[ 0.013528] Memory: 91896KB available (2600K code, 864K data, 100K init)

[ 0.014975] Calibrating delay loop... 383.38 BogoMIPS (lpj=1916928)

[ 0.230801] Mount-cache hash table entries: 512

[ 0.232281] CPU: Testing write buffer coherency: ok

[ 0.235345] net_namespace: 440 bytes

[ 0.237713] NET: Registered protocol family 16

[ 0.239550] USB cable status changed (1)

[ 0.239770] set gpio 21 wakeup 40000000

[ 0.247330] kaiser charge work 1 1

[ 0.249300] msm_i2c_probe

[ 0.249435] msm_i2c_probe: clk_ctl 35d, 100000 Hz

[ 0.280268] Bluetooth: Core ver 2.11

[ 0.281370] NET: Registered protocol family 31

[ 0.281485] Bluetooth: HCI device and connection manager initialized

[ 0.281576] Bluetooth: HCI socket layer initialized

[ 0.284191] NET: Registered protocol family 2

[ 0.290086] Switched to high resolution mode on CPU 0

[ 1.615913] USB cable status changed (1)

[ 1.620320] kaiser charge work 1 1

[ 1.623558] msm_hsusb_set_vbus_state(1)

[ 1.631541] msm_serial: driver initialized

[ 1.641365] loop: module loaded

[ 1.644486] PPP generic driver version 2.4.2

[ 1.650603] PPP Deflate Compression module registered

[ 1.656648] PPP BSD Compression module registered

[ 1.663108] allocated dma buffer at ffc7a000, dma_addr 15e91000

[ 1.670243] read CFG0 = aa5400c0, CFG1 = 4747f

[ 1.676130] CFG0 = e85408c0, CFG1 = 4745e

[ 1.680115] CFG0: cw/page=3 ud_sz=516 ecc_sz=10 spare_sz=0 num_addr_cycles=5

[ 1.686026] NAND_READ_ID = 5580baad

[ 1.690221] status: e03020

[ 1.693176] nandid: 5580baad maker ad device ba

[ 1.700086] CFG0: cw/page=3 ud_sz=512 ecc_sz=10 spare_sz=4

[ 1.705893] DEV_CMD1: f00f3000

[ 1.710063] NAND_EBI2_ECC_BUF_CFG: 0

[ 1.713153] flash_id: 5580baad size 10000000

[ 1.721273] usb_probe() io=c7110000, irq=15, dma=ffc7b000(15e97000)

[ 1.727095] clk_get usb_hs_clk

[ 1.729888] clk_get usb_hs_pclk

[ 1.730600] usb_function_register() 'adb'

[ 1.736136] msm_hsusb: functions bound. starting.

[ 1.740800] hsusb: IDLE -> ONLINE

[ 1.743573] hsusb: reset controller c5e96c00

[ 1.773960] usb: notify offline

[ 1.777190] usb_ether_setup()

[ 1.782305] usb_function_register() 'ether'

[ 1.810488] mice: PS/2 mouse device common for all mice

[ 1.870403] GPIO Event Driver

[ 1.873508] MSM RTC init

[ 1.876283] RTC probe

[ 1.879690] msm_rtc msm_rtc.0: rtc core: registered msm_rtc as rtc0

[ 1.880201] MSM RTC started

[ 1.883655] s5k3c1fx: probe

[ 1.890613] Bluetooth: HCI UART driver ver 2.2

[ 1.895598] Bluetooth: HCI H4 protocol initialized

[ 1.900051] Bluetooth: HCILL protocol initialized

[ 1.905495] clk_get sdc1_pclk

[ 1.908350] clk_get_rate 20:66000000

[ 1.910110] clk_get sdc1_clk

[ 1.912660] clk_set_rate 19:144000

[ 1.920243] set sd clock - 0 1

[ 2.023580] clk_get_rate 19:144000

[ 2.026513] mmc0: Qualcomm MSM SDCC at 0x00000000e1000000 irq 24,0 dma 8

[ 2.030188] mmc0: 4 bit data mode enabled

[ 2.035651] mmc0: MMC clock 144000 -> 32000000 Hz, PCLK 66000000 Hz

[ 2.040098] mmc0: Slot eject status = 1

[ 2.045303] mmc0: Power save feature enable = 1

[ 2.050041] mmc0: DM non-cached buffer at ffc7d000, dma_addr 0x15ea7000

[ 2.055646] mmc0: DM cmd busaddr 0x15ea7000, cmdptr busaddr 0x15ea7300

[ 2.060276] clk_get sdc2_pclk

[ 2.063106] clk_get_rate 22:66000000

[ 2.070148] clk_get sdc2_clk

[ 2.072936] clk_set_rate 21:144000

[ 2.077736] set sd clock - 0 1

[ 2.181376] clk_get_rate 21:144000

[ 2.184636] mmc1: Qualcomm MSM SDCC at 0x00000000e1001000 irq 26,0 dma 8

[ 2.190053] mmc1: 4 bit data mode enabled

[ 2.195510] mmc1: MMC clock 144000 -> 32000000 Hz, PCLK 66000000 Hz

[ 2.200090] mmc1: Slot eject status = 0

[ 2.205331] mmc1: Power save feature enable = 1

[ 2.210190] mmc1: DM non-cached buffer at ffc7e000, dma_addr 0x15ea8000

[ 2.215575] mmc1: DM cmd busaddr 0x15ea8000, cmdptr busaddr 0x15ea8300

[ 2.220153] mmc1: Polling status mode enabled

[ 2.226416] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)

[ 2.234311] TCP cubic registered

[ 2.240376] NET: Registered protocol family 1

[ 2.246375] NET: Registered protocol family 17

[ 2.250173] Bluetooth: L2CAP ver 2.9

[ 2.253183] Bluetooth: L2CAP socket layer initialized

[ 2.260338] Bluetooth: SCO (Voice Link) ver 0.6

[ 2.266440] Bluetooth: SCO socket layer initialized

[ 2.270456] Bluetooth: RFCOMM socket layer initialized

[ 2.280206] Bluetooth: RFCOMM ver 1.9

[ 2.283141] Bluetooth: BNEP (Ethernet Emulation) ver 1.2

[ 2.290223] Bluetooth: HIDP (Human Interface Emulation) ver 1.2

[ 2.297733] msm_rtc msm_rtc.0: setting system clock to 2010-01-01 22:50:16 UTC (1262386216)

[ 2.300193] Freeing init memory: 100K

[ 2.550000] mmc1: Command timeout

[ 2.550000] mmc1: Command timeout

[ 2.550000] mmc1: Command timeout

[ 2.550000] mmc1: Command timeout

[ 2.551885] SD Init

[ 2.590000] mmc_sd_init_card: Delay 250 ms

[ 2.840000] clk_set_rate 21:32000000

[ 2.840000] set sd clock - 0 1

[ 2.939461] mmc1: host does not support reading read-only switch. assuming write-enable.

[ 2.940218] SD Init Retry

[ 2.943155] mmc1: new high speed SDHC card at address 8fe4

[ 2.951000] mmcblk0: mmc1:8fe4 SU16G 15558144KiB

[ 2.960411] mmcblk0: p1

[ 24.874346] init: cannot open '/initlogo.rle'

[ 25.216795] enabling adb function

[ 25.227636] hsusb: ONLINE -> RESET

[ 25.230153] hsusb: reset controller c5e96c00

[ 25.275956] usb: notify offline

[ 25.278328] hsusb: RESET -> ONLINE

[ 25.837880] warning: `rild' uses 32-bit capabilities (legacy support in use)

[ 28.489295] snd open

[ 28.490658] snd_ioctl 40047302 beac0c1c

[ 28.496870] snd_set_device(1,1,1)

[ 28.510958] snd open

[ 28.513396] snd_ioctl 40047303 beac0c4c

[ 28.517868] set volume of 0 to 5

[ 28.530515] snd open

[ 28.533630] snd_ioctl 40047303 beac0c4c

[ 28.539053] set volume of 1 to 5

[ 28.550445] snd open

[ 28.553740] snd_ioctl 40047303 beac0c4c

[ 28.570273] set volume of 3 to 5

[ 28.574625] snd open

[ 28.578225] snd_ioctl 40047303 beac0c4c

[ 28.590133] set volume of 2 to 5

[ 43.772930] pmem: request for physical address of pmem region from process 1184.

[ 43.827660] pmem: request for physical address of pmem region from process 1184.

[ 43.907330] pmem: request for physical address of pmem region from process 1184.

[ 61.433174] ds2746: 4038mV -388mA charge: 100/100 (4106 units)

[ 61.433202] aux0: 251 (1389) aux1: 14 (60)

[ 61.466997] VIBRATE 0

[ 61.685454] android_power: wakeup (0->0) at 73645439998 (2010-01-01 22:51:27.537261667 UTC)

[ 62.020572] tsts_thread: address 0x48

[ 63.813646] snd open

[ 63.813746] snd_ioctl 40047303 beac0a7c

[ 63.813788] set volume of 256 to 4

[ 63.879151] NEW_RPC_SERVER prog=31000004:0

[ 63.879229] msm_rpc_connect ept->dst_prog = 31000004:0

[ 63.952049] snd open

[ 63.952148] snd_ioctl 40047303 beac0a7c

[ 63.952186] set volume of 256 to 5

[ 68.850827] ds2746: 4045mV -330mA charge: 99/100 (4105 units)

[ 68.850857] aux0: 251 (1389) aux1: 14 (60)

[ 70.325757] Audio Open

[ 70.325923] NEW_RPC_SERVER prog=31000013:0

[ 70.325977] msm_rpc_connect ept->dst_prog = 31000013:0

[ 70.330603] audio_ioctl 80046103

[ 70.331063] audmgr_rpc_thread() start

[ 70.331235] audio_ioctl 40046104

[ 70.331552] audio_enable()

[ 70.331618] rpc_write(2,0,2,30000013,0,1,0,0,0,0,1,0,9,5,4,4,1,ae9bc0,)

[ 70.334435] rpc_read_reply(2,1,0)

[ 70.334502] audmgr_enable: wait for enable

[ 70.345940] rpc_read_command(9,0,2,31000013,0,1,0,0,0,0,1,0,1,0,ae9bc0,)

[ 70.346247] audmgr: rpc READY handle=0xc09bae00

[ 70.346292] rpc_write(9,1,0,0,0,0,)

[ 70.393770] rpc_read_command(a,0,2,31000013,0,1,0,0,0,0,1,1,1,809,ae9bc0,)

[ 70.394022] audmgr: rpc CODEC_CONFIG volume=0x00ae9bc0

[ 70.394090] audmgr_enable: enabled

[ 70.394125]

[ 70.394132] 7200 Audio: Play sound through speakersnd_set_device 1 1 1

[ 70.394213] rpc_write(3,0,2,30000002,0,1,0,0,0,0,1,1,1,3,0,)

[ 70.394368] rpc_write(a,1,0,0,0,0,)

[ 70.395548] rpc_read_reply(3,1,0)

[ 70.395612] audpp: enable(-1)

[ 70.395658] audpp: enable

[ 70.395690] adsp: opening module AUDPPTASK

[ 70.395748] rpc_write(4,0,2,3000000a,0,1,0,0,0,0,1,0,2,4,)

[ 70.395920] rpc_read_command(b,0,2,31000002,0,3,0,0,0,0,3,0,0,)

[ 70.396038] [RR] ERROR no local ept for prog 02000031 replying anyway!!

[ 70.396070] rpc_write(b,1,0,0,0,0,)

[ 70.397240] rpc_read_reply(4,1,0)

[ 70.397302] adsp: module AUDPPTASK has been registered

[ 70.397358] msm_adsp_enable() 'AUDPPTASK'

[ 70.397397] rpc_write(5,0,2,3000000a,0,1,0,0,0,0,1,1,2,4,)

[ 70.398513] rpc_read_reply(5,1,0)

[ 70.398660] rpc_read_command(c,0,2,3000000b,0,1,0,0,0,0,1,0,2,4,0,)

[ 70.398857] adsp: rpc event=0, proc_id=2, module=4, image=0

[ 70.398950] adsp: module AUDPPTASK: READY

[ 70.399025] rpc_write(c,1,0,0,0,0,)

[ 70.401137] adsp: waiting for DSP write ready

[ 70.402188] adsp: waiting for DSP write ready

[ 70.405885] audio_ioctl 40046100

[ 70.405938] audio_enable()

[ 71.088268] audpp: DMA missed

[ 74.036278] audio_disable()

[ 74.036350] 7200 Audio: Idle: using speaker.

[ 74.036408] snd_set_device 1 1 1

[ 74.036443] rpc_write(6,0,2,30000002,0,1,0,0,0,0,1,1,1,3,0,)

[ 74.039722] rpc_read_command(d,0,2,31000002,0,3,0,0,0,0,3,0,0,)

[ 74.039878] [RR] ERROR no local ept for prog 02000031 replying anyway!!

[ 74.039915] rpc_write(d,1,0,0,0,0,)

[ 74.040213] rpc_read_reply(6,1,0)

[ 74.041273] audmgr_disable

[ 74.041307] rpc_write(7,0,2,30000013,0,2,0,0,0,0,0,)

[ 74.043787] rpc_read_reply(7,1,0)

[ 74.043840] audmgr_disable: wait for disable

[ 74.073258] rpc_read_command(e,0,2,31000013,0,1,0,0,0,0,1,6,1,30,ae9bc0,)

[ 74.073497] audmgr: DISABLED

[ 74.073543] rpc_write(e,1,0,0,0,0,)

[ 74.073648] audmgr_disable: disabled

[ 74.073702] audpp: disable

[ 74.073732] msm_adsp_disable() 'AUDPPTASK'

[ 74.073788] rpc_write(8,0,2,3000000a,0,1,0,0,0,0,1,2,2,4,)

[ 74.078950] rpc_read_reply(8,1,0)

[ 74.079033] adsp: closing module AUDPPTASK

[ 74.079082] adsp: disable interrupt

[ 75.451357] Sound: 5

[ 75.451428]

[ 75.451437] 7200 Audio: Phone call end.snd_set_device 1 1 1

[ 75.451515] rpc_write(9,0,2,30000002,0,1,0,0,0,0,1,1,1,3,0,)

[ 75.461465] rpc_read_command(f,0,2,31000002,0,3,0,0,0,0,3,0,0,)

[ 75.461692] [RR] ERROR no local ept for prog 02000031 replying anyway!!

[ 75.461733] rpc_write(f,1,0,0,0,0,)

[ 75.462273] rpc_read_reply(9,1,0)

[ 76.000113] audio timer expired

[ 78.753533] ds2746: 4013mV -510mA charge: 99/100 (4103 units)

[ 78.753558] aux0: 249 (1376) aux1: 13 (60)

[ 381.140342] ds2746: 4184mV 197mA charge: 100/100 (4159 units)

[ 381.140342] aux0: 246 (1363) aux1: 19 (90)