[linux-sunxi] Re: New firmware for GSL1680

2015-05-24 Thread sergk . admin
Ok, 
So fresh news and summary.

Many many thanks to Sergio Costas for his work and assistance. He wrote and 
published FW extractor. I suppose it will be useful for someone trying to 
make it works GSL1680.
In my case, Chuwi Vi8 super (baytrail architecture) it looks that chinese 
developers put in this tablet touch screen with higher resolution than 
display resolution.
It means that what I have extracted from .ko elf file from the begining and 
what I have taken from Win 8.1 Silead.fw and what I've got with Sergio 
Costas's extractor - all these firmwares returns weird resolution 1145x1725 
(may be allittle mistake ;-) due my fingers, but I think that I note it as 
correctly as I can).
So, in case for Chuwi Vi8 super, baytrail architecture - the solution is 
still the same - add rescaling correlation to Sergio Costa's user space 
driver.

Also I have not yet analyzed all working firmware files that I have but for 
me it looks weird that different size firmware works in the same manner. 
(in case of user space driver it is important the size of FW because the 
more it is the more its time consuming for loading it).

It will be good to disassemble firmware for GSL1680 to understand what is 
it, I saw in some variants of firmware some comments to some portion of 
bytes (unfortunately in weird char layouts, probably chinese or closely).

With best regards,
   Serge Kolotylo. 




-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-24 Thread sergk . admin
Ok, 
So fresh news and summary.

Many many thanks to Sergio Costas for his work and assistance. He wrote and 
published FW extractor. I suppose it will be useful for someone trying to 
make it works GSL1680.
In my case, Chuwi Vi8 super (baytrail architecture) it looks that chinese 
developers put in this tablet touch screen with higher resolution than 
display resolution.
It means that what I have extracted from .ko elf file from the begining and 
what I have taken from Win 8.1 Silead.fw and what I've got with Sergio 
Costas's extractor - all these firmwares returns weird resolution 
11145x1725 (may be allittle mistake ;-) due my fingers, but I think that I 
note it as correctly as I can).
So, in case for Chuwi Vi8 super, baytrail architecture - the solution is 
still the same - add rescaling correlation to Sergio Costa's user space 
driver.

Also I have not yet analyzed all working firmware files that I have but for 
me it looks weird that different size firmware works in the same manner. 
(in case of user space driver it is important the size of FW because the 
more it is the more its time consuming for loading it).

It will be good to disassemble firmware for GSL1680 to understand what is 
it, I saw in some variants of firmware some comments to some portion of 
bytes (unfortunately in weird char layouts, probably chinese or closely).

With best regards,
   Serge Kolotylo. 




-- 
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.


Re: [linux-sunxi] Re: New firmware for GSL1680

2015-05-20 Thread Michal Suchanek
Hello,

On 20 May 2015 at 10:55,  sergk.ad...@gmail.com wrote:

 i2cdump -f -y 4 0x040 -r 0x00-0x7F b


 PROBLEMS:  Variant1: On the running Android with working touch screen very
 often I could NOT read via i2cget data and more over repeating reading makes
 NO RESULT. For example
 i2cset -f -y 4 0x040 0xf0 0x05 b

 i2cread -f -y 4 0x040 0x00 b - OK
 i2cread -f -y 4 0x040 0x01 b - error - repeat - OK
 i2cread -f -y 4 0x040 0x02 b - error -repeat - OK
 i2cread -f -y 4 0x040 0x03 b - error -repeat-eror - stuch with this! :(

 Variant 2:
  On the running Android with working touch screen
 on the step2 = i2cdump -f -y 4 0x040 -r 0x00-0x7F b
 it returns portion of data but on the screen there are many XX bytes  (byte
 with value XX)- that I do not even know what it is - is it not able to read
 or something like forced conversion non displayed  hex value to displaying
 symbols inside i2cdump during outputing to terminal?


 So ASSUMING: Is these variants correct? May be it should be done in another
 way? Why there are such problems and how to read existing loaded FW?  - I
 need to dump it all.


For some reason the values are set in 4byte chunks (32bit integers) so
maybe try reading integers rather than bytes. Unfortunately, i2cget
does not seem to support 32bit values.

Thanks

Michal

-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-20 Thread sergk . admin
I would like to rise up topic into the following direction: Lets try to 
dump currently loaded firmware for GSL1680 on Adroid.

From the theory on https://linux-sunxi.org/GSL1680

Chip is located on I2C bus on 0x040 address
Firmware is reading/writing from/into chip via set of chunks, each 128 byte.
Number of the chunk is located in the oxF0 register
0xF0: PAGE register. Contains the memory page number currently mapped in 
the 0x00-0x7F registers. 
Current chunk is located inside set of registers:0x00-0x7F: these registers 
are used to load portions of the firmware 
Im my case physical device is tablet Chuwi Vi8 super (Baytrail z2735f with 
8 1280x800) under Android 4.4.x and with GSL1680 located at /dev/i2c-4 
I2C  bus. 

So my question to community is - what are EXACT commands to READ currently 
loaded FW intro the GSL1680.


What I have tried based on Sergio Costas recommendations: 

Variant 1: Using i2cset and i2cget 
Step 1) Setting Page Register=number of chunk to be read, lets say I read 
5th chunk

