Ühel kenal päeval, T, 03.06.2014 kell 20:10, kirjutas Joe Burmeister: > yer!!! \o/ > > I'll add your firmware to the others. > > I take it this is still with the 3.0 kernel? > Can you humour me and try 3.4 with the suspend and Android stuff removed? > It is works with Android without the untested Android and suspend stuff, > I'll just drop them, and I don't have the guilt of carry code I've not > tested. > > You are welcome and thank you for working it through with me. Not only > have a got another firmware out of it but the tools are improved. :-)
Could you please add a page to Linux-sunxi wiki about this driver? Just a stub would suffice that would mention the repository, tools and where to download the firmware blobs. Thanks :) > Joe > > > On 03/06/14 19:38, eynstyn...@gmail.com wrote: > > Great news! > > > > It works! Backwards... Basically the board was the 3rd in that list > > (INET_66V), but that's an easy fix in the script.bin with the x y order. > > > > Here's the firmware for 420TPC: > > https://www.dropbox.com/s/7fz9i74l8rp70pk/420TPC.fw > > > > Thank you for this amazing tool and driver port! > > Stay tuned as I'll be dd'ing an SDCARD image very soon once other drivers > > sorted out and distro deemed ready. > > > > > > On Tuesday, 3 June 2014 14:08:38 UTC-4, eynst...@gmail.com wrote: > >> Full dmesg of TPC now: > >> https://www.dropbox.com/s/m9bv990gcjzn6rt/dmesg.txt > >> > >> So after you cut the fw, 14 blocks? Hmmm, this is almost a go. > >> I'll try out fw_extractor and fw_info again and see which file makes it > >> work. Other source code I've seen needs firmware + config. > >> > >> The 3.4 kernel continued to bug out and state i2c not idle so scrapped it > >> and went 3.0.76. Interesting is that enabling/disabling early_suspend in > >> this kernel doesn't make much difference other than the fact that > >> early_suspend had in the past corrupted many of my SDCARDs! This kernel > >> seems to behave well and load android/linux compiled drivers no problem. > >> 8188eu wifi is messed, but that's another story and different prob. > >> > >> Compiled the driver and it registered an input device! > >> After that, it went on to the firmware download process, lagged a bit > >> because of the large file being passed (wrong firmware) and I am betting > >> if the right file is passed this will work and should see output with "cat > >> /dev/input/event3" > >> > >> The original script.bin contained other touch firmware ctp names. > >> In android, the init basically loads all those drivers until the right one > >> just works. The inet_ctp module does nothing more than check for the right > >> ctp_name because the gslx680 was ctp12_name in the script.bin and it's > >> usually just ctp_name. inet_ctp isn't needed, it doesn't contain any > >> firmware. > >> > >> > >> On Tuesday, 3 June 2014 07:42:23 UTC-4, Joe Burmeister wrote: > >>> Input, nom nom nom! > >>> > >>> > >>> > >>> I cut by {0x7c,0xFFFFFF16} termination I get 14 blocks. > >>> > >>> > >>> > >>> Which is interesting because doing "strings" on your android driver I see: > >>> > >>> > >>> > >>> Downlaod GSL1680E_FW_86VS_INET > >>> > >>> Downlaod GSL1680E_FW_86VSH_INET > >>> > >>> Downlaod GSL1680E_FW_66V_M4302_INET_V2 > >>> > >>> Downlaod GSL3680_FW_shenghexiang0072 > >>> > >>> Downlaod GSL1680D_FW_86VSH_INET > >>> > >>> Downlaod GSL1680D_FW_86VS_INET > >>> > >>> Downlaod GSLx680_FW_85V_M501V > >>> > >>> Downlaod GSL1680_FW_newdingshengwei_1 > >>> > >>> Downlaod GSLx680_FW_86FV_M728_TOPSUN_C0801 > >>> > >>> Downlaod GSLx680_FW_NEWDINGSHENGWEI_OGS_4 > >>> > >>> Downlaod GSL1680_FW_newdingshengwei_5 > >>> > >>> Downlaod GSL1680_FW_TOPSUN_OGS_G7009 > >>> > >>> Downlaod GSLX680_FW_86V_TOPSUN_OGS > >>> > >>> Downlaod GSL1680_FW_haina > >>> > >>> > >>> > >>> Which is what you listed at one point. > >>> > >>> > >>> > >>> But only two of the blocks have information that I have any information > >>> > >>> about (and that information could of course be wrong). > >>> > >>> > >>> > >>> However, if I run this new extractor against my own firmware. It cuts it > >>> > >>> up into multiple ones, only one of which has information we know. > >>> > >>> And all but one of them work on their own. So I've taken the working one > >>> > >>> that still has the known information in it. > >>> > >>> > >>> > >>> My android driver doesn't have the handy little list of the different > >>> > >>> contained firmwares though. > >>> > >>> > >>> > >>> Anyway, updated the extractor. Thank you very much. :-) > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> In your android driver 000a5f00-000b27b0 really does look like there is > >>> > >>> firmware for something. It just doesn't look like a GSLX680. > >>> > >>> > >>> > >>> I can well believe the suspend stuff shouldn't still be in there, again > >>> > >>> a left over from the port that I wasn't using. > >>> > >>> Early suspend could well be a problem. Just remove it. > >>> > >>> > >>> > >>> Joe > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> On 02/06/14 18:33, eynstyn...@gmail.com wrote: > >>> > >>>> ============= Extraction of the 2 files ============== > >>>> TPC 5 point touch firmware 800x480: > >>>> https://www.dropbox.com/meta_dl/eyJzdWJfcGF0aCI6ICIiLCAidGVzdF9saW5rIjogZmFsc2UsICJzZXJ2ZXIiOiAiZGwuZHJvcGJveHVzZXJjb250ZW50LmNvbSIsICJpdGVtX2lkIjogbnVsbCwgImlzX2RpciI6IGZhbHNlLCAidGtleSI6ICIzOWRrajFjamw0MTJ1d24ifQ/AAKIoE8LVcuSgujNz0kc8Ao27eniAftE09TUtg2cpQ1WGQ?dl=1 > >>>> TPC 10 point touch firmware 1280x800: > >>>> https://www.dropbox.com/meta_dl/eyJzdWJfcGF0aCI6ICIiLCAidGVzdF9saW5rIjogZmFsc2UsICJzZXJ2ZXIiOiAiZGwuZHJvcGJveHVzZXJjb250ZW50LmNvbSIsICJpdGVtX2lkIjogbnVsbCwgImlzX2RpciI6IGZhbHNlLCAidGtleSI6ICIzNGs1ajN1MDhvZzJmc2QifQ/AAKoqqQ6bWxc0Sa-m6CO0Z4J3REyDthtO-HmK2lZusscWA?dl=1 > >>>> I do not believe there are 7 firmwares, because from my understanding a > >>>> firmware footer visually ends with many 0xFFFFFFF so if I counted > >>>> correctly, there are only 2 and the rest of the data is configuration. > >>>> After extracting just those two, I get 2 different screen resolutions > >>>> and more parameters like 10 point touch, 1280x800 for the bigger screen > >>>> of course. > >>>> The end footer in this case is 7C 00 00 00 16 FF FF FF {0x7c,0xFFFFFF16} > >>>> In a hex editor, I scanned instances of 0xC0FFA5A5 (Common object file > >>>> format) as this seems to be a marker. It does start with 0xF0 and 0x03 > >>>> but it's read in reverse so "F0 00 00 00 03 00 00 00 00 00 00 00 C0 FF > >>>> A5 A5". In the android driver when I dmesg in android not linux, the > >>>> driver looks for those bytes during the firmware download process and > >>>> outputs them to screen. > >>>> So it appears that it uses an 800x480 touch screen resolution on an LDPI > >>>> 480x272 screen resolution which is actually 1024x768 in script.bin's > >>>> screen_output_mode parameter. > >>>> By the way 3.4 removed early_suspend and 3.0.76 has it. > >>>> Could early_suspend have anything to do with this? > >>>> On Monday, 2 June 2014 11:13:35 UTC-4, Joe Burmeister wrote: > >>>>> The firmware from extractor does look too big. > >>>>> You said before you found it was multiple ones, and knew what they > >>>>> where. > >>>>> How did you do that? All I've got to go on is if the data continues to > >>>>> follows the rules for the GSLx680 register+value pairs. Writing to a > >>>>> page written to before is all I can think to go on, and that I wouldn't > >>>>> trust. > >>>>> At 0x000a5f00 there is what looks like firmware. BUT very quickly the > >>>>> register numbers are beyond 8 bit, which doesn't fit with what I thought > >>>>> we knew about the GXLx680. It also doesn't start with GSLx680's page > >>>>> control register. The GSLx680 uses a paged register scheme, with f0 > >>>>> being the page control register. So normally the first thing the > >>>>> firmware does is set the page the first page of data is for. So I'm > >>>>> wondering if what looks like a small secondary firmware isn't for the > >>>>> GSLx680. Or if the GSLx680 does unpaged registering when the register > >>>>> numbers are beyond 8bit, which is new to me. If it is firmware, we need > >>>>> to find out about it. Is it a new to us way of doing GSLx680 firmware, > >>>>> after or alongside the main firmware? Is it for a different chip > >>>>> altogether? If so, what and how do we load this firmware on it, etc etc > >>>>> etc. All of which could be pretty painful to work through. > >>>>> A data sheet for the GSLx680 could make all this so much easier! > >>>>> Let me know how your wakeup investigations go, patches are always most > >>>>> welcome. :-) > >>>>> Joe > >>>>> On 02/06/14 14:12, eynstyn...@gmail.com wrote: > >>>>>> From 420TPC running Android 4.1 > >>>>>> https://www.dropbox.com/s/ahzqp78us9vre9x/gslx680.ko > >>>>>> Interesting you mention about the build. I changed the kernel from 3.4 > >>>>>> to 3.0.76 (and there are many of them) > >>>>>> and the android drivers inet_ctp and gslx680 force modprobed without > >>>>>> kpanic. > >>>>>> The only thing is now it's no longer reporting STOP or i2c state not > >>>>>> idle, but > >>>>>> instead incomplete xfer (0x20) and incomplete xfer (0x48) right after > >>>>>> a blurb > >>>>>> ctp_init_platform_resource: tp_reset request gpio failed! > >>>>>> It however did read the script.bin parameters correctly like > >>>>>> ctp_exchange_x_y_flag etc. > >>>>>> The error 0x48 is about wakeup. Device probably didn't wake so nothing > >>>>>> got sent. > >>>>>> If this passes, then the touchscreen should be active and the > >>>>>> following incomplete xfer (0x20) <-- tons of these messages might > >>>>>> actually send legit data over the bus. I think those xfers were to > >>>>>> download the firmware. > >>>>>> So gonna enable some debugging on the i2c and pinpoint this. > >>>>>> Then if this works, try out the linux driver compilation and see how > >>>>>> it differs in output. > -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.