I am generating a multi-chapter eBook for Kindle Fire by first generating a well-formed xhtml-based EPUB 3.0 format file and then converting the .epub file to .mobi w/ Kindle Previewer and/or kindlegen. The generated .mobi file transfers properly to the Kindle and looks entirely correct. The problem is that my generated file never produces the "Learning Reading Speed" status at the bottom or the actual estimate of reading time. The reading speed feature never seems to get activated for any .mobi file generated with kindlegen. I'm aware that status area cycles through various features/statuses by pressing the status area on the reader screen and am certain that the feature is never activated.
I have generated an alternate version of the .mobi file using Calibre and the reading speed feature is enabled, however the format of the output file is heavily altered and is not consistent with the kindlegen format.
What is the key to generating a Kindle .mobi file with kindlegen that supports the reading speed feature?
I finally discovered the answer, which is that the generated .mobi file needs two tags manually added, 113 ASIN and 501 CDEContentType = EBOK, in the correct primary header of the .mobi file.
The tag information is published elsewhere, but often overlooks that a kindlegen generated .mobi file can have two versions of the same book embedded within the .mobi file, each with a primary header. If the tags are added to the first primary header (typically a v6 header) but not the second primary header (typically a v8 header), the Kindle device will not recognize the tags.
In my case, the tags needed to be added to the second primary header which allowed the Kindle device to treat the file as a book rather than a document. Most .mobi tag editors reference the first primary header only, which can cause confusion. Alternately, the .mobi could be split into two files in which case the tags could be manually added to the primary header of the relevant post-split file.