Hello, I tried loading the firmware into the driver but none works:
[ 10.960812] gslx680 firmware GSL_TEST_FW.fw. [ 10.973297] _fetch_sysconfig_para: after: ctp_twi_addr is 0x40, dirty_addr_buf: 0x40. dirty_addr_buf[1]: 0xfffe [ 10.983950] _fetch_sysconfig_para: ctp_twi_id is 1. [ 10.991410] _fetch_sysconfig_para: screen_max_x = 800. [ 10.998847] _fetch_sysconfig_para: screen_max_y = 480. [ 11.007377] _fetch_sysconfig_para: revert_x_flag = 0. [ 11.014716] _fetch_sysconfig_para: revert_y_flag = 0. [ 11.022134] _fetch_sysconfig_para: exchange_x_y_flag = 0. [ 11.035043] i2c-core: driver [gslx680] using legacy suspend method [ 11.043136] i2c-core: driver [gslx680] using legacy resume method [ 11.051768] ctp_detect: Detected chip gslx680 at adapter 1, address 0x40 [ 11.066141] ====gslx680_ts_probe begin=====. [ 11.071434] ==kzalloc success= [ 11.076877] [GSLX680] Enter gsl_ts_init_ts [ 11.083758] ctp_set_irq_mode: config gpio to int mode. [ 11.092630] ctp_set_irq_mode, 854: gpio_int_info, port = 7, port_num = 11. [ 11.097284] INTERRUPT CONFIG [ 11.111467] input: gslx680 as /devices/platform/sunxi-i2c.1/i2c-1/1-0040/input/input2 [ 11.145929] incomplete xfer (0xff) [ 11.154534] reset_chip: gsl_ts_write 1 fail! [ 11.160662] init_chip: reset_chip fail: -70 [ 11.170239] gslx680 1-0040: init_chip failed [ 11.177661] gslx680: probe of 1-0040 failed with error -70 [ 10.576719] gslx680 firmware GSLX680_FW_3.fw. [ 10.588253] _fetch_sysconfig_para: after: ctp_twi_addr is 0x40, dirty_addr_buf: 0x40. dirty_addr_buf[1]: 0x fffe [ 10.596985] _fetch_sysconfig_para: ctp_twi_id is 1. [ 10.603522] _fetch_sysconfig_para: screen_max_x = 800. [ 10.610014] _fetch_sysconfig_para: screen_max_y = 480. [ 10.616396] _fetch_sysconfig_para: revert_x_flag = 0. [ 10.622717] _fetch_sysconfig_para: revert_y_flag = 0. [ 10.629272] _fetch_sysconfig_para: exchange_x_y_flag = 0. [ 10.640746] i2c-core: driver [gslx680] using legacy suspend method [ 10.648077] i2c-core: driver [gslx680] using legacy resume method [ 10.655851] ctp_detect: Detected chip gslx680 at adapter 1, address 0x40 [ 10.668371] ====gslx680_ts_probe begin=====. [ 10.672655] ==kzalloc success= [ 10.677327] [GSLX680] Enter gsl_ts_init_ts [ 10.683471] ctp_set_irq_mode: config gpio to int mode. [ 10.691275] ctp_set_irq_mode, 854: gpio_int_info, port = 7, port_num = 11. [ 10.695124] INTERRUPT CONFIG [ 10.707793] input: gslx680 as /devices/platform/sunxi-i2c.1/i2c-1/1-0040/input/input2 [ 10.741366] i2c state isn't idle(0xf8) [ 10.744748] STOP failed! [ 10.748912] incomplete xfer (0xff) [ 10.753940] reset_chip: gsl_ts_write 1 fail! [ 10.759040] init_chip: reset_chip fail: -70 [ 10.764190] gslx680 1-0040: init_chip failed [ 10.770551] gslx680: probe of 1-0040 failed with error -70 [ 10.603294] gslx680 firmware GSLX680_FW.fw. [ 10.614822] _fetch_sysconfig_para: after: ctp_twi_addr is 0x40, dirty_addr_buf: 0x40. dirty_addr_buf[1]: 0x fffe [ 10.623589] _fetch_sysconfig_para: ctp_twi_id is 1. [ 10.630117] _fetch_sysconfig_para: screen_max_x = 800. [ 10.636642] _fetch_sysconfig_para: screen_max_y = 480. [ 10.643057] _fetch_sysconfig_para: revert_x_flag = 0. [ 10.649358] _fetch_sysconfig_para: revert_y_flag = 0. [ 10.655950] _fetch_sysconfig_para: exchange_x_y_flag = 0. [ 10.667123] i2c-core: driver [gslx680] using legacy suspend method [ 10.674460] i2c-core: driver [gslx680] using legacy resume method [ 10.682170] ctp_detect: Detected chip gslx680 at adapter 1, address 0x40 [ 10.694755] ====gslx680_ts_probe begin=====. [ 10.698902] ==kzalloc success= [ 10.703970] [GSLX680] Enter gsl_ts_init_ts [ 10.710082] ctp_set_irq_mode: config gpio to int mode. [ 10.717925] ctp_set_irq_mode, 854: gpio_int_info, port = 7, port_num = 11. [ 10.721752] INTERRUPT CONFIG [ 10.734032] input: gslx680 as /devices/platform/sunxi-i2c.1/i2c-1/1-0040/input/input2 [ 10.761094] incomplete xfer (0xff) [ 10.767462] reset_chip: gsl_ts_write 1 fail! [ 10.772840] init_chip: reset_chip fail: -70 [ 10.778132] gslx680 1-0040: init_chip failed [ 10.784611] gslx680: probe of 1-0040 failed with error -70 [ 10.350849] gslx680 firmware GSLX680_FW_2.fw. [ 10.367761] _fetch_sysconfig_para: after: ctp_twi_addr is 0x40, dirty_addr_buf: 0x40. dirty_addr_buf[1]: 0x fffe [ 10.393507] _fetch_sysconfig_para: ctp_twi_id is 1. [ 10.400330] _fetch_sysconfig_para: screen_max_x = 800. [ 10.407542] _fetch_sysconfig_para: screen_max_y = 480. [ 10.417560] _fetch_sysconfig_para: revert_x_flag = 0. [ 10.425735] _fetch_sysconfig_para: revert_y_flag = 0. [ 10.432515] _fetch_sysconfig_para: exchange_x_y_flag = 0. [ 10.457018] i2c-core: driver [gslx680] using legacy suspend method [ 10.469440] i2c-core: driver [gslx680] using legacy resume method [ 10.483385] ctp_detect: Detected chip gslx680 at adapter 1, address 0x40 [ 10.505369] ====gslx680_ts_probe begin=====. [ 10.509616] ==kzalloc success= [ 10.524958] [GSLX680] Enter gsl_ts_init_ts [ 10.531257] ctp_set_irq_mode: config gpio to int mode. [ 10.553030] ctp_set_irq_mode, 854: gpio_int_info, port = 7, port_num = 11. [ 10.562305] INTERRUPT CONFIG [ 10.579935] input: gslx680 as /devices/platform/sunxi-i2c.1/i2c-1/1-0040/input/input2 [ 10.640939] incomplete xfer (0xff) [ 10.646128] reset_chip: gsl_ts_write 1 fail! [ 10.653646] init_chip: reset_chip fail: -70 [ 10.661966] gslx680 1-0040: init_chip failed [ 10.669947] gslx680: probe of 1-0040 failed with error -70 [ctp_para] ctp_used = 1 ctp_name = "gslx680" ctp_twi_id = 1 ctp_twi_addr = 0x40 ctp_screen_max_x = 800 ctp_screen_max_y = 480 ctp_revert_x_flag = 0 ctp_revert_y_flag = 0 ctp_exchange_x_y_flag = 0 ctp_int_port = port:PG11<6><default><default><default> ctp_wakeup = port:PB03<1><default><default><1> ctp_io_port = port:PG11<0><default><default><default> ctp_firmware = "GSL_TEST_FW.fw" There is stop error in one case but otherwise the result seems the same. The 0x40 address was not in the fex file but presumably if the address was different the driver would not detect anything on it. Also when the address is not specified 0x40 can be probably used as default. It seems the Android driver just assumes this address. Thanks Michal On 10 November 2014 22:05, Joe Burmeister <[email protected]> wrote: > Hi, > > Ignore fw_info. It knows about such a small fraction of the registers it can > be ignored. > In fact, I've just removed it, it only confuses. > > The old extractor was floored in the way if found firmware, that's why it's > dumped. > In the git repos now, there is only fw_extractor.py which is the new one > replacing the old. > > As to which firmware to use, the only way is suck and see for each. :-\ > > Hope this helps. > > Joe > > > > > > On 10/11/14 16:45, Michal Suchanek wrote: >> >> Hello, >> >> I tried extracting firmware from my pmp3670b tablet and I got 4 >> firmware files with fw_extractor2.py. Unfortunately, fw_info does not >> recognize any of them as firmware: >> >> $ python /scratch/Downloads/fw_extractor2.py modules/A13_gslX680.ko >> Found GSLX680_FW offset 180 count 39072 >> 39072+0 records in >> 39072+0 records out >> 39072 bytes (39 kB) copied, 0.0768463 s, 508 kB/s >> Found GSLX680_FW_2 offset 39252 count 39336 >> 39336+0 records in >> 39336+0 records out >> 39336 bytes (39 kB) copied, 0.073385 s, 536 kB/s >> Found GSLX680_FW_3 offset 78588 count 39336 >> 39336+0 records in >> 39336+0 records out >> 39336 bytes (39 kB) copied, 0.0800411 s, 491 kB/s >> Found GSL_TEST_FW offset 117988 count 8184 >> 8184+0 records in >> 8184+0 records out >> 8184 bytes (8.2 kB) copied, 0.0161824 s, 506 kB/s >> >> $ for i in /scratch/pmp3670b/GSL*.fw ; do ./fw_info $i ; done >> /scratch/pmp3670b/GSL_TEST_FW.fw doesn't contain any known firmware >> information. >> /scratch/pmp3670b/GSLX680_FW_2.fw doesn't contain any known firmware >> information. >> /scratch/pmp3670b/GSLX680_FW_3.fw doesn't contain any known firmware >> information. >> /scratch/pmp3670b/GSLX680_FW.fw doesn't contain any known firmware >> information. >> >> I have old firmware extracted from my broken inet 86vs tablet and from >> that the old fw_extractor extracted 35 firmware files out of which 2 >> are recognized as firmware: >> >> $ ls Manta_MID705_gslx680.fw* >> Manta_MID705_gslx680.fw Manta_MID705_gslx680.fw.11 >> Manta_MID705_gslx680.fw.20 Manta_MID705_gslx680.fw.30 >> Manta_MID705_gslx680.fw.02 Manta_MID705_gslx680.fw.12 >> Manta_MID705_gslx680.fw.21 Manta_MID705_gslx680.fw.31 >> Manta_MID705_gslx680.fw.03 Manta_MID705_gslx680.fw.13 >> Manta_MID705_gslx680.fw.22 Manta_MID705_gslx680.fw.32 >> Manta_MID705_gslx680.fw.04 Manta_MID705_gslx680.fw.14 >> Manta_MID705_gslx680.fw.23 Manta_MID705_gslx680.fw.32.txt >> Manta_MID705_gslx680.fw.05 Manta_MID705_gslx680.fw.14.txt >> Manta_MID705_gslx680.fw.24 Manta_MID705_gslx680.fw.33 >> Manta_MID705_gslx680.fw.06 Manta_MID705_gslx680.fw.15 >> Manta_MID705_gslx680.fw.25 Manta_MID705_gslx680.fw.34 >> Manta_MID705_gslx680.fw.07 Manta_MID705_gslx680.fw.16 >> Manta_MID705_gslx680.fw.26 Manta_MID705_gslx680.fw.35 >> Manta_MID705_gslx680.fw.08 Manta_MID705_gslx680.fw.17 >> Manta_MID705_gslx680.fw.27 >> Manta_MID705_gslx680.fw.09 Manta_MID705_gslx680.fw.18 >> Manta_MID705_gslx680.fw.28 >> Manta_MID705_gslx680.fw.10 Manta_MID705_gslx680.fw.19 >> Manta_MID705_gslx680.fw.29 >> >> However, the old extractor does not seem to like the pmp3670b module. >> I never get any firmware out of it. >> >> Any suggestions? >> >> Thanks >> >> Michal >> >> >> On 1 October 2014 23:00, Joe Burmeister <[email protected]> >> wrote: >>> >>> Hi Kristijan, >>> >>> Not sure quite what your after, but here is a new, not tested yet (would >>> have to dig up the tablet), firmware extractor. >>> >>> It uses just readelf, objcopy and dd. Quick and dirty "python for shell" >>> implementation. >>> >>> Hopefully this should help. >>> >>> Joe >>> >>> >>> >>> On 01/10/14 10:00, Kristijan Vrban wrote: >>> >>> Hello, >>> >>> attached is a gslX680.ko module from a Q88 A23 based tablet (the cheap >>> USD >>> 32 devices) I just started to extract the firmware to use gsl1680 IC with >>> the touch panels that are used in this Q88 devices. >>> >>> I think "GSL1680_K70_FW" should be the one. from this module. >>> >>> Attached is also a small PCB design made in eagle to make test connection >>> between that touch panels and I2C interface. Maybe it is useful for >>> someone. >>> >>> Kristijan >>> >>> >>> >>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "linux-sunxi" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/linux-sunxi/SZGxiTQcFyY/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> -- >>> 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 [email protected]. >>> For more options, visit https://groups.google.com/d/optout. > > > -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
