Quantcast
Channel: MobileRead Forums - Kindle Developer's Corner
Viewing all 4460 articles
Browse latest View live

K3 Is Das U-Boot on the MMC or some other type of ROM?

$
0
0
  1. Where is Das U-Boot on the Kindle that the ARM processor looks for and boots
  2. Is it safe to erase? Can it be restored?
  3. How can it be backed up/restored? With which tools?
  4. What are the differences between the tools?



Where is Das U-Boot stored? Is it on the main 4GB MMC that contains the Linux filesystems as well as the VFAT "thumb drive" partition? Or is it in some specialized type of boot ROM somewhere else?

I'd like to know how to entirely backup my Kindle Keyboard (Kindle 3) including the bootloader, and I'd like to know how far I'd have to go in erasing things to completely brick the Kindle. I have a 1.8V TTL cable and can access the serial port, so if it's only possible to brick the USB functionality but it can still be reprogrammed with the UART that is fine.

The reason for my asking is that I intend to completely rewrite the Kindle's firmware from the ground up for a personal project involving the eInk display and the serial port. I know I could just the existing bootloader and Linux kernel/drivers, but that isn't what I am interested in doing. I'd like to erase everything and start with a clean slate, but at the same time I don't want to brick my Kindle to the point the reprogramming tools are useless.

Also I'd like to know what the differences are between the various Kindle flashing tools: Freescale ATK, MfgTool, fastboot, k3flasher, etc.

I dumped the first 700mb of the flash filesystem using the ATK. MfgTool didn't seem to have an ability to dump -- only to program. I have not tried fastboot, and k3flasher seems to just be an linux alternative to ATK.

I'd appreciate insight!

K3 HELP - Unknown_Serial_ID after debricking

