1a2m3 / SPD-Reader-Writer

SPD Reader & Writer with Software Write Protection capabilities supporting Arduino and SMBus
https://forums.evga.com/m3053544.aspx
GNU General Public License v3.0
85 stars 15 forks source link

Cant disable RSWP on AM4 #43

Closed WewerRaver closed 4 months ago

WewerRaver commented 9 months ago

Hi 1A! Great thanks for your tool!!! I find Your thread on EVGA forum ("My Arduino-based RAM SPD reader/writer") but site looks like for americans, so i don't register there I'm from Ukraine, so, maybe my english not very well, sorry, Will believe in Google-translate) and hope readers can understand message. I find B250 Biostar mobo some days ago and after short bios-mod it become SPD-via-SMBus rewritable) But, Problem #1: RSWP, all 3 SA-lines shorted to GND Problem #2: I soldered a RAM-half slot extension(like in programmer), which include all 8 pins for SPD chip in parallel to DIMM2 slot The first time the wires were about 20 cm long, but the program did not see any in-slot inserted sticks. However, if I hot-plug sticks into the board itself, they are detected correctly. At now wires shorter than 10cm, max close to board but situation the same, maybe board want some signal to activate slot, like termination or something else?

This is the background..) Today I found a new board MSI B450-A PRO MAX, good am4 mobo with 4 dimm slot Board is very interesting for this task In slot A1 and B1, SA0 lines are shorted to ground like B250, but A2 and B2 are connected to 3.3V via 1kΩ separately from each other. This is a triumph, I thought! I quickly soldered the 3.3/9v SA0 jumper, the 9V battery has been there since the B250) Starting Windows, launching SPDRWgui,,,

Problem #3: Long initialization time, more than a minute, then connecting - the same thing 1+min Perhaps this is a feature of the ZEN board or CPU 200GE..

Problem #4: Press F6 - yes, 3 of 4 block a RSWP Protected(Micron) Change My jumper to 9v(tester show 9.78v), click on Clear RSWP icon and after few seconds - Cleared Ok! And this is happiness!!! ))) Press F6 for checking - 3 of 4 block a RSWP Protected!?!?!? ((( maybe reboot needed!?! I understand that no but Rebooting system even not changing jumper position, Windows, SPDRWgui, F6,, same,, 3 of 4 protected Trying with different sticks(Samsung, Hynix) - any changes.

So, not briefly, but I tried to describe my actions in detail At a minimum, the B450-A PRO MAX can make a good home system and a good programmer for 2 sticks at once)

Regards

1a2m3 commented 9 months ago

Ок, здесь можно писать на русском или украинском.

RSWP через SMBus можно поставить только на платах с DDR5. Снять защиту RSWP без модификаций можно на некоторых платах Asus серии Maximus, у которых есть разъем MR_TEST2. В остальных случаях статус RSWP можно только прочитать через SMBus.

Для полноценной поддержки RSWP лучше собрать программатор на Arduino.

Когда подавал 9V на SA0, сколько модулей памяти было на материке в момент попытки снятия защиты?

WewerRaver commented 9 months ago

Привет Артем! Я - Дима Та я плясал с єтим бубном по разному 1,2,3 )

пн, 22 янв. 2024 г. в 00:53, Artem Mikoulyak @.***>:

Ок, здесь можно писать на русском или украинском.

RSWP через SMBus можно поставить только на платах с DDR5. Снять защиту RSWP без модификаций можно на некоторых платах Asus серии Maximus, у которых есть разъем MR_TEST2 https://forums.evga.com/FindPost/3616968. В остальных случаях статус RSWP можно только прочитать через SMBus.

Для полноценной поддержки RSWP лучше собрать программатор на Arduino.

Когда подавал 9V на SA0, сколько модулей памяти было на материке в момент попытки снятия защиты?

— Reply to this email directly, view it on GitHub https://github.com/1a2m3/SPD-Reader-Writer/issues/43#issuecomment-1902793153, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFQHLLWLSU4YDNVIAQFZCZLYPWL5FAVCNFSM6AAAAABCEI4AWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSG44TGMJVGM . You are receiving this because you authored the thread.Message ID: @.***>

WewerRaver commented 9 months ago