i2cset -f -y 4 0x040 0xf0 0x05 b

Step 2) Reading 128 bytes chunk( 0-127 registers)
actually I wrote script, but the main idea is read each register separately

the command for reading register data I have used:  lets say I would like 
to read the last 128th byte of the chunk - its address is 0x7F

i2cread -f -y 4 0x040 0x7F b

Variant 2: using i2cset and i2cdump

 Step 1) Setting Page Register=number of chunk to be read, lets say I read 
5th chunk

i2cset -f -y 4 0x040 0xf0 0x05 b

Step 2) Read all chunk at once

i2cdump -f -y 4 0x040 -r 0x00-0x7F b


PROBLEMS:  Variant1: On the running Android with working touch screen very 
often I could NOT read via i2cget data and more over repeating reading 
makes NO RESULT. For example 
i2cset -f -y 4 0x040 0xf0 0x05 b

i2cread -f -y 4 0x040 0x00 b - OK
i2cread -f -y 4 0x040 0x01 b - error - repeat - OK
i2cread -f -y 4 0x040 0x02 b - error -repeat - OK
i2cread -f -y 4 0x040 0x03 b - error -repeat-eror - stuch with this! :(

Variant 2: 
 On the running Android with working touch screen
on the step2 = i2cdump -f -y 4 0x040 -r 0x00-0x7F b
it returns portion of data but on the screen there are many XX bytes  (byte 
with value XX)- that I do not even know what it is - is it not able to read 
or something like forced conversion non displayed  hex value to displaying 
symbols inside i2cdump during outputing to terminal?


So ASSUMING: Is these variants correct? May be it should be done in another 
way? Why there are such problems and how to read existing loaded FW?  - I 
need to dump it all.

-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-20 Thread sergk . admin
Since there are no recently any practical replies just report current 
status - loosing hope that I could get correct firmware I have just added 
rescaling to ported Sergio Costa's userspace driver and it woks pretty good 
if not taking into account absence of using INT line from chip. 
One more thought is  - that may be initial firmware is really correct and 
the touch screen resolution is really bigger than display? Because with 
native firmware from Win8.1 or extracted from Android driver (.ko) module 
it reports something like 1725x1135 and work perfect besides wrong absolute 
value of coordinates that could be fixed easily inside SW.

So my temporary solution is SW rescaled and using stock FW.

My question of howto dump in Android or Win 8.1 currently loaded FW still 
open, ;-) waiting for Guru with good practical knowledge!
Another relative question - anybody testing native resolution of the 
GSL1680 touch - it always the same as display resolution or it could be 
possible some variants?

3d question - could someone say something regarding IRQ line of GSL1680 ? 
Does it generate any IRQ when finger type on it?




