09-14-2012, 02:44 AM | #1 |
creator of calibre
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
MTP support: Testers needed
Hi all,
This weeks' calibre release (0.8.69) contains beta MTP drivers. MTP drivers allow calibre to connect via USB cable to devices that dont show up as a disk drive. Examples of such devices are newer Android phones/tablets, like the Nexus 7 and the Kindle Fire HD. calibre has drivers that work (I hope) on Windows Vista and newer and Linux. On Windows XP you may be able to get it to work by installing Windows Media Player 11 or newer and rebooting your computer. There is no support for OS X. To enable the beta drivers, go to Preferences->Pugins and click the Plugin Tweaks button in the bottom right. Type the following text into the box: Code:
test_mtp_driver = True These drivers are beta quality, use them only if you are willing to help test and debug problems. You should be able to browse the files on the device, send files to the device, delete files from the device and add files from the device to your calibre library. You can check where on the device a particular book is by clicking on the books' entry in the calibre device view, the path to the file will show up in the book details panel on the right. The device driver is highly customizable. To customize it, simply right click on the device icon in the calibre toolbar (with your device connected) and select configure this device. You can change:
These drivers are very new and I have only done a limited amount of testing, on Linux and Windows 7, with one Android 2.3 and one 4.1 device, so there will likely be problems.
*The reason there is no support for OS X is that Apple does not support MTP and the open source MTP libraries that are used in linux have problems on OS X (they cause memory leaks and hang on computers with certain USB devices) Last edited by kovidgoyal; 09-16-2012 at 01:28 AM. |
09-14-2012, 08:39 AM | #2 |
Grand Sorcerer
Posts: 12,168
Karma: 73448616
Join Date: Nov 2007
Location: Toronto
Device: Nexus 7, Clara, Touch, Tolino EPOS
|
I don't see a Plugins Tweak button....
|
Advert | |
|
09-14-2012, 08:47 AM | #3 |
Wizard
Posts: 2,018
Karma: 13471689
Join Date: Oct 2007
Location: Almere, The Netherlands
Device: Kobo Sage
|
Kovid,
I just tried it with my Samsung Galaxy SPlus ('GT-I9001'), running Android 2.3.5 in 'MediaPlayer' USB mode. It's recognized, but as soon as I actually try to do something with it (as in clicking the Device icon to list books on it), I get 'Error communicating with device' with the following details: calibre, version 0.8.69 ERROR: Error: Error communicating with device local variable 'p' referenced before assignment Traceback (most recent call last): File "site-packages\calibre\gui2\device.py", line 85, in run File "site-packages\calibre\gui2\device.py", line 450, in _books File "site-packages\calibre\devices\mtp\driver.py", line 144, in books File "site-packages\calibre\devices\mtp\driver.py", line 120, in get_driveinfo File "site-packages\calibre\devices\mtp\windows\driver.py", line 222, in filesystem_cache File "site-packages\calibre\devices\mtp\filesystem_cache.py", line 207, in __init__ UnboundLocalError: local variable 'p' referenced before assignment And the screen remains blank. Afterwards I can click on the Device or Card A buttons, but nothing happens; the screen remains blank. Trying to configure it gets me a ThreadingViolation error with the following details: calibre, version 0.8.69 ERROR: Unhandled exception: <b>ThreadingViolation</b>:You cannot use the MTP driver from a thread other than the thread in which startup() was called Traceback (most recent call last): File "site-packages\calibre\gui2\device_drivers\mtp_config.py ", line 249, in browse File "site-packages\calibre\devices\mtp\windows\driver.py", line 205, in filesystem_cache File "site-packages\calibre\devices\mtp\windows\driver.py", line 32, in check_thread ThreadingViolation: You cannot use the MTP driver from a thread other than the thread in which startup() was called Let me know if you need any more info or if you want me to try anything. Edit: by 'configuring it' I meant trying to add a format-specific send directory rule. Last edited by mbovenka; 09-14-2012 at 08:53 AM. |
09-14-2012, 08:55 AM | #4 |
Wizard
Posts: 2,018
Karma: 13471689
Join Date: Oct 2007
Location: Almere, The Netherlands
Device: Kobo Sage
|
|
09-14-2012, 09:00 AM | #5 |
Grand Sorcerer
Posts: 12,168
Karma: 73448616
Join Date: Nov 2007
Location: Toronto
Device: Nexus 7, Clara, Touch, Tolino EPOS
|
Duh... I missed that!
|
Advert | |
|
09-14-2012, 09:06 AM | #6 |
Grand Sorcerer
Posts: 12,168
Karma: 73448616
Join Date: Nov 2007
Location: Toronto
Device: Nexus 7, Clara, Touch, Tolino EPOS
|
For what it's worth my Nokia dumb phone is correctly seen
|
09-14-2012, 09:37 AM | #7 |
creator of calibre
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
@mbovenka: looks like your device has some files whose parent folders dont exist. I've add code to handle that, if you can run from source, the fix is already committed, otherwise I'll upload a build with the fix in a bit.
|
09-14-2012, 09:39 AM | #8 |
creator of calibre
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Yeah I am going to have to implement some kind of popup the first time a device is detected that asks the user to confirm they want the mtp device handled by calibre, otherwise all the phones/cameras/music players will get detected.
|
09-14-2012, 11:00 AM | #9 |
creator of calibre
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
@mbovenka: I re-uploaded the 0.8.69 build with the fix, so if you re-download and re-install that error will hopefully go away.
|
09-14-2012, 10:56 PM | #10 |
Enthusiast
Posts: 25
Karma: 500030
Join Date: Dec 2011
Device: Sony PRS-T1
|
Wow, that works! Using WinXP (with WMP11 installed), I:
1) Installed Calibre v0.8.69. 2) Edited the plug in tweak as instructed, forgetting to hit apply. 3) Tried again and did it properly this time. 4) Calibre told me to restart Calibre, and I always do what I am told. 5) Calibre recognised my Nexus 7 running Android 4.1.1. It wouldn't before this. 6) I instructed Calibre to show books in the main memory of the device, and it listed absolutely everything on the Nexus 7. 7) I went back to the Calibre library on my PC, and instructed Calibre to send a book to the device that wasn't already on there, and it did as it was told. Good Calibre! Well, it is working in WinXP for me! Thank you for your amazing work! Do you want me to test any other function of this latest version, Kovid? |
09-14-2012, 11:04 PM | #11 |
creator of calibre
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
@Hopskinny: Good to hear, I dont have an XP system to test on, so I had no idea if it would work.
Test these things as well: 1) Deleting books from the device. In particular check that empty folders are removed after deleting the last book in a folder. 2) Switch to the device view in calibre and right click books to add them to the calibre library, or view them from the device directly by clicking the "Click to open" link in the book details panel on the right. And, of course, if you feel like configuring where on the devices the files go you can play with the driver settings by right clicking the device icon and selecting "configure this device". |
09-14-2012, 11:57 PM | #12 |
Enthusiast
Posts: 25
Karma: 500030
Join Date: Dec 2011
Device: Sony PRS-T1
|
Well, like the curate's egg.
2) Worked fine. I could add books to the Calibre library, and view them from the device both ways. 1) I told it to delete a book from the device, and it appeared to do so. It is certainly no longer showing up when Calibre views books in the main memory of the device. However, when I go to the device itself, it is still showing and readable in Mantano Reader. I wonder whether this is because of the way I added books to the Nexus in the first place? Given that I could not get Calibre to connect with the Nexus, I just copied the books from my Calibre library into a directory owned by Mantano Reader (using the USB cable). Could Calibre remove a book from that directory? If I had the courage, I would remove all books from the Nexus and start all over again, but at the moment I am too scared to try! |
09-15-2012, 12:32 AM | #13 |
creator of calibre
Posts: 43,860
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
It may be that Mantano maintains a private copy of the books you open in it. There isn't much calibre can do about that. You could use a reader program that does not do this, I believe Moon+ is one such.
|
09-15-2012, 12:57 AM | #14 |
Enthusiast
Posts: 25
Karma: 500030
Join Date: Dec 2011
Device: Sony PRS-T1
|
OK Kovid, with heart in mouth, I deleted all of the books in the Mantano library. I then used Calibre to send all books in the Calibre library to the Nexus 7. I then told Mantano to import all of the books into its library after I had found them in the directory where they had been placed by Calibre.
I then told Calibre on the PC to delete one of those books, and I checked in the correct directory and it had gone. However, it is still in Mantano Reader, so I suspect that you are right about Calibre not being able to mess with the Mantano 'private library'. However, all is working well, despite the fact that it now seems that I have double copies of all my books - one set in the download directory and the other in Mantano! Oh well, I will worry about that if I start to run out of space... Thanks again. John |
09-15-2012, 09:24 AM | #15 |
Zealot
Posts: 104
Karma: 475752
Join Date: Jan 2009
Device: Kobo Touch, Cybook Gen 3, Google Nexus7
|
Win 7 and Google Nexus device shows in Win 7 my computer but not in Calibre.
Version: 0.8.69 USB devices on system: [u'usb\\root_hub&vid8086&pid3a36&rev0000', u'usb\\root_hub&vid8086&pid3a39&rev0000', u'usb\\root_hub&vid8086&pid3a35&rev0000', u'usb\\root_hub&vid8086&pid3a38&rev0000', u'usb\\root_hub&vid8086&pid3a34&rev0000', u'usb\\root_hub&vid8086&pid3a37&rev0000', u'usb\\root_hub20&vid8086&pid3a3a&rev0000', u'usb\\root_hub20&vid8086&pid3a3c&rev0000', u'usb\\vid_045e&pid_0039&rev_0300', u'usb\\vid_051d&pid_0002&rev_0101', u'usb\\vid_0e97&pid_090b&rev_0132', u'usb\\vid_0e97&pid_090b&rev_0132&mi_00', u'usb\\vid_0e97&pid_090b&rev_0132&mi_01', u'usb\\vid_0e97&pid_090b&rev_0132&mi_02', u'usb\\vid_18d1&pid_4e41&rev_9999'] Traceback (most recent call last): File "site-packages\calibre\devices\scanner.py", line 85, in __call__ DriveError: No removable drives found Drives detected: Available plugins: ADAM ALEX ALURATEK_COLOR ANDROID ARCHOS7O AVANT AZBOOKA BAMBOOK BLACKBERRY BOEYE_BDX BOEYE_BEX BOOQ BOOX COBY COOL_ER CYBOOK DBOOK E52 E71X EB511 EB600 EBK52 ECLICTO EDGE EEEREADER ELONEX ESLICK EX124G FOLDER_DEVICE_FOR_CONFIG GEMEI GER2 HANLINV3 HANLINV5 ILIAD INVESBOOK IPAPYRUS IREXDR1000 IREXDR800 IRIVER_STORY ITALICA ITUNES JETBOOK JETBOOK_COLOR JETBOOK_MINI KINDLE KINDLE2 KINDLE_DX KINDLE_FIRE KOBO LIBREAIR LUMIREAD MENTOR MIBUK MOOVYBOOK N516 N770 N810 NEWSMY NEXTBOOK NOOK NOOK_COLOR NUUT2 ODYSSEY ORIZON PALMPRE PDNOVEL PDNOVEL_KOBO PI2 PICO PLAYBOOK POCKETBOOK301 POCKETBOOK360 POCKETBOOK360P POCKETBOOK602 POCKETBOOK622 POCKETBOOK701 PRS505 PRST1 README S60 SHINEBOOK SMART_DEVICE_APP SNE SOVOS SPECTRA STASH SUNSTECH_EB700 SWEEX TECLAST_K3 THEBOOK TREKSTOR USER_DEFINED VELOCITYMICRO WEBOS WEXLER Looking for devices... Devices possibly connected: None Cheerio John |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Classic G:RSS: Optimized Google Reader (RSS) for the Nook [BETA Testers needed] | Fmstrat | Barnes & Noble NOOK | 24 | 12-28-2010 12:22 PM |
Windows testers needed | kovidgoyal | Calibre | 51 | 11-21-2010 05:58 AM |
OS X testers needed | kovidgoyal | Calibre | 23 | 11-18-2010 12:11 PM |
calibre ereader output testers needed | user_none | Other formats | 24 | 05-11-2009 12:00 AM |
Web Browsing from the Ebw-1150 - BETA Testers needed | Nate the great | Fictionwise eBookwise | 26 | 09-21-2008 11:52 PM |