Странно конечно, а какая этой смбусе разница? Есть параметры микрули, она же их поддерживает В250ю, что я разлочил, плашки, где нет защиты - она пишет норм, АМ4 не проверял но думаю также а значит параметрически есть полное соответствие Вопрос снять РСВП для 99% плат - подача 9в на ногу, понятно, в слоте так не получиться, да и в принципе нужно либо каскад замутить с 12в к 9в, как на упомянутой Вами маме скорее всего сделано, с этим джампером специфическим ибо шибко не стандартная напруга для компа, либо как я, устраивать аттракцион "Очумелые ручки" И вот, железячно условия соблюдены, адресное пространство - раз пишет-читает в чем тут может быть проблема? Ну и конечно странно, что "внешний порт" не читает

пн, 22 янв. 2024 г. в 01:12, Raver Wewer @.***>:

Привет Артем! Я - Дима Та я плясал с єтим бубном по разному 1,2,3 )

пн, 22 янв. 2024 г. в 00:53, Artem Mikoulyak @.***>:

Ок, здесь можно писать на русском или украинском.

RSWP через SMBus можно поставить только на платах с DDR5. Снять защиту RSWP без модификаций можно на некоторых платах Asus серии Maximus, у которых есть разъем MR_TEST2 https://forums.evga.com/FindPost/3616968. В остальных случаях статус RSWP можно только прочитать через SMBus.

Для полноценной поддержки RSWP лучше собрать программатор на Arduino.

Когда подавал 9V на SA0, сколько модулей памяти было на материке в момент попытки снятия защиты?

— Reply to this email directly, view it on GitHub https://github.com/1a2m3/SPD-Reader-Writer/issues/43#issuecomment-1902793153, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFQHLLWLSU4YDNVIAQFZCZLYPWL5FAVCNFSM6AAAAABCEI4AWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSG44TGMJVGM . You are receiving this because you authored the thread.Message ID: @.***>

WewerRaver commented 9 months ago

0-02-05-50d632e3259b39133d4c19b3601a0edaa019b4f9390bd86d35bf9cf5986e2b5d_638cf08511b736cc

1a2m3 commented 9 months ago

Я не проверял работу RSWP на DDR4 через SMBus, так что подтвердить работоспособность не могу, но команда снятия защиты одинаковая на SMBus и Arduino.

Условия для работы RSWP на DDR5 отличаются от RSWP на любой другой памяти, (для DDR5 надо SPDhub в режим offline перевести, замкнув вывод HSA на землю, что, скорее всего, и делает перемычка MR_TEST2).

Попробуй так - установи только один модуль, предварительно заизолировав контакт SA0 на планке или слоте, подай 9V на ногу SA0 у EEPROM и попробуй выполнить очистку RSWP. Если не будет загружаться комп, то подай 9V после того, как POST будет пройден.

По поводу долгой инициализации - для начала покажи текстовый отчет CPU-Z. Запусти последнюю версию CPU-Z с дефолтными параметрами и нажми Tools > Save report as .TXT. Прикрепи файлом к ответу.

И попробуй консольную утилиту и скажи как быстро выводится результат. Выполни команду из-под админа: spdrwcli.exe /find smbus

WewerRaver commented 9 months ago

Именно поэтому я хвалил мсю, если в биостаре жестко все на земле, от контакта SA никаких дорог, звониться на 0 в короткую и там в принципе наверное не вариант как-то разлочить, разве контакт из слота выдрать, потому я и сделал выносной кусок слота, как на фото То вот у мси от ноги SA0 дорога через резюк 1кОм на 3,3в сидит, и там уже сделан джампер) 3,3в9v (крона, "-" соединен с землей мамы, все по-феншую) И такой потанцевал для 2х слотов А2 и В2!!! Сначала я стартанул систему обычно(с одной плашкой), просто проверить, получил такую же фигу как и на штеуде, прям ругнулася прога, мол фу-фу-фу, дуля тобі і жовте віконечко!. Что интересно, Н170, В250 - там вся логика SA0-2 на земле, завтра еще высус prime Z270-A гляну, хотя , думаю, будут те же яйца, токо в прохвиль, а вот у этой мси - наоборот - SA0,1 на +3,3v заведены SA2 не звонил но думаю та же песня. Я даташиты на несколько типов этих микрух изучил, понятно, они аналогичны, там триггер для снятия это Hv on SA0 ну и команда с программатора. В принципе, любая мать могла б писать-читать, но "материнщики" договорились с "памятниками" и в итоге 1й блок на запись на уровне биоса , 2й - вот этот Hv on SA0. Сейчас этой инфы, если толково - не очень, а лет 5-6 тому, когда ее актуальность была более чем.. разве за большие деньги и то только китайцам)

