Modern laptop batteries are anything but dumb devices. Most of them got an SMBus interface, a bus derived from (and very similar to) I²C.
My guess is that either the firmware on this specific battery is bad, your host driver doesn't like the battery or you just had some dirty contacts and the host just couldn't talk to the battery.