Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Software > Calibre

Notices

Reply
 
Thread Tools Search this Thread
Old 02-13-2010, 07:37 PM   #1
bryantsai
Junior Member
bryantsai began at the beginning.
 
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
bryantsai is offline   Reply With Quote
Old 02-13-2010, 07:55 PM   #2
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,117
Karma: 5101571
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
Will be in next release.
kovidgoyal is online now   Reply With Quote
 
Enthusiast
Old 03-24-2010, 03:57 AM   #3
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
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:

http://www.mobileread.com/forums/sho...68&postcount=3
tonyx3 is offline   Reply With Quote
Old 03-24-2010, 04:21 AM   #4
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,117
Karma: 5101571
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
The BCD numbers for the two firmwares are different.
kovidgoyal is online now   Reply With Quote
Old 03-24-2010, 05:41 AM   #5
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
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?
tonyx3 is offline   Reply With Quote
Old 03-24-2010, 05:47 AM   #6
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,117
Karma: 5101571
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.
kovidgoyal is online now   Reply With Quote
Old 03-24-2010, 06:00 AM   #7
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
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?
tonyx3 is offline   Reply With Quote
Old 03-24-2010, 06:14 AM   #8
DoctorOhh
US Navy, Retired
DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.
 
DoctorOhh's Avatar
 
Posts: 8,861
Karma: 12755553
Join Date: Feb 2009
Location: North Carolina
Device: Nexus 7
Quote:
Originally Posted by tonyx3 View Post
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?
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.
DoctorOhh is offline   Reply With Quote
Old 03-24-2010, 07:38 PM   #9
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
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.
tonyx3 is offline   Reply With Quote
Old 03-24-2010, 10:21 PM   #10
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,117
Karma: 5101571
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.
kovidgoyal is online now   Reply With Quote
Old 03-25-2010, 05:02 AM   #11
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
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.
tonyx3 is offline   Reply With Quote
Old 03-25-2010, 05:09 AM   #12
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,117
Karma: 5101571
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.
kovidgoyal is online now   Reply With Quote
Old 03-25-2010, 05:42 AM   #13
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
Posts: 55
Karma: 10
Join Date: Jan 2010
Device: Nexus One
Quote:
Originally Posted by kovidgoyal View Post
Yes but calibre's device driver system is designed solely for android devices.
I feel like I'm misunderstanding you. calibre's entire driver system is designed for Android? I thought it was just one device plugin among many...?



Quote:
Originally Posted by kovidgoyal View Post
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.
True, technically nothing is preventing someone from doing that, at least the built in reader app. But anything that requires special handling would almost necessarily break the device's functionality as an Android device. It would then be so custom as to effectively not be Android anymore.

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.
tonyx3 is offline   Reply With Quote
Old 03-25-2010, 10:42 PM   #14
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,117
Karma: 5101571
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
Oops, meant to say is not
kovidgoyal is online now   Reply With Quote
Old 03-27-2010, 02:29 AM   #15
tonyx3
Connoisseur
tonyx3 began at the beginning.
 
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)
I'm not sure if it's possible for the plugin system to use a custom device driver, as the User Manual only talks about plugins for filetypes and metadata and such. There's no mention anywhere of device drivers.

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?
tonyx3 is offline   Reply With Quote
Reply

Tags
android, calibre

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

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


All times are GMT -4. The time now is 10:22 PM.


MobileRead.com is a privately owned, operated and funded community.