02-13-2010, 07:37 PM | #1 |
Junior Member
Posts: 1
Karma: 10
Join Date: Jan 2010
Device: sony prs-505, kindle dx
|
Calibre can't detect Nexus One
I'm using Windows 7 64-bit, but calibre seems not able to recongnize my Nexus One. I have plugged it in, and also dis-mount the sd card from the phone. Thanks.
Version: 0.6.40 USB devices on system: [u'usb\\root_hub&vid8086&pid2935&rev0003', u'usb\\root_hub&vid8086&pid2939&rev0003', u'usb\\root_hub&vid8086&pid2938&rev0003', u'usb\\root_hub&vid8086&pid2936&rev0003', u'usb\\root_hub&vid8086&pid2937&rev0003', u'usb\\root_hub&vid8086&pid2934&rev0003', u'usb\\root_hub20&vid8086&pid293c&rev0003', u'usb\\root_hub20&vid8086&pid293a&rev0003', u'usb\\vid_0424&pid_2228&rev_0444', u'usb\\vid_0424&pid_2502&rev_0001', u'usb\\vid_0424&pid_2602&rev_0000', u'usb\\vid_045e&pid_00f9&rev_0002', u'usb\\vid_045e&pid_00f9&rev_0002&mi_00', u'usb\\vid_045e&pid_00f9&rev_0002&mi_01', u'usb\\vid_04fc&pid_0c25&rev_0103', u'usb\\vid_067b&pid_2507&rev_0100', u'usb\\vid_0a5c&pid_2145&rev_0399', u'usb\\vid_17ef&pid_1005&rev_0001', u'usb\\vid_18d1&pid_4e12&rev_0100', u'usb\\vid_18d1&pid_4e12&rev_0100&mi_00', u'usb\\vid_18d1&pid_4e12&rev_0100&mi_01'] Drives detected: {'H:\\': u'\\\\?\\STORAGE#VOLUME#_??_USBSTOR#DISK&VEN_GOOGL E_&PROD_INC.NEXUS_ONE&REV_#9&199DFEF3&0&HT9CNP8109 47&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}#{53F5630D-B6BF-11D0-94F2-00A0C91EFB8B}'} Looking for HANLINV3 Looking for HANLINV5 Looking for BLACKBERRY Looking for CYBOOK Looking for ILIAD Looking for IREXDR1000 Looking for IREXDR800 Looking for JETBOOK Looking for SHINEBOOK Looking for POCKETBOOK360 Looking for KINDLE Looking for KINDLE2 Looking for KINDLE_DX Looking for NOOK Looking for PRS505 Looking for PRS700 Looking for PRS500 Looking for ANDROID Looking for N770 Looking for N810 Looking for COOL_ER Looking for ESLICK Looking for NUUT2 Looking for IRIVER_STORY Looking for GER2 Looking for ITALICA Looking for ECLICTO Looking for DBOOK Looking for INVESBOOK Looking for BOOX Looking for BOOQ Looking for EB600 Looking for README Looking for N516 Devices possibly connected: None |
02-13-2010, 07:55 PM | #2 |
creator of calibre
Posts: 44,340
Karma: 23661992
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Will be in next release.
|
Advert | |
|
03-24-2010, 03:57 AM | #3 |
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
I'm using 0.6.45 now, on Ubuntu 9.10.
Calibre is no longer detecting when I connect my Nexus one. Previously it did, after some help in this forum. I'm now running a modded Android OS (CyanogenMod 5.0.5), but that shouldn't affect much, should it? Here's the debug: Code:
Version: 0.6.45 USB devices on system: [['0x43d', '0x108', '0x100', 'Lexmark', '1300 Series', '20A098549007172'], ['0x50d', '0x237', '0x0', '', '', ''], ['0x1d6b', '0x1', '0x206', 'Linux 2.6.31-20-generic uhci_hcd', 'UHCI Host Controller', '0000:00:1d.2'], ['0x1d6b', '0x2', '0x206', 'Linux 2.6.31-20-generic ehci_hcd', 'EHCI Host Controller', '0000:00:1d.7'], ['0x1d6b', '0x1', '0x206', 'Linux 2.6.31-20-generic uhci_hcd', 'UHCI Host Controller', '0000:00:1d.1'], ['0x1d6b', '0x1', '0x206', 'Linux 2.6.31-20-generic uhci_hcd', 'UHCI Host Controller', '0000:00:1d.0'], ['0x1058', '0x910', '0x106', 'Western Digital', 'External HDD', '574D41535530373832383333'], ['0x18d1', '0x4e12', '0x226', 'Google, Inc.', 'Nexus One', 'HT9CPP808263'], ['0x1d57', '0xac01', '0x1110', '2.4G KB', '2.4G Mouse', ''], ['0x49f', '0x86', '0x802', 'ACTIONTEC', 'Bluetooth by hp', '']] Looking for HANLINV3 Looking for HANLINV5 Looking for BLACKBERRY Looking for CYBOOK Looking for ILIAD Looking for IREXDR1000 Looking for IREXDR800 Looking for JETBOOK Looking for SHINEBOOK Looking for POCKETBOOK360 Looking for KINDLE Looking for KINDLE2 Looking for KINDLE_DX Looking for NOOK Looking for PRS505 Looking for PRS700 Looking for PRS500 Looking for ANDROID Looking for N770 Looking for N810 Looking for COOL_ER Looking for ESLICK Looking for NUUT2 Looking for IRIVER_STORY Looking for GER2 Looking for ITALICA Looking for ECLICTO Looking for DBOOK Looking for INVESBOOK Looking for BOOX Looking for BOOQ Looking for EB600 Looking for README Looking for N516 Looking for EB511 Looking for ELONEX Looking for TECLAST_K3 Devices possibly connected: None And here's the debug from before, when I initially had it working: https://www.mobileread.com/forums/sho...68&postcount=3 |
03-24-2010, 04:21 AM | #4 |
creator of calibre
Posts: 44,340
Karma: 23661992
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
The BCD numbers for the two firmwares are different.
|
03-24-2010, 05:41 AM | #5 |
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
Yeah, I noticed the slight difference there, but didn't know those were the identifiers that Calibre used to determine whether it was a valid device or not.
Are you saying there's no way for a CyanogenMod Android phone to connect with Calibre, then? It's Android. Anyone can compile their own build. Many folks do... CyanogenMod is just a build based on AOSP 2.1_r2 (the standard Android 2.1 source). Or am I misunderstanding here...? I don't know how Calibre (and the Android plugin, to be specific) determines how to interface with a device, but it seems like detecting Android shouldn't be too hard, and since it's just mounting the SD card in the phones like a flash drive, there's not any special protocols and such, right? |
Advert | |
|
03-24-2010, 05:47 AM | #6 |
creator of calibre
Posts: 44,340
Karma: 23661992
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
USB devices identify themselves to the operating system with three numbers, the vendor id, product id and BCD. calibre uses these numbers to identify the device. If your custom firmware changes any of these numbers, it wont be recognized. I could ofcourse add the BCD for that firmware to the driver, but doing that for every custom firmware is not viable.
|
03-24-2010, 06:00 AM | #7 |
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
Thanks for the quick reply, and the good explanation. Makes sense now, almost.
But why does it need all three? If 'vendor id' and 'product id' are what the names sound like, shouldn't they be enough to identify the device, at least well enough to tell Calibre to attempt an Android interface? The firmware, custom or stock, don't change the interface, which is just a mounted USB drive, right? And if I'm way off base here, is there some way that I can modify my own driver, and post it to the large community of Android users that choose to use custom builds? |
03-24-2010, 06:14 AM | #8 |
US Navy, Retired
Posts: 9,865
Karma: 13806776
Join Date: Feb 2009
Location: North Carolina
Device: Icarus Illumina XL HD, Nexus 7
|
Until you get this cleared up the Save to Disk feature should do you nicely. It has many customizable segments but is easily used to place books in a particular directory on any usb drive.
|
03-24-2010, 07:38 PM | #9 |
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
Thanks Dwanthny.
That's what I ended up going with for now. It's more steps, but I guess it'll do, in a pinch. |
03-24-2010, 10:21 PM | #10 |
creator of calibre
Posts: 44,340
Karma: 23661992
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
bcd numbers are used to indicate firmware revisions, and since new versions of firmware can have significantly different behavior, calibre matches of those as well. Remember that its not just a USB interface but details like where to put books, what formats are supported, etc. that also are decided by the driver.
calibre's device drivers a re simple python plugins, you can easily write a custom plugin, subclassing the builting android driver. Details are in the User manual. |
03-25-2010, 05:02 AM | #11 |
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
Thanks for the info about the plugin. I don't know much python, but I'll take a look.
As for the details of firmware behavior which you mentioned (format, book location, etc), I guess those might be relevant on a closed source, dedicated reading device. But on an Android device, all the ebook capabilities are software based, and there are several -if not dozens- of e-reader apps for Android, none of which directly interface with calibre through the Android plugin. They all just read files off a subdirectory of the SD card. So for Android, yeah, it really is just as simple as a USB storage interface. The format and sub-directory settings are already customizable in the Android driver customization screen in calibre, so as long as it recognizes any attached Android device, the details you brought up are already taken care of. The firmware, custom or stock, is still Android, and still uses the same apps, and the same storage medium - the SD card. |
03-25-2010, 05:09 AM | #12 |
creator of calibre
Posts: 44,340
Karma: 23661992
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Yes but calibre's device driver system is designed solely for android devices. And since android is open I'd say its even more important to match bcd numbers carefully, since theres nothing preventing someone from designing firmware with a builtin reader app or features that require special handling.
Last edited by kovidgoyal; 03-25-2010 at 05:11 AM. |
03-25-2010, 05:42 AM | #13 | ||
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
Quote:
Quote:
Android is open source and customizable, yes, but Android is a platform. With the exception of a few inter-version app incompatibilities and a few apps designed for specific models of hardware, all Android devices can run all Android apps, and utilize the same basic structure and file-system. A few (very few) devices run a highly modified, Android-based OS (ie. the B&N nook), but those are the exception, and are highly specialized devices that don't share basic Android functionality. Aside from that, all Android devices are either smartphones or tablet or netbook pc's, and all use the same basic OS. At the very least, all versions of a particular device's OS share the same functionality, and don't require special interface instructions. A Nexus One is a Nexus One, regardless of whether it's running the stock OS, or a custom build. They're all builds of the same source, with a few modifications (usually pertaining to CPU speed or phone functionality, not to usb interface or app compatibility). The same goes for a Motorola Droid, or an HTC Dream, Hero, etc. I really appreciate the effort you put in to make calibre as great as it is. I just feel like, with the Android platform, that probably vendor and product id are adequate to identify a connected device, especially with the customizable format and directory options built in to the driver. The books are being read by an app within the OS, not by the firmware itself, so all that's really required are those two options. (note: I keep calling Android an OS, rather than a firmware, because, while it is flashed onto a chip, it's a full, linux-derived, operating system, not just a firmware, in the typical sense.) And before this gets any longer, again, thanks for all your hard work. |
||
03-25-2010, 10:42 PM | #14 |
creator of calibre
Posts: 44,340
Karma: 23661992
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Oops, meant to say is not
|
03-27-2010, 02:29 AM | #15 |
Connoisseur
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
|
Ok, so per your earlier advice, I tried to just edit the Android driver.py and make my own plugin for it, by adding my BCD to the list. Then I renamed my plugin 'myandroiddriver_plugin.py' as per the User Manual, and added it to a .zip, and tried to add it to the plugins in calibre.
but I got this error: Code:
ERROR: ERROR: Unhandled exception: <b>SyntaxError</b>:encoding declaration in Unicode string (<string>, line 0) Traceback (most recent call last): File "/home/kovid/build/calibre/src/calibre/gui2/dialogs/config/__init__.py", line 531, in add_plugin File "/home/kovid/build/calibre/src/calibre/customize/ui.py", line 271, in add_plugin File "/home/kovid/build/calibre/src/calibre/customize/ui.py", line 67, in load_plugin File "<string>", line 0 SyntaxError: encoding declaration in Unicode string (<string>, line 0) All I did was get the driver.py from the sourcecode package and edit it, and then try to follow the plugin installation method from the manual. What am I missing? |
Tags |
android, calibre |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Calibre doesn't detect my PRS-600 | EugZol | Calibre | 3 | 12-29-2009 11:16 AM |
Calibre does not detect HTC Hero | bharbo | Calibre | 1 | 11-27-2009 12:01 AM |
Calibre does not detect my prs-505 :( | mrstu | Calibre | 31 | 10-28-2009 02:14 PM |
calibre 0.6 cannot detect cybook on Linux | Hanselda | Calibre | 10 | 08-04-2009 03:09 PM |
Calibre doesn't detect reader | boydcarts | Calibre | 2 | 03-21-2009 04:13 PM |