Error communicating with device

Bug #1830101 reported by Duane Salmon on 2019-05-22
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
calibre
Undecided
David Forrester

Bug Description

calibre, version 3.42.0
ERROR: Error: Error communicating with device

SQLError: no such column: Language

Traceback (most recent call last):
  File "site-packages\calibre\gui2\device.py", line 89, in run
  File "site-packages\calibre\gui2\device.py", line 512, in _books
  File "site-packages\calibre\devices\kobo\driver.py", line 1910, in books
  File "c:\t\t\apsw-zu_bhl\apsw-3.27.2-r1\src\cursor.c", line 1019, in APSWCursor_execute.sqlite3_prepare
  File "c:\t\t\apsw-zu_bhl\apsw-3.27.2-r1\src\statementcache.c", line 386, in sqlite3_prepare
SQLError: SQLError: no such column: Language

Windows 10 sees the device

Device is not ignored

Debug device runs on and on (I gave up after 30 minutes. Getting debug information, please wait...

KOBO Touch not using KOBO accounts or factory defaults

Books do transfer but with no cover pictures

Getting debug information, please wait...

Changing the component for this bug.

 assignee davidfor
 tag kobo-driver
 status triaged

Changed in calibre:
assignee: nobody → David Forrester (davidfor)
status: New → Triaged
David Forrester (davidfor) wrote :

What firmware version is the Kobo Touch running? And has this worked before? The only way I can think for this error to be hit is if this is an N905 version of the Touch and a very early one with no firmware updates made to it. And even then, I'm surprised that it has a firmware version that doesn't have the Language column in the database table being queried.

As the device is recognized, the device debug won't add anything. It is intended as a way to find details of new devices, or help to work out why calibre doesn't recognize the device at all. I don't know why it is taking so long unless you have a lot of USB devices connected, or there is an error and for some reason the message was displayed off screen or behind something.

Duane Salmon (dsalmon) wrote :

David, thanks for responding,

The firmware version of the Kobo Touch is 1.95 and yes, as you suspected, it's a very early one with no updates. That is because I do not use Kobo accounts or factory defaults.
Yes, it has worked before, in fact it has worked for many years (1st generation Kobo Touch).

Here is the story - I have been getting the error message for a long time (possibly over a year) but the books always transfer to the reader and everything worked fine aside from having to start Calibre as administrator. Recently I noticed that the page turns have been getting increasingly slower so I upgraded to Calibre 3.42.0 and installed the KoboTouchExtended plugin. This solved my slow page turns but now book covers are not being displayed on the device.

It is possible that the two problems are not related.

No other USB devices were attached to my laptop while I tried to debug. No other msg displayed.

Lukas Ahrenberg (lukas-u) wrote :

Hi David,

I've also got an old and more or less unpatched kobo touch (firmware 1.9.17, dbversion 36) sitting here. I ran into a similar problem after updating calibre some time ago. My issue was not with the Language column, but with ISBN however.

Looking into that particular issue today, the I noted that the ISBN column is added to the query already from dbversion 33 in kobo/driver.py, while it seems like it isn't supported on v. 36 at least.

I added a separate if-case checking dbversion >= 37 and moved the ISBN column handling there from the dbversion >= 33 case in kobo/driver.py. This solved the issue for me. A patch is attached if you are interested.

N.b: I do not know if dbversion 37 actually has an ISBN column, I chose that version as it is one above the one I have on my device.

Best,

.Lukas

 Possibly relevant debug output:

DEBUG: 0.0 Version of driver: (2, 5, 1) Has kepubs: True
DEBUG: 0.0 Version of firmware: (1, 9, 17) Has kepubs: True
DEBUG: 1.1 Database Version: 36

David Forrester (davidfor) wrote :

Firstly, I'm impressed that you have kept the device on firmware version 1.9.17 all this time without the database being updated beyond version 36. Though, I couldn't go back the the 1.9.x firmware. I like most of the changes.

I checked the firmware and it appears the ISBN was added in dbversion 46. I have updated the driver for this.

Kovid Goyal (kovid) on 2019-11-12
Changed in calibre:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers