Размер файла больше необходимого, но действия будут продолжены ch341a

Обновлено: 04.07.2024

Пример SPI для Microwire 93LC86 EEPROM с USB-адаптером CH341

ПРИМЕЧАНИЕ: 93LC86 на самом деле представляет собой устройство Microwire, похожее на SPI, но определенно не такое же. Существует хорошая страница декодера Sigrok Microwire, а также ссылка на спецификации Microwire

Вот ключевые отличия Microwire 93LC86 от SPI:

  • Вывод CS активен в состоянии HIGH (типичный SPI имеет /SS — выбор ведомого устройства активен в состоянии Low)
  • после каждой команды вывод CS должен быть деактивирован и активирован снова, иначе последующие команды будут игнорироваться
  • после любой команды программирования вывод DO (или MISO) становится выводом READY/BUSY, который можно опрашивать (даже без часов). Однако CS нельзя деактивировать, пока этот вывод не перейдет в состояние READY (в противном случае функция этого контакта будет потеряна).
  1. Реализованы базовые функции чтения и записи в EEPROM 93LC86. Тестовая программа теперь выполняет следующие действия:
  2. Он записывает и считывает тестовое значение в/из EEPROM по адресу 1024 (0x400)
  3. Выводит содержимое всего EEPROM на консоль

Схема цепи приведена ниже:

Схема SPI w 93LC86

  • вам нужен CH341A USB-адаптер UART/IIC/SPI/TTL/ISP. Параллельный преобразователь EPP/MEM. Если вы никогда не использовали этот модуль, ознакомьтесь с моей статьей Начало работы с модулем преобразования USB LC CH341A
  • EEPROM 93LC86, керамический конденсатор 100 нФ.
  • ОС Windows. Я тестировал этот проект на гостевой ОС Windows XP SP3 в VirtualBox
  • Visual Studio 2010 (это последняя версия, поддерживаемая в XP SP3)

