[Hardware Hacking General] jonnymopar:
Ok, so I'm one of these people still messing with an Allwinner A10 device. Like a noob, I wiped it out without backing up the original firmware. Of course, now I'm having the same issue that it seems like lots of other people had: touch screen issues. I found a nice JB rom (tablet originally had ICS), and everything works great except for the touch screen.

I won't bother posting my whole dmesg results here, but here's the touch screen section. Seems like I've got a LOT of drivers in this rom! My question is... how the heck do I know which touch screen driver I need?? I've torn this tablet apart and identified every chip on the whole board and their functions. Is touch screen functionality in its own chip? I can't seem to find it. Help me out if you can!

<6>[ 5.518875] ===========================zet6221_ts_init=====================

<7>[ 5.526368] ctp_is_used =0

<6>[ 5.530784] ctp_fetch_sysconfig_para.

<3>[ 5.534635] ctp_fetch_sysconfig_para: script_parser_fetch err.

<5>[ 5.540628] =========script_parser_fetch_err============

<6>[ 5.545998] zet6221_ts_init: err.

<6>[ 5.551249] init: command 'insmod' r=-1

<7>[ 5.574847] ctp_is_used = 0

<6>[ 5.577900] ssd253x_ts_init

<7>[ 5.580837] ctp_fetch_sysconfig_para.

<7>[ 5.584657] ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x48, dirty_addr_buf: 0x48. dirty_addr_buf[1]: 0xfffe

<7>[ 5.595186] ctp_fetch_sysconfig_para: ctp_twi_id is 2.

<6>[ 5.600465] ctp_fetch_sysconfig_para: screen_max_x = 800.

<6>[ 5.605986] ctp_fetch_sysconfig_para: screen_max_y = 480.

<6>[ 5.611521] ctp_fetch_sysconfig_para: revert_x_flag = 0.

<6>[ 5.616952] ctp_fetch_sysconfig_para: revert_y_flag = 0.

<6>[ 5.622414] ctp_fetch_sysconfig_para: exchange_x_y_flag = 0.

<7>[ 5.628187] [jicky]===========================ssd253x_ts_init=====================

<7>[ 5.635801] ssd253x_ts_init: after fetch_sysconfig_para: normal_i2c: 0x48. normal_i2c[1]: 0xfffe

<6>[ 5.645041] ctp_detect: Detected chip ssd253x_ts at adapter 2, address 0x48

<7>[ 5.652300] | ssd253x_ts_probe! |

<7>[ 5.657071] ssd253x config IRQ ENT21

<7>[ 6.597395] ssd253x_exit

<4>[ 6.619285] ssd253x_ts: probe of 2-0048 failed with error -70

<6>[ 6.642111] init: command 'insmod' r=0

<7>[ 6.693655] ===========================goodix_ts_init=====================

<7>[ 6.706009] ctp_is_used =0

<7>[ 6.712695] ctp_fetch_sysconfig_para.

<7>[ 6.719503] ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x5d, dirty_addr_buf: 0x5d. dirty_addr_buf[1]: 0xfffe

<7>[ 6.759380] ctp_fetch_sysconfig_para: ctp_twi_id is 2.

<6>[ 6.778727] ctp_fetch_sysconfig_para: screen_max_x = 800.

<6>[ 6.790401] ctp_fetch_sysconfig_para: screen_max_y = 480.

<6>[ 6.802879] ctp_fetch_sysconfig_para: revert_x_flag = 0.

<6>[ 6.813485] ctp_fetch_sysconfig_para: revert_y_flag = 0.

<6>[ 6.823766] ctp_fetch_sysconfig_para: exchange_x_y_flag = 0.

<6>[ 6.836311] ctp_fetch_sysconfig_para: ctp_firm = 1.

<6>[ 6.846823] ctp_fetch_sysconfig_para: mach_name = a721.

<7>[ 6.858663] goodix_ts_init: after fetch_sysconfig_para: normal_i2c: 0x5d. normal_i2c[1]: 0xfffe

<7>[ 6.879131] script parser fetch err.

<4>[ 6.886055] ctp_init_platform_resource: tp_reset request gpio fail!

<7>[ 6.897510] ctp_set_gpio_mode: config gpio to io mode.

<4>[ 6.912146] surfaceflinger used greatest stack depth: 5116 bytes left

<7>[ 6.922482] ctp_reset.

<7>[ 6.925149] ctp_wakeup.

<6>[ 7.580645] ctp_detect: Detected chip gt811 at adapter 2, address 0x5d

<7>[ 7.594893] gandy-----in function goodix_ts_probe

<7>[ 7.608860] ctp_set_gpio_mode: config gpio to io mode.

<4>[ 7.720208] gt811: probe of 2-005d failed with error 6

<6>[ 7.725555] init: command 'insmod' r=0

<6>[ 7.729395] init: waitpid returned pid 84, status = 00000000

<5>[ 7.743439] init: process 'surfaceflinger', pid 84 exited

<5>[ 7.753999] init: process 'surfaceflinger' killing any children in process group

<5>[ 7.768029] init: service 'zygote' is being killed

