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

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 08-21-2012, 12:07 PM   #46
geekmaster
Всё гениальное просто.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 5,066
Karma: 6789001
Join Date: Nov 2011
Location: Щедрость не имеет пределов.
Device: *.*
Quote:
Originally Posted by knc1 View Post
For the Kindle, it doesn't matter - the "Cable ID" connection is not recognized.
That is the job of the "OTG Auto Sense" feature that is not present.

It might work on one of your other devices (with an OTG Host adapter) - that would tell you if it (the adapter) works.
Perhaps I should have mentioned that in my post above like I did in other posts where USB OTG was discussed.

Some devices (such as the kindles) do not connect that 5th pin to anything, and so they cannot sense a jumper in the cable. Even if there was a hardware connection, the firmware must be programmed to use that signal and not just ignore it.

In the case of the Nook Simple Touch (in another forum), they use a software program to toggle USB host mode, because the NST also does not have any connection to that OTG auto-sense pin. Perhaps we could port the NST OTG mode switching program to the kindles. Using software, we do not care if our OTG adapter cables have that extra internal jumper.

In the case of my Nexus 7, I do care about the OTG adapter auto-sense jumper because using the wrong cable prevents USB device automounting.

Last edited by geekmaster; 08-21-2012 at 12:10 PM.
geekmaster is offline   Reply With Quote
Old 08-21-2012, 12:45 PM   #47
Kumabjorn
Basculocolpic
Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.
 
Kumabjorn's Avatar
 
Posts: 3,768
Karma: 19430777
Join Date: Jul 2010
Location: Sweden
Device: Kindle 3 WiFi, Kindle 4SO, Kindle for Android, Sony PRS-350 and PRS-T1
I have tested it with my Galaxy Note. There is no problem with the hardware. The Note even reported in the Notification Bar that a keyboard was connected.
Kumabjorn is offline   Reply With Quote
Old 08-21-2012, 01:00 PM   #48
knc1
Embedded Cheerleader
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 5,774
Karma: 5722276
Join Date: Feb 2012
Device: Too many.
Quote:
Originally Posted by Kumabjorn View Post
I have tested it with my Galaxy Note. There is no problem with the hardware. The Note even reported in the Notification Bar that a keyboard was connected.
Super! (en_IBM)

Now all it requires is support added into the K3.

If that requires software drivers (modules) not present in the Amazon system image - -
In another recent thread here, the building of modules for the K3 has been worked out.

It will also require someone with the time and interest to do the job.
Somebody will probably show up with such an interest, it is a common enough feature request.
knc1 is offline   Reply With Quote
Old 08-21-2012, 03:30 PM   #49
Kumabjorn
Basculocolpic
Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.
 
Kumabjorn's Avatar
 
Posts: 3,768
Karma: 19430777
Join Date: Jul 2010
Location: Sweden
Device: Kindle 3 WiFi, Kindle 4SO, Kindle for Android, Sony PRS-350 and PRS-T1
Does anyone of you guys know if there exists Bluetooth dongles for micro USB ports? Do a search for that and all I get is dongles for regular USB ports that are very, very small.

I was thinking that if we can get keyboard support, it would be incredibly cool to have one of those mini keyboards the size of a small smartphone to use for note taking on a K4 NT.
Kumabjorn is offline   Reply With Quote
Old 10-03-2012, 06:48 AM   #50
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,491
Karma: 5977000
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
you say a k4 NT. the work has been done for that.
http://www.christian-hoff.com/?p=139

needs back porting to a 3, and pushing onto the 5 and beyond. but the K4NT is the exact kernel that Christian uses in this worked - completed - kernel rebuild.
twobob is offline   Reply With Quote
Old 10-03-2012, 06:51 AM   #51
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,491
Karma: 5977000
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
# Load the new charger driver for host and device mode USB charging
modprobe yoshi_charger
# Then the OTG state machine. This one supervises the port and controls whether to activate host or device mode.
modprobe fsl_otg_fsm
# OTG gadget driver
modprobe arcotg_udc
# OTG ethernet gadget driver(can load any other gadget driver here as well)
modprobe g_ether
# And finally the OTG host:
modprobe ehci-hcd