Адаптер CH341A должен быть настроен следующим образом:

  • перемычка установлена ​​в режим I2C/SPI
  • напряжение установлено на логику TTL 5 В (чтобы обеспечить максимально возможную скорость и отклик 93LC86
  • правильная конфигурация приведена на рисунке ниже:

USB Конфигурация адаптера CH341A

  • Загрузите и установите CH341PAR.ZIP — USB-драйвер для чипа CH341 в параллельном режиме (EPP, MEM). Этот драйвер действителен также для режима I2C и режима SPI (да, даже если он помечен как параллельный).
  • установите VisualSuttio 2010

Создайте переменную среды CH341_SDK, которая должна указывать на извлеченные файлы заголовка и библиотеки CH341PAR.ZIP. Например, если вы извлекли файл:

Тогда ваш CH341_SDK должен быть установлен в C:\CH341_DRIVER\LIB\C .

Откройте и перестройте решение VS2010_sol/ch341_spi_93lc86/ch341_spi_93lc86.sln в VisualStudio 2010. Ошибок быть не должно.

Подключите USB-модуль CH341A к целевой цепи. Используются следующие контакты:

< tr>
Имя PIN-кода Направление Описание
GND Н/Д Общая земля
VCC Н/Д Питание 5 В
MISO Вход ведущий в ведомом выходе — SPI
MOSI Выход главный выход подчиненный вход - SPI
SCK выход основные часы - SPI
CS0 Выход Выбор микросхемы 0, активен в высоком уровне (93LC86 является Microwire, но обычно НЕ совместим с SPI)

ПРИМЕЧАНИЕ. Направление указано от "вида" USB-модуля CH341A.

Подключите USB-модуль CH341 к компьютеру. На USB-модуле должен постоянно гореть красный светодиод.

API ch341dll.h предлагает два интерфейса для SPI:

  • Ориентированные на байты CH341SetStream() + CH341StreamSPI4() вызываются для каждого байта. Это удобный API, но он может быть недостаточно гибким в сложных сценариях (таких как EEPROM)
  • CH341Set_D5_D0() + CH341BitStreamSPI(), ориентированный на поток битов, вызывается для каждого набора битов. Каждый байт представляет собой (примерно) набор битов от D7 до D0, которые имеют следующее значение:

ВНИМАНИЕ! Я не могу найти достоверную документацию по 5-проводному стандарту SPI (обычно используется 4-проводной SPI).

ВНИМАНИЕ: я не проверял приведенную выше таблицу (пока).

При запуске скомпилированного исполняемого файла вы должны увидеть такие сообщения, как:

ПРИМЕЧАНИЕ: вы можете увидеть много байтов 0xca в моей EEPROM, потому что я уже пробовал использовать команду записи шаблона (WRAL) на своей плате STM32 Nucleo

Обратите внимание, что чтение всего EEPROM занимает около 10 секунд на виртуальной машине VirtualBox

Вывод логического анализатора

ПРИМЕЧАНИЯ по USB: Насколько мне известно, связь адаптера USB PCCH341A осуществляется с использованием пакетов, содержащих до 32 инструкций. Пакеты отправляются/получаются каждые 1 мс или около того (так работает такое USB-устройство). Следовательно, могут быть (и есть) неотъемлемые задержки.

К счастью, это не проблема, поскольку нет ограничений (низкого диапазона) на синхронизацию главных часов SPI.

Наконец-то я нашел основную причину, по которой декодер 93Cxx PulseView не работал. Это произошло потому, что 93LC86 является устройством Microwire, а не устройством SPI, как описано на странице декодера Sigrok Microwire.

PulseView 93LC86 ЧИТАТЬ обзор

Благодаря триггерам PulseView невероятно легко зафиксировать начало связи (я просто использовал триггер нарастающего фронта на канале CH1 (обозначен как D0 в PulseView) и подключил к сигналу CS0.

ПРИМЕЧАНИЕ. Вам необходимо запустить нашу exe-программу в первый раз, чтобы убедиться, что CS0 заканчивается на низком уровне перед следующим запуском. Затем запускаем захват триггера в PulseView

Вот скриншоты всего цикла WRITE:

  1. EWEN (включение записи)
  2. WRITE (Запись одного байта)
  3. EWDS (отключение записи)

Итак, EWEN (включение записи):

PulseView 93LC86 EWEN

С последующим WRITE (запись одного байта данных):

PulseView 93LC86 WRITE

ПРИМЕЧАНИЕ. Вся запись WRITE не может уместиться на экране, потому что возникает большая задержка перед остатком данных (из-за ограниченного размера пакета на USB, за которым следует период опроса USB - минимум 1 мс для полной скорости относится к CH341A?).


Потерян_N_BIOS

@barbe - Пожалуйста, укажите полный идентификатор микросхемы BIOS, если вам нужно использовать определенное программное обеспечение или выбрать альтернативный идентификатор микросхемы
Вы сделали резервную копию? Если да, пожалуйста, прикрепите его. И, пожалуйста, дайте ссылку на точную страницу загрузки вашего BIOS, а также полную модель с задней наклейки.

Сначала вам нужно сделать резервную копию и попросить кого-нибудь подтвердить, что она действительна и полна/правильна. Разве вы уже использовали функцию «Авто» или уже стерли и записали в чип? Если да, то вы потеряли всю информацию о плате (серийный номер, UUID, LAN MAC ID и т. д.)

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

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

Редактирование Фернандо: Lost_N_BIOS не был в сети с января 2021 года.


барбе


Потерян_N_BIOS

Дамп BIOS пуст (все FF). Может быть, вам повезло, и вы никогда не подключались должным образом к чипу, чтобы стереть его? Я вижу, что для этого чипа пользователям больше всего повезло с программным обеспечением 1.31Free версии по ссылке, которую я дал выше.
Оставьте CMOS-батарею, основную батарею и кабель питания подключенными. Затем снова сделайте дамп с помощью этой программы, посмотрите файл в шестнадцатеричном редакторе, если там все FF или 00, то все еще плохой дамп или плохое соединение (или вы его удалили)

Хуже всего то, что без действительного дампа вы не будете точно знать, какое программное обеспечение работает в этой системе, а значит, вы не будете знать, когда произойдет сбой записи из-за плохого файла или неправильной записи.
Однако, как только вы запишете в чип, вы можете снова выгрузить его и сравнить хотя бы в шестнадцатеричном формате, тогда вы сможете это выяснить.

Идентификатор типа BIOS или идентификатор платформы/семейства и т. д. можно найти только при перепрошивке BIOS или из дампа BIOS. Модель не поможет, если в вашем стандартном пакете BIOS есть несколько BIOS.
Вы помните, какая у вас была версия ME FW? Это может сказать нам, какой BIOS вам нужно использовать, у одного есть V8, а у другого - V9. Кроме того, какой у вас процессор, это тоже подскажет мне из-за разных микрокодов процессора в каждом BIOS

И на этой плате есть два чипа, один небольшой чип EC (64 КБ), размер чипа неизвестен, но я вижу, что он упакован с другими дампами для этой системы.

Я проверил стоковый EXE sp82482 на наличие последней версии BIUOS F.70, и там есть папка восстановления, так что вы можете восстановить его с помощью этих файлов, но вам придется поискать в Google кризисную папку восстановления HP и найти правильные методы, как Я не знаком с этим.
Я вижу, что при запуске стандартного EXE-файла у вас есть возможность создать USB-накопитель для восстановления, вы уже пробовали это?

Этот BIOS может быть подписан RSA, поэтому вы можете никогда не заставить его работать должным образом, но мы можем попробовать!

Редактирование Фернандо: Lost_N_BIOS не был в сети с января 2021 года.

Статус Первое сообщение в этой ветке является сообщением WikiPost и может быть отредактировано любым пользователем с соответствующими разрешениями. Ваши изменения будут общедоступны.

КенниВ

макруморс 6502

Я видел на форуме видео, в котором показано, как использовать CH341A, и я думаю, что смогу это сделать. Я из Италии, поэтому мне нелегко все понять, и я не знаю, есть ли рядом со мной кто-то, кто уже это сделал. Но я не сдамся. Я заказал сейчас CH341A на Amazon, он прибудет завтра, я надеюсь, что буду достаточно хорош, чтобы сделать это (разбирать iMac, iPhone и ноутбуки для меня достаточно легко, но я не настолько эксперт в программном обеспечении хахахахаха ) скрестим пальцы 🤞🏻 😊

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

USB-накопитель Linux действительно самый простой, но вам нужен другой компьютер для удаленного SSH через Ethernet-соединение.
Проблема с программатором ch341a заключается чаще всего в том, чтобы получить хорошую клипсу, чтобы надежно и правильно зажать чип BiOS, не прожигая его. Некоторые чипы BIOS (например, тип win-bond) не могут быть легко прошиты таким образом, особенно графический процессор nVidia Quadra серии Kxxxx. Вам также необходимо установить brew и flashrom через терминал для перепрошивки, если на вашем iMac или другом ПК с Windows не установлена ​​Windows через BootCamp. Я не уверен, возможна ли перепрошивка при запуске с виртуальной машины Windows на Mac. Таким образом, я считаю, что метод клипа более сложен в настройке, но как только вы все подготовите и попробуете, он может быть более удобным, чем метод Linux.

Зоррогарсия

макруморс новичок

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

USB-накопитель Linux действительно самый простой, но вам нужен другой компьютер для удаленного SSH через Ethernet-соединение.
Проблема с программатором ch341a заключается чаще всего в том, чтобы получить хорошую клипсу, чтобы надежно и правильно зажать чип BiOS, не прожигая его. Некоторые чипы BIOS типа win-bond не могут быть легко прошиты таким образом, особенно GPU nVidia Quadra серии Kxxxx. Вам также необходимо установить brew и flashrom через терминал для перепрошивки, если на вашем iMac или другом ПК с Windows не установлена ​​Windows через BootCamp. Я не уверен, возможна ли перепрошивка при запуске с виртуальной машины Windows на Mac. Таким образом, я чувствую, что метод клипа более сложен, но как только вы все подготовите и попробуете, он может быть более удобным, чем метод Linux.

Я думаю, что буду использовать Windows, но я не знал, что существует эта проблема с графическим процессором kxxxx. Я собираюсь прошить его на другом настольном ПК с Windows, который у меня уже есть, но просто для ясности, процесс отличается от видео на YouTube, ссылка на которое есть в теме? можно сжечь чип биоса?🥶😱

макруморс новичок

После нескольких месяцев чтения этой темы мне, наконец, пришлось зарегистрироваться, чтобы поблагодарить @nikey22, @xanderon, @Ausdauersportler и всех, кто внес свой вклад в эту информацию.

Я купил подержанный iMac 27 середины 2011 года около 2 лет назад. Оригинальная видеокарта уже была заменена в 2016 году, но замена 6970 1 ГБ умирала. Благодаря этой теме и всей подробной информации мне удалось выбрать K3100M, а также все необходимые инструменты для разборки Mac (и K5 Pro).

Потратить довольно много времени на разборку, шлифовку радиатора, сборку, прошивку и т.д.
Не торопился, следуя всем объяснениям первого поста.
Наконец-то я могу сказать, что теперь у меня есть загружающийся iMac с работающим графическим процессором.

Все еще нужно выполнить окончательную сборку, так как сейчас я хочу поставить SSD для более быстрой загрузки (и т. д.), а также выполнить необходимые тесты.
Еще раз СПАСИБО всем за захватывающую, но успешную замену графического процессора.

гноммак

макруморс новичок

Установил K3100M, заменил чип BIOS, так как один на карте был слишком мал, прошил новым VBIOS, установил чистую HS. Теперь система показывает экран загрузчика и звуковой сигнал, но после индикатора выполнения я просто вижу белый экран.

Память на моем K3100M состоит из чипов H5GC2H24BFR, которые имеют более низкую пропускную способность и напряжение, чем чип H5GQ2H24BFR

У меня такая же ситуация. Слово за слово. Даже модель памяти такая же.
Я установил свой K3100M в iMac 27 2011. Он загрузился в терминал Linux. Во-первых, я не ожидал, что будет какой-то видеосигнал.Поэтому я просто прошиваю карту прямо на iMac и перезагружаюсь. Получил загрузочный экран. Выбрано 10.13.5 установить USB. Появился индикатор выполнения, и через ~ 1 минуту я стал белым, как молочный экран. Это довольно интересно, потому что у нас обоих одинаковые симптомы, и это не сбои в работе графического процессора.

Я провел расследование. Родной биос моей видеокарты - 80.04.E8.00.21, ближайший брат - 80.04.F1.00.12. Обе эти карты имеют чипы H5GC2H24BFR. Первый BIOS относится к ноутбукам HP серии Z, а второй — к серверам HPE ProLiant. Единственная разница в функциональности заключается в том, что сначала поддерживается 1 встроенный дисплей и 1 внешний. И второй 4 внешних дисплея.
Также я обнаружил, что в картах с BIOS 80.04.CD.00.0A используются микросхемы памяти H5GQ2H24AFR (см. на прикрепленном рисунке). Именно тот биос, о котором упоминалось в посте nikey22. И, возможно, с микросхемами памяти H5GQ2H24AFR.

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

Посмотрите на имя VRAM вашей памяти, если вы видите загруженный биос H5GQ2H24BFR (BFR), он не поддерживается вашей оперативной памятью!
нужно поменять планку резистора верхней стороны платы с 24,5Хом на 15,4Хом
это решение для К3100М с памятью H5GQ2H24BFR.

Я искал карту около 2 часов. Но не могу найти эти резисторы. Вам нравится вид на доску обслуживания? Или можете указать, где на плате должны быть эти резисторы?

Вложения

Тиммит1000

макруморс новичок


Я недавно купил 21,5-дюймовый середину 2011 года, он указан в моей подписи ниже, но это базовая модель i5 с дополнительной оперативной памятью и обновлением SSD. Я хочу обновить графический процессор, чтобы использовать патчер Dosdude для доступа к Catalina. Я стремлюсь сделать как можно меньше модификаций. IE не заинтересован в модификации радиатора и предпочел бы не делать все перепрошивки и тому подобное на данный момент. Я просматривал таблицы, перечисленные на странице 1, и заметил, что некоторые из графических процессоров изначально имеют загрузочный экран. кажется, мой лучший вариант для моего 21,5-дюймового экрана — это Quadro K2100M, поскольку он указан как изначально имеющий загрузочный экран, его можно модифицировать, чтобы иметь регулировку яркости, не требует модификации радиатора и работает на 21,5-дюймовом. Итак, я думаю, мой реальный вопрос в том, что если я в порядке, не имея управления яркостью, смогу ли я отключить imac и поменять его местами и использовать свой imac, или мне придется добавить драйверы или что-то еще, что я, кажется, упустил из виду? предоставленную информацию и есть ли лучший вариант, который требует меньше модификаций, даже если покупка карты стоит дороже.

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

Спасибо за помощь.

Тихий океан1972

Соавтор

Спасибо за ваши ответы, проблема сейчас в том, что я не знаю, как им пользоваться, я новичок в этом "мире" и не знаю, смогу ли я это сделать. мне очень не повезло 😩

Чтобы использовать программатор CH341A, посетите этот веб-сайт (он предназначен для автомобилей,
там вы можете найти файл CH341A.EXE). Возможно, вы также должны искать
эмуляцию Serialport - CH341SER.ZIP.

CH341A.jpg

Все работает под Windows, и это намного быстрее и проще, чем
с другими методами.

CH341A Programmer.jpg

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

Если вы хотите сохранить оригинальный биос, то нажимайте иконку "Читать" и "Сохранить" (HP, lenovo. ) но
если вам не нужно, читайте оригинальный биос (если есть биос на это) и "Стереть".

Нажмите "Пусто", чтобы проверить, пуст ли чип MXIC BIOS!

Если выбранный BIOS.ROM загружен в программатор CH341A, вы можете нажать «Запись». После процесса
записи вы можете выбрать иконку "Проверить" - если карта прошита правильно, программа откроет окно
с надписью "ЧИП И БУФЕР ОДИНАКОВЫЕ"!

Это проще, чем чтение страниц содержимого для атрибутов NVflash для WIN или Linux или создание
сетевого подключения/SSH или какого-либо другого ****, с которым у большинства пользователей нет опыта.

Пожалуйста, прочитайте мой последний пост также с изображением, как подключить микросхему MXIC BIOS (SOP8).

Аусдауэрспортлер

макруморс 601


Я недавно купил 21,5-дюймовый середину 2011 года, он указан в моей подписи ниже, но это базовая модель i5 с дополнительной оперативной памятью и обновлением SSD.Я хочу обновить графический процессор, чтобы использовать патчер Dosdude для доступа к Catalina. Я стремлюсь сделать как можно меньше модификаций. IE не заинтересован в модификации радиатора и предпочел бы не делать все перепрошивки и тому подобное на данный момент. Я просматривал таблицы, перечисленные на странице 1, и заметил, что некоторые из графических процессоров изначально имеют загрузочный экран. кажется, мой лучший вариант для моего 21,5-дюймового экрана — это Quadro K2100M, поскольку он указан как изначально имеющий загрузочный экран, его можно модифицировать, чтобы иметь регулировку яркости, не требует модификации радиатора и работает на 21,5-дюймовом. Итак, я думаю, мой реальный вопрос в том, что если я в порядке, не имея управления яркостью, смогу ли я отключить imac и поменять его местами и использовать свой imac, или мне придется добавить драйверы или что-то еще, что я, кажется, упустил из виду? предоставленную информацию и есть ли лучший вариант, который требует меньше модификаций, даже если покупка карты стоит дороже.

Спасибо за помощь.

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

Тиммит1000

макруморс новичок

Думаю, я что-то упускаю, но можно ли использовать некоторые из этих графических процессоров без их перепрошивки, даже если у меня нет загрузочного экрана или регулятора яркости?

Шпрехер

участник Macrumors

У меня такая же ситуация. Слово за слово. Даже модель памяти такая же.
Я установил свой K3100M в iMac 27 2011. Он загрузился в терминал Linux. Во-первых, я не ожидал, что будет какой-то видеосигнал. Поэтому я просто прошиваю карту прямо на iMac и перезагружаюсь. Получил загрузочный экран. Выбрано 10.13.5 установить USB. Появился индикатор выполнения, и через ~ 1 минуту я стал белым, как молочный экран. Это довольно интересно, потому что у нас обоих одинаковые симптомы, и это не сбои в работе графического процессора.

Я провел расследование. Родной биос моей видеокарты - 80.04.E8.00.21, ближайший брат - 80.04.F1.00.12. Обе эти карты имеют чипы H5GC2H24BFR. Первый BIOS относится к ноутбукам HP серии Z, а второй — к серверам HPE ProLiant. Единственная разница в функциональности заключается в том, что сначала поддерживается 1 встроенный дисплей и 1 внешний. И второй 4 внешних дисплея.
Также я обнаружил, что в картах с BIOS 80.04.CD.00.0A используются микросхемы памяти H5GQ2H24AFR (см. на прикрепленном рисунке). Именно тот биос, о котором упоминалось в посте nikey22. И, возможно, с микросхемами памяти H5GQ2H24AFR.

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

Я искал карту около 2 часов. Но не могу найти эти резисторы. Вам нравится вид на доску обслуживания? Или можете указать, где на плате должны быть эти резисторы?

Вложения

Аусдауэрспортлер

макруморс 601

Думаю, я что-то упускаю, но можно ли использовать некоторые из этих графических процессоров без их перепрошивки, даже если у меня нет загрузочного экрана или регулятора яркости?

Маловероятно, что на некоторых картах Dell работает OOB, но со всеми семью проблемами. Я не хочу тратить оба раза на повторение всего первого поста. Прочтите ее еще раз и, если она настолько утомительна, сделайте несколько заметок и составьте план всей истории.

Тихий океан1972

Соавтор

Надеюсь, каждый сможет изменить это с помощью 10-долларового мини-паяльника!

гноммак

макруморс новичок

МакБургер31

макруморс новичок

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

Я терпеть не мог использовать грёбаные окна для прошивки карт, поэтому я приготовил этот диск ~350 МБ


Подготовьте USB-накопитель или SD-карту,
итак, вы берете небольшой USB-накопитель, разбиваете его с помощью дисковой утилиты на Mac: GPT + FAT32
и просто распаковываете структуру файлов на диск, без dd или etcher или что-то в этом роде. просто скопируйте и вставьте его. структуру папок см. прикрепленный скриншот. (вы можете удалить .roms, которые я скачал, и скачать сам, если хотите быть уверенным в правильности размера файла. Я их вообще не проверял. Используйте/прошивайте на свой страх и риск, пожалуйста)

Протестируйте и попробуйте
протестируйте флэш-накопитель с более или менее работающим графическим процессором/внешним экраном или просто доверьтесь мне

Замените оборудование
замените GPU на NVIDIA и (!) отключите каждый SSD/HDD, упростит загрузку вслепую с одного USB или SD-карты, подключите кабель ETH (!)

Найти IP
позвольте iMac загрузиться, все черное, загрузчик ждет 20 секунд перед загрузкой, поэтому дайте всему процессу 1 минуту, затем перейдите на страницу своего маршрутизатора и найдите правильный IP-адрес, который iMac прошел через DHCP

SSH для подключения к iMac
теперь запустите свой терминал на компьютере с Win/Mac/Linux по вашему выбору и подключитесь по ssh к вашему iMac с помощью
ssh root@ВАШ IP
Пароль: flash
Подтвердите идентификатор ssh с помощью yes, и вы должны быть в своем iMac

Рабочий каталог
cd /lib/live/mount/medium/flash

прочитайте RADME там… Мне понравится мой новый k2000m в моем 27-дюймовом iMac 2011 года с Catalina 10.15.3
… и, поскольку это так просто, я переделал его в K1100M и прошил его также< /p>

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

Недавно я купил GTX780M взамен моей испеченной 6970M, но я не знаю, что делать, учитывая тысячи сообщений. Я запустил SSH, но какие шаги нужно предпринять после этого?
Я читаю встроенную регулировку яркости, загрузочный экран и т. Д. На 780, еще в одном посте говорится, что мне понадобится opencore и замена нескольких кекстов, чтобы это заработало.
И у кого-нибудь эта карта работает и работает со вторым дисплеем, активным на молнии в Catalina?
У меня есть Catalina, работающая на другом SSD с 6970M, но дополнительный дисплей не включается.

Буфер ввода/вывода Jensd

Без работающего BIOS невозможно запустить даже самое мощное оборудование. В некоторых редких случаях микросхема BIOS в вашей системе может быть повреждена, что сделает вашу систему полностью непригодной для использования. Чтобы исправить эту ситуацию, а также по другим причинам, таким как простое резервное копирование, настройка, модификация или включение скрытых функций, интересно перепрограммировать ПЗУ BIOS. Недавно я попал в ситуацию, когда микросхема BIOS в моем Lenovo X1 Yoga вышла из строя. Чтобы исправить это, я купил минипрограмматор CH341a. В этом посте вы можете найти задокументированные шаги, которые я предпринял, чтобы перепрошить BIOS и вернуть к жизни свой ноутбук.

Как упоминалось во введении, чип BIOS моего ноутбука Lenovo X1 Yoga был поврежден, и мне удалось исправить ситуацию, перепрошив его с помощью работающего ПЗУ BIOS. В этой статье я повторю шаги, которые я предпринял на Dell Precision T1700 MT. Процесс точно такой же.

Видео на YouTube

Если вам интересно, я также создал видео на YouTube из этого сообщения в блоге. Если вы предпочитаете классический текст, вы можете просто следовать остальной части этой статьи:

Существует несколько способов (пере)программирования содержимого микросхемы BIOS. Самый простой — запустить средство обновления/программирования BIOS непосредственно на рабочей машине. BIOS в основном используется только во время начальной загрузки и может быть безопасно перепрошит на запущенной системе. Очевидно, что для того, чтобы это работало, система все еще должна загружаться. Если это больше не так, вам потребуется перепрограммировать BIOS, используя другое устройство.

Микросхемы BIOS поставляются в нескольких различных упаковках. Сегодня, по моему опыту, в большинстве случаев используется корпус SOIC-8. Это распаянная 8-контактная (2×4) микросхема. Так было с Lenovo X1 Yoga, а также с Dell Precision T1700 MT и некоторыми другими системами, которые я проверял.


1) Программист

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

Существует множество различных типов программаторов, но наиболее популярной моделью, скорее всего, из-за ее широкой доступности по низким ценам на Ebay, Amazon или Aliexpress, является минипрограмматор CH341a:


Это устройство допускает различные варианты программирования/прошивки микросхем SPI flash или BIOS, а также других типов EEPROM типа 24XX и 25XX, которые можно найти в различных устройствах, таких как маршрутизаторы, точки доступа, видеокарты и т. д., и подходит для программирования микросхемы BIOS SOIC-8, которые в наши дни используются во многих системах.

2) Адаптер, кабель или зажим

Если микросхема BIOS вставлена ​​в гнездо, вы можете снять микросхему с платы и поместить ее на программатор (с адаптером). Если он припаян к плате, вам нужно будет либо выпаять его, либо использовать зажим/зажим, соответствующий типу корпуса вашего чипа BIOS.

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


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


Остальные соединения должны следовать тому же правилу. На минипрограмматоре CH341a также есть указание, куда следует вставить пин 1. Как видите, это ближе к середине: верхний ряд, 4-й контакт слева направо, схемы контактов для микросхемы SPI/BIOS (тип 25).


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

3) Найдите микросхему BIOS на материнской плате

Расположение микросхемы BIOS на материнской плате не всегда понятно. Поиском микросхем, похожих на микросхему SOIC-8, можно уже многое исключить. Если вам повезет, рядом с ним есть метка, такая как BIOS или SPI. Также я заметил, что в большинстве случаев это не слишком далеко от батареи CMOS. К сожалению, нет фиксированного правила. Вам, вероятно, придется немного поискать или возложить надежды на могущественный Google, чтобы найти кого-то еще, кто уже прошел то же самое упражнение.

Для системы Dell я обнаружил микросхему BIOS в нижней правой части материнской платы рядом с меткой «SPI»:


Для моего Lenovo X1 Yoga найти было сложнее, так как на ноутбуке есть пластиковая пленка, закрывающая внутренние компоненты, и я не хотел полностью ее снимать. Он оказался рядом с сотовым модемом, под разъемом для экрана:


