• Overclocking Lab
  • My Arduino-based RAM SPD reader/writer (free and open source) (p.21)
2023/10/02 00:46:21
PCstonks
Hello! Thank you very much for your software, especially for DDR5 part. Now we can check memory modules that don't have RSWP.
I would like to suggest one more feature - enable RSWP on each block using SMbus. I’ll try to explain what for: many DDR5 sticks don't have SPD protection at all, for example Team Group 6000 and old G.Skill (btw DDR4 does too). This RAM often gets SPD damage, especially if user changes RGB color. Also post "Gigabyte's Firmware Update Addresses Absurd DDR5 SPD Anomalies". I know that DDR5 SPD can be damaged even if SMbus turned off, so protection on blocks 0-8 (and XMP blocks) is necessary. Not everyone are able to assemble own programmer, but every DDR5 owner and even DDR4 would like to protect their memory. Your program could enable RSWP via SMbus to prevent DDR5/DDR4 dying. I think you know how to do it, though I will give an example with DDR5 Team Group 6000 cl38. If you take SPD data from Team Group 7600 and reflash team group 6000 to team group 7600 using SMbus Z790, the protection on almost all blocks (except XMP) is enabled and this memory doesn't die. It means RSWP can be enabled by using your program WITHOUT Arduino. I know that RSWP protection can be removed only using Arduino, but it can be enabled and that's what needed for security.
It would be very nice if you add this feature. This way you will do what some RAM manufacturers should have done.



p.s. sorry for my english
2023/10/02 01:23:58
a213m
Hi, thanks for suggestion. It is possible to set RSWP on DDR5 via SMBus, but it's not currently implemented in SPD-RW. I'll include DDR5 SMBus RSWP support in the next release.
 
DDR4 requires 9V on SA0 pin to change RSWP state, so you won't be able to set or clear it via SMBus.
2023/10/02 01:39:49
PCstonks
DDR5 RSWP can’t be disabled via SMbus, right? Also when can we expect the next release? Thank you for the reply!
2023/10/02 02:01:16
a213m
PCstonks
DDR5 RSWP can’t be disabled via SMbus, right?



That's correct. (I'll implement additional precautionary measures to prevent users from locking their RAM accidentally, because without being able to undo RSWP operation, it essentially becomes permanent).
 
Also when can we expect the next release? Thank you for the reply!

 
I won't be releasing new version with just one additional optional feature, so no ETA, yet. Maybe a week, 2 weeks, a month. I don't know. Unless I discover a bug in current version, that will have to be fixed urgently.
If you really need this feature, you can speed up the release by either finding a bug and reporting it, or you can make a donation, and I'll publish an update with the requested feature early.
 
2023/10/31 18:45:37
lamma4ka
Hello! I built a programmer for DDR5 and now I have a problem. DDR5 ADATA 5600-36 2x16 GB modules are read & write correctly, rswp removes and enables, and Team Group T-Create 6000-38 too. But with Team Group 6000-38 Vulkans the program reads the SPD incorrectly: at first 1024 bytes are incorrectly read (first ~256 bytes with jedec are read correctly, then block 3 is repeated), after the second click on “read” only 256 bytes are read. Rswp status shows block 0 is protected, and block 1 without protection, remaining blocks are not displayed. Same thing in console application. How can I fix this problem?
All ram sticks are working, I checked this, the programmer is also builted correctly. The only difference that I noticed is that Team Group 6000-38 Vulkan has a different SPD model.




2023/10/31 19:51:37
a213m
Are you running your Arduino in fast mode? Try normal mode. Connect to your Arduino, then select Device > Arduino > and uncheck I2C fast mode.
2023/10/31 23:53:02
lamma4ka
I unchecked fast mode and nothing changed: reads 1024 bytes, then 256 bytes.
2023/11/01 02:29:20
a213m
Check your PM, I'll need you to run some tests for me.
2023/11/01 03:14:53
lamma4ka
Check your email. I can't PM you.
2023/12/10 17:58:09
a213m
New version with lots of improvements: 20231210
 
Changelog:
 

GUI

  • Fixed: Pressing keyboard lock keys scrolling to cursor when cursor is outside of editor view
  • Fixed: Misaligned preview hex editor panels in Settings window when changing font style
  • Fixed: Crash when saving SPDs where part number contained non-ASCII symbols
  • Fixed: Duplicate log entry added when attempting to open unsupported files
  • Fixed: Not showing error message when attempting to open large files
  • Fixed: False RSWP positives when checking unprotected blocks
  • Fixed: Tab order in Settings window
  • Updated: Thai Third-party DDR5 & DDR4 file (*.thp) import support (TH53, TH43)
  • Updated: Manufacturer’s ID codes database (ref. JEP106BH, Sept 2023)
  • Redesigned: Set RSWP block dialog window block range list view
  • Redesigned: Moved offset position to top left editor corner
  • Added: SMBus RSWP support (per PCstonks request) *

CLI

  • Improved: Arduino operations performance and stability
  • Added: Optional Arduino port baud rate parameter

SMBus

  • Improved: Performance and reliability on supported Nvidia chipsets
  • Improved: SMBus detection on AMD systems (thanks to QuepAll for testing)
  • Updated: Driver removal tool
  • Added: VIA chipsets support **

Firmware

  • Improved: DDR5 compatibility (thanks to lamma4ka for testing)
  • Improved: Performance
 
More info on notable changes:
 
* This build will let you use some of RSWP features over SMBus. Due to hardware limitations RSWP support works one-way only and is limited to DDR5. That means once RSWP is set, you will not be able to clear it via SMBus, you'll need an Arduino programmer to reverse it. Because of this, SMBus RSWP support is disabled by default. To enable it, open Settings window, go to "EEPROM" tab and check "SMBus RSWP Support" under "Write protection" section:

 
** Supported VIA chipsets and southbridges: VT8231, VT8233, VT8233A, VT8235, VT8237A, VT8237R, VT8237S, VT8251, VT82C596A, VT82C596B, VT82C686A, VT82C686B, CX700, VX800, VX820, VX855, VX875, and VX900
 
To support SPD-RW, make a feature request, report a bug, or make a donation using Paypal or Bitcoin links in the "About" window.

Use My Existing Forum Account

Use My Social Media Account