unless I miss my mark, which is highly possible, don't I just need to build these drivers and modprobe them in? meh, I'll have a go at that RSN
twobob is offline   Reply With Quote
Old 10-03-2012, 09:49 AM   #52
geekmaster
Всё гениальное просто.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 5,066
Karma: 6789001
Join Date: Nov 2011
Location: Щедрость не имеет пределов.
Device: *.*
That is great news! I did not know that. Because of the memory leak he mentioned, I would load his patched kernel from /mnt/us with kexec instead of flashing it.

EDIT: Oh, wait... I see that I commented on that link back in June when seaniko7 posted it. Not even the faintest glimmer of recognition when I read it again. I learn "new" things every day, often by reading my old posts. I have no memory of having ever even KNOWN some of that stuff, and yet it was I who posted it. My old brain injury at work there, I am afraid. It sucks to completely lose entire works of hard earned knowledge.

Last edited by geekmaster; 10-03-2012 at 10:00 AM.
geekmaster is offline   Reply With Quote
Old 10-03-2012, 09:53 AM   #53
hippy dave
Zealot
hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.hippy dave can program the VCR without an owner's manual.
 
Posts: 124
Karma: 178472
Join Date: Jul 2012
Device: Kindle 4
there's a slightly newer post saying he thinks he fixed the memory problems. nothing else new since april tho so i guess nobody's written keyboard support yet
hippy dave is offline   Reply With Quote
Old 10-03-2012, 10:12 AM   #54
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,491
Karma: 5977000
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
I have cloned the GIT, I will have a look and see if it's been updated recently RSN.
Think we can say we now have enough info to get this done.
On most of the devices I would guess with a little hackery.

Happy days.
twobob is offline   Reply With Quote
Old 10-07-2012, 03:36 PM   #55
ytrewq
Member
ytrewq began at the beginning.
 
Posts: 12
Karma: 10
Join Date: Sep 2011
Device: none
Quote:
Originally Posted by knc1 View Post
Wireless is better, if the receiver is a USB device.
For instance the Logitech "unify" receiver.

The receiver would take far less power from the Kindle port than an actual keyboard would.
And, in the case of the Logitec receiver, would allow you to add both keyboard and mouse.

Logitect does not ship the "Unify" setup for Linux, but I have a Linux version that is in the "public domain". So getting the divices to "pair" under Linux is a solved problem.
would a wireless usb-keyboard work on a kindle-usb-keyboard-hack bypassing the need for a powered hub (to prevent battery-drainage)?
ytrewq is offline   Reply With Quote
Old 11-06-2012, 10:30 AM   #56
DakaPhoenix
Junior Member
DakaPhoenix began at the beginning.
 
Posts: 5
Karma: 14
Join Date: Nov 2012
Device: kindle touch 3g 4gb
Any updates?
DakaPhoenix is offline   Reply With Quote
Old 11-06-2012, 11:18 AM   #57
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,491
Karma: 5977000
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
well. at the risk of double posting. some. Choff has been kind enough to provide more intramfs information which was a required piece of the puzzle, one person has successfully duplicated his work (I believe and is running other tests) on a 4NT.

You appear to have a 4? err. then just go do it yourself. the two main threads about it are on here somewhere. heck might even be this one.

you also have a 3. I would like to do a 3 also as a mouse (well, "something HID") coupled with the keyboard / ext keyboard would be dreamy. Sound support seems a given really with the right bit of kit as soundcard manufacturers generally fall over themselves to ensure compatibility in most things. on a 3 seems unlikely now.

corner case trackball drivers or obscure webcams? YMMV... wildly

Honestly this really is more a case of looking at one block of code and splatting the changes into another. not a really very high brow programming job. more like something someone with some docs, a device, a cable, and a braincell could probably figure out given enough time and patience.

