Всем спасибо за ответы. проблема решена.
проблема была в том что блоки с 1 по 5 в результате ошибочной записи (как нистранно самим же s1l, когда он еще работал) были помечены как bad blocks,
поэтому kickstart запускался, пытался читать первый блок, а mlc смотрит что этот блок бажный и выдает ошибку.
Собственно по этой же причине файл restore_s1l.bin не помогал, он при попытке записи проверяет на bad блоки и пишет в ближайший не испорченый.
Есть у меня этот файлик, почему он не сработал читать в начале данного ответа.