|
This is a bug in the Bigme firmware. The fact that writing a file from Windows Explorer also crashes the device proves it: Explorer and calibre talk to the device through the same Windows MTP API (WPD), so when a plain Explorer file copy crashes the device, the device's MTP implementation is broken. The errors calibre shows (E_WPD_DEVICE_NOT_OPEN) just mean the device's MTP service has already died and Windows has closed the connection.
When calibre connects to an MTP device, it does very little: it lists the folders on the device and then replaces driveinfo.calibre (deleting the old one and uploading a new one). Those are the most basic MTP operations there are. Your two tracebacks are the device dying during the folder listing and during that delete. The books calibre sends are ordinary files in ordinary folders, so no device should crash just because they exist.
As for finding what triggers it, in my experience Android MTP crashes like this usually come from the device's media index (MediaStore) getting out of sync with the files actually on disk. Some things to try:
1) After the first transfer, reboot the device before reconnecting it. If that fixes things, the cause is the stale media index.
2) Use a file manager on the device to look in the books folder for files calibre did not put there, such as cover caches or .sdr folders created by the reader app or KOReader. Files created on the device are a common cause of this kind of crash.
3) Bisect: move half the books out of the folder on the device, reconnect, and repeat until you find out whether one particular book or folder is the cause.
4) Remove the subfolders from the equation by changing the save template for the device to something flat, such as {title} - {authors}. You can do that by right clicking the device icon in calibre and choosing "Configure this device".
5) If you can't find a workaround, avoid MTP entirely. You can use calibre's wireless device connection with a calibre companion app on the device, or browse calibre's Content server from the device's browser and download books directly.
Whatever you find, please report it to Bigme, since only they can fix the crash itself.
|