Updated 27/5/2011 - updated to reflect comment that really using 200ohm resistor is at the upper limits of spec and more likely to cause a problem than no resistor at all.
This weekend I took Kat up to London for a couple of days. Knowing that my n900 is a bit of a battery vampire I took with me a generic USB charger an my nokia usb cable.
At the end of the first day we returned to the hotel and I plugged in my n900 as it was on it's very last gasps of power. Only to discover that it did not register any charge. I previously noted an issue with this charger when I'd completely run out of charge and found that whilst it did register charge nothing became responsive until I plugged it into a computer.
The next morning I went out early to grab a new usb charger from the maplin that was down the road from our hotel. I bought one with 2 USB sockets on the basis that it would be helpful to charge multiple devices. But when I tried it out I found that I still got no charge. At this point it would have been good to be able to do some research on line. However... no charge!
So during the day, after going to the natural history museum, we took a trip to the Nokia store on Regent Street, and I bought a new official Nokia charger. I did ask if they knew any reason why my generic usb chargers weren't working, but the sales guy knew nothing.
After some research I found that the issue of charging is down to the spec for charging from micro usb. It turns out that the N900 is adhering to the spec, that says it can determine a 'dumb' charger if the the d+ d- data lines are connected via a 200 Ohm resistor.
Page 7 shows the connection, “A Dedicated Charging Port is required to short the D+ and D- lines with a resistance of RDCHG_DAT”, page 29 specifies max 200 ohms across D+ and D-. Although the wording on page 7 suggests it should be exactly 200 ohms... Also on Page 29, a minimum of 2 MEGA ohms of resistance between D+ and ground or vbus. That is, not connected together at all.
Several people on the forums found that simply soldering d+ and d- together was sufficient, but I decided I'd go with the resistor option, since I had a 200 ohm resistor laying around anyway. - However as noted below this is actually the max allowed resistance and could potentially cause problems. People that know more about electronics than I suggest that simply shorting the wires is the intended specification and the best thing to do. Since it's also the easiest thing to do, I wouldn't bother with any resistor if I were doing this again.
I had a cheap 4 port usb hub that I wasn't using, and I figured I could rip a socket and the plug out of that. So I broke out the soldering iron and desoldering pump , desoldered one of the sockets, and the plug. Then used a bit of strip board and soldered the pieces back on, but with a 200 ohm resistor joining the two middle strips. And voila! easy as that I could plug this into any generic usb charger, and plug my normal cable and get charge.
Here it's on a strip board which I later cut down to size and fit the assembly back inside the original case
I could probably have made the whole thing smaller, but it's not too bad. And now I can use any generic usb charger.
This weekend really made me appreciate how much I want battery tech to improve to the point it will last weeks of heavy usage no just hours.