4) Определите тип микросхемы BIOS

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

Для системы Dell, которую я использовал, текст был довольно читаемым, если сделать правильное макроизображение и увеличить масштаб:


Ярлык входит в число обнаруженных типов: MX25L3273E.

Что касается Lenovo X1 Yoga, я не смог прочитать этикетку, так как она каким-то образом смылась. Я мог видеть только этикетку Winbond. После быстрого поиска в Google я обнаружил, что для этого устройства тип SPI был W25Q128FV.

Окна

Возможно, есть и другие рабочие инструменты, но я считаю, что этот дает наилучшие результаты с CH341a. Драйвера для программатора были не нужны. Он просто работал при подключении к USB в Windows 10.

Линукс

Для Linux, как и для Windows, вам понадобится инструмент для чтения/записи в SPI. Здесь я использовал flashrom, который входит в состав репозиториев большинства дистрибутивов. Как и в Windows, для распознавания и использования CH341a в моей системе не требовалось никаких дополнительных модулей ядра.

Вы можете легко установить flashrom с помощью диспетчера пакетов.

Например, для Debian 10:

Как для Windows, так и для Linux одна и та же последовательность шагов может быть следующей:

  1. Подключите скрепку к микросхеме BIOS, ничего не должно быть запитано
  2. Подключите зажим или адаптеры к программатору CH341a.
  3. Подключите программатор CH341a к USB.
    Я рекомендую использовать удлинительный кабель, а не подключать его напрямую к USB-порту.
  4. Запустите инструмент для программирования (AsProgrammer для Windows, flashrom для Linux)
  5. Убедитесь, что вы настроили правильный тип программатора и чипа BIOS.
  6. Прочитайте данные с чипа дважды и каждый раз сохраняйте их в файл
  7. Проверьте контрольную сумму обоих файлов.
    Это необходимо для того, чтобы убедиться в отсутствии повреждений при чтении данных с чипа. Поскольку чтение в этом состоянии может повредить его.
  8. Записать правильный/измененный файл в чип
  9. При желании выполните еще одно чтение и проверьте его контрольную сумму с записанным файлом, чтобы убедиться, что содержимое совпадает с тем, что вы в нем записали.

