05-05-2012, 03:32 PM | #16 |
Going Viral
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
|
05-05-2012, 03:54 PM | #17 |
Enthusiast
Posts: 34
Karma: 10
Join Date: Mar 2012
Device: Kindle 3 Wifi
|
I wouldnt know where to begin ¬_¬
|
Advert | |
|
05-05-2012, 04:28 PM | #18 |
Official Lurker
Posts: 1,050
Karma: 7096675
Join Date: Apr 2012
Device: Kindle 3.4
|
I will try this through myts in my k3's diags.
|
05-05-2012, 05:44 PM | #19 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
K3 diags? How do you launch myts from the diags menu on a K3?
By the way, for anybody interested, it takes about 5 minutes to raytrace a 600x800 image with a bunch of chrome spheres directly into /dev/fb0 on my K3, and compiling with tcc instead of "arm-linux-gcc -O3" does not slow it down. Last edited by geekmaster; 05-05-2012 at 05:48 PM. |
05-05-2012, 05:52 PM | #20 | |
Official Lurker
Posts: 1,050
Karma: 7096675
Join Date: Apr 2012
Device: Kindle 3.4
|
Quote:
BTW: I don't see any options for ssh Last edited by qlob; 05-05-2012 at 05:57 PM. |
|
Advert | |
|
05-05-2012, 06:01 PM | #21 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
|
|
05-05-2012, 10:41 PM | #22 | |
Official Lurker
Posts: 1,050
Karma: 7096675
Join Date: Apr 2012
Device: Kindle 3.4
|
Quote:
Code:
touch /mnt/us/ENABLE_DIAGS |
|
05-05-2012, 11:31 PM | #23 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
|
|
05-05-2012, 11:39 PM | #24 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Kindle firmware update 5.1.0 inserts two new (rarely used) fields into the eink update structure in front of critical fields that MUST be there. This completely breaks all existing programs that do eink updates using ioctl() calls, which is more important now that they removed the /proc for eink updates commonly used by programs and scripts in the past.
They created a major problem by relocating critical fields in this structure, because the 5.1.0 mxcfb.h uses the same filename and the same structure names as the 5.0.x header file, so you cannot include both of them. Not only did lab126 break compatibility with other kindle models (i.e. K4diags), but they broke compatibility with the previous SUBVERSION of the K5 firmware, and "screwed the pooch" while they were getting busy in this new code... It looks like I will have to keep using the old header file, and include renamed copies of the new severely flawed structure layout directly into my code. WTF were those guys smoking that day at lab126? |
05-06-2012, 12:14 AM | #25 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
I have ioctl() eink udpates working in my gmplay program, but this broke compatibility with kindles running OTHER 5.x firmware versions.
It is interesting that stucture naming conflicts between different 5.x firmware versions makes kindle touch eink software incompatible with other 5.x firmware versions, but it is still compatible with K4main, K3, DX and DXG (due to different header filename and different structure names for the older kindles). Although it is easy to support eink for all kindles except 5.1 firmware, adding that in while keeping compatibility with 5.0.x firmware and 4.x(diags) is going to get messy. Those lab126 guys are going to get my negative attention when I have time... Oh... and they even broke eink update compatibilty between 5.1.0 main and 5.1.0 diags. I decided to try a hack here, where I use the new header file with the extra fields, and mirror the old values into their new locations AND into the new fields. That might actually work. NO! putting a non-zero value into the new fields to be compatible with OLD fields that were in those locations makes the eink updates NOT WORK! They screwed up so that even a simple hack like I wanted to do cannot work. All I am trying to do is eink updates WITHOUT calling eips, that work on 5.1.0 main AND on 5.1.0 diags. Is that too much to ask? I need ioctl calls to work so I can to fast text with small area updates (which are much faster than full screen updates). Last edited by geekmaster; 05-06-2012 at 12:35 AM. |
05-06-2012, 01:15 AM | #26 |
Zealot
Posts: 130
Karma: 10000
Join Date: Mar 2012
Device: Kindle 3G, Kindle Touch 3G, iRiver Story HD, Sony Reader
|
Hi geekmaster,
This demo is great! Great work! I think being able to stream video will be excellent. Especially if you can integrate with the browser... BTW, I still cannot compile in tcc. Would you please provide the tcc header einkfb.h and other that may be needed. Thanks, James |
05-06-2012, 01:26 AM | #27 | |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Quote:
But there is a serious problem with firmware version 5.1.0: they changed the mxcfb.h header file for 5.1.0 so that it is NOT compatible with the 5.0.4 mxcfb.h header file. They changed the layout of a structure critical to doing eink display updates, in a way that is totally incompatible between 5.0.x and 5.1.x firmware. This is a huge violation of the ioctl() standards. And the new fields they put in the old position will not work with the old values, so there is not even a simple hack to make them both work. Not fun. The headers are in the GPL source, but it looks like we cannot use them if we want code that works on the new kindles with their new broken header file. I want to fix the compatibility problem before I post header files. In fact, I am considering NOT using the eink header files at all. |
|
05-06-2012, 02:06 AM | #28 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
Ok... During the init, I attempt an eink update using one structure layout, then if that fails I use the other structure layout for all future calls. There is no reason to use the eink include files if I need to define renamed structures anyway.
Yes! It now works in both 5.1.0 main and 5.1.0 diags, so it should work anywhere. The problem is that I already had 7 different eink configurations to test, and now I need to test different eink driver STRUCTURE layout versions too. The information returned by ioctl calls is identical for both structure layouts, so the only way to tell them apart is to try both and use the one that does not return an error code. Yuck. But at least I got it working now. Goodbye eink header files! And by the way, besides replacing the structure layout, I have to xor the eink update code with 0x80000, which I found by using strace on both versions of eips. Both update code values have the same #define name though, just like the structure layouts -- one more reason to trash the eink header files... I suspect my eink 5.x compatibility hack will break again on the next firmware update. What were those guys thinking? Last edited by geekmaster; 05-06-2012 at 02:09 AM. |
05-06-2012, 03:44 AM | #29 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
|
05-06-2012, 11:32 PM | #30 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
I have a new geekmaster video for gmplay. It is called fpv2.gmv.gz. It is 31MB, which is too large to upload to mobileread, so you can download it from mediafire.com using the link in the first post of this thread.
It was optimized for playing on the K3. For the K4 and K5 we can use a lot more frames per second for even smoother video playback, but I intend to keep my geekmaster productions in a K3-compatible format due to the continuing popularity of that device. Enjoy! EDIT: This is playing on my DXG now. Even with all the dropped frames due to the lower refresh rate on the DX and DXG, it is still surprisingly watchable. In fact, the slower framerate on the DXG makes the images much sharper than you see at a higher framerate on the K3 and newer. I could see this as a useful monitor for a security camera. It has much better direct sunlight visibility than any other affordable display device of this size and portability. Last edited by geekmaster; 06-02-2012 at 07:55 PM. |
Thread Tools | Search this Thread |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Hacks free kindle video player | geekmaster | Amazon Kindle | 0 | 05-07-2012 01:17 AM |
Video Player | wilbrich | Kobo Tablets | 1 | 11-24-2011 03:40 PM |
Video player, Video streaming,Remote | mint121 | enTourage eDGe | 1 | 11-18-2011 04:31 PM |
Frustrated with the video player | TonyToews | Kobo Tablets | 10 | 11-01-2011 02:15 PM |