Seriously, you can do this. (I don't have a 4 btw)

HTH.

Last edited by twobob; 03-13-2013 at 08:13 AM.
twobob is offline   Reply With Quote
Old 03-13-2013, 01:45 AM   #58
RMH
Junior Member
RMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to beholdRMH is a splendid one to behold
 
Posts: 1
Karma: 19958
Join Date: Mar 2013
Device: Kindle Touch
Compile K5 kernel

First, apologies for necro-posting but this really seemed to be the most appropriate thread...

I've been attempting to compile a Lab126 kernel for my Kindle Touch with the eventual goal of porting Choff's USB OTG code in. This is a bit of a slow process for me as it's the first time I have compiled... well, anything in Linux. I am gradually working my way through the process with great help from many posts here.

I have discovered a few things in the process that I feel are worth sharing.

I started with a pretty much unmodified version of Ubuntu 12.04 LTS. I grabbed a copy of the K5 5.1.2 source and extracted it. I also extracted the linux-2.6.31.tar.gz file inside to use as my starting point. I picked 5.1.2 mainly because it's the version I still have on my Touch since I like some of the community features (thanks to Ixtab especially). For simplicity, let's say this gets extracted to ~/kindle_5.1.2/linux-2.6.31/.

I then proceeded to follow Choff's K4 instructions. I'll take some liberties with the order of things because I ran into plenty of dead ends and had to backtrack. Of course that's on me, not Choff. Anyway, the first thing needed was a copy of the initramfs. I extracted this myself using Choff's instructions but it looks like knc1 determined it is GPL'd and, as such, has posted it here.

To use knc1's version, it needs to be extracted and repackaged with the cpio format. I think there may be a way to avoid this but it worked for me. So with some customizing of Choff's steps, the commands should be...
Code:
sudo tar -xzvf main-5.1.2-irfs.tar.gz
cd km-5.1.2-irfs
sudo find . | cpio -o -H newc > ../initramfs.cpio
I took the resultant initramfs.cpio file and copied it to the location where I had extracted linux-2.6.31.tar.gz, which we're still saying is ~/kindle_5.1.2/linux-2.6.31/.

Next I found Amazon's provided code doesn't compile. (Don't worry about how. This is where I'm taking liberties in the order.) The problem is a missing kindle_version.h file referenced in ~/kindle_5.1.2/linux-2.6.31/drivers/rtc/rtc-mxc_v2.c. Rather than attempting to find a good kindle_version.h file, I grabbed Amazon's 5.3.2 source and checked the rtc-mxc_v2.c file buried in it (Kindle_src_5.3.2.tar.gz/gplrelease/linux-2.6.31.tar.gz/drivers/rtc/rtc-mxc_v2.c).

It turns out Amazon removed the requirement for that kindle_version.h file in the newer rtc-mxc_v2.c and the only real changes were the removal of some debug/error messages. So I copied this newer version over top of the old one.

This gets everything ready to compile. I tried Choff's suggested compiler but apparently it doesn't produce a compatible kernel on the Touch (or at least not kexec-able, which was my goal). This took a while to figure out and I'm still not sure what was actually wrong since I don't want to crack open my Kindle to investigate via the serial port. Still, I know this was the problem because next I went to knc1's KeK and got the compiler version that he recommended, specifically arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2. After downloading this and extracting it to ~/arm-2010.09/, I was able to compile. Here are the commands I used.

First, configuring options...
Code:
cd ~/kindle_5.1.2/linux-2.6.31/
make ARCH=arm CROSS_COMPILE=~/arm-2010.09/bin/arm-none-linux-gnueabi- imx50_yoshi_defconfig
make ARCH=arm CROSS_COMPILE=~/arm-2010.09/bin/arm-none-linux-gnueabi- menuconfig
... and this gives a menu where we have to set one option. Select "General setup --->" by pressing <Enter> and turn on "Initial RAM filesystem and RAM disk (initramfs/initrd) support" by scrolling to it and pressing <Y> or <space>. Then scroll down one more, press <Enter> on "Initramfs source file(s)" and set it to "initramfs.cpio". Hit <ESC> a few times to back out, making sure to answer "Yes" when it asks if you want to save the changes.

Now back to the commands, the actual kernel compile is ready and can be started with...
Code:
make ARCH=arm CROSS_COMPILE=~/arm-2010.09/bin/arm-none-linux-gnueabi- -j2 uImage
... while the supporting modules (if they are wanted) can be compiled with...
Code:
make ARCH=arm CROSS_COMPILE=~/arm-2010.09/bin/arm-none-linux-gnueabi- -j2 targz-pkg
This got me the new kernel named "uImage" in ~/kindle_5.1.2/linux-2.6.31/arch/arm/boot/. I copied this to my Kindle Touch, booted it successfully with kexec, and discovered one more flaw in Amazon's code. Apparently 5.1.2's source is not entirely matching 5.1.2 in reality because the ar6003 wifi driver was throwing errors about an undefined symbol "mx50_pcbsn_x". This symbol doesn't exist anywhere in the 5.1.2 code but is all over the place in the 5.3.2 code. I confirmed that the ar6003.ko file compiled from the 5.1.2 source can be loaded via insmod, which fixes this temporarily; But it re-breaks -- I think when wifi is turned off and back on -- and I personally am not ready to overwrite the modules on the root filesystem.

I think my next step is to take the diffs from Choff's code and attempt to apply them to this compiling 5.1.2 code. With my inexperience, I imagine this will take me at least a few weeks to accomplish though. And it may be held up if I discover any new problems on the way.

Last edited by RMH; 03-31-2013 at 11:22 PM. Reason: Noticed typo on module cross compile argument
RMH is offline   Reply With Quote
Old 03-13-2013, 07:58 AM   #59
twobob
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Tır
twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.twobob ought to be getting tired of karma fortunes by now.
 
twobob's Avatar
 
Posts: 6,491
Karma: 5977000
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
Hi. Get a kubrick copy. that should allay your "oh crap I broke it" fears.

I PM'd you some other stuff.

EDIT:

Okay... RE the diffs: http://www.christian-hoff.com/?p=44 (read the comments I already asked)

Initramfs: http://www.mobileread.com/forums/sho...85&postcount=7
and http://www.christian-hoff.com/?p=16 http://www.mobileread.com/forums/sho...7&postcount=23

A 4 implementation https://github.com/pepijndevos/kindle4-linux

there is more stuff "out there"

Last edited by twobob; 03-13-2013 at 11:52 AM.
twobob is offline   Reply With Quote
Old 03-13-2013, 04:43 PM   #60
knc1
Embedded Cheerleader
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 5,774
Karma: 5722276
Join Date: Feb 2012
Device: Too many.
1) Thread are cheap here - start your own. One click of the "New Tread" button is all it costs.

2) That is **NOT** knc1's version - it is Amazon's, ripped from the binary as described in that thread.

3) The fix for the header was (still is) posted here over a year ago.

4) Check the kual-system git repo for the compiler and options used to compile that kernel (as part of compiling all the modules).

5) Supporting modules are posted. (click the "attachment icon" in the forum listing of that dev info thread.
Ah, and they are also in the kual-system git repo.
knc1 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
USB OTG on Sony PRS-T1? scam? bercoo Sony Reader 15 04-04-2013 09:58 AM
Experiments with USB-OTG HarryT Android Devices 13 07-03-2012 03:55 PM
Support officially outsourced to Phillippines (paid support) larka enTourage eDGe 5 06-08-2011 12:48 AM
Is Astak support on vacation or just stopped support? dmikov Astak EZReader 9 01-22-2010 01:43 PM
USB OTG Mythic Bookeen 7 11-11-2007 12:39 PM


All times are GMT -4. The time now is 02:48 PM.


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