Программирование под Windows

Мы начинаем с шага 5, как описано выше. После запуска AsProgrammer нам сначала нужно настроить его на использование CH341a. Это можно сделать в аппаратном меню:


Далее. мы можем щелкнуть значок, чтобы определить тип чипа:


Как упоминалось выше, программист не всегда может определить точный тип и выдает вам список возможных вариантов.Мы идентифицировали чип Dell BIOS как тип MX25L3273E, поэтому мы можем выбрать его из списка здесь.

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


Важно повторить этот шаг дважды, так как нам нужно убедиться, что связь с IC работает должным образом:

< бр />

После завершения и сохранения второго дампа BIOS мы можем сравнить два файла, чтобы убедиться, что они точно такие же. Это шаг 7. Мы можем сделать это легко, рассчитав по ним контрольную сумму MD5. В Windows это можно сделать с помощью certutil с помощью следующей команды:

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

Оба файла теперь можно сохранить в качестве резервной копии на случай, если что-то пойдет не так или если вы захотите перепрошить BIOS до более старой версии.

Далее мы наконец можем записать новое или измененное содержимое в микросхему BIOS. Это можно сделать, сначала открыв ROM-файл в AsProgrammer с помощью кнопки «Открыть», затем щелкнув стрелку вниз рядом с кнопкой записи и выбрав «Снять защиту» -> «Стереть» -> «Программировать» -> «Проверить»:


