View Single Post
Old 03-06-2025, 02:36 PM   #14
PeterT
Grand Sorcerer
PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.
 
Posts: 13,558
Karma: 79436716
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
Quote:
Originally Posted by kovidgoyal View Post
This is now implemented in master. The connect to folder function allows you to optionally pick a specific device model (from a list of USBMS devices) to connect as.

Note its only very lightly tested so no idea how well it actually works.
Well.. Mixed results

I plugged the Kobo Clara Colour in via USB, selected the path and device type and....
Code:
calibre, version 7.26.101
ERROR: Error: Error communicating with device

IOError: disk I/O error

Traceback (most recent call last):
  File "/home/peterjt/work/calibre-master/src/calibre/gui2/device.py", line 111, in run
    self.result = self.func(*self.args, **self.kwargs)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/peterjt/work/calibre-master/src/calibre/gui2/device.py", line 582, in _books
    mainlist = self.device.books(oncard=None, end_session=False)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/peterjt/work/calibre-master/src/calibre/devices/kobo/driver.py", line 2023, in books
    self.dbversion = self.get_database_version(connection)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/peterjt/work/calibre-master/src/calibre/devices/kobo/driver.py", line 200, in get_database_version
    cursor.execute('SELECT version FROM dbversion')
  File "src/cursor.c", line 1088, in APSWCursor_execute.sqlite3_prepare_v3
apsw.IOError: IOError: disk I/O error
Just in case it was a corrupted database I did what I normally do and cloned the Kobo to the local hard drive
Code:
rclone -v sync /mnt/chromeos/removable/KOBOeReader/ libra/
and tried a pragma integrity check on the database; no issues.

I now tried connecting to the local folder and... TADA. It worked!

So obviously there is something wonky in how the chromebook mounts USB storage devices and shares them. I know it uses 9p to share the mount points
Code:
mount | grep 9p
9p on /mnt/chromeos type 9p (rw,nosuid,nodev,relatime,access=any,msize=4120,trans=fd,rfd=15,wfd=15)
so there is probably something there
PeterT is offline   Reply With Quote