Then let me ask you why one is able to charge the device on a pc?
You'll notice that it doesn't matter what OS you have on the PC, even one that doesn't recognize the device, it should still be charging; unless you have multiple USB devices connected and the powerdraw of the reader would be too great to be supported by the USB port.
Normally if you connect only the reader to your USB port, and that USB port is the only port used in the USB hub of the pc, your pc should give 5V 500mA output.
This could drop to 300mA, 100mA, or even lower for standard data transfer only,when there are more than 1 device connected to the USB HUB.
On standard a desktop PC has 2 USB HUBs (differ with every pc), often one in the front connected to the cardreader and front USB plugs, and one in the back, often connected to 4 or 6 USB ports. Laptops usually only have 1 (connected) USB HUB.
A motherboard may have other USB hubs,or room for more hubs, but they're not always connected to a port.
That's one of the limitations there are to USB HUBs(the more you attach, the less power available).
According to me,the device does not need to connect to the pc sending data, the PC should automatically detect how much power the USB device draws. and if it's more than a USB port can provide, on old computers, the computer would hard reset;and on newer it'd just provide the mA it can provide to the device.
If the device, independantly of the computer knows that there is insufficient power available on the powerlines, it would shut down the charging process, and like you say,just open a channel for file or data transfert,or in case of an unsupported OS, it would open a channel which isn't replied by the OS, so you won't really be able to do anything with that channel.
If there is enough power available the device starts charging.
I don't know if fast charging is supported over the USB connection, but slow charging definately is.
If you don't believe me, then try out if you can find a USB extension cord and cut the data channel from the cord,it should still allow the reader to charge (normally)...
D+ & D- = datachannels.
I believe that just applying the right voltage to the right pins,with enough powerful poweradaptor should charge your batteries.
The reason being that there is no battery data transferred over USB connection