Следующий этап - переключил SA0 на 9в, результат как написал: прога все сделала написала мне ок но перепроверка показала те же 3 блока из 4х в защите Следующее - перегрузка при 9в ну и новая попытка, далее - поскольку подключение реально долгое, в отличие от того же интела, где пару сек, сделал clear раз 5-6 Дальше - поставил 2-ю планку, тут вообще чудеса, "робочая" стояла как пишет мать, в В2, доставил в А2, из нее читает какую-то дичь, я потом отдельно даже с нее стартовал и тоже самое, кину скрин завтра, вместе с отчетом мне вот интересно, почему в250я не видит внешнюю плашку.. попробую завтра взять какую-то дохлую плашку и с нее сдую SPD, втыкну в слот мамки а вторую поставлю на удлинитель, может так увидит

Благодарю за ответ на/до связи

пн, 22 янв. 2024 г. в 03:29, Artem Mikoulyak @.***>:

Я не проверял работу RSWP на DDR4 через SMBus, так что подтвердить работоспособность не могу, но команда снятия защиты одинаковая на SMBus и Arduino.

Условия для работы RSWP на DDR5 отличаются от RSWP на любой другой памяти, (для DDR5 надо SPDhub в режим offline перевести, замкнув вывод HSA на землю, что, скорее всего, и делает перемычка MR_TEST2).

Попробуй так - установи только один модуль, предварительно заизолировав контакт SA0 на планке или слоте, подай 9V на ногу SA0 у EEPROM и попробуй выполнить очистку RSWP. Если не будет загружаться комп, то подай 9V после того, как POST будет пройден.

По поводу долгой инициализации - для начала покажи текстовый отчет CPU-Z. Запусти последнюю версию CPU-Z с дефолтными параметрами и нажми Tools > Save report as .TXT. Прикрепи файлом к ответу.

И попробуй консольную утилиту и скажи как быстро выводится результат. Выполни команду из-под админа: spdrwcli.exe /find smbus

— Reply to this email directly, view it on GitHub https://github.com/1a2m3/SPD-Reader-Writer/issues/43#issuecomment-1902860205, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFQHLLSXGNGFMG7B6VDU6X3YPW6HNAVCNFSM6AAAAABCEI4AWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSHA3DAMRQGU . You are receiving this because you authored the thread.Message ID: @.***>

1a2m3 commented 9 months ago

Прикрепи файлом, отчет обрезан. Не отвечай через email, зайди на github и ответь через форму в теме, нажав Paste, drop, or click to add files.

WewerRaver commented 9 months ago

WIN-TOBHTGBS2KA.txt

WewerRaver commented 9 months ago

Отправил

пн, 22 янв. 2024 г. в 12:26, Artem Mikoulyak @.***>:

Прикрепи файлом, отчет обрезан. Не отвечай через email, зайди на github и ответь через форму в теме, нажав Paste, drop, or click to add files.

— Reply to this email directly, view it on GitHub https://github.com/1a2m3/SPD-Reader-Writer/issues/43#issuecomment-1903685428, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFQHLLSVPTX6Q5OEYXZHAL3YPY5F5AVCNFSM6AAAAABCEI4AWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBTGY4DKNBSHA . You are receiving this because you authored the thread.Message ID: @.***>

1a2m3 commented 9 months ago

Ок, в настройках попробуй поставить Maximum PCI bus = 1 (Settings > Hardware > Smbus). И перезапусти SPD-RW.

А также запусти spdrwcli.exe /find smbus из под админа, как быстро выводится результат?

WewerRaver commented 9 months ago

И попробуй консольную утилиту и скажи как быстро выводится результат. Выполни команду из-под админа: spdrwcli.exe /find smbus - вообще нет cpuz158 initialization failure

пн, 22 янв. 2024 г. в 13:25, Artem Mikoulyak @.***>:

Ок, в настройках попробуй поставить Maximum PCI bus = 1 (Settings > Hardware > Smbus). И перезапусти SPD-RW.

