Bug 17362

Summary: Backport Candidate: calibre-2.52.0
Product: Mageia Reporter: Bernard Lang <blmageia>
Component: BackportsAssignee: QA Team <qa-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: Normal CC: anaselli, davidwhodgins, pterjan, sagos, tarakbumba
Version: 5   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard: has_procedure mga5-64-ok
Source RPM: calibre-2.52.0-1.mga5.src.rpm CVE:
Status comment:

Description Bernard Lang 2015-12-19 01:48:19 CET
Description of problem:

The Calibre application is supposed to detect My eReader (in my case a Kobo Glo HD) when it is connected to my PC with a USB cable. But it does not.

Here is what the Calibre FAQ says about this: 
http://manual.calibre-ebook.com/faq.html#why-is-my-device-not-detected-in-linux

Why is my device not detected in linux?¶
----------------------------------------

calibre needs your linux kernel to have been setup correctly to detect devices. If your devices are not detected, perform the following tests:

grep SYSFS_DEPRECATED /boot/config-`uname -r`

You should see something like CONFIG_SYSFS_DEPRECATED_V2 is not set. Also,

grep CONFIG_SCSI_MULTI_LUN /boot/config-`uname -r`

must return CONFIG_SCSI_MULTI_LUN=y. If you donât see either, you have to recompile your kernel with the correct settings.

=============

The first tes is OK, but
$ grep CONFIG_SCSI_MULTI_LUN /boot/config-`uname -r`
returns nothing at all.

I do not know whether that qualifies as a bug, but I am stuck. I am queasy about making a change to the kernel that I do not understand.

It may be very easy to fix, for one who knows what she is doing. But it is blocking for me, as communication with the eReaders is a major feature of Calibre.



Reproducible: 

Steps to Reproduce:
Comment 1 Bernard Lang 2015-12-19 16:24:32 CET
The eReader Kobo Glo HD is my only available testing device.

However I gathered some more data in case it helps.

First remark: nothing happens when I simply connect the Kobo with a USB cable. The device is visible only when I click on the Kobo screen to require the connection. Then the Kobo screen goes dead, and the Kobo becomes seen by the computer. I can reactivate the screen by depressing the only Kobo hardware button, in which acse it is disconnected, becoming invisible from the computer.

When the Kobo is visible from the computer (as a USB sorage device on /dev/sdc usually, not /dev/sdc1) I can mount it with (for example): mount /dev/sdc /kobo
and then access its files.

When it is visible, the command lsusb gives an extra device:
    Bus 004 Device 025: ID 2237:4223 Kobo Inc. 

(the number 025 varies)

When the connection is established dmesg gets the following data:

[305640.806607] usb 4-1.6: new high-speed USB device number 25 using ehci-pci
[305640.897742] usb 4-1.6: New USB device found, idVendor=2237, idProduct=4223
[305640.897752] usb 4-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[305640.897758] usb 4-1.6: Product: eReader-3.19.5613
[305640.897762] usb 4-1.6: Manufacturer: Kobo
[305640.897767] usb 4-1.6: SerialNumber: N4375A3904058
[305640.900791] usb-storage 4-1.6:1.0: USB Mass Storage device detected
[305640.901183] scsi host16: usb-storage 4-1.6:1.0
[305641.902098] scsi 16:0:0:0: Direct-Access     Kobo     eReader-3.19.561 0110 PQ: 0 ANSI: 2
[305641.908000] sd 16:0:0:0: [sdc] 6632445 512-byte logical blocks: (3.39 GB/3.16 GiB)
[305642.018188] sd 16:0:0:0: [sdc] Write Protect is off
[305642.018201] sd 16:0:0:0: [sdc] Mode Sense: 0f 00 00 00
[305642.128138] sd 16:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[305642.588145] sd 16:0:0:0: [sdc] Attached SCSI removable disk

When the connection is cut dmesg adds:

[305799.603923] usb 4-1.6: USB disconnect, device number 25
[305799.604356] sd 16:0:0:0: [sdc] Synchronizing SCSI cache
[305799.604394] sd 16:0:0:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK

but sometimes these 3 lines are followed by 7 more lines:, as in this example that includes the first 3 lines:

[306377.899254] usb 4-1.6: USB disconnect, device number 26
[306377.900302] sd 17:0:0:0: [sdc] Synchronizing SCSI cache
[306377.900338] sd 17:0:0:0: [sdc] Synchronize Cache(10) failed: Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[306382.171690] usb 4-1.6: new high-speed USB device number 27 using ehci-pci
[306382.258430] usb 4-1.6: New USB device found, idVendor=18d1, idProduct=0d02
[306382.258440] usb 4-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[306382.258446] usb 4-1.6: Product: i.mx6sl NTX Smart Device
[306382.258450] usb 4-1.6: Manufacturer: Freescale
[306382.258454] usb 4-1.6: SerialNumber: 12345
[306384.810994] usb 4-1.6: USB disconnect, device number 27

Bernard Lang
----------
David Walser 2015-12-22 22:26:36 CET

Assignee: bugsquad => tarakbumba

Comment 2 Atilla ÖNTAŞ 2015-12-23 15:59:26 CET
As i can see from your findings that issue is not with calibre but your device connection to your computer. Seems to me that a faulty USB cable would be the cause. Did you try to connect it on another machine/OS ? Any issues with them? I have a Kobo Touch e-reader and by its design when it connected to my PC it's screen shows a connecting message and i can operate with calibre on it. So, pressing the only button on the device may disconnect it. But i never tried that and leave the screen as that.
Comment 3 Bernard Lang 2015-12-26 11:39:53 CET
When I connect the Kobo to the computer with a USB cable, the screen show a connecting message, and nothing happens on the computer side, until I answer the message and request connection (otherwise, the Kobo only loads energy). If I do request the connectio by tapping the right button on the screen message, then the Kobo becomes visible as an external drive on /dev/sdc, and I can mount it and use it as shown below. Note that I have to mount /dev/sdc, not /dev/sdc1 which does not exist.

Here is some more information I should have given, for what it may be worth.  It shows that my Linux can access R/W the Kobo memory with no problem. Currently I have no other machine to try it with.

I must apologize that some of the info is in French (for fdisk and df). That is how my Linux is set.

# ls /dev/sd*
/dev/sda   /dev/sda2  /dev/sda6  /dev/sda8  /dev/sdb1
/dev/sda1  /dev/sda5  /dev/sda7  /dev/sdb   /dev/sdc

# mount /dev/sdc   /kobo
# cd /kobo
# ls -l
total 17204
drwxr-xr-x  2 root root     4096 déc.  23 19:25 allbrary/
drwxr-xr-x  4 root root     4096 déc.  14 23:43 Digital Editions/
drwxr-xr-x 14 root root     4096 déc.  23 17:21 mes-livres/
-rwxr-xr-x  1 root root 17601083 déc.  23 19:42 pg35103-images.epub*

Remark:

allbrary and my-books are two directories of e-books I copied on the Kobo. and pg35103-images.epub is an e-book I have to download with the Kobo browser so that the Kobo will explore its memory and notice the two directories (or more) with ebooks I have copied in its memory.

This is the only way I found to load books on the Kobo, but it is terribly kludgy. However, it does show that most of the functionality is there. So I am not sure how the cable could be incriminated.

I have no ejection button. What I do to disconnect is to umount the Kobo, and sync to make sure. Then I press the only hardware button on the Kobo, and it make /dev/sdc disappear. Then I press the hardware button again and the Kobo turns on.

But, since my Linux sees that the Kobo is connected, when I connect it, and I can actually do things by hand, I would expect Calibre to have access to that information too.


# fdisk -l /dev/sdc

Disque /dev/sdc : 3,2 GiB, 3395811840 octets, 6632445 secteurs
Unités : secteur de 1 à 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x00000000

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sdc3       2365587456 2379350766   13763311   6,6G  0 Empty
/dev/sdc4  ?    3436165843 4595067736 1158901894 552,6G 5b inconnu


# gdisk -l /dev/sdc
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. 
***************************************************************

Exact type match not found for type code 5B00; assigning type code for
'Linux filesystem'

