Прошивка BIOS через SPI интерфейс

Автор ToolGIR. Опубликовано в Компьютерное

SPI-on-commando

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

Немного предыстории:

Материнская плата ASUS Commando, без, модного нынче, Dual BIOS. Только Boot Block – небольшая область BIOS, не затрагиваемая записью, которая позволяет, в случае необходимости, инициализировать минимальный набор компонентов, необходимых для включения компьютера, произвести поиск BIOS на съемных носителях. Обычно подходят Floppy или флешка с файлом прошивки, переименованным в AMIBOOT.ROM (зависит от BIOS и материнской платы, точнее написано в инструкции к плате), либо CD с драйверами из комплекта поставки. Обнаружив подходящий файл, boot block запишет его в BIOS и, если все прошло правильно, компьютер после перезагрузки оживет. Неплохая фишка, несколько раз выручала, но в данном случае она не сработала, видимо, оказался поврежден и boot block.

Пришлось искать другие решения. Так как в своем арсенале инструмента у меня не было паяльной станции и стационарного программатора для разных eeprom’ок, пришлось искать более доступные решения. Рассматривая плату, я обнаружил на ней небольшой разъем SPI_J1, а микросхема флеш памяти как раз с SPI интерфейсом. Поиск в Интернет показал, что существуют вполне приличные заводские девайсы и немало самоделок для прошивки SPI микросхем через USB (об универсальных программаторах с поддержкой SPI даже не говорю, это само собой). Правда, поиск по местным магазинам, СЦ и форумам в отличии от Google ничего не дал, а заказывать и ждать месяц очень не хотелось.

Еще немного поиска, и вот оно, решение – статья чешского комрада (на чешском) о предельно простом программаторе и софтине к нему для прошивки микросхем флеш памяти с SPI интерфейсом! Ничего сложного, минимум компонентов.

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

Сборка устройства

Для сборки нам понадобится:

  • 1 разъем DB25P, можно отрезать от ненужного шнура от принтера
  • 4 шт. резисторы по 150 Ом
  • 1 любой электролитический конденсатор емкостью 100 мкФ или более и рабочим напряжением на 6.3 В или больше (нужен при запитке от БП)
  • Кусок плоского шлейфа с IDC разъемом на 10 контактов (он идеален при наличии SPI разъема на плате)
  • Штекер molex (как на жестких дисках ATA), либо гнездо для батарейки CR2032

Ничего дефицитного нет, все можно найти в куче хлама или за копейки в любом радиомагазине. В худшем случае, можно попробовать обойтись вообще несколькими кусками провода, подсоединив контакты с SPI напрямую к LPT, однако, в данном случае нужно быть предельно острожным, да и правильность записи гарантировать сложно.

Схема с сайта автора, при подключении непосредственно к чипу (для флеш-памяти с рабочим напряжением 3 вольта):

Прошивка BIOS через SPI: Схема spipgm

Программатор SPIPGM может использоваться и для микросхем флеш-памяти с рабочим напряжением 1.8 Вольт. Автор применяет для этого дополнительный модуль (своего рода переходник), который подключается к основному модулю и состоит из дополнительных резисторов для гашения напряжения и каскада усиления на транзисторах BC547 для выходного сигнала чипа (схемы на сайты автора по ссылке выше). Ниже приводится адаптация схемы подключения, сразу предназначенная для работы с чипами на 1.8В. Для получения напряжения питания в 1.8 Вольта применен делитель напряжения (на схеме серые резисторы, желательно 1/4 Ватт), делитель при желании может быть пересчитан на другие номиналы (я указываю варианты 10 и 12 Ом, или 100 и 120 Ом), а еще лучше заменен подходящим DC-DC преобразователем (например, TLV70018). Диоды любые, нужны они для минимизации ошибок и, в принципе, можно обойтись без них.

Схема spipgm для чипов памяти на 1.8В

Мы же будем подключать программатор не к чипу, а к разъему SPI_J1.

Если разъем 7 контактный, то подключается к нему следующим образом:

Схема подключения SPI к 7-ми контактному разъему
1. -> питание +3.3v
2. -> земля от питания и вывод 18 на LPT
3. -> резистор -> LPT 7
4. -> резистор -> LPT 8
5. -> резистор -> LPT 10
6. -> резистор -> LPT 9

Так же, на некоторых материнских платах бывают 9 контактные разъемы, там схема подключения немного отличается:

Схема подключения SPI к 9-ти контактному разъему

Разъем DB25P хорош тем, что внутри него можно разместить все необходимые детали. Желательно использовать максимально короткую длину кабеля, иначе будут ошибки записи. Неплохо было бы закрыть провода экраном, либо от антенного кабеля, либо просто обмотав фольгой от шоколадки, не забыв подсоединить экран к земле (GND).

Расположение элементов программатора внутри DB25P

При питании от батарейки конденсатор можно исключить. Лично я брал с +5 шины блока питания (красный провод), подключив к нему через разъем molex и погасив напряжение диодами до ~3.3v (двух-трех диодов будет достаточно).

Схема подключения диодов
Блок питания все же надежней батарейки. Имея отдельный БП можно запитать напрямую от шины +3.3 (оранжевый провод ATX разъема). Чтобы запустить блок питания без компьютера нужно замкнуть зеленый и черный провода.

Девайс в сборе:

Собранный SPI программатор

Программа SPIPGM

Теперь можно переходить к программному обеспечению.

Программа поддерживает большое количество чипов (полный список в файле Readme.txt) и по заявлению автора работает быстрей аналогов. Скачать свежую версию можно с сайта автора, либо отсюда:

Проект, кстати, развивается и по сей день, автор частенько выкладывает обновленные версии программы с информацией о новых чипах, доработками и исправлениями.

В архиве следующие файлы:

SPIPGM – исполняемый файл для Linux
SPIPGM.EXE – исполняемый файл для DOS/Win9x
SPIPGMW.EXE – исполняемый файл для Win9x/NT/2k/XP/Vista/7 (только х32, поддержки х64 нет)
IOPERM.DLL – библиотека для низкоуровневого доступа в Win9x/NT/2k/XP/Vista/7(без UAC)

Надежней всего прошивать из DOS, загрузившись с Hiren или любого другого подходящего загрузочного CD/Flash. Но можно и из Windows.

Синтаксис и основные команды:

Синтаксис: spipgmw /<команда> [имя файла] [адрес] [размер] [/l=адрес] [/d=задержка]

Основные команды:

i – идентификация флеш памяти
d имя файла – считать содержимое флеш памяти в файл
p имя файла – записать флеш память из файла прошивки (без стирания)
v имя файла – сравнить содержимое флеш памяти с файлом прошивки
e – полное стирание флеш памяти
b – проверка стирания флеш памяти
u – разблокировать защиту от записи (зависит от сигнала WP#)
Имя файла — полное имя файла, например: file.bin, file.rom и т.п. Расширение роли не играет, главное чтобы это был корректный файл образа и правильно указано имя.

Прошивка BIOS через SPI:

spipgmw /i – идентификация чипа. Для проверки все ли правильно подключено, программа должна определить тип установленной памяти. Если этого не происходит, проверьте правильность подключения и поддержку чипа программой.

spipgmw /d BIOS.bak – если нужно сохранить резервную копию имеющегося BIOS.

spipgmw /u – разрешение записи.

spipgmw /e – стирание.

spipgmw /p FILE.rom – запись прошивки («FILE.rom» – имя файла прошивки, нужно чтобы файл находился в одной папке с программой)

…ждем процесс записи…

spipgmw /v FILE.rom – сравниваем записанные данные с файлом прошивки. Либо можно сделать дамп spipgmw /d test.rom и сравнить его содержимое с оригинальным файлом прошивки в каком-нибудь Hex-редакторе.

Возможно наличие небольшого количество ошибок. Зависит от длинны кабеля, стабильности питания, типа памяти. Конечно, желательно, чтобы ошибок не было вовсе, но даже с некоторым количеством ошибок компьютер скорей всего запустится, а там уже можно прошить BIOS штатными средствами.

Данный способ подходит не только для прошивки BIOS материнских плат, но и любых других устройств, имеющих SPI разъем, либо напрямую, любой поддерживаемой микросхемы.

Теги: , , ,

Комментарии (82)

  • Lisa

    |

    Спасибо, тема очень полезной мне стала. Конечно скорость записи по лпт не ахти, ну да ладн это мелоч..За то работает)

    Ответить

    • ToolGIR

      |

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

      Ответить

  • anat

    |

    На winXP в командной строке spipgm не определяется в любом месте.

    Ответить

    • ToolGIR

      |

      Вы точно spipgmW запускаете? У вас XP x32, не x64?
      Кроме того важен путь. Если вы просто откроете CMD и наберете «spipgmw», естественно, что она не запустится, нужно перейти в папку или давать полный путь.
      Самый простой вариант распаковать папку в корень любого диска и запускать так CMD > CD C:\SPIPGM > spipgmw (это пример, буквы и путь могут отличаться).

      Ответить

      • anat

        |

        SPIPGM находит но выдает -программа не является исполнительным файлом или пакетом.

        Ответить

        • ToolGIR

          |

          Набирайте SPIPGMW.EXE Судя по всему, вы пытаетесь запустить не тот файл (там их несколько в архиве, для windows .EXE — у него будет написано «приложение» и для линукс без расширения — просто как неизвестный файл).

          spipgmw
          Запускать нужно НЕ из папки. Нужно открыть командную строку перейти в ней в нужный каталог и запускать SPIPGMW.EXE (так и нужно набирать) + ключи командной строки, которые описаны в статье.

          Ответить

  • anat

    |

    Спасибо.появилась информация о программе.флеш память 25F80 не определилась.в материнке она была установлена наоборот.
    Материнка не запускается.отнесу на программатор.Спасибо за консультацию.

    Ответить

    • ToolGIR

      |

      Пожалуйста. Дело может быть и не в прошивке, но, думаю, там должны разобраться. Удачи! =)

      Ответить

  • Wilder

    |

    Спасибо автору!
    Может кому пригодится…
    Я прошивал BIOS в Winbond 25Q32B на материнской плате от MSI, MS-7698. Записать удалось только когда материнская плата была запитана от стандартного ATX блока питания.

    Ответить

    • ToolGIR

      |

      Спасибо! Полезная информация.

      Ответить

  • Артем

    |

    Вчера пытался прошить winbond 25×80 в целом все не плохо, но питался от батарейки и она как то быстро садилась новая батарейка через пол часа уже показала 1,7 вольта
    поставил другую процесс пошел но видимо батарейка просела до 2,5 и прошилось не удачно, сегодня попробую запитаться от отельного БП %)

    Ответить

    • ToolGIR

      |

      Приветствую! ))
      Сам я всегда запитывал от БП, но слышал, что батарейки обычно на долго не хватает. Возможно, БП все же надежней. )

      Ответить

  • Михаил

    |

    Связка из диодов — не лучший вариант для гашения +5 В до 3.3 В. Слишком мал потребляемый ток, на чип попадает почти 4.2 В. Добавление диодов в цепочку ситуацию не меняет. Использовал КД521. Собрал обычный параметрический стабилиззатор из расчёта 0.722 В на диод, правда добавлял германиевым Д2 :-D И почему-то стирание не проходило, ключ /e. Пришлось просто пустой файл с 0xFF записывать.

    Ответить

    • ToolGIR

      |

      В моем случае 3 диода дали как раз примерно 3.3-3.5 вольт (я замерял). Но, соглашусь, что без замера выходного напряжения использовать такое гашение в некотором роде лотерея — из-за разного падения (может быть в пределах 0.5-1 В на диод) на выходе напряжение может отличаться от нужного 3.3. Но, к счастью, есть и другие варианты: шина 3.3 с БП, батарейки, регулируемые БП и т.д.
      На счет стирания даже не знаю, возможно, разные чипы воспринимают этот процесс по-разному.

      Ответить

  • Михаил

    |

    Хотелось всё в одном, внешние БП не рассматривал. К тому же, проще подключиться надёжно к разъему от IDE винтов, PC старый, с LPT. Флешка со всем необходимым. Про стирание. Возможно, нужно точнее подгонять напряжение к чешской программе SPI. А чип — GD25Q64 с ASUSовской H81M-E, спасибо ASUS, он DIP в кроватке :-D Мне, главное, надо было снять LOCK BIOS в защите, сейчас шью-перешиваю на месте, балуюсь модификацией.

    Забыл же добавить, дело в том, что на любом цифровом мультиметре есть прозвонка-пищалка, она выдает на щупы с генератора ТОКА ровно 1 mA, поэтому падение напряжения на p-n переходе будет такое, как покажет мультиметр.

    Ответить

    • ToolGIR

      |

      Кроватки нынче редкость :-D

      Раз работает, по идее, дело не в напряжении, а в командах. Кроме того, чипы будут игнорировать стирание, если есть защищенные блоки и другие заморочки (поглядел даташиты)… Не уверен, что автор программы физически мог проверить и подогнать под особенности всех чипов… Главное, что нашим кулибиным это не помеха. :-D

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

      Ответить

  • Юрий

    |

    Можно запитать от USB используя делитель напряжения из 2-х резисторов (например 5.5к и 18к) последовательно с диодом (диод для защиты USB порта) =)

    Ответить

    • ToolGIR

      |

      Тоже вариант. :) 3.8 В на делителе и минус падение на диоде (он хоть и для защиты, но от падения никуда не деться), как раз примерно 3.3 В. *THUMBS UP*

      Ответить

  • Андрей

    |

    Хочу у Михаила спросить,а как ты подключился к DIP чипу и прошиваешь его?

    У меня AsusP8Z68-vlx,походу слетел биос, кулеры при старте начинают крутиться и останавливаются и так все время. Не знаю как подключиться к этому чипу. Наверно только программатор прийдеться заказывать за 3500.

    Ответить

    • ToolGIR

      |

      Я не Михалыч, но отвечу. =)

      Схема подключения непосредственно к чипу есть в самом начале статьи. Нужно лишь вынуть чип из кроватки и навесным монтажом припаять соответственно схеме.

      Можно, конечно, начать с БИОС, но описанные вами симптомы скорее говорят о проблемах с самим железом — нужно проверить питание (соответствуют ли напряжения, все коннекторы правильно подключены), попробовать перекинуть память и процессор на заведомо рабочие, сбросить CMOS, или поставить POST карту и посмотреть в чем дело. Ну а дальше уже отталкиваться от полученных результатов.

      Ответить

    • Алексей

      |

      Андрей, у меня, судя по описанным симпьомам, была похожая ситуация.Мать ASUS P5QC. Сам прочитать и прошить флешку описанным способом не смог.Spipgm не определял мою флэшку(EN25F80)хотя в списке она числится , другие пожалуйста,а именно мою нет и все тут(не первый раз я этим программатором пользуюсь).Поездил по городу,поспрашивал у ребят кто занимается ремонтом, все отказываются браться, мол это у тебя скорее всего железо накрылось, мост отвалился, или мультик, биос сам по себе слететь не может и все в том же духе. Только в одном подвальчике, парень-ремонтник взялся и спокойненько мне накатил дамп биоса для моей мамки.Правда у него какой-то промышленный программатор.Флешка оказалась живая и после прошивки мать запустилась. Короче говоря, данный способ не понацея, может и не помочь.

      Ответить

      • ToolGIR

        |

        Панацей в природе не бывает :-D Тем более сейчас за 3$ у тех же китайцев можно заказать полноценный SPI-программатор для USB. Несколько лет назад за такие поделки пришлось бы отдать 10-20$.
        Но, не всегда есть возможность ждать под месяц, а иногда просто хочется поэкспериментировать и сделать что-то своими руками. =)

        Причин проблемы с такими симптомами может быть много, от банального «забыл воткнуть коннектор доп. питания» до выхода из строя мостов. Поэтому логично исключить хотя бы самые простые из них, а там уже БИОС перекинуть можно попробовать. ))

        Ответить

  • Андрей

    |

    давно таким пользуюсь. Разъем — кроватку сделал из квадратного разъема БИОС от старой материнки и прищепки как зажима, выпилил и эпоксидкой к плате. А можно тупо дорожки на плате вытравить по микросхему и припаивать.
    3,3 Вольта беру от USB, от ЮСБ выходит 5 на стабилизатор 1117-3,3, а оттуда уже 3,3 на питание микросхемы. Этих стабилизаторов на материнках и видеокартах хоть попой кушай, где только не стоят.

    Ответить

    • ToolGIR

      |

      Спасибо, что делитесь своим опытом. =)

      Ответить

  • Юрий

    |

    Пробовал прошивать W25Q16bv- проблем с определением типа флешки нет, дамп сохраняется и заливается вроде бы тоже нормально, но при верификации залитого дампа с оригиналом очень много ошибок ! %) У кого какие результаты?

    Ответить

    • ToolGIR

      |

      У меня было аналогично. Все функции при этом работали как надо, никаких глюков или ошибок не возникало. Но для надежности, я еще раз накатил БИОС стандартными средствами.
      Знаю, люди что только ни прошивают (планшеты, роутеры, телевизоры и т.д.), и в большинстве этих девайсов вообще нет встроенных средств для обновления. И, собственно, все работает.
      Как вариант, ошибки могут возникать на этапе чтения, иначе проявлялись бы хоть какие-то проблемы. *PARDON*

      Ответить

      • Юрий

        |

        Замерил напряжения на линиях ввода -вывода данных,т.е. ножки 5 и 2 на флешке W25q16bv , и оказалось,что на линии вывода U=4,6В, а на линии ввода U=3,3В !!! Не знаю, на моём ли только ноуте (DELL 610D) LPT имеет такую особенность, но уверен в этом и есть проблема, должно быть 3,3В ! Т.е. как Вы ToolGIR, правильно заметили при заливке дампа все проходит гладко и прошивка работает, а вот при чтении и возникают ошибки ! — получается сливая оригинальную прошивку мы получаем искаженную копию !!! =-O

        Ответить

        • ToolGIR

          |

          Интересно. Попробую собрать тестовый конфиг и проверить. Потом отпишусь ))

          Ответить

      • Юрий

        |

        а еще, как вариант, возможен выход из строя и *CRAZY* самой флешки

        Ответить

  • ToolGIR

    |

    Поэкспериментировал…
    Девайс все тот же, что в статье, мать та же Commando (так и осталась для коллекции :-D ). Подключал так же на плате через разъем.
    Напряжение в режиме чтения на 2 ножке скачет до 3.9 В, на 5 тихо.
    В режиме записи на 2 ножке 3.9 стабильно, на 5 — 2.5 В.
    Вот только мерить мультиметром не совсем правильно — там же прямоугольный сигнал, точную картину можно увидеть только осциллографом.

    На счет записи — сюрприз. Сделал подряд 3 дампа с разными именами, и у всех одинаковые контрольные суммы, которые совпадают с суммой файла прошивки. Верификация программой (ключ /v) сказала «Verify OK».
    И это при том, что мне пришлось делать через выносной LPT (разъем IDC на матери), т.к. материнки с «нормальным» LPT уже не нашлось.
    Еще одно изменение — я убрал один из гасящих диодов на питании. Напряжение VCC на чипе было ~2.6 В, а после стало ~3.3 В. По идее надо было бы проверить прошивку в обоих случаях, но все это дело уже собрано и убрано… Хорошая мысля приходит опосля *CRAZY*

    Подводя итоги, напряжение на ножках 2 и 5 меньше вашего, но примерно в тех же пропорциях. При прошивке на плате, возможно, есть смысл замерить напряжение питания и подать немного с запасом если нужно.

    Ответить

    • Юрий

      |

      Спасибо за проведенные исследования ! Кстати мне попадалась статья в инете относительно данного программатора, так вот там человек тоже упоминал,что стабильности в работе он добился снижением питающего напряжения до минимального , до 2.6В ! Для w25q16bv (по спецификации) требуется 2,6-3,6В, логично было бы предположить,что 3,3В — номинал ! Однако,как показывает практика, иногда логика мешает %)

      Ответить

      • ToolGIR

        |

        Чипы разные, у каждого своя специфика, те же команды могут восприниматься по-разному. В общем, универсального решения на все случаи нет. Иногда сразу отрабатывает, иногда приходится немного поэкспериментировать.
        PS. Есть чипы и на 1.8 в. ))

        Ответить

  • Андрей

    |

    Здравствуйте, запускаю SPIPGMW из командной строки под win7 32, выдает ошибку cannot open Service manager DataBase

    Ответить

    • ToolGIR

      |

      Приветствую.
      1. Запускайте командную строку от админа.
      2. Командная строка должна быть открыта на папке с SPIPGM (то есть нужно перейти в папку, типа «CD C:\SPIPGM»).

      Ответить

  • CAche

    |

    Здравствуйте. Подскажите плиз. Мучаюсь несколько дней, никак не получается нормально прошить. Стирается всё нормально, записывается тоже вроде нормально, но когда считываешь дамп, то там запись идёт до строчки 0х0..00F0, после 0x0..100 сплошные нули. Поэтому-то и верификация не проходила. Пробовал и разные микрухи. и разные параметры LPT в биосе, результата нет. Что может быть не так? :( Тут скриншот разместить не знаю как, вот ссылка: http://s017.radikal.ru/i443/1602/ca/4886399b1c20.png

    Забыл сказать про напряжения (Питаюсь от батарейки 3.3v):
    1. 4.25
    2. 3.85
    3. 3.14
    5. 0.17
    6. 0
    7. 3.15
    8. 3.15

    Когда идёт запись, то напряжения меняются на
    1. 0.17
    2. 0
    3. 3.12
    5. 0.85
    6. 1.95
    7. 3.12
    8. 3.12

    Ответить

    • ToolGIR

      |

      Добрый день!
      Что за мать? Что за чип? Для современных биосов (на 8 МБ и больше) обычная картина иметь огромные куски, заполненные нулями.
      Как прошиваете? на плате или непосредственно чип? Напряжения, вроде, в норме (по крайней мере VCC — 8 и WP — 3).
      Девайс после прошивки заводится или нет?

      Ответить

  • CAche

    |

    Материнка, куда подключен программатор, Gigabyte GA-8PE800, собрал из хлама. Пробовал через Windows XP и через DOC. Чип прошивать пробовал W25Q32BV и разные MX 25L8005, результат у всех одинаковый. По поводу больших кусков с нулями, это я видел, я сравниваю оригинал и слитый дамп. Прошиваю так, выпаиваю микруху, и подключаю к программатору. Подключаю программатор к LPT, запускаю spipgm (или spipgmw в винде), ключи /i, /e затираем, /u снимаем защиту, /p заливаем прошивку, /d читаем прошивку с микры. Ставить на место чип не пробовал, т.к. смысл если прошивка не полная и верификацию не проходит. Хотя вы меня натолкнули на мысль, что возможно запись идёт нормально, а вот читает дамп криво. Сейчас попробую поэкспериментировать и поставить в мать прошитый биос.
    Ещё вопрос, у меня сдохла микросхема биоса на ноуте, нашёл дамп (он весит 128 Кб), хотел поставить микру MX 25L8005 (1Мб) и залить туда этот дамп, но spipgm ругается, что прошивка меньше объёма MX 25L8005 (1Мб). Если я дополню нулями прошивку нулями, и она станет 1Мб, будет ли она (прошивка) работать с данным чипом

    Ответить

    • ToolGIR

      |

      В таком случае у вас практически идеальные условия для прошивки.
      Я бы посоветовал попробовать более «стационарный» источник питания (возможно у батарейки не хватает мощности). Еще можно поиграть с питанием от 2.6 до 3.7 В.

      По идее, если заполнить нулями оставшееся от 128 КБ пространство, вполне должно работать. Хотя сам лично я такого делать не пробовал. Если уж не пойдет, то на том же EBay без проблем можно заказать практически любой чип за пару баксов.

      Ответить

      • CAche

        |

        Спасибо большое, что ответили. Ладно, будем дальше экспериментировать. По возможности отпишусь об результате.

        Ответить

        • ToolGIR

          |

          Удачи :) Услышать результат было бы здорово. Вполне вероятно, что кому-то поможет. )

          Ответить

          • CAche

            |

            Разобрался я с этой проблемой, два для блин убил.Оказывается у меня стоит spipgm 2.21, а он собака глючный, как раз такую-же проблему нашёл у других людей. Скачал версию 2.23, всё сразу прошлось, и верификацию прошла. Я на версии и не обращал внимание %)

            Ответить

          • ToolGIR

            |

            Отлично! =) И я об этом не подумал, подразумевал, что версия отсюда…. А 2.21, да, сам автор пишет — у нее ошибка в функции записи и ею лучше не пользоваться.

            Ответить

  • Vidas

    |

    Помогите, у меня програма запускаетса, но невидет самой флешки, провода проверял несколько рас, бсе ок, флешка 25х80всиг

    Ответить

    • ToolGIR

      |

      Приветствую.
      Проверяйте правильность подключения к LPT, наличие 3.3 В на ножках 3, 7, 8. Можно попробовать подключить к другому компу (было такое, на одном не видела, на другом отлично прошила).
      Как вариант, неисправность чипа. Редко, но бывает и сама SPIPGM не может определить чип по неизвестным причинам (например, коммент выше от Алексея).

      Ответить

      • Vidas

        |

        напряжения на ножках
        1- 0,22
        2- 4,10
        3- 3,37
        4- 0
        5- 0,22
        6- 3,39
        7- 3,37
        8- 3,39

        всё делою на ноутбооке, можеть попробовать на стационарном компе ?

        а может какои другои софт порекомендуите

        Ответить

        • ToolGIR

          |

          Напряжения в порядке. Причина может быть в неправильном подключении, самом чипе или компьютере с которого вы прошиваете. Чтобы исключить все варианты, вы можете попробовать другой чип и/или другой компьютер.

          Софт вам не поможет. Вам нужен программатор, программный (как SPIPGM) или аппаратный. И раз уж SPIPGM у вас не пошел, то можно попробовать любой программатор для SPI (они продаются или взять на время в каком-нибудь сервис центре/у друзей).

          Ответить

  • Lis97

    |

    Внесу своих 5 копеек :) Пишу редко, наверно зацепило :)
    Если хотите считывать и писать без ошибок, то простые правила:
    — в BIOS нужно LPT перевести в режим EPP
    — LPT должен иметь адрес 378h
    — порт LPT должен быть свободен в OS, был прикол драйвера принтера от SAMSUNG ML-1641, он постоянно троллил LPT, хотя принтер USB
    — длина проводов желательно минимальная
    — по питанию ни каких диодов, батареек и делителей на резисторах, только линейный стабилизатор типа 1117-3,3 или аналог…
    — на выходе стабилизатора обязательно кондеры (оба), у меня под рукой оказались 10mkf*50V и 0,47mkF (первый электролит, второй керамика)
    — использовать последнею версию SPI FlashROM Programmer 2.23
    — все манипуляции нужно проводить под DOS или WinXP, у меня все прекрасно работает под WinXP sp3 (используем SPIPGMW.EXE)
    — нужно дождаться, когда система загрузится и подождать 5 минут, так как многие службы еще не загрузились в WinXP и тормозят все…
    — желательно не запускать какие либо приложения в процессе чтения или записи Flash (теория, возможны таймауты)
    — антивирусник Касперского у меня не влияет на результат (теория, на слабых компах есть вероятность, что будет мешать)
    PS м/с MX25L3206E считалась и проверилась 5 раз, ни одной ошибки (без кондеров были ошибки 1~5 штук)
    PS м/с MX25L3206E время: чтение/проверка 2:30, стирание 0:12, проверка стирания 2:30, запись 2:00 (странно, запись должна быть больше, но скорее всего пишет блоками)
    PS спасибо чеху, который все придумал :)
    Всем удачи!!!

    Ответить

    • ToolGIR

      |

      Спасибо за исчерпывавший чек-лист. Думаю, очень даже пригодится тем, кто испытывает проблемы или хочет заниматься этим «на поток». =)

      Соглашусь, что в идеале все так и должно быть. Но, к счастью, в большинстве случаев способ работает и без такой скрупулезной подготовки. =)

      PS. Пишет SPIPGM действительно намного быстрей, чем читает.

      Ответить

  • алексей

    |

    Кто-нибудь может помочь с прошивкой материнской платы. Москва. за паучка

    Ответить

    • ToolGIR

      |

      А что тут помогать то? 5 минут работы паяльником и вперед.
      Ну может кто и откликнется, за паучка то святое дело *CRAZY*

      Ответить

  • rensaid

    |

    Для новейших ноутбуков годится? Процессор 14 нм Intel.

    Ответить

    • ToolGIR

      |

      Процессор тут абсолютно никакой роли не играет. Главное, чтобы чип флеш-памяти был в списке поддерживаемых (есть в readme файле).

      Ответить

  • Сергей

    |

    Как работать с программой в Linux?
    Нигде в интернете даже примера команд нет.
    В командной строке такие варианты как с Windows или DOS не прокатывают (что логично)
    Флешку 25x40vaiz прошил без проблем под виндой, но хочется знать как это можно сделать в линуксе.

    Ответить

    • ToolGIR

      |

      Наверное, предполагается, что пользователи Linux сообразят, как запустить бинарник в терминале. :-D В отличии от Windows там от него никуда не деться.

      Команды те же. Вот только имена файлов и папок могут быть чувствительны к регистру.
      Сам лично шить из под линухи не пробовал… Собственно, даже ей и не пользуюсь.

      SPIPGM Запуск на Linux

      Ответить

      • Сергей

        |

        Спасибо. Оказывается нужно было писать ./SPIPGM
        А як как в винде пробовал без точки с слешом. :)
        Как говорится век живи, век учись.

        Ответить

  • Petrich

    |

    Здравствуйте!
    А где брать файл биос?
    В инете дампы невозможно скачать, везде заблокировано и нет возможности регистрации, либо нужны привилегии.
    K53SK-SX110R

    Ответить

    • ToolGIR

      |

      Добрый день.
      Там же, где и всегда — на официальном сайте производителя. Я даже не поленился и проверил — прошивка (версий 204 и 205) на эту модель лежит и ждет вас.
      А прошивать неизвестно чем, скачанным неизвестно откуда лично я бы не стал.

      PS. Для большинства ноутбуков важна лишь модель (K53SK в вашем случае), остальное код комплектации — на БИОС он обычно не влияет.

      Ответить

  • Семён

    |

    Привет, срочно помогите сейчас прошиваю мк sst 25vf016b всё вроде правильно прочёл флеши определил но дошло до 58% и всё пишет Ж WARNING: unexpected end of file at : 1231252 :(

    Ответить

    • ToolGIR

      |

      Приветствую. Проверьте файл прошивки, или перекачайте и скиньте на флешку (или откуда вы пишите) его заново.

      Ответить

  • Семён

    |

    Привет я скинул туда же где и spipgmw в admin указываю место но доходит до 58% и неудача ,сейчас попробую перекинуть на флешку

    TD-8840T_V2_100702_TR вот эту прошивку в мою мк хочу запихать но не получается помогите пожалуйста может кто попробует на своём компе и расскажет…..

    Ответить

    • ToolGIR

      |

      Ну так размер прошивки 1.2 МБ а объем чипа 2 МБ. Для SPIPGM нужно чтобы файл прошивки байт в байт соответствовал объему чипа. Отсюда и 58%…
      Чтобы запись прошла добивайте нулями в HEX-редакторе файл до 2097152 байт.

      Ответить

  • Семён

    |

    Спасибо Вам большое ,поясните ещё один нюанс ( я новичок) где или какой редактор брать для ред. HEX-файлов

    Как добить нулями ….? где иероглифы или цифры)

    Ещё раз спасибо большое Вам!!!!!!!!!!!!!!!!!!!

    Ответить

    • ToolGIR

      |

      Любой HEX-редактор. У них у всех есть возможность задать размер файла до байта и заполнитель (лучше FF).
      Нет у меня сейчас возможности объяснять в какие меню для этого тыкать, вот ваша прошивка на 2МБ:
      http://www.toolgir.ru/wp-content/uploads/2016/06/TD-8840T_TR_2_0_1_up100705_ras.rar

      Должно работать )

      Ответить

  • Семён

    |

    Вот ))а я всё спешу ….нашел я редактор заполнил 00 и запустил прошивку прошило 100%))) обрадовался то как )) вставил а оно не работает , перепоял обратно а индентификацию мк не проходит как будто не видит, но заполнил так как Вы до байта 00 ((( убил наверно флешку _) :(

    Ответить

    • ToolGIR

      |

      Прошивкой флешку не убьешь. )) Заполнять лучше FF и я не имел ввиду вручную это делать )) При изменении размера редактор сам в конец файла добьет заполнитель до нужного размера.
      Главное, чтобы в конец файла (не в начале и уж точно не в середине). Как вариант, попробуйте прошивку, которую я дал.
      Может перегрели пока туда-сюда паяли? Может где-то ошибка в подключении? Пока только такие мысли.

      Ответить

  • Серый

    |

    Спасибо за инструкцию. Восстановил пролежавшую 4 года 880GMS-E35(FX) микруха 25Q16CVF1G шилась секунд 10 через разъём на плате, Windows 7-32, путь к прошивке надо указать полностью, сопротивления 120 ом (других не было) провода 20 см. не экранировал, питание с оранжевого провода 3,3 вольта =)

    Ответить

    • ToolGIR

      |

      И вам спасибо, что поделились опытом.

      Ответить

  • Elknik

    |

    Всем привет.
    Вычитал в другом месте. Проверил. Сработало.

    Если есть второй БП, то не нужно заморачиваться с оранжевым проводом и запуском БП перемычкой между зеленым и черным проводом..
    Достаточно подключить разъем АТХ БП к прошиваемой плате и включить БП сетевым выключателем — в дежурном режиме (не запускать).

    Очень удобно.

    Ответить

    • ToolGIR

      |

      Приветствую на сайте.
      Ну я бы не назвал замкнуть 2 контакта великой заморочкой :-D
      А вот как поведет себя плата с подключенной дежуркой, кто его знает. Подавать напряжение на WP чипа она по идее не обязана. Да и шьют этим способом не только материнки.
      Если сработало хорошо (один человек уже отписывался о похожем случае), но думаю, такой способ требует немного больше тестирования на разных платах. =)

      Ответить

  • Zaraz

    |

    u – разблокировать защиту от записи (зависит от сигнала WP#)
    Не удаётся разблокировать защиту sst25vf040, помогите

    Ответить

    • ToolGIR

      |

      Прошивается на матери или отдельно? Подключено правильно? Напряжение питания и WP в норме? Идентификация чипа срабатывает?
      В комментариях уже не раз детально рассматривалось решение различных проблем, читайте.

      Ответить

      • Zaraz

        |

        Подключено вроди правильно, питание от отдельного бп атх, идент чипа стабатывает но после неудачной разблокировки уже не показывает пока питание не выкл-вкл, прошивается на матери через spi, при разблокировке set WP# pin level high

        Ответить

        • ToolGIR

          |

          Версия 2.23? У предыдущих есть ошибки в коде. В 2.22, судя по Readme, как раз ошибка со статусом разблокировки чипов SST25VFxxx…

          Ответить

  • Дмитрий

    |

    Здравствуйте! У меня почему то не стирает старый дамп… Если записать новый без стирания, будет работать?

    Ответить

    • ToolGIR

      |

      Вечер добрый.
      Какой дамп? Имеете в виду чип не стирает?
      Разблокировка защиты проходит? Что за чип? Версия программы? Ошибка?
      Раз стирание не проходит, значит что-то неправильно.

      Ответить

      • Дмитрий

        |

        Да всё, благодарю, разобрался. На другом компьютере всё стерлось и прошилось… Первый раз с одной ошибкой — комп не загружался, потом на два раза прошил, ошибок не было — всё запустилось и работает.
        Просто сначала нашёл один форум, там такая же схема, но с резисторами 100 ом — чип даже не определился. Потом по вашей схеме поставил к 100 ом ещё по 50 ом резисторы — всё заработало. Питал от блока через кандёр 100 мкф.

        Ответить

        • ToolGIR

          |

          С этим способом зачастую от многих факторов зависит. Могу предположить, что напряжение логики на ЛПТ не понравилось, а добавленное сопротивление исправило ситуацию.
          В общем, рад, что разобрались. :)

          Ответить

  • арсений

    |

    а если у меня идет ряд нолей а не единиц? и после перепрошивки не включается ноутбук вообще.

    Ответить

    • ToolGIR

      |

      А поподробней можно? Что прошиваете, как, чем, какие такие нули?

      Ответить

  • игорь

    |

    не определяет микросхему биоса W25Q64FWSIG от планшета iru b9701g ну скорее всего я не правильно что то дела можете ли на paint расчертить от каких именно проводов питать программатор + — и конденсатор на 1 мкф . полярность резисторов не влияет и нужны только на 150 ом я использовал 150 120 150 140 ом и соеденял на прямую через медные провод под размер отверстий

    Ответить

    • ToolGIR

      |

      Добрый день.
      Звучит правильно, только с той разницей, что ваш чип на 1.8 вольт, а не 3.3.
      Подключение для него немного сложней.
      1. Нужно обеспечить питание 1.8-2В. Из самых простых способов лучше использовать делитель.
      2. Погасить напряжения с LPT — автор для этого ставит резисторы 2 кОм.
      3. Для выхода чипа (DO) ставится простейший усилитель на 2 транзисторах (автор использует BC547).
      Статья дополнена схемой подключения для чипов на 1.8В.

      Ответить

      • игорь

        |

        cспасибо буду пробовать. сделаю отпишусь =)

        Ответить

Оставить комментарий

Ваш E-mail не будет опубликован. Обязятельные поля помечены *