А также запусти spdrwcli.exe /find smbus из под админа, как быстро выводится результат?

— Reply to this email directly, view it on GitHub https://github.com/1a2m3/SPD-Reader-Writer/issues/43#issuecomment-1903801686, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFQHLLURE3EEC2W2I7A7RSLYPZEB3AVCNFSM6AAAAABCEI4AWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBTHAYDCNRYGY . You are receiving this because you authored the thread.Message ID: @.***>

1a2m3 commented 9 months ago

Что-то не дает запуститься драйверу. Хотя раз CPU-Z сработал, то сам драйвер работает нормально.

Запусти этот тест от админа и покажи результат. Это консольная программа, так что лучше запусти сначала cmd.exe от админа и из нее уже запусти SpdRwTestApp.exe

20240122-test.zip

WewerRaver commented 9 months ago

Кстати, версия на "ринге" 20230205 норм запускается но там нет возможности снятия RSWP для SMBus и читает она инверсно, из 4 блоков 1 закрыт а 3 доступно)

WewerRaver commented 9 months ago

нашел причину! я для удобства ехе-шник переименовал, вернул название и все "заработало") определяется +/- также 45-50сек, шить не дает, говорит что не сом-порт

1a2m3 commented 9 months ago

Покажи лог и скриншот ошибки.

WewerRaver commented 9 months ago

привет, лог чего именно, тестовой проги или робочего ехе-шника?

WewerRaver commented 9 months ago

0-02-05-efc60b99f1c41c5b05bb48cc4623288a4b79eedc24a388cf5f7a9aea806587ef_faaf892a92f3f9c4

конечно же, все запускается на админ-правах

1a2m3 commented 9 months ago

У тебя неправильный синтаксис и команда /disablewriteprotection предназначена только для Arduino.

Давай лог из тестовой проги и GUI.

WewerRaver commented 9 months ago

GUI куда напишет лог? Тестовая какие ключи понимает?

1a2m3 commented 9 months ago

Лог в GUI отображается во вкладке "Event log", сохранить можно вручную, нажава "Save to file...".

Тестовая - без ключей.

WewerRaver commented 9 months ago

мин 10

WewerRaver commented 9 months ago

C:\Users\user\Desktop\spd\20240122-test>C:\Users\user\Desktop\spd\20240122-test\SpdRwTestApp.exe Driver.Start ServiceName: cpuz158 DeviceName: \.\cpuz158 FileName: C:\Users\user\AppData\Local\Temp\cpuz158 FilePath: Driver.Stop

C:\Users\user\Desktop\spd\20240122-test>

WewerRaver commented 9 months ago

[Info] 25.01.2024 0:24:21: Program started (v. 2.23.12.10, Core: 2.23.12.10 ) (Included FW: 20231207) [Info] 25.01.2024 0:24:21: Driver installed: cpuz158 (v.1.0.5.8) [Info] 25.01.2024 0:26:15: AMD ZEN (0): Connecting to SMBus [Info] 25.01.2024 0:26:15: AMD ZEN (0): Ready! [Info] 25.01.2024 0:26:23: 1022:790B: Reading from 1022:790B:83 [Error] 25.01.2024 0:26:23: Read error: AMD ZEN:83:353 [Error] 25.01.2024 0:26:27: 1022:790B: Unable to read data from 1022:790B [Info] 25.01.2024 0:26:31: 1022:790B: Reading from 1022:790B:83 [Info] 25.01.2024 0:26:32: 1022:790B: Read 512 bytes from 1022:790B:83 in 0,34 sec.

WewerRaver commented 9 months ago

"У тебя неправильный синтаксис и команда /disablewriteprotection предназначена только для Arduino"

1a2m3 commented 9 months ago

Скорее в фоне работает софт, который обращается к SMBus, из-за чего происходят ошибки чтения. И отсутствие пути после FilePath тестовой проги говорит о том, что драйвер cpuz158 уже присутствует.

После закрытия SPD-RW, запусти из-под админа remove_driver.cmd из папки tools. Если будет сообщение, что драйвер удален, то значит в фоне присутствует приложение, использующее тот же драйвер, которое переустанавливает его.

Если драйвер продолжает работать, то закрой софт мониторинга, управления подсветки итд, до тех пор, пока remove_driver.cmd не сообщит, что драйвера нет. Потом попробуй чтение еще несколько раз.

