[Nexus 7 Q&A, Help & Troubleshooting] bftb0:
[apologies in advance for a long-winded reply; hopefully some of it will be useful to you]

The OEM charger should be capable of 2 A (not 2mA).

Dumb chargers don't "talk" to the tablet. (Well, except for Apple USB dumb chargers - Apple violates the USB spec with their proprietary hardware, and that raises the meaning of "dumb" to a whole new level).

The tablet tries to draw what it wants, and if the wall charger is capable of supplying that current, everything will be fine - meaning, that the output voltage of the charger will be stable (near to 5V). If the tablet tries to draw more current from a charger than the charger is designed for, what usually happens is that the output voltage of the charger will start to droop down. (Sometimes, even worse things can happen, such as the voltage coming from the charger will start to oscillate.) This will have the effect that the voltage drops down to the point where it is barely larger than the voltage from the battery, and so the current flowing out of the charger gets limited that way.

But you shouldn't have this problem as you have at least two OEM chargers, and more than one cable, suggesting that your difficulty is with the tablet somehow.

I note (from your post) that you can observe the actual charging current; this suggests that you have a custom kernel on your tablet, as the stock kernel doesn't have the BQ27541 patches which allow current monitoring (only battery voltage and percent charge).

Here's the reason why I mention this. (Oh boy, get yourself a beverage, this is a long story).

I was going to be making some long drives (>13 hr) and I wanted my N7 in the vehicle, WiFi tethered and active (Google Nav and so forth) As you have observed, when you have the tablet running and are poking away at the screen, it can draw anywhere from 300 mA to more than 1000 mA, depending on how many cores are alive, which CPU frequency is in use, the screen brightness, streaming activity, etc.

And unfortunately...I was in a hurry: I couldn't wait for a car charger to be delivered following an online purchase. And all the local electronics stores seem to only sell high-capacity car chargers that are "Apple Compatible", which is marketing speak for "violates the USB spec". The N7 expects compliant behavior from chargers.

So, I bought two of those "Apple Compatible" car chargers from different manufacturers, and also bought a micro-USB cable that I could hack. I opened up the cable, clipped the D+/D- wires, connecting them together on the "Nexus 7" end of the cable, and left them open on the charger side (open but insulated of course). This has the effect of preventing the N7 from thinking there is a data connection present - the Apple chargers twiddle those D+/D- lines a little bit, and that prevents the (USB spec-compliant) N7 from thinking there is a dumb charger on the other end of the cable.

I wanted to be sure that what I had was actually working correctly, and if either of those two car chargers really would provide enough current, so I installed a dev kernel that has the BQ27451 battery current monitor patches in it. I think several of the dev kernels have this; I used M-kernel.

OK, so far so good.

The next step was to crank both the min and max CPU clock limits way down (300 Mhz iirc), turn on the "performance" governor and turn the screen brightness all the way down. I may have even used Trickster Mod to set Max_Cores to only 1. This was done so that the tablet would draw a smallish and constant current. That way, when I plugged in the car charger, I would actually know what the total charger current was - the sum of the (absolute) values between the unplugged state (discharging) and plugged in (charging)** If you leave the CPU frequency controls in their normal state, the amount of current the tablet draws can jump all over the place depending on tablet activity, and then it would be hard to know the total current the charger is actually producing. (It is the SUM of the battery current displayed plus whatever the tablet is drawing).

When I did the above, my N7 (grouper, WiFi off) was drawing just under 300 mA of current from the battery in the unplugged condition.

Still with me? (it gets better, trust me).

So, what I observed was that, yes, one of the two chargers was better than the other; I could get get the monitored battery charging current up to 1400 mA with one, and maybe 1100 mA with the other. (That's total current from each charger of about 1.7A or 1.4A respectively after adding in the 300 mA the tablet is drawing)

Finally though, an explanation of why this is relevant to you:

When the tablet was plugged in to either charger, the current would not immediately jump up to the maximum value; instead, it would sometimes takes minutes or more for the current to jump up to that maximum value!

It would, however immediately jump up to about 800 mA total current right after plugging the charger. That's better than a 500 mA computer USB connection, but if the tablet is active, it's no guarantee that the tablet will gain any charge - as in your situation.

So why the delay? To be honest, I don't really know. In my panic to get ready for my travel, I only spent a little bit of time fooling with it - for a while I had a hypothesis that the kernel was doing *something* that made the current pop up to its full 1.7A value only after the tablet had left a deep sleep state. The good thing was that once the current stepped up to the full value, it would stay there despite the level of activity on the tablet.

[size=+1]The point is that the maximum charging current condition seems to be dependent on some condition(s) happening which is under control of the kernel - it is not just an "analog" behavior that happens as soon as you plug the charger in.[/size].

So I suppose it is possible that you simply have a configuration where the operating trajectory that your tablet passes through does not trigger the right conditions in the kernel to command the SMB chip (USB interface controller) to max the current out close to the 2A limit.

You might want to try an experiment where you:

- Observe the charging rate with the tablet completely turned off. Should be about 100% in 150 minutes (2.5 hrs) or about 6-7% every ten minutes. Note that because the battery is 4.235 A-h capacity, that works out to a charging current of at least (4.235 A-hr / 2.5 hr) = 1.7 A. (It is probably greater than that due to charging losses).

If your tablet charges at about this rate when it is off, then nothing is wrong with your charger, cable, battery, or SMB chip, and it points a finger at your kernel's code - and possibly other things like applications holding wakelocks which prevent the tablet from entering deep sleep.

I won't go so far as to claim that it is "coming out of deep sleep" that triggered the M-kernel to twiddle the SMB chip so it would draw 2A; in all my experimentation, I couldn't faithfully reproduce the behavior. The good news was that that it would eventually (within a few minutes, possibly due to the tablet sleeping) ramp completely up and then stay there.

Anyway, I hope this gives you some food for thought and maybe some experiments you can run to narrow down the problem.

- What kernel are you using?

- Does your tablet ever enter deep sleep? (I don't mean simply that the screen is off - it is a state where the hardware is placed in a low-power state where even the memory bus is no longer operating. A wakelock might prevent this from happening, but in any event you should be able to observe this in the kernel log - the clock values get wonky and you might see a message about "G" state)

- Does your tablet charge even a little bit when the screen is off?

** I sort of recall that that "Current Widget" app always displays a positive value for current, but changes the display color red/green depending on whether the tablet is discharging (red) or charging (green). Something to watch out for.

.