Warning! Secondary partition table overlaps the last partition by
4588435325 blocks!
You will need to delete this partition or resize it in another utility.
Disk /dev/sdc: 6632445 sectors, 3.2 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): CD343010-7CB9-4591-9412-8A60DF93CE5E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 6632411
Partitions will be aligned on 1-sector boundaries
Total free space is 6632378 sectors (3.2 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   4      3436165843      4595067736   552.6 GiB   8300  Linux filesystem


# df /kobo
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sdc           3,2G     88M  3,1G   3% /kobo
# mount
............
/dev/sdc on /kobo type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
# cd
# umount   /kobo
# sync
# sync
# date
sam. déc. 26 10:59:26 CET 2015
Comment 4 Daniel sagos 2015-12-27 22:37:44 CET
Hi, I was having the same problem.

The best thing to do is to install the last version directly from github. As described in [1] (see command below). 

You have Calibre 2.20, but support to Kobo Glo HD (GLO_HD_PRODUCT_ID   = [0x4223]) was added in Calibre v2.26, and support to the latest Kobo sqlite DB version (supported_dbversion = 125)  was added in Calibre v2.35

Finally, the current master is v2.47.0, which is the one you get when running this command, given in [1]:

sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"

Everything seems to work after that for me.

[1] Install Calibre http://calibre-ebook.com/download_linux
[2] Git Repo: https://github.com/kovidgoyal/calibre

CC: (none) => sagos

Comment 5 Atilla ÖNTAŞ 2015-12-29 22:15:00 CET
(In reply to Daniel sagos from comment #4)
> Hi, I was having the same problem.
> 
> The best thing to do is to install the last version directly from github. As
> described in [1] (see command below). 
> 
> You have Calibre 2.20, but support to Kobo Glo HD (GLO_HD_PRODUCT_ID   =
> [0x4223]) was added in Calibre v2.26, and support to the latest Kobo sqlite
> DB version (supported_dbversion = 125)  was added in Calibre v2.35
> 
> Finally, the current master is v2.47.0, which is the one you get when
> running this command, given in [1]:
> 
> sudo -v && wget -nv -O-
> https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-
> installer.py | sudo python -c "import sys;
> main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read());
> main()"
> 
> Everything seems to work after that for me.
> 
> [1] Install Calibre http://calibre-ebook.com/download_linux
> [2] Git Repo: https://github.com/kovidgoyal/calibre


I have backported calibre-2.47.0 into Mageia 5. Because there is no bugfix only releases for calibre and it is very hard to follow bug fixes and new futures in calibre development i decided to provide calibre backports from now on. Please test calibre-2.47.0-1.mga5 from core/backports_testing extensively and if it is all ok for you then i' ll ask our QA team to validate it.
Comment 6 Bernard Lang 2015-12-29 23:09:50 CET
Thanks for help, and thanks to Daniel sagos too.
I am not sure what I can test and where to find it. I went to /Linux/Mageia/distrib/5/x86_64/media/debug/core/backports_testing on various sites, but did not find anything about Calibre. I am running an x86_64 architecture.
Alternative is to follow Daniel sagos suggestion, but if I can help validate something for Mageia users, I am quite willing to help.
Comment 8 Atilla ÖNTAŞ 2015-12-30 07:49:05 CET
Package should hit the mirrors soon. You can enable backports_testing repository from Mageia Control Center and install calibre from there. Alternatively you may directly install calibre by running( as root):

> urpmi http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/5/x86_64/media/core/backports_testing/calibre-2.47.0-1.mga5.x86_64.rpm

Install only calibre from backports_testing and disable the repo if you enable it from MCC.

What to be testing is almost every future of calibre. Since it have many features, you may try to create a testing library, import e-books into calibre, export your e-books to your Kobo Glo HD device, convert some e-book into other formats etc.

If you encounter any issues regarding to package, please feel free to report it here. If you have questions about calibre usage please look into http://manual.calibre-ebook.com/

Thanks in advance.
Atilla ÖNTAŞ 2015-12-30 07:50:46 CET

Summary: Application Calibre does not detect connection with a Kobo eReader => Application Calibre does not detect connection with a Kobo eReader Glo HD

Comment 9 Bernard Lang 2015-12-31 10:54:24 CET
I installed your backport. No problem, and my Kobo is now recognized by the Calibre software. So far, everything works as it should. Thank you.
I keep using it, and experimenting as I am new to this software. I will report
any unexplained problem, after searching for explanation.
Comment 10 Atilla ÖNTAŞ 2016-01-02 01:38:26 CET
I have changed bug report as a Backport candidate. This bug report indicates that for newer devices like Kobo Glo HD newer versions of calibre is needed. Current calibre package does not support them. So, i backported this leaf package to Mageia 5.

Bug reporter  Bernard Lang had tested the package with his Kobo Glo HD e-reader. There are no issues reported yet.

Testing procedure not covers all features of calibre since it has way much more features those cannot be listed here. So i cover main functionalities below.

Testing Procedure:
1- After installing calibre-2.47.0 open it via your desktop's menu.
2- Create a new library and try to import some e-books into it.
3- Try to edit a books details by right clicking and selecting "Edit metadata" > "Edit metadata individually" see if getting metadata from internet or other options work.
4- Try to convert an e-book format into another e-book format
5- Try to export all or few e-books into your e-book reader.

Source Rpms in core/backports_testing:
calibre-2.47.0-1.mga5.src.rpm

Rpms in core/backports_testing:
calibre-2.47.0-1.mga5.i586.rpm
calibre-2.47.0-1.mga5.x86_64.rpm

CC: (none) => tarakbumba
Component: RPM Packages => Backports
Hardware: x86_64 => All
Assignee: tarakbumba => qa-bugs
Summary: Application Calibre does not detect connection with a Kobo eReader Glo HD => Backport Candidate: calibre-2.47.0
Source RPM: calibre-2.20.0-1.mga5.src.rpm => calibre-2.47.0-1.mga5.src.rpm
Severity: normal => enhancement

Comment 11 Dave Hodgins 2016-01-20 00:58:27 CET
Missing dependency? Selecting getnews, Canada, London free press, every section
shows "No module named feedparser".

CC: (none) => davidwhodgins
Whiteboard: (none) => feedback

Comment 12 Atilla ÖNTAŞ 2016-01-22 23:24:19 CET
Newer devices like Kobo Glo HD requires newer versions of calibre. Current calibre package does not support them. So, i backported leaf package calibre-2.47.0 to Mageia 5.

Bug reporter  Bernard Lang had tested the package with his Kobo Glo HD e-reader. There are no issues reported yet. Also a missing requirement is added thanks to David Hodgins.

Testing procedure not covers all features of calibre since it has way much more features those cannot be listed here. So i cover main functionalities below.

Testing Procedure:
1- After installing calibre-2.47.0 open it via your desktop's menu.
2- Create a new library and try to import some e-books into it.
3- Try to edit a books details by right clicking and selecting "Edit metadata" > "Edit metadata individually" see if getting metadata from internet or other options work.
4- Try to convert an e-book format into another e-book format
5- Try to export all or few e-books into your e-book reader.

Source Rpms in core/backports_testing:
calibre-2.47.0-1.1.mga5.src.rpm

Rpms in core/backports_testing:
calibre-2.47.0-1.1.mga5.i586.rpm
calibre-2.47.0-1.1.mga5.x86_64.rpm
Comment 13 Atilla ÖNTAŞ 2016-03-01 01:18:37 CET
Due to new 3.19.5761 firmware release by Kobo for all of its readers; users need new firmware compatible Calibre. Calibre 2.52.0 includes latest e-reader firmwares so i updated backport and write a new advisory:



Newer devices like Kobo Glo HD requires newer versions of calibre for their new firmwares. Current calibre package does not support them. So, i backported leaf package calibre-2.52.0 to Mageia 5.

Testing procedure not covers all features of calibre since it has way much more features those cannot be listed here. So i cover main functionalities below.

Testing Procedure:
1- After installing calibre-2.52.0 open it via your desktop's menu.
2- Create a new library and try to import some e-books into it.
3- Try to edit a books details by right clicking and selecting "Edit metadata" > "Edit metadata individually" see if getting metadata from internet or other options work.
4- Try to convert an e-book format into another e-book format
5- Try to export all or few e-books into your e-book reader.

Source Rpms in core/backports_testing:

calibre-2.52.0-1.mga5.src.rpm

Rpms in core/backports_testing:

calibre-2.52.0-1.mga5.i586.rpm
calibre-2.52.0-1.mga5.x86_64.rpm

CC: (none) => anaselli
Summary: Backport Candidate: calibre-2.47.0 => Backport Candidate: calibre-2.52.0
Source RPM: calibre-2.47.0-1.mga5.src.rpm => calibre-2.52.0-1.mga5.src.rpm

Comment 14 Angelo Naselli 2016-03-01 19:43:33 CET
Tested on x86_64 on Kobo Aura supports new version of its firmware amd i can't see any regressions for the use i do.
Comment 15 claire robinson 2016-03-01 20:12:20 CET
Thanks Angelo. Adding the OK.

Whiteboard: feedback => mga5-64-ok

claire robinson 2016-03-01 20:12:37 CET

Whiteboard: mga5-64-ok => has_procedure mga5-64-ok

Comment 16 Angelo Naselli 2016-03-01 20:44:04 CET
tested also on a sony reader and on samsung galaxy tablet. This last has some problems, but don't seem to be related to calibre
Comment 17 Pascal Terjan 2016-03-02 23:57:34 CET
Done:
mga-adv-move-pkg --sync --backport 5/core/calibre

Status: NEW => RESOLVED
CC: (none) => pterjan
Resolution: (none) => FIXED

Comment 18 Bernard Lang 2016-03-03 11:54:44 CET
As I said in comment 9: "I installed your backport. No problem, and my Kobo is now recognized by the Calibre software. So far, everything works as it should."
And it has been working for 2 months now. 

I am running an x86_64 architecture, and I use a Kobo Glo HD

Though I am not yet an extensive user, I tested 4 steps (out of 5) of your testing procedure. I did not test step 4, the conversion between formats.

But I also used successfully (from a testing point of view) the creation of template functions (last icon in Preferences), and the addition of columns to the main book listing (third icon on first line of Preferences).

There is a problem with the French localisation (the textual labels of icons are far too long, making the graphical interface less convenient), but I guess that is not a Mageia issue. I may mention that to the Calibre developers.

Thanks again