Вы можете следить за ходом выполнения и статусом в нижней части окна:


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

Программирование под Linux

Действия в Linux такие же, как и в Windows. Только здесь мы будем использовать flashrom инструмента командной строки. Как и в Windows, нам нужно пройти шаг 5 и установить правильный программатор и тип BIOS. Самый простой — запустить инструмент и дать ему попробовать определить тип микросхемы BIOS:

Как и в случае с AsProgrammer, мы видим, что flashrom может предложить выбор, но нам все еще нужно указать точный тип с помощью параметра -c. Поскольку наш тип — MX25L3273E, теперь мы можем прочитать содержимое чипа и сохранить его в файл backup1.bin с помощью следующей команды:

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

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

backup1.bin и backup2.bin можно сохранить на потом, поскольку они являются надлежащей резервной копией текущего содержимого вашего чипа BIOS.

Следующий шаг — записать резервную копию, дамп или модифицированный файл с помощью flashrom. На этот раз мы используем параметр -w и указываем входной файл:

При желании здесь также можно прочитать содержимое еще раз и сравнить контрольную сумму MD5 с файлом, который мы использовали в качестве входных данных (bios.bin).

В приведенном выше примере я вернул ранее сохраненный файл, поэтому flashrom был достаточно умен, чтобы обнаружить это и выдать мне предупреждение об этом.

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