On Monday, May 18, 2015 at 1:31:00 AM UTC, sergk...@gmail.com wrote:

 Hello.

 Could anyone share or describe the way how to extract it firmware for 
 GSL1680 on 8 with 800x1280?

 What I have - rooted Android and binaries of kenel module (driver) fw is 
 inside.
 Also I have original fw from Windows 8.1.

 More technical details for Linux Guru: I need assistance of extracting 
 from ELFfile .data segment declared their static (constant) values.

 Look at the objdump

 objdump -t gslx68x_ts.ko  | grep gsl_config
 0140 g O .data035c gsl_config_data_id_gsl_customer
 54a0 g O .data0800 
 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG
 5ca0 g O .data0800 
 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG
 64a0 g O .data0800 
 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ
 4ca0 g O .data0800 
 gsl_config_data_id_I100_GSL3692_1280800_GG_SG
 44a0 g O .data0800 
 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG
 34a0 g O .data0800 
 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL
 24a0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC
 1ca0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG
 2ca0 g O .data0800 
 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2
 3ca0 g O .data0800 
 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ
 0ca0 g O .data0800 
 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123
 14a0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W
 04a0 g O .data0800 
 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG

 objdump -x gslx68x_ts.ko | grep .data

 I am attaching linux driver module to this message. If it is needed 
 windows fw file - please let me know - I will send it too.
 PS: Suppose this helps to have more fw for new screen!
 RELOCATION RECORDS FOR [.data]:
 0040 R_386_32  gsl_config_data_id_gsl_customer
 0044 R_386_32  gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG
 0048 R_386_32  gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG
 004c R_386_32  gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ
 0050 R_386_32  gsl_config_data_id_I100_GSL3692_1280800_GG_SG
 0054 R_386_32  gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG
 0058 R_386_32  gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL
 005c R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_PG_FC
 0060 R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG
 0064 R_386_32  
 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2
 0068 R_386_32  gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ
 006c R_386_32  
 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123
 0070 R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W
 0074 R_386_32  gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG

 Kind regards,
   Serge Kolotylo.




-- 
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.


Re: [linux-sunxi] Re: New firmware for GSL1680

2015-05-19 Thread sergk . admin
Thank you for make it clear.

;-) Lets transform this knowledge into practical result! 


I have successfully compiled i2c-tools for x86 Android.
So, what is the exact command line to grab all loaded into GSL 1680 chip 
firmware?

i2cbus or i2cget? and how to use it , How via this toolset I could 
enumerate all 256 chunks of 128 bytes using information that chip resides 
on 0x40 I2c adress, dev is /dev/i2c-3, Page register is 0xF0 (8 bit too, so 
holds 256 addresses) and registers that store current 128 chunk are 
0x00-0x7F

Cheers, 
   Serge.

On Tuesday, May 19, 2015 at 1:48:14 PM UTC+3, Michal Suchanek wrote:

 On 19 May 2015 at 12:36,  sergk...@gmail.com javascript: wrote: 
  On Tuesday, May 19, 2015 at 12:53:43 PM UTC+3, Michal Suchanek wrote: 
  That's one page of the configuration which is 128 bytes or 32 integers. 
  Writing the page register gives access (read or write) to different 
 pages. 
  So one blob might have multiple such pages or the firmware can be 
  composed of multiple pages stored in multiple blobs 
  
  
  Still not clear - where does stored these blobs? 
  
  0x00-0x7F = 128 items 128 * x =1 byte registers. So physically chip 
 could 
  reside only 128 byte. 
  0xF0: PAGE register. Contains the memory page number currently mapped in 
 the 
  0x00-0x7F registers. 
  
  
  What is logic of these  Page register and 0x00-0x7F registers? 
  
  Am I right that firmware is loaded into ram splitted by 128 byte pages 
 and 
  0xF0 register contains a set of adressed in RAM of such 128 byte chunks? 

 Yes, that's what the datasheet says. F0 stores a page number and each 
 page has different set of registers to map to 00-7F. The chip has more 
 memory than can be accessible through i2c at any given time due to the 
 i2c 1 byte address limit so it uses paging to make more data 
 accessible. 

 Thanks 

 Michal 


-- 
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.


Re: [linux-sunxi] Re: New firmware for GSL1680

2015-05-19 Thread Michal Suchanek
On 19 May 2015 at 11:39,  sergk.ad...@gmail.com wrote:
 Sorry but your post makes it more weird.
 According https://linux-sunxi.org/GSL1680 page GSL1680 controller stores
 Firmware in 0x00-0x7F: these registers are used to load portions of the
 firmware
 This is only 128 8bit = 1byte registers.
 So main question is - does this registers = 128 1 byte registers store the
 whole firmware?

