@Amogh Harish: My bad, completely missed the 'Android 2.3' comment, which, yeah, would point to USBMS, not MTP
.
That said, if, with the exact same Calibre version, Calibre 'sees' it on Windows, and not on Linux, I'd still go with a permissions issue/a broken udisks setup.
EDIT: Barring that, you can also try to add your device's VID/PID/BCD tuple to Calibre's android driver (src/calibre/devices/android/driver.py), the device matching might in fact be slightly different on Linux than on Windows, so, maybe not a permission issue after all
.