26 мыслей на тему "Программирование BIOS или SPI в Windows или Linux с использованием мини-программатора CH341a"

Спасибо за это прекрасное руководство, оно сэкономило мне уйму времени на самостоятельные исследования. В частности, программатор CH431A поставляется без каких-либо инструкций, хотя это очень недорогой элемент, который потребует очень много времени, чтобы сделать его самостоятельно.
В настоящее время мне нужно перепрошить BIOS на подержанном ноутбуке с неизвестным паролем настройки BIOS, и до сих пор никакие программные средства не помогли.

Спасибо за хороший отзыв, надеюсь, вам удалось прошить (модифицированный) BIOS.

Можно ли использовать программатор Android LED TV. Как сделать

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

Отлично, спасибо. Мой CH341A пришел неисправным, не распознавался системой.При ближайшем рассмотрении между линиями передачи данных (в местах контакта USB-штекера) была крошечная перемычка из пайки. После снятия моста работает нормально. Ваше утверждение «для распознавания и использования CH341a в моей системе не требовалось никаких дополнительных модулей ядра» избавило меня от поиска проблем с программным обеспечением.

Приятно слышать, что это помогло. Также мне потребовалось некоторое время, чтобы понять это, поэтому я решил особо упомянуть об этом.

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

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

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

Большое спасибо за быстрый ответ!

Рад слышать, что это помогло вам починить ноутбук! Спасибо за обновление.

Привет, отличное видео на You Tube по программатору ch341a, у меня есть пара вопросов, у меня Acer spin 5 sp513-52-n и биос заблокирован, собираюсь попробовать в первый раз использовать программатор ch341a для переустановите обновленный биос. знаете ли вы, нужно ли изменить файл bios xxxxx.fd. один веб-сайт сказал, что он должен быть менее 8 мегабайт, и я должен удалить заголовки из файла. у меня чип биоса mx25l6473f. не уверен, что делать. размер файла 9,4 мегабайта. Мы будем очень признательны за любые мысли по этому поводу.

Для получения этого изображения можно даже использовать двоичный редактор. Открываем файл .fd и ищем начало резервного образа биоса (если он у вас есть), в моем случае строка «_IFLASH_BIOSIMG» была непосредственно перед началом образа (начало было выровнено по 16 байтам) . Из этого смещения вы должны взять именно размер своего BIOS (в вашем случае 8 МБ).

Я читал, что только с этим вы получаете загрузочный образ BIOS, хотя вы можете потерять некоторые данные, хранящиеся в исходном BIOS (например, серийный номер или идентификатор Windows). Оптимальной ситуацией является наличие оригинальной резервной копии BIOS и файла .fd той же версии, чтобы попытаться «объединить» их оба.

Моему адаптеру программатора ch341a не соответствовала нумерация разъемов программатора, поэтому я взял кабели и расположил их по порядку. мой программатор зависает после того, как я нажимаю команду снять защиту-> стереть-> записать-> проверить. также нет обновления статуса до тех пор, пока я не нажму кнопку «Стоп» один раз.

Я получаю сообщение об ошибке: число байтов не равно размеру IC. Микросхема 25L3206E на ноутбуке hp pavillion G6-2014tx. Как проверить правильность размещения клипа?

