Страница 4 из 42

СообщениеДобавлено: Вт окт 28, 2014 10:34 pm
VVC
если сравнивать выложенный в шапке дамп v20 и оригинальную прошивку v20, то очевидно что блоки (или страницы) идут через 840h....оконечный набор символов в блоке типа этого:

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 0C 3C FF C0 C3 03 FF

в конце третей строчки все время разные значения......вот еслибы ядро старой версии (например 12) распаковать и RAM закинуть, да стартануть...понижение так сказать. а то программирование микры с нандом что-то мутно очень...пока.

СообщениеДобавлено: Вт окт 28, 2014 11:07 pm
balu_dark
VVC писал(а):если сравнивать выложенный в шапке дамп v20 и оригинальную прошивку v20, то очевидно что блоки (или страницы) идут через 840h....оконечный набор символов в блоке типа этого:

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 0C 3C FF C0 C3 03 FF

в конце третей строчки все время разные значения......вот еслибы ядро старой версии (например 12) распаковать и RAM закинуть, да стартануть...понижение так сказать. а то программирование микры с нандом что-то мутно очень...пока.

нанд делится на секторы и блоки - размер сектора 200h (512 байт) плюсс 10h (16) байт - ECC. ECC это error-correcting code, код коррекции ошибок. По нему можно в некоторых случаях вычислить и исправить ошибку в блоке данных.

обычно сектора группируются по 4 штуки - получается размер 800h после которого идет 40h ECC ( по 10h на сектор).
в силу хотения компании разработчика принтера, в данном устройстве ЕСС данные лежат в виде 4х 32 битных значений лежат с адреса 38h в блоке данных ECC и имеют длину соответственно 16 байт ( простите народ но мне удобнее пользоваться HEX адресацией - просто уже привычка).

То есть то что вы показали в тексте - только ECC от первых 2х блоков по 512 байт - следом идет еще 2 ЕСС.

Дамп который тут выложили от убитого аппарата лишен 2 вещей - блоков ECC и 2 блоков в концэ флэша с данными о таблице секторов.


Mihas00 - когда программатор и принтер будут под ругой - стукнитесь в личку - проверим кое что - возможно запустим аппарат.

СообщениеДобавлено: Вт окт 28, 2014 11:33 pm
VVC
я про этот дамп :
Проверенный дамп для понижения V3.00.01.20 https://yadi.sk/d/4XG522GjbUjXC

вы правы - получается что прошивка бьется на блоки по 800h + 40h ECC...если точнее, вот так выглядит примерно участок 40h:
Код: выделить все
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
 FF FF FF FF FF FF FF FF 56 A6 95 FF F3 C3 C3 FF
A6 A6 99 FF 96 69 5A FF FF FF FF FF FF FF FF FF

т.е. как вы и сказали, по 16 байт коррекции для каждых 512 байт кода прошивки...правда, не понятно почему первые 2х16 всегда в FF.....хотя.....видимо это полная spare area, а ЕСС именно в конце.

СообщениеДобавлено: Ср окт 29, 2014 1:36 am
balu_dark
VVC писал(а):т.е. как вы и сказали, по 16 байт коррекции для каждых 512 байт кода прошивки...правда, не понятно почему первые 2х16 всегда в FF.....

Ну я и сказал ранее "так захотелось производителю данного устройства".
Потому как в других устройствах оно по другому лежит.

Частично заработал расчет этой есс, но при нечетном количестве бит - считает фигню и пока не могу найти где ошибся.

Удалять ничего не надо - дампы из темы живые . это я говорил про слитый mihas000 дамп с дефолтными настройками - в нем програматор просто не стал сохранять ECC для этого вероятно и надо указывать принудительно что User Data там в ECC лежит. На самом деле - это надо указывать всегда , потому как форматов хранения данных в ЕСС вагон и тележка. Несмотря на имеющиеся 5 стандартов расположения данных, видел как минимум 30 различных форматов ECC.
А User Data может спасти задницу незадачливого ремонтника. Наверно надо это в первом посте выделить как то отдельно.

СообщениеДобавлено: Ср окт 29, 2014 2:44 pm
mihas000
Все добил принтер! В общем так, эта зараза походу не любит флюс и плохую пайку, пропаял паяльником микруху, отмыл плату от флюса (хотя флюс BGA дорогой) и все заколосилось. Как говорится век живи век учись. Теперь другая проблема влил фикс принтер колом стал орет на все картриджи. оригинал 20 не помогает, заливал 24с64 тож самое. Ни кто не сливал фикснутый дамп ?
Короче делел так: микруха была новая но записанная. Стерал микруху с настройками по дефолту и как на скрине. Прогер матюкнулся что инфа о бедах будет потеряна. Далее настройки как на скрине залил ваш дамп, прошивка успешная, верификация несколько раз прошла. Главное пропаять хорошо и отмыть флюс.
Программатор Chipprog 481 панелька AE-TS48-NAND-4

Единственный прикол в это микре не бло бед блоков, у меня ещё одна плата лежит, попробую ещё её прошить посмотрим что получится

СообщениеДобавлено: Ср окт 29, 2014 3:18 pm
kvg
Круто! То есть не стоит искать эти мифические битые блоки..

СообщениеДобавлено: Ср окт 29, 2014 3:50 pm
apopovv
Все работает, если в микрухе нет физических бэдов в области загрузчика/данных.
Микруха 128 мб а прошивка всего 20. Если я не ошибаюсь.
Так что бэды после этих 20ти метров никго особо не волнуют.

СообщениеДобавлено: Ср окт 29, 2014 4:10 pm
balu_dark
mihas000 писал(а):Все добил принтер! В общем так, эта зараза походу не любит флюс и плохую пайку, пропаял паяльником микруху, отмыл плату от флюса (хотя флюс BGA дорогой) и все заколосилось. Как говорится век живи век учись. Теперь другая проблема влил фикс принтер колом стал орет на все картриджи. оригинал 20 не помогает, заливал 24с64 тож самое. Ни кто не сливал фикснутый дамп ?

Про хорошо отмытые чипы - тут уже писалось. У меня тоже с блатным флюсом гонит пока не отмоешь. Очевидно скорости работы такие что флюс начинает мешать.

Что до фикса :) снимай чип и заново проливай 20ку :) у тебя скорее всего сейчас влит там фикс NU и причем от другого крума.
Возьми свой оригинальный дамп епромки - посмотри в нем какой крум. Если в дампе несколько крумов то гемора больше - надо узнать какой у тебя в принтере стоит и поменять его везде. Заливаешь измененный дамп( не забудь сохранить его с другим именем - чтобы не убить оригинальный дамп) в еепромку, генеришь под этот крум - фикс. В принтере в тех меню включаешь SW update ON. и проливаешь фикс.
Если на дисплейчике не началась прошивка - ждешь пару минут. Выключаешь принтер - снова заливаешь ему в NAND версию 20. И с ней уже повторяешь заливку фикса.

СообщениеДобавлено: Ср окт 29, 2014 4:37 pm
mihas000
balu_dark разобрался, чипы заменил залил по верх 20 оригинал и все. В общем да бы небыло гемора с фиксами слил дампы пофиксенного аппарата. С всеобщего разрешения выкладываю.
http://rusfolder.com/42128126

Заливать ОБЯЗАТЕЛЬНО ОБА

Добавлено спустя 7 минут 12 секунд:
Да. Микруху прочитал несколько раз и сравнил с тем что внутри.
повторюсь
nvalid Block(IB) Management - Do NOT USE
Spare Area Usage - User Data
User Area – Number of Blocks - 1024

СообщениеДобавлено: Ср окт 29, 2014 8:48 pm
reo
kvg писал(а):Круто! То есть не стоит искать эти мифические битые блоки..

По любому микруху ты должен проверить. Если бэды в начале, микру в ведро.
и в файле 20й версии первый бэд начинается с адреса 0x5AC000.

и в выложеном фиксе первый бэд идет с адреса 0x5AC000
т.е. перепроверку при прошивке проц не делает. умерла, так умерла.

СообщениеДобавлено: Ср окт 29, 2014 9:24 pm
mihas000
Так там же и таблица на эти беды с переразметкой, вот не понятно как прошива ляжет на другую таблицу которая во флешке и на беды

СообщениеДобавлено: Чт окт 30, 2014 1:47 am
balu_dark
нет - он просто шьет как есть - я в принципе сделал вариант прошивки без бэдов но у меня пока нет донора для проверки а человек - уже сам разрулил. как следующий аппарат придет - обязательно проверю и если все будет ок - положу 20ю версию без бэдов. вчера нашел одну свою ошибку в алгоритме ( сдвиг не в ту сторону написал) стало полегче но все равно не катит - все равно ошибка.

СообщениеДобавлено: Чт окт 30, 2014 12:39 pm
mihas000
Значит так, понизил новую плату. Прошивка в ней была 3.00.02.07 прошиву прилагаю с картой и епромкой (мож кому пригодится) http://rusfolder.com/42135506
После прошивки верификация не прошла где то на половине, прогер сказал в дампе FF а в микрухе 00 (бед блок походу). И так с начала, берем записаную микруху выставляем как на скрине
nvalid Block(IB) Management - Do NOT USE
Spare Area Usage - User Data
User Area – Number of Blocks - 1024

Прогер говорит (потеряем карту блоков) стираем, это нужно для того чтобы избавиться от бедов которые были в дампе (программных бедов). Далее грузим дамп рабочий, заливаем, смотрим чтобы прошла проверка или не прошла чуть меньше на половине в не зоны прошивки.

Заливал свой дамп (оба файла), аппарат вышел в готовность

СообщениеДобавлено: Чт окт 30, 2014 12:44 pm
balu_dark
reo писал(а):и в выложеном фиксе первый бэд идет с адреса 0x5AC000
т.е. перепроверку при прошивке проц не делает. умерла, так умерла.

Reo - для программатора - нет необходимости проверять каждый физический блок - если в нем нули при чтении - он автоматически считается бэдом! Даже если при стирании - эта область потом стирается.
а в лежащей тут 20й прошивке в теле кода как раз есть один бэд. тоесть область длиной 21000 в хексе заполненая нулями - по указаному выше адресу. Эти же нули пишутся в нанд и после чтоения - программатор видя нули - как раз и считает это бэд блоком.

Добавлено спустя 23 минуты 29 секунд:
Samsung 3305 прошивка NAND
Ждем новостей сегодня по 20й версии без бэдов.

СообщениеДобавлено: Чт окт 30, 2014 8:42 pm
reo
balu_dark писал(а):ВСЕ программаторы ( подавляющее большинство) тупо заливают образ (бин файл) и им по барабану если там где в дампе лежат данные - в вашем чипе - бэд блок. Ну не может понять железка как и куда перенести рабочий блок. Это надо делать руками - как раз на основании считанного содержимого со стертого чипа.


Вот этот момент прояснить пробуем. Сорри, опыта с нандами нет
Если у нас данные попали на бэд, программатор эти данные выбросит из прошивки или перенесет дальше?
Если перенесет - то поползет вся адресация в прошивке и она не сработает. Или в программаторе есть стандартные алгоритмы действия на этот счет. типа для 128 нанд памяти вот ECC, вот таблица: перенес - запиши.
==
Ладно, это так риторически было, я понял. Нет такого алгоритма. Нужна утилита, которая по дампу чистой микры раскидает прошивку на живые зоны. Причем эта утилита для каждого устройства своя... йошкин кот только и скажешь. Ждать и молиться..) real_man

Зона которую вы видите в конце и не можете ее изменить - это карта бэд блоков.


нет у меня в новом чипе карты бэд блоков. блоки есть, а таблицы нет.
==
конкретно с 3305 все катит, потому что прошивка занимает 1/5 объема микры и начало микруш, как правило живое. но ведь так будет не всегда.