View Single Post
Old 04-23-2016, 10:15 AM   #1
geekmaster
Carpe diem, c'est la vie.
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: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
Geekmaster's adventures in K1 spelunking

I purchased a K1 (Kindle 1st generation) on ebay a couple of years back, from a pawn shop with an ebay store. As received, the all-important roller wheel was incredibly flaky, making the cursor jump around (going the wrong direction almost as often as the correct direction). I gave up and put it in storage. When I mentioned this problem to the vendor, they gave me a full refund (including shipping), and they did not want it back.

Recently, I updated my entire kindle collection (about 150 devices) by recharging them, then using kubrick to flash them to a recent jailbreak version of firmware. Interestingly, I (re)discovered that they charge to a green light MUCH faster (hours instead of a couple of days, because the batteries had all gone complete dead) if I do a hard reset on them after they have charged for a few minutes. Before I started doing that hard reset (hold power button for 30 seconds), it could take many hours for the power LED to even begin to glow. After a hard reset the LED would begin to glow within a couple of minutes, fading in to full brilliance. Later I discovered that I could have charged even faster in fastboot mode (according to posts I left in this forum long ago). Memories fade when you do not refresh them...

As it turned out, the kindles I had charged for days until the LED turned green (before I started hard resetting them) where all in USB downloader mode -- apparently the batteries were too discharged for them to initialize SDRAM when they charged just enough for the SoC to power-on boot.

Later, I discovered more about the charging speeds by examining USB device power usage (as reported in Windows properties) with kindles attached via USB in different boot modes. In USB downloading mode it only draws 10mA, which can take days to charge the battery (typically about 40 hours or so). I also noticed (but did not record which boot modes) 100mA and 500mA USB power usage -- I am not sure whether fastboot or main boot mode charges faster, but either is 10x to 50x faster than USB downloader mode.

*** So, when charging a dead kindle, remember to do a hard boot after charging the battery for about five or ten minutes, even (especially) if the power LED has not begun to glow yet. It may have put itself into USB downloader mode, and that charges at a snail's pace.

I will post more to this thread in the near future. I have been spelunking (exploring its contents at a deep level) recently, and I have discovered many interesting things it has in common, and that are very different, from later kindle models.

What made me more interested in this device is that I found an online store that has replacement roller switches for only $0.99 plus a couple dollars shipping. I ordered one, but before it arrived my roller switch became less flaky and now works quite well. After the replacement switch arrived, examination shows that it is indeed old technology -- MECHANICAL switches, which cleaned themselves (wiping off metal surface oxide) with use. It took a LOT of use for it to become reliable again, so perhaps taking it apart and cleaning the switches with "Tarn-X" (or other metal tarnish remover) would have worked better and faster.

Also, this device contains a small LCD panel (two pixels wide and 100 pixels tall) to the right of the eink display, just above the roller switch. The LCD has a white background, and active pixels are small squares that are perfect mirrors. Sadly, when sitting on the table reflecting my ceiling, the LCD background is almost a perfect match for my reflected ceiling. Depending on time of day, I need to hold the kindle at various angles (preferably reflecting a much darker or much lighter object off the pixels) to make it viewable. This LCD is used as a progress bar (hence 100 pixels tall for percentage), and as a "busy" indicator (bottom 2x2 pixels), but especially for normal usage, it contains a 2x1 marker used to select RIGHT-JUSTIFIED menu items. I suspect this very-early eink device used this LCD because they may have been worried about wearing out the eink by drawing interactive highlighted menu items on it instead of the LCD. As seen in later kindle models, this turned out to be a non-issue, and later kindles do not need an LCD panel in addition to the eink.

Another thing is that the flash memory is NOT eMMC, and does not contain its own embedded processor to manage write wear-levelling and bad block relocation. Instead, these things are managed by a proprietary Samsung XSR device driver, providing both raw block management layer (bml) devices for read-only partitions, and sector translation layer (stl) devices for writable partititons. For some reason, I can only backup bml partititons with dd (even bml partitions underlying stl partititons like /opt and /mnt/us). Because of block relocation, those partitions are specific to a particular flash with its own collection of bad block and write wear-levelling relocations. Therefore I also tarred up the corresponding mounted filesystems. All the read-only (raw) partitions seem to be squashfs, whereas /opt is ext3 and /mnt/us is vfat. One of the partitions that I backed up is not mounted, nor in mtab, so I am not yet sure what format it contains.

One particular thing to note about jailbreak compatibility is that the K1 does NOT contain a /var/local partition -- config vars seem to be stored in /opt instead.

Also, there is no five-way pad -- only the up-and-down roller button, and no arrow keys. To be compatible with most hacks, they would need to support arrow-keys using WASD keys, or perhaps the roller button could do horizontal scrolling while the PREV-PAGE button is pressed.

Also, this device uses the older Apollo eink controller which only supports two-bit pixels (four pixels per byte, 4 grey levels). I will need to update my gmplay dithering to support 2-bit pixels. EDIT: Done!

And BTW, I now have a working KUAL extension for my kindle video player and some of my native mode video demos (which I will post later).

Enough for now. More later in this thread. This is a fascinating device -- apparently relatively rare these days (perhaps discarded when seldom used roller switches oxidized and became unreliable). These go for more than their original $399 price on amazon (more than $1000 in some cases) though there are a few on ebay right now for less than $30.

I plan to support this model, so we may need to add a K1 prefix to this forum and to the master index wikis (see the sticky).

Comments are welcome in this thread.

Last edited by geekmaster; 07-21-2016 at 07:40 PM.
geekmaster is offline   Reply With Quote