Спасибо за информацию и видео. У меня также есть Thinkpad Yoga X1 Bricked 20FR. Вы просто сделали резервную копию и восстановили тот же образ, чтобы решить проблемы с загрузкой, или вы можете посоветовать, как вы создали новый образ BIOS для восстановления

Я нашел рабочую резервную копию на форуме badcaps. Если хотите, я могу поделиться им с вами. Отправьте мне электронное письмо, и я отправлю вам резервную копию, которую я использовал (или более новую).

Является ли M25Q128JV чипом BIOS? Я попробовал это руководство, и оно не обнаруживается в AsProgrammer (вместо этого я нашел M25Q128FV). Хотя я смог прочитать и сделать резервную копию, я не смог написать ответ.

Можете ли вы также предоставить ссылку для загрузки ROM-файла. Lenovo, по-видимому, предоставляет только .exe, и я не могу ничего записать на чип.
P.S. пожалуйста, сообщите мне, если вам нужна дополнительная информация, чтобы помочь……
Спасибо

Извлеките «Пакет USB-накопителя Lenovo BIOS Update» для необходимой версии BIOS. Затем найдите файл *.rom или *.ROM BIOS и переименуйте расширение в .bin.
Теперь прошейте BIOS этим файлом *.bin, удачи!

Ps, возможно, вам не нужно переименовывать расширение, это зависит от используемого программного обеспечения…

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

У меня ноутбук с Winbond 25Q128JVSQ. У вас есть доступ к программе, поддерживающей этот чип с модулем CH341A для операций чтения/записи?

Есть ли у кого-нибудь программатор ch341a, поддерживающий KH25L6406E? Получил свой китайский кирпичик. После перезагрузки не будет POST.

Здравствуйте
Я искал решение для Linux, потому что утилита Windows, поставляемая вместе с ридером, ужасна, а БД не обновляется

и я закончил с вашей подсказкой об этой классной утилите для Windows, размещенной хорошим русским парнем на github!

Отличный совет, и спасибо за руководство по его использованию!

У меня возникли проблемы с запуском программы. Не могли бы вы подсказать?
1. Скачано из предложенного вами места
2.Извлечено в папку на моем диске C:
3. Дважды щелкните файл приложения AsProgrammer
4. Получено 3 всплывающих окна с ошибкой
5. Выполнение кода не может быть продолжено, поскольку файл CH341DLL.DLL не найден. переустановка программы может решить эту проблему
6.Выполнение кода не может быть продолжено, так как FTD2XX.DLL не найден. переустановка программы может решить эту проблему
7. Выполнение кода не может быть продолжено, так как libusb0.dll не найден. переустановка программы может решить эту проблему
8. Я нашел все 3 этих файла в том же каталоге, что и файл приложения AsProrammer
9. Я не нашел файла Readme для руководства.
10 Мы будем очень признательны за любые рекомендации или сторонние ссылки.

Исправить слишком большой файл для USB

Вы когда-нибудь получали такое сообщение? При копировании или передаче файла система сообщает «файл слишком велик для USB» или «файл слишком велик для целевой файловой системы».

Но свободного места более чем достаточно. Почему это нельзя передать?

Ну, проблема не в USB-накопителе, а в типе системы на диске. В большинстве USB-накопителей используется файловая система FAT32, в которой нельзя хранить один файл размером более 4 ГБ.

Следовательно, если вы хотите передать один файл размером более 4 ГБ, вам нужно изменить систему с FAT32 на что-то другое, например NTFS. Вот как это сделать.

Как исправить ошибку «Файл слишком велик для USB-накопителя»

<р>1. Сначала подключите USB-накопитель к USB-порту компьютера или ноутбука. Затем сделайте резервную копию всех файлов с USB-накопителя на компьютер.

Переключение с FAT32 на NTFS приведет к удалению данных внутри флэш-накопителя. Прежде чем продолжить, убедитесь, что у вас есть резервные копии файлов.

<р>2. Перейдите в раздел «Мой компьютер» или «Библиотеки». Щелкните правой кнопкой мыши USB-накопитель, систему которого вы хотите заменить. Затем нажмите Формат…

Исправить слишком большой файл для USB

<р>3. В разделе «Файловая система» замените FAT32 на NTFS, а затем нажмите «Начать» для форматирования.

Исправить слишком большой файл для USB

<р>4. Windows предупредит вас, что это действие удалит все данные на диске. Если вы уже создали резервные копии всех файлов, нажмите OK, чтобы продолжить.

Исправить слишком большой файл для USB

<р>4. Процесс форматирования обычно занимает около нескольких секунд. После завершения откроется новое окно, и вы можете закрыть его, нажав OK.

Исправить слишком большой файл для USB

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

Что такое NTFS, FAT32 и exFAT?

Большинство USB-накопителей используют файловую систему FAT32 по умолчанию. Этот формат выбран потому, что его можно использовать практически во всех операционных системах, включая Windows, Mac, Linux и Android.

Однако FAT32 имеет один существенный недостаток. он не может передавать на USB большие файлы размером более 4 ГБ. Вот почему вам нужно заменить его на NTFS (особенно на ПК с Windows).

С другой стороны, exFAT может быть хорошей альтернативой, поскольку он поддерживает Windows, Mac и Linux и не имеет «ограничения в 4 ГБ», как FAT32.

Читайте также: