As for internal battery, someone found a reason for its failing in kernel - in fact, it seems, that it was never recharged, as it should. Thats why most of them are dead after ~1 year. AFAIK it is fixed in kernel-power, but it won't revive batteries, that are already dead (most of them leaked a little) - you need to replace them, by some simple (easier than soldering down usb port) soldering. Replacement one should life "indefinitely", if using kernel-power.