А долгая загрузка на каком этапе? Между запуском и появлением окна программы? По логу критических задержек нет.

WewerRaver commented 9 months ago

привет! долго(1-1,5мин) ищет устройство(через CLI засек для интереса - 48сек), потом еще около 30 сек сам коннект и да, в сравнении с штеуд это долго, хотя не критично - когда выбираю на В250й это 2-3сек

1a2m3 commented 9 months ago

Установи и запусти dotTrace от админа.

  1. Нажми Add под New Process Run, выбери Standalone и укажи следующие параметры:

Нажми Save.

  1. В Profiling Type выбери Line-by-Line.

Под Advanced Options установи следующие параметры:

Поставь галочки напротив Enable inlining и High accuracy

  1. Поставь галочку Collect profiling data from start, нажми Start, и дождись завершения. Когда откроется dotTrace Viewer, сохрани отчет (File > Save snapshot) и прикрепи dtp файл к ответу. Если файл большой, то сожми в zip архив.
WewerRaver commented 9 months ago

oke, наверное вечером завтра продолжу

WewerRaver commented 9 months ago

Здравствуй Артем, вот, только появилась минутка моя "песочница" не подключена к нету, возможно потому последний этап не прошел успешно и выдало:

-- Message #0

Instrumentation was requested, but wasn't made


однако оно сейвится в в локалах папка сессии оттуда

WewerRaver commented 9 months ago

spdrwcli.exe 240129_125130870.zip

1a2m3 commented 9 months ago

Спасибо за отчет, открыть удалось, буду изучать.

1a2m3 commented 9 months ago

Попробуй /find smbus с этой версией. Если будет опять долго, то сделай отчет в dotTrace, как и ранее.

20240128-2.zip

WewerRaver commented 9 months ago

Hello!) A можно добавить пару строк и команду для переадресации в CLI с СОМ to SMBus? Чтоб уже All inclusive был)

1a2m3 commented 9 months ago

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

WewerRaver commented 9 months ago

Привет, текущая проблема - это долгий детект на АМ4, верно? Я сегодня сделаю в 240129

WewerRaver commented 9 months ago

"Ссылка на обьект не указывает на екземплар обьекта" выдает так, причем даже когда ищу типа ардуину, просто /find где-то указатель видимо или не тот или не туда)

1a2m3 commented 9 months ago

Это с какой командой? Покажи ошибку полностью и давай отчет.

WewerRaver commented 9 months ago

spdrwcli /find spdrwcli /find smbus

без разницы и красным "Ссылка на обьект не указывает на екземплар обьекта"

WewerRaver commented 9 months ago

нечего показывать)

1a2m3 commented 9 months ago

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

20240128-d.zip

WewerRaver commented 9 months ago

err

WewerRaver commented 9 months ago

как оно там у классика... В каждом коде есть баг)

WewerRaver commented 9 months ago

думаю, понял причину, почему не снимало Исходя из таблицы в даташите Ablic кроме , 9+в на SA0-м пине должны также быть сконфигурированы SA1, SA2 SA1 еще нужно на 3.3в переключить, и, возможно, будет мне счастье!)

1a2m3 commented 9 months ago

Пробуй эту версию.

20240131-d.zip

1a2m3 commented 9 months ago

Конфигурация SA1 требовалась для работы RSWP на DDR3-2, а SA2 вообще не играет роли, тем более, что не на всех модулях он выведен. Официально, в соответствии со стандартами Jedec, для RSWP на DDR4 требуется только 9V на SA0, но по сообщениям других пользователей, им встречались модули DDR4, на которых EEPROM частично требовали выполнения условий, необходимых для DDR3 работы с RSWP, касательно конфигурации SA1.

WewerRaver commented 9 months ago

так отож, кто его, єто амудє знает, нужно попробовать

WewerRaver commented 9 months ago

жду еще один твой "релиз", будем тестить далее)

1a2m3 commented 9 months ago

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

WewerRaver commented 9 months ago

по версии d я бросил скрин, или запускать в доттрейсе не смотря на сообщения об ошибках? прога не выдала результат и я подумал что она поругалась и сбоит

1a2m3 commented 9 months ago

Никаких скринов и сообщений по версии 20240131-d.zip нету.