$
0
0
I updated my Kindle 3G to software version 3.4 last night and tried to install launchpad after jailbroken it. However, the 'Update Your Kindle' option remain greyed out after I put the bin file in the root folder. So I did a restart and, tada, 'UPDATE ERROR:3' and then the device stays in the 'USB Downloader' Mode with a screen showing "Your Kindle encountered an error."
In order to debrick it, I used the ATK to program the backup of mmcblk0p1 (version 3.1) and the corresponding uImage into the memory and it was able to startup again. Unfortunately, the 'Device Info' part seems to have lost during the process, resulting 'Wi-Fi MAC Address: Unavailable' and 'Serial Number: Unknown_Serial_ID' :(
As a result, my Kindle 3G is currently unable to scan for Wi-Fi Network or register. '411' stucks at 'Retrieving data...'
Could anyone provide any suggestion to help me solve this problem?
Thank you.

K5 "Force" paragraphs

$
0
0
Hi!

I just got a Kindle Touch and i'm having an issue i didnt have with kindle keyboard i stiill own. This problem i didnt have with my kindle keyboard, which have Duokan installed.

Some books i have simply doenst come with paragraphs (i've opened they on calibre, they really dont have paragraph). Those books opened on duokan are "corrected" by the software, and they are draw correctly with their proper paragraphs.

Is there any way to "force" KT to detected the change of line and draw the paragraph?

Thanks in advance, and sorry for my bad english ^^

K3 digging around in startx

$
0
0
hi.

digging around in startx we find on the Kindle Keyboard.

Quote:

start_x()
{
# Ensure that the Framework is stopped (this will also wake the
# various input devices and the screen).
#
wait_framework_done

# Ensure that the eInk HAL is in the right state (8bpp) for X usage.
#
if [ ${SCREEN_DEPTH} -ne 8 ]; then
echo "*** Switching to byte per pixel mode ***"
${EINK_RESTART} 0 8
fi
}

Didn't know you could do that.

also: "/usr/bin/einkdamage" is referenced but doesn't exist, but I believe it is there on the 5 devices. (will check). Perhaps the code is out there? and could be back-ported...

Quote:

The X Damage Extension allows applications to track modified regions of drawables.
so it's some calls from X to the eink to let it know what to redraw. okay.

rxvt is the terminal it expects to run. (don't have this, could build - or swap out for a similar thing I do have) any suggestions on a native alternative. I don't see why they don't use Xterm but I recall something about rxvt being a virtual terminal, I'll have a read up on that.

and a few goofy xapps (I've got all but one)

I'll do a bit more digging - I have created all the required supporting Xapps and libs now I think for the 3.

Will keep plugging on and see if I can get the X server up at least.

but yeah. my question. restart the 3 in 8 bit mode? you can do that?
and X on the 3 (I know someone who REALLY wants it, despite likely performance) thoughts? examples? I'm searching.

Thanks and Cheers.

K3 The 3.4 Update and related troubles

$
0
0
Hello everyone.
I wanted to share with you the experience of a successful Kindle 3 restoration.
I have a Kindle 3 WiFi Special Offers. I had almost every important hack installed on it since the 3.2.1 update (Temp jailbreak for 3.2.1, USB Networking hack, fonts hack, ss hack, launchpad, kite). Every OTA update went smooth. The troubles began when the 3.4 updated installed automatically. It was successfully installed, but when the the framework finished loading, I could only see the list of books. The top & bottom bars were invisible, the menu would not appear on screen and opening any book would only freeze the framework. An interesting fact was that I could start CoolReader 3 via launchpad and it would work correctly.

So, following qlob's "Noob's guide to debricking through ATK", I flashed the 3.4 files (kernel-3.4.img & mmcblk0p1-3.4+jb+keys.img). After waiting more than 3 hours, the process completed successfully. But when it booted, it still had the exact same issues. So, using the guide again, I flashed the 3.0.2 files (kernel-3.0.2-factory.img mmcblk0p1-3.0.2-factory.img). After some other 3 hours, the Kindle booted successfully. And everything was working perfectly. I started installing the official updates (Update_kindle_3.1_B008.bin, Update_kindle_3.3_B008.bin, Update_kindle_3.4_B008.bin). Some updates took more time than other. But, after installing the last update, I was back to the issues I had initially! I was convinced that the issues might be caused by one of the hacks, but now it makes no sense.

Right now I'm in the process of re-flashing 3.0.2, and I plan to update up to 3.3. What exactly seems to be the problem with the 3.4 update? And is there any way of disabling the OTA updates on the K3, besides not enabling WiFi?

Kindle eWriter (for consumers)

$
0
0
earlier this year an attempt was made for a kindle-USB-hack but it remained unfinished http://www.christian-hoff.com/?p=139

"twobob" recently suggested this hack could be made to work
http://www.mobileread.com/forums/sho...0&postcount=54

so what do other hackers think about this?

also: a US-citizen/hacker could start a project on http://www.kickstarter.com
the aim would be to make it possible for consumers to buy an eWriter that works right out of the box.
with millions of consumers buying eReaders surely there are more than a dozen willing to pay extra for one that can also write?

K3 ct-ng is moving rapidly on, how do we keep it useful?

$
0
0
Hi, I'll update this post with some numbers and version but sufficed to say the the current Stable and Git version of the CrossTools-ng Toolchain builder no longer supports many of the various default options we would like for the Kindle Keyboard.

I just ran through another build of a TC for the KK and it built in about 14 mins. but it took a good couple of hours to decide what might be decent settings given the shift away from older parts.

So. I will shift to here (and maybe the wiki one day) the list of tweaks that are required to keep ct-ng producing relevant and non-explosive code for the kindle keyboard.

There are quite a few devs that use this configuration so feel free to chip in.

[INFO ] Cleaning-up the toolchain's directory: done in 0.59s (at 13:32)
[INFO ] Build completed at 20121026.044000
[INFO ] (elapsed: 13:31.87)
[INFO ] Finishing installation (may take a few seconds)...

I'll start. The oldest Kernel is one point version too high. However choosing the oldest is your only option. (aside from making the Amazon one fly)

I'll try x-compiling a few bits and see what drops out, and note the various configurations along the way.

Niluje, Knc1 and GM amongst others, have already exhaustively offered neat sets of default flags that I will transplant here form the BR thread.

Doing this for the touch is a breeze. Let's make the KK users life a bit easier too ey.

NOTE: The 2007q3 CS TC does a fine job in many cases. Just so you know.

Thanks for listening. updates to follow.

Paperwhite Gestures

$
0
0
Hello all,

I'm not much of a coder and have no idea where to start, however would it be possible to add gestures the Touch Gestures to the Paperwhite?
On my touch if I swipe up or down it jumps to the next chapter in that direction.
This feature is missing from my paperwhite I have to bring up the menu, select GoTo and select the chapter from the drop down.
Personally I feel this is a step backwards in functionality and would love to have it back.

Thanks for reading.

K5 help: broken glauncher menu

$
0
0
Hi everyone, I'm new I'm noob I'm curious, a wannabe developer without the necessary skills - yet. For sure I got into an issue I can't master already, please advice me how to fix it. Jailbroken K5, no USB networking patch, yes jbpatch and glauncher menu. Everything worked great for awhile, then - following a weird run of Gui_Launcher_Collection_8-28-12 - I ended up with a shortened glauncher menu and my kindle always restarts in landscape mode. What can I do to fix both issues, the former is more important? By "shortened glauncher menu" I mean that only four top level items are listed: HackedUpReader(*), Start USBnetwork, Komic2.0(*), and Orientation. (*)=These come from individual install packages, not from Gui_Launcher_Collection_8-28-12. All other Gui_Launcher_Collection items, as well as any other separate install package I have tried to add - such as xterm, leafpad, etc. - do not show up in the menu. They used to show up before, but they don't anymore. I have tried installing and uninstalling glauncher menu and Gui_Launcher_Collection several times, but the menu is still shortened and can't be extended with new packages. Weird enough, I can see all json and xml files in the right places and with their original contents, but their corresponding apps and utils don't show up in the menu.
Thanks in advance for your help.

K5 Python and PyGTK for Kindle Paperwhite

$
0
0
Hi,

I couldn't find already packaged PyGTK for Kindle, so I decided to do it on my own. And I've just got PyGTK running on my Paperwhite.

I've used latest Debian sid armel packages. There is GTK+ provided (and few others) despite of Kindle having its own version - I was too lazy to recompile everything to fix missing symbols issues.

All symlinks and hard links in package are dereferenced, which means that it can be safely unpacked on /mnt/us, but it also means that there are copies instead of links and they take more space.

Download: http://dosowisko.net/kindle/python.tar.gz

Usage:

Unpack python.tar.gz package in /mnt/us/extensions (or if you're in USB disk mode - in /extensions). If you really want to, you can place it somewhere else, but you'll need to tweak paths in pythonenv file.

You can setup environment with ". pythonenv" command. After that you can just call "python", or run python files just like any other executable. There's one test file bundled - just type "./test.py" to run it.

(please note that windows have to have proper X11 class names in order to be correctly displayed by Awesome - refer to http://www.mobileread.com/forums/sho...hp?t=162022#10 for more info)

It probably won't work on any other Kindle than Paperwhite, but you can still try ;)

Cheers

Native Drawing app on Paperwhite

$
0
0
When playing with my Paperwhite's console, I noticed a tiny app called xtestlab126. It looks like a small test app for touchscreen, but it works well as simple drawing application.

It has one major issue - the only way to exit it is via console.

I liked an idea of having simple drawing app available at no cost, for instance for quick tick-tac-toe sessions or something like that, so I wrote small shell script which fixes the issue mentioned above by closing app on pressing power button or closing magnetic case cover.

Code:

#!/bin/sh
/usr/bin/xtestlab126 &
( dbus-monitor "interface='com.lab126.powerd',member='goingToScreenSaver'" --system; killall xtestlab126 ) &
sleep 1
killall -INT dbus-monitor

I have saved it in /usr/bin/draw.sh and added it to search bar commands so I can run it by typing ";draw" there, but you can have different ideas, like running it via some graphical launcher ;)

PS. Tap with two fingers to clear screen :) It lacks repainting though, so it ghosts...

K3 Is there an adb daemon for the Kindle Keyboard?

$
0
0
I know that, technically, adb is for android devices and that the Kindle Keyboard is not an android device. But adb interacts with the linux system underlying the android OS, and not, except perhaps in using the install command and maybe some other(s), the special android features.

So, is there in existence a daemon that runs on the K3 that allows one to use adb to run a linux shell and/or 'push' files to and 'pull' files from the K3? (I already have the myts terminal emulator and launchpad installed.)

K3 the question of downgrading from 3.4 to 3.3

$
0
0
my kindle 3.4 downgrade to 3.3,programming and downloading are ok,but it can`t restart.i used ATK to do that,then power button is out of work.I have recharged it 8 hours,but nothing is changed.how can I do?

Is there any way to cut my Kindle off from Amazon entirely?

$
0
0
Dear Dudes and Dudettes,

I want an e-reader. I'm also very protective of my privacy. Is there some sort of hack I can install on the Kindle Paperwhite or any other e-reader that cuts it off from the manufacturer entirely?

Really what I'd like is a Kindle Keyboard variant or similar, but really I'll use any device that doesn't cause me eye strain greater than that of an ordinary LED-backed monitor. What I'd like is no syncing with the manufacturer, no remote access, no firmware updates. If I have to install vanilla android or some other ROM on the ereader, that's fine, I just want to own my own device and keep my business my business.

I would like to be able to connect it to the network via wifi too, although I suppose that eliminating the ability for it to do that would be adequate to ameliorate any privacy concerns.

I figure that if I don't use the ebooks available via my library's program and instead buy books from amazon, I can buy them on my computer and then transfer them to the ereader. Works for me.

One thing I'd prefer not to hear about is how my concern for privacy is unnecessary if I'm not doing anything shady. I'm not. Others might not value privacy, and that's fine, but I do. That's the major sticking point that's keeping me reading squid stains on dead trees rather than with a nice, light, compact device. If I can't get what I want, if no such hack exists, I'll stick with dead trees.

I apologize if this question is too general for this forum. Please let me know if that is the case and I'll move it.

Thanks for reading. I mean that in more ways than one. :)

K5 Navit on Kindle Touch

$
0
0
Navit is an Open Source navigation software which also runs on Kindle Touch.
Due to the window title filtering of the KT windowmanager the ready-made version from Debian does not show up on the display.
A lot of the Navit features are configurable in navit.xml. But the window title is hard coded.
Therefore I recompiled a patched version of the current svn repo.

The patch:
Spoiler:

--- a/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c Sat Oct 27 09:14:07 2012 +0200
+++ b/navit/graphics/gtk_drawing_area/graphics_gtk_drawing_area.c Sun Oct 28 10:10:53 2012 +0100
@@ -18,6 +18,7 @@
*/

#define GDK_ENABLE_BROKEN
+#include "windowtitle.h"
#include "config.h"
#include <stdlib.h>
#include <signal.h>
@@ -1240,7 +1241,7 @@
if ((attr=attr_search(attrs, NULL, attr_window_title)))
this->window_title=g_strdup(attr->u.str);
else
- this->window_title=g_strdup("Navit");
+ this->window_title=g_strdup(WINDOW_TITLE);
this->cbl=cbl;
this->colormap=gdk_colormap_new(gdk_visual_get_system() ,FALSE);


The window title is defined in windowtitle.h:
Code:

#define WINDOW_TITLE  "L:D_N:application_ID:navit"
Configuration:
Spoiler:

Code:

./configure \
  --disable-samplemap \
  --disable-graphics-opengl --disable-binding-win32 --disable-graphics-win32 \
  --disable-graphics-gd --disable-graphics-qt-painter --disable-gui-gtk --disable-gui-win32


Compiling directly on KT Debian I had some troubles with configure and needed to change config.h manually. Sry, no diff. But only two or three defines.

Navit seems to have no multitouch capabilities and therefore pinch-zoom does not work. While riding/driving zoom buttons are easier to use. That and other options can be defined in the navit.xml. The following patch to navit.xml does not show color adjustments of the map.
Spoiler:

Code:

--- navit/navit.xml    2012-10-28 09:44:04.000000000 +0100
+++ /home/tt/navit.xml  2012-10-28 09:34:47.000000000 +0100
@@ -34,7 +34,8 @@
        <navit center="4808 N 1134 E" zoom="256" tracking="1" orientation="-1" recent_dest="250">
                <!-- Use one of gtk_drawing_area, qt_qpainter or sdl.
                    On windows systems, use win32 -->
-              <graphics type="gtk_drawing_area"/>
+              <graphics type="gtk_drawing_area" w="600" h="800" enabled="yes"/>
+              <graphics type="sdl" w="600" h="800"  enabled="no"/>
                <!-- The following line let you select which graphical user interface you'd like to use.
                Options include internal (optimized for touch screen devices), gtk (useful for desktop computers).
                If you don't like the internal gui, set enabled=yes for the following tag and enabled=no for the gui internal tag -->
@@ -111,12 +112,12 @@
                        Usage of negative values change the button origins. x="0" y="0" specifies the top left, x="-0" y="-0" the bottom right corner.
                        It's always the top left corner of the icon, so you need to consider the icon's size when you enter the values. -->
                <osd enabled="no" type="button" x="0" y="0" command="gui.fullscreen=!gui.fullscreen" src="toggle_fullscreen.png"/>
-              <osd enabled="no" type="button" x="-96" y="0" command="gui.menu(1)" src="menu.png"/>
-              <osd enabled="no" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.png"/>
-              <osd enabled="no" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.png"/>
+              <osd enabled="yes" type="button" x="-96" y="0" command="gui.menu(1)" src="menu.png"/>
+              <osd enabled="yes" type="button" x="-96" y="-96" command="zoom_in()" src="zoom_in.png"/>
+              <osd enabled="yes" type="button" x="0" y="-96" command="zoom_out()" src="zoom_out.png"/>
 
                <!-- Vehicle with GPS enabled for gpsd on unix -->
-              <vehicle name="Local GPS" profilename="car" enabled="yes" active="1" source="gpsd://localhost" gpsd_query="w+xj">
+              <vehicle name="Local GPS" profilename="bike" enabled="yes" active="1" source="gpsd://localhost" gpsd_query="w+xj">
                <!-- Vehicle with GPS enabled for direct communication on windows. Remove the line above if you use this. -->
                <!-- <vehicle name="Local GPS" profilename="car" follow="1" enabled="yes" active="1"
                                source="serial:COM4 baud=4800 parity=N data=8 stop=1" > -->
@@ -128,7 +129,7 @@
                <!-- For SDL, you should add follow="1" to have the view centered on your position -->
                <!-- <vehicle name="Meins" enabled="yes" source="gpsd://localhost" color="#0000ff" follow="1"/> -->
 
-              <vehicle name="Demo" profilename="car" enabled="no" active="yes" source="demo://"/>
+              <vehicle name="Demo" profilename="bike" enabled="no" active="yes" source="demo://"/>
 
                <!-- For the cumulative displacement filter to be enabled, set cdf_histsize="x" here, with x being an integer somewhere around 4 -->
                <tracking cdf_histsize="0"/>


I thought enabling the main menu button would disable the jump to main menu when touching the map at any place. But the does not help.

TODO:
* build a kernel with USB OTG support in order to connect a GPS receiver
* disable jump-to-main-on-touch
* configure map colors and text sizes for better readability.
* get SDL framebuffer version running.

Attached Thumbnails
Click image for larger version

Name:	navitkindle1.jpg
Views:	N/A
Size:	43.3 KB
ID:	95066  

K4 Serial cable for FT232RL Kindle 4

$
0
0
In order to get USB OTG support on my Kindle, I had the debug the kernel and attach a serial circuit.

I used this Sparkfun breakout based on the excellent FT232RL chip.

What is great about this chip is that it has a VCIO pin on which you can supply any voltage you need. I combined this with a simple voltage divider for 1.65v.



This works great for reading kernel output, but sending data only works when the Kindle is plugged in to USB. :chinscratch:

I'm not sure if this is related to speed or voltage. I admit my voltage/current might be on the low side with two 10k resistors.

When sending data while not on USB, I observe the following transmission:

Code:

pressed: g(1100111)
received: G(1000111)/g(1100111)
pressed: o(1101111)
received: o(1101111)/O(1001111)
pressed: s(1110011)
received: o(1110011)/c(1100011)
pressed: t(1110100)
received: t(1110100)/p(1110000)
pressed: p(1110000)
received: p(1110000)/`(1100000)

A couple of other characters degrade to `, while a newline seems to degrade to a tab or carriage return and backspace has no visible effect.

Again, when the Kindle is connected to USB it works fine.

Blogpost: http://pepijndevos.nl/2012/10/26/spa...to-serial.html

select input method

$
0
0
I finally got USB OTG to work, and even recognise HID devices.

The next step would be to actually use it. By default, the Java framework and consequently KindleTERM completely ignore the keyboard.

Not sure about native apps, but native apps for K4 are rare...

I think someone ought to have figured this out, but the search function and google are leaving me in the cold.

I found a reference to waitforkey, which waits for USB keyboard presses as well.

Code:

vi /opt/amazon/ebook/bin/start.sh
-Dextkeyboard=true \

I found that in start.sh it says extkeyboard=false. Setting that to true lets me use the arrows, home, ctrl and maybe a few more to move around. But not type!

Even then, I would probably need to patch KindleTERM to support *any* keyboard at all. Or get Myts to run with the K4's new powers.

The twobob studio

$
0
0
Just in case anyone has missed it, here is a (PovRay rendered) vision of twobob's next music studio:
http://vimeo.com/45321425

(Sorry twobob if I let the cat out of the bag on this one.)

Allowing Kindle Paperwhite to browse internet over 3G

$
0
0
It seems like the Kindle Paperwhite cannot go on the internet with the browser over 3G. When I try to use the browser it asks me to connect to wifi. Is there any way to bypass this? It might be useful to have this for the hurricane, just in case (I live in NE).

Importing Collections & Highlights/Notes to Paperwhite

$
0
0
I have a Kindle Keyboard and although I've purchased many books from Amazon, I've removed the DRM from each book before putting them on my Kindle as I want to have control over my ebooks (Amazon has twice deleted users' content remotely, for one example why).

I just bought a Kindle Paperwhite and was hoping that I could just import the collections.json file to recreate my collections without having to sort them all over again, and to import the .mpb files for my notes and highlights. However, it seems that the PW uses a different structure and/or file system for these options. I've already applied the jailbreak but I don't see these particular file extensions. Does anyone have any idea how I can recreate my personalizations on my PW with as little fuss as possible?

Thanks.
Viewing all 4460 articles
Browse latest View live