<5>[ 7.778300] init: starting 'zygote'

<4>[ 7.789138] zygote used greatest stack depth: 4988 bytes left

<6>[ 7.799452] init: Created socket '/dev/socket/zygote' with mode '660', user '0', group '1000'

<7>[ 7.818032] ctp_is _used = 0

<7>[ 7.821308] ------------------------------sitronix_ts_init!

<7>[ 7.826885] ctp_fetch_sysconfig_para.

<7>[ 7.850216] ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x60, dirty_addr_buf: 0x60. dirty_addr_buf[1]: 0xfffe

<7>[ 7.880195] ctp_fetch_sysconfig_para: ctp_twi_id is 2.

<6>[ 7.885430] ctp_fetch_sysconfig_para: screen_max_x = 800.

<6>[ 7.900131] ctp_fetch_sysconfig_para: screen_max_y = 480.

<6>[ 7.905636] ctp_fetch_sysconfig_para: revert_x_flag = 0.

<6>[ 7.930126] ctp_fetch_sysconfig_para: revert_y_flag = 0.

<6>[ 7.935538] ctp_fetch_sysconfig_para: exchange_x_y_flag = 0.

<7>[ 7.950116] sitronix_ts_init: after fetch_sysconfig_para: normal_i2c: 0x60. normal_i2c[1]: 0xfffe

<7>[ 7.959228] ------------ctp_init_platform_resource gpio_wakeup_hdle is -652526720

<7>[ 7.980069] -----------------ctp_init_platform_resource gpio_inter_hdle is -652528640

<7>[ 7.987913] script parser fetch err.

<4>[ 8.010093] ctp_init_platform_resource: tp_reset request gpio fail!

<7>[ 8.016364] ctp_reset.

<7>[ 8.018808] ctp_wakeup.

<6>[ 8.997359] ctp_detect: Detected chip sichuang_ts at adapter 2, address 0x60

<7>[ 9.005016] =========sitronix_ts_probe==============client->addr is 96

<7>[ 9.047634] Unable to get FW version!

<4>[ 9.051382] sichuang_ts: probe of 2-0060 failed with error -5

<6>[ 9.057310] init: command 'insmod' r=0

<6>[ 9.061242] init: waitpid returned pid 85, status = 00000009

<3>[ 9.067009] init: untracked pid 85 exited

<6>[ 9.088564] ==10.9=========================ft5x_ts_init=====================

<7>[ 9.095752] ctp_is_used =0

<6>[ 9.098500] ctp_fetch_sysconfig_para.

<6>[ 9.102587] ctp_fetch_sysconfig_para: after: ctp_twi_addr is 0x38, dirty_addr_buf: 0x38. dirty_addr_buf[1]: 0xfffe

<6>[ 9.113116] ctp_fetch_sysconfig_para: ctp_twi_id is 2.

<6>[ 9.118417] ctp_fetch_sysconfig_para: screen_max_x = 800.

<6>[ 9.123969] ctp_fetch_sysconfig_para: screen_max_y = 480.

<6>[ 9.129521] ctp_fetch_sysconfig_para: revert_x_flag = 0.

<6>[ 9.134987] ctp_fetch_sysconfig_para: revert_y_flag = 0.

<6>[ 9.140476] ctp_fetch_sysconfig_para: exchange_x_y_flag = 0.

<3>[ 9.146262] ft5x_ts: script_parser_fetch err.

<6>[ 9.150765] ctp_fetch_sysconfig_para: support_ten_flag = 0.

<6>[ 9.156450] ft5x_ts: ctp_vendor = 4.

<7>[ 9.160181] set usbcur 0 mA

<3>[ 9.163147] ft5x_ts: script_parser_fetch err.

<6>[ 9.167651] ft5x_ts: ctp_Newmethod = 0.

<7>[ 9.171631] set usbvol 4000 mV

<6>[ 9.174828] ft5x_ts_init: after fetch_sysconfig_para: normal_i2c: 0x38. normal_i2c[1]: 0xfffe

<6>[ 9.183737] script_parser_fetch err!

<6>[ 9.187366] script_parser_fetch err!

<6>[ 9.191135] script_parser_fetch err!

<6>[ 9.194756] script_parser_fetch err!

<6>[ 9.198548] script_parser_fetch err!

<7>[ 9.202282] script parser fetch err.

<4>[ 9.205987] ctp_init_platform_resource: tp_reset request gpio fail!

<6>[ 9.212307] ctp_wakeup.

<6>[ 9.280852] ctp_detect: Detected chip ft5x_ts at adapter 2, address 0x38

<6>[ 9.288053] ====ft5x_ts_probe begin=====.

<6>[ 9.320534] input: ft5x_ts as /devices/virtual/input/input2

<6>[ 9.326361] ==register_early_suspend =

<6>[ 9.330988] CONFIG_FT5X0X_MULTITOUCH is defined.

<6>[ 9.335752] ctp_set_irq_mode: config gpio to int mode.

<6>[ 9.341089] INTERRUPT CONFIG

<6>[ 9.344849] ==ft5x_ts_probe over =