Планшет Ainol Novo 10 Hero
После прошивки некорректной версией Cyanogenmod сломался тачскрин - там стоит чип тайваньской компании Focaltech, у которого есть firmware.
Cyanogenmod залил туда неверные данные. Пытаюсь вернуть тачу работоспособность
- похожая модель.
Внутри у этого чипа проц 8051.
недавно появились исходники ядра для этого устройста. Там есть модуль ядра, который является драйвером тачскрина, и есть там функция заливки в него новой прошивки.
По сути код посылает байты по i2c, которые переводит чип в сервисный режим, стирают текущую прошивку и подготавливают к принятию новой. Но что-то не работает - коды вроде бы те, может посылаются не туда?
Я немного пропатчил файл
Раскомментировал
//#define CONFIG_TOUCH_PANEL_KEY //#define AC_DETECT_IN_TOUCH_DRIVER //#define CONFIG_FOCALTECH_TOUCHSCREEN_CODE_UPG
и закоментировал
return ERR_READID;
В /* Step 3 */, чтобы прошивка не прекращалась на этапе проверки vendor/device id - туда возвращаются 0 0.
В итоге файл драйвера выглядит
Собрал uImage_recovery
make meson6_g06_1003AC_usb_burning_defconfig uImage
и загрузил планшет с него
Зашел в adb shell
~ # dmesg | grep -e FST -e FTS -e TSP <4>[ 7.284753] [FST] Firmware version = 0xa6 <4>[ 7.344611] [FST] Firmware old version = 0xa6 <4>[ 7.344797] [FTS] upgrade start. <4>[ 7.412266] [TSP] Step 1: Reset CTPM test <4>[ 7.657929] [TSP] Step 3: error = 0x0[TSP] Step 3: error = 0x1[TSP] Step 3: error = 0x2[TSP] Step 3: error = 0x3DATA_STAT_AFTER_ERASE[1]=0 <4>[ 7.676455] [TSP] Step 3: error = 0x4[TSP] Step 3: error = 0x5[TSP] Step 3: error = 0x6[TSP] Step 3: error = 0x7Rsv2[6]=0 <4>[ 7.691633] [TSP] Step 3: error = 0x8[TSP] Step 3: error = 0x9[TSP] Step 3: return error = 0xa00648001 80018001 80018001 80030000 <4>[ 7.703217] 01[FTS] bootloader version = 0xcd <4>[ 9.636913] [TSP] Step 4: erase. <4>[ 9.636937] [TSP] Step 5: start upgrade. <4>[ 9.667752] [TSP] upgrade the 0x0 th byte. <4>[ 9.900440] [TSP] upgrade the 0x400 th byte. <4>[ 10.133744] [TSP] upgrade the 0x800 th byte. <4>[ 10.367008] [TSP] upgrade the 0xc00 th byte. <4>[ 10.600270] [TSP] upgrade the 0x1000 th byte. <4>[ 10.833357] [TSP] upgrade the 0x1400 th byte. <4>[ 11.066291] [TSP] upgrade the 0x1800 th byte. <4>[ 11.299556] [TSP] upgrade the 0x1c00 th byte. <4>[ 11.533505] [TSP] upgrade the 0x2000 th byte. <4>[ 11.766918] [TSP] upgrade the 0x2400 th byte. <4>[ 11.999476] [TSP] upgrade the 0x2800 th byte. <4>[ 12.232780] [TSP] upgrade the 0x2c00 th byte. <4>[ 12.466088] [TSP] upgrade the 0x3000 th byte. <4>[ 12.699364] [TSP] upgrade the 0x3400 th byte. <4>[ 12.932390] [TSP] upgrade the 0x3800 th byte. <4>[ 13.165453] [TSP] upgrade the 0x3c00 th byte. <4>[ 13.398703] [TSP] upgrade the 0x4000 th byte. <4>[ 13.631995] [TSP] upgrade the 0x4400 th byte. <4>[ 13.865286] [TSP] upgrade the 0x4800 th byte. <4>[ 14.099358] [TSP] upgrade the 0x4c00 th byte. <4>[ 14.332648] [TSP] upgrade the 0x5000 th byte. <4>[ 14.565942] [TSP] upgrade the 0x5400 th byte. <4>[ 14.799194] [TSP] upgrade the 0x5800 th byte. <4>[ 15.032134] [TSP] upgrade the 0x5c00 th byte. <4>[ 15.265184] [TSP] upgrade the 0x6000 th byte. <4>[ 15.498437] [TSP] upgrade the 0x6400 th byte. <4>[ 15.731721] [TSP] upgrade the 0x6800 th byte. <4>[ 15.965022] [TSP] upgrade the 0x6c00 th byte. <4>[ 16.303756] [TSP] Step 6: ecc read 0xcc, new firmware 0x17. <4>[ 16.303859] [TSP] Step 6: ecc error and return <4>[ 16.308553] [TSP] Step 7 <4>[ 16.652087] [FTS] start auto CLB. <4>[ 17.307537] [FTS] calibration OK. <4>[ 18.374450] [FTS] store CLB result OK. <4>[ 18.575192] [FST] Firmware new version after update = 0xa6
Прошивка не удалась.
Куда можно посмотреть теперь?