That's one page of the configuration which is 128 bytes or 32 integers.

Writing the page register gives access (read or write) to different pages.

So one blob might have multiple such pages or the firmware can be
composed of multiple pages stored in multiple blobs. Also there is
nothing stopping the driver writing the registers again after sending
the blob patching/adjusting some values or leaving them out from the
blob and sending them separately.


 What is the logic of working of controller chip with firmware?

 For example = why when I am loading firmware Silead.fw taken from my tablet
 from Windows 8.1  with ported Sergio Costas user space driver for GSL1680 I
 could not get correct feedback (coordinates that are read from 0x84-0x87
 ) for my 1280x800 touch? I have response for all but not 1280x800, acrtually
 weird coordinates like 1725x1120 or something close.

The logic is  that with the chip configurable you can save on PCB
design because you can design traces as convenient and configure which
trace connects where in firmware. The obvious result is that without
correct configuration the chip is useless so dumb non-configurable
chips are a win when dealing with non-cooperative vendors.

Thanks

Michal

-- 
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.


Re: [linux-sunxi] Re: New firmware for GSL1680

2015-05-19 Thread sergk . admin
On Tuesday, May 19, 2015 at 12:53:43 PM UTC+3, Michal Suchanek wrote:
That's one page of the configuration which is 128 bytes or 32 integers. 
Writing the page register gives access (read or write) to different pages. 
So one blob might have multiple such pages or the firmware can be 
composed of multiple pages stored in multiple blobs


Still not clear - where does stored these blobs?

0x00-0x7F = 128 items 128 * x =1 byte registers. So physically chip could 
reside only 128 byte.
0xF0: PAGE register. Contains the memory page number currently mapped in 
the 0x00-0x7F registers. 


What is logic of these  Page register and 0x00-0x7F registers?

Am I right that firmware is loaded into ram splitted by 128 byte pages and 
0xF0 register contains a set of adressed in RAM of such 128 byte chunks?


-- 
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.


Re: [linux-sunxi] Re: New firmware for GSL1680

2015-05-19 Thread Michal Suchanek
On 19 May 2015 at 12:36,  sergk.ad...@gmail.com wrote:
 On Tuesday, May 19, 2015 at 12:53:43 PM UTC+3, Michal Suchanek wrote:
 That's one page of the configuration which is 128 bytes or 32 integers.
 Writing the page register gives access (read or write) to different pages.
 So one blob might have multiple such pages or the firmware can be
 composed of multiple pages stored in multiple blobs


 Still not clear - where does stored these blobs?

 0x00-0x7F = 128 items 128 * x =1 byte registers. So physically chip could
 reside only 128 byte.
 0xF0: PAGE register. Contains the memory page number currently mapped in the
 0x00-0x7F registers.


 What is logic of these  Page register and 0x00-0x7F registers?

 Am I right that firmware is loaded into ram splitted by 128 byte pages and
 0xF0 register contains a set of adressed in RAM of such 128 byte chunks?

Yes, that's what the datasheet says. F0 stores a page number and each
page has different set of registers to map to 00-7F. The chip has more
memory than can be accessible through i2c at any given time due to the
i2c 1 byte address limit so it uses paging to make more data
accessible.

Thanks

Michal

-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread Alexis Jeandet
Hi,

You can do it with readelf and dd, it's not straight forward, you need to 
find the symbol offset(table offset + symbol ofset) and size in the file 
then you dump it with dd.
I made a graphical tool to make this easier:
https://hephaistos.lpp.polytechnique.fr/redmine/projects/execut/wiki
You have the choice between sources, rpm for fedora and static Win32 exe.

Best regards,
Alexis.
On Monday, May 18, 2015 at 3:31:00 AM UTC+2, sergk...@gmail.com wrote:

 Hello.

 Could anyone share or describe the way how to extract it firmware for 
 GSL1680 on 8 with 800x1280?

 What I have - rooted Android and binaries of kenel module (driver) fw is 
 inside.
 Also I have original fw from Windows 8.1.

 More technical details for Linux Guru: I need assistance of extracting 
 from ELFfile .data segment declared their static (constant) values.

 Look at the objdump

 objdump -t gslx68x_ts.ko  | grep gsl_config
 0140 g O .data035c gsl_config_data_id_gsl_customer
 54a0 g O .data0800 
 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG
 5ca0 g O .data0800 
 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG
 64a0 g O .data0800 
 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ
 4ca0 g O .data0800 
 gsl_config_data_id_I100_GSL3692_1280800_GG_SG
 44a0 g O .data0800 
 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG
 34a0 g O .data0800 
 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL
 24a0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC
 1ca0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG
 2ca0 g O .data0800 
 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2
 3ca0 g O .data0800 
 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ
 0ca0 g O .data0800 
 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123
 14a0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W
 04a0 g O .data0800 
 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG

 objdump -x gslx68x_ts.ko | grep .data

 I am attaching linux driver module to this message. If it is needed 
 windows fw file - please let me know - I will send it too.
 PS: Suppose this helps to have more fw for new screen!
 RELOCATION RECORDS FOR [.data]:
 0040 R_386_32  gsl_config_data_id_gsl_customer
 0044 R_386_32  gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG
 0048 R_386_32  gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG
 004c R_386_32  gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ
 0050 R_386_32  gsl_config_data_id_I100_GSL3692_1280800_GG_SG
 0054 R_386_32  gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG
 0058 R_386_32  gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL
 005c R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_PG_FC
 0060 R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG
 0064 R_386_32  
 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2
 0068 R_386_32  gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ
 006c R_386_32  
 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123
 0070 R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W
 0074 R_386_32  gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG

 Kind regards,
   Serge Kolotylo.




-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread sergk . admin
Could you please explain more detailed this portion by reading registers 00 
to 7F for each 128-byte block.

Questions:

1) Does it enough only one 128-byte block?
2) How to determine how much such 128byte blocks should be read and where 
is the finish?


On Monday, May 18, 2015 at 11:52:13 AM UTC+3, raste...@gmail.com wrote:

 Check if you have the i2c tools in your android system, and try to use 
 them to dump the firmware from the running chip. You should be able to do 
 it by reading registers 00 to 7F for each 128-byte block, and writting in 
 register 0xF0 the page you want to read.

-- 
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.


Re: [linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread Michal Suchanek
On 18 May 2015 at 11:15,  sergk.ad...@gmail.com wrote:
 To ALL:

 Could anyone share binary static linked i2c tools for Baytrail x86 (i386)
 Android? If I understand right simply PC-i386/i686 i2c-tool package will not
 work?

You can try but most likely you will have to rebuild i2c tools
statically. There is some crunchgen or what it's called BSD tool which
converts dynamic binaries to static but I am not sure how much BSD
specific it is. Never tried it on Linux.

Thanks

Michal

-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread rastersoft
Check if you have the i2c tools in your android system, and try to use them to 
dump the firmware from the running chip. You should be able to do it by reading 
registers 00 to 7F for each 128-byte block, and writting in register 0xF0 the 
page you want to read.

-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread sergk . admin
Thanks, 

Am I understand right  - all I need - it is just open .ko file, jumb to 
symbols page and choose needed variable (4ex:  
GSLX680_FW_I81_GSL3676B_8001280_OGS_SG) and choose export to binary and 
as result I will get my firmware?
In that case  = declarations exists in .rodata and .data. ;-) of course I 
will try both, but would like to understand = which is correct.

Regards, 
   Serge.



On Monday, May 18, 2015 at 9:46:55 AM UTC+3, Alexis Jeandet wrote:

 Hi,

 You can do it with readelf and dd, it's not straight forward, you need to 
 find the symbol offset(table offset + symbol ofset) and size in the file 
 then you dump it with dd.
 I made a graphical tool to make this easier:
 https://hephaistos.lpp.polytechnique.fr/redmine/projects/execut/wiki
 You have the choice between sources, rpm for fedora and static Win32 exe.

 Best regards,
 Alexis.
 On Monday, May 18, 2015 at 3:31:00 AM UTC+2, sergk...@gmail.com wrote:

 Hello.

 Could anyone share or describe the way how to extract it firmware for 
 GSL1680 on 8 with 800x1280?

 What I have - rooted Android and binaries of kenel module (driver) fw is 
 inside.
 Also I have original fw from Windows 8.1.

 More technical details for Linux Guru: I need assistance of extracting 
 from ELFfile .data segment declared their static (constant) values.

 Look at the objdump

 objdump -t gslx68x_ts.ko  | grep gsl_config
 0140 g O .data035c gsl_config_data_id_gsl_customer
 54a0 g O .data0800 
 gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG
 5ca0 g O .data0800 
 gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG
 64a0 g O .data0800 
 gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ
 4ca0 g O .data0800 
 gsl_config_data_id_I100_GSL3692_1280800_GG_SG
 44a0 g O .data0800 
 gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG
 34a0 g O .data0800 
 gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL
 24a0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC
 1ca0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG
 2ca0 g O .data0800 
 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2
 3ca0 g O .data0800 
 gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ
 0ca0 g O .data0800 
 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123
 14a0 g O .data0800 
 gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W
 04a0 g O .data0800 
 gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG

 objdump -x gslx68x_ts.ko | grep .data

 I am attaching linux driver module to this message. If it is needed 
 windows fw file - please let me know - I will send it too.
 PS: Suppose this helps to have more fw for new screen!
 RELOCATION RECORDS FOR [.data]:
 0040 R_386_32  gsl_config_data_id_gsl_customer
 0044 R_386_32  gsl_config_data_id_I81_GSL3676B_8001280_OGS_SG
 0048 R_386_32  gsl_config_data_id_I802_GSL3676B_8001280_OGS_SG
 004c R_386_32  gsl_config_data_id_I802_GSL3676B_8001280_OGS_DZ
 0050 R_386_32  gsl_config_data_id_I100_GSL3692_1280800_GG_SG
 0054 R_386_32  gsl_config_data_id_I89_GSL3676B_19201200_OGS_SG
 0058 R_386_32  gsl_config_data_id_I71_GSL1686F_1024600_PG_XLL
 005c R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_PG_FC
 0060 R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_OGS_SG
 0064 R_386_32  
 gsl_config_data_id_I706_GSL1686_OGS_6001024_DZ_70F2
 0068 R_386_32  gsl_config_data_id_I89_GSL3676B_19201200_OGS_DZ
 006c R_386_32  
 gsl_config_data_id_I101_GSL3692_1280800_GG_FC_FC101S123
 0070 R_386_32  gsl_config_data_id_I86_GSL3676B_8001280_PG_FC_W
 0074 R_386_32  gsl_config_data_id_I892_GSL3676B_8001280_OGS_SG

 Kind regards,
   Serge Kolotylo.




-- 
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.


[linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread Sergio Costas
I would read all the 256 pages, and dump all them to my chip.

On 18/05/15 11:00, sergk.ad...@gmail.com wrote:
 Could you please explain more detailed this portion by reading
 registers 00 to 7F for each 128-byte block.

 Questions:

 1) Does it enough only one 128-byte block?
 2) How to determine how much such 128byte blocks should be read and
 where is the finish?


 On Monday, May 18, 2015 at 11:52:13 AM UTC+3, raste...@gmail.com wrote:

 Check if you have the i2c tools in your android system, and try to
 use them to dump the firmware from the running chip. You should be
 able to do it by reading registers 00 to 7F for each 128-byte
 block, and writting in register 0xF0 the page you want to read.



-- 
Nos leemos
 RASTER(Linux user #228804)
ras...@rastersoft.com  http://www.rastersoft.com

-- 
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.


signature.asc
Description: OpenPGP digital signature


[linux-sunxi] Re: New firmware for GSL1680

2015-05-18 Thread sergk . admin
To ALL: 

Could anyone share binary static linked i2c tools for Baytrail x86 (i386) 
Android? If I understand right simply PC-i386/i686 i2c-tool package will 
not work?
On Monday, May 18, 2015 at 11:52:13 AM UTC+3, raste...@gmail.com wrote:

 Check if you have the i2c tools in your android system, and try to use 
 them to dump the firmware from the running chip. You should be able to do 
 it by reading registers 00 to 7F for each 128-byte block, and writting in 
 register 0xF0 the page you want to read.

-- 
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.