EVGA

Helpful ReplyHot!My Arduino-based RAM SPD reader/writer (free and open source)

Page: << < ..6 Showing page 6 of 6
Author
ryanly88
New Member
  • Total Posts : 4
  • Reward points : 0
  • Joined: 2022/12/15 03:05:11
  • Status: offline
  • Ribbons : 1
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2022/12/15 03:56:08 (permalink)
 
Can DDR5 SPD read/write operations be supported ?
 
DDR5 UDIMM SPD :  SPD5118
8 Kbit SPD (Serial Presence Detect) EEPROM with Hub function (SPD Hub) and integrated Temperature Sensor (TS)
Package: DFN8(2x3)    2.00x3.00x0.75 mm      0.50mm Pitch
 
NVM Map(8 Bits wide):
Device name       Device address        Buffer address            Describe
SPD5118             0x0000 – 0x03FF   0x0000 – 0x03FF         non-volatile memory
 
SPD5118  PINOUT
PIN1: LSDA
PIN2: HSDA
PIN3: HSCL
PIN4: LSCL
PIN5: VDDSPD 1.8V
PIN6: VSS GND
PIN7: VDDIO 1.0V
PIN8: HSA
 
ryanly88
New Member
  • Total Posts : 4
  • Reward points : 0
  • Joined: 2022/12/15 03:05:11
  • Status: offline
  • Ribbons : 1
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2022/12/15 04:01:17 (permalink)
DDR5  UDIMM  SPD related pins
PIN1,145,146: PMIC VIN  5.0V
PIN148: HSA
PIN4:    HSCL
PIN5:    HSDA
PIN151: PWR_EN 3.3V
PIN147: PWR_GOOD
Mr. Fox
Superclocked Member
  • Total Posts : 240
  • Reward points : 0
  • Joined: 2012/03/24 12:50:21
  • Location: AZ - America's Blast Furnace
  • Status: offline
  • Ribbons : 3
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2022/12/15 05:33:57 (permalink)
Wow, this is amazing. I had not seen it until now. Great job. I am glad to see it works for DDR5. Will work for programming user-defined XMP profiles too?

Wraith // EVGA Z690 Dark K|NGP|N | 13900K | EVGA 3090 K|NGP|N | 32GB DDR5 | EVGA SuperNOVA 1600 P2 | HC-500A Chiller | MO-RA3 360 D5*3 || Level 20 XT
Banshee // ASUS Strix Z690-E | 13900KF | EVGA 3060 Ti FTW3 | 32GB DDR5 | EVGA 850 B5 | XT45 1080 Nova D5*2 || 5000D Airflow
Half-Breed // Precision 17 7720 | 7920HQ (BGA filth) | Quadro P5000 16GB (MXM) | 32GB DDR4 || Grade A Off-Lease Refurb

 
 
 
 
 
 
 
 
 
 
a213m
SSC Member
  • Total Posts : 817
  • Reward points : 0
  • Joined: 2006/02/08 11:10:24
  • Location: πŸ‡¨πŸ‡¦
  • Status: offline
  • Ribbons : 19
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2022/12/15 15:33:07 (permalink)
Currently SPD-RW has limited software DDR5 support (Vendor, Model, and CRC information).
 
Arduino DDR5 support will be updated once I get my hands on DDR5 modules. (No ETA yet). I have a prototype ready, but schematics and firmware won't be published until it is tested.
 
As for SMBus DDR5 reading/writing there's no support for now. If you have an Intel or AMD DDR5 system and can run test on your system to speed up DDR5 support, let me know via PM or here.
a213m
SSC Member
  • Total Posts : 817
  • Reward points : 0
  • Joined: 2006/02/08 11:10:24
  • Location: πŸ‡¨πŸ‡¦
  • Status: offline
  • Ribbons : 19
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2022/12/31 15:34:22 (permalink)
Happy new year, everyone!
 
Here's a new version with quite a changelog: 20221231
 
GUI
  • Fixed: Not responding to save shortcuts keys (Ctrl+S) unless the File menu was opened prior to saving loaded data
  • Fixed: Imported SPD CRC status information not being updated after closing previously edited SPD without saving
  • Fixed: Program closing when selecting to save changes before exiting and closing Save File dialog without saving
  • Fixed: Error after clicking on an empty ASCII area, if loaded data size wasn't a factor of number of bytes per row
  • Fixed: Editor preview not reflecting "Highlight similar bytes" option change in real time in the Settings window
  • Fixed: Mouse back and forward buttons activating panel under the pointer when navigation history is empty
  • Fixed: Menu and toolbar Save buttons becoming unavailable for imported data after opening the File menu
  • Fixed: Screenshot tool not capturing updated window contents after restoring down the maximized window
  • Fixed: Editor not scrolling to cursor position outside of visible area when manually going to the same offset
  • Fixed: New Name text field position in the Rename Arduino device dialog window after it was being resized
  • Fixed: Navigation history losing first cursor position and active panel when going back after going forward
  • Fixed: All right-aligned check boxes in the Settings window are perfectly aligned regardless of DPI settings
  • Fixed: Navigation menu items showing up as available under the Edit menu after clearing editor contents
  • Fixed: Check RSWP Status window displaying incorrect device name when connected to SMBus controller
  • Fixed: Edits made to imported or pasted data were not saved when saving to a local file for the first time
  • Fixed: Duplicate log entries showing up in the event log when importing SPD data from non binary files
  • Fixed: Screenshot tool capturing black borders around the maximized window in Windows 7, 8, and 8.1
  • Fixed: Program not starting in Windows XP, Vista, 7, 8, and 8.1 if custom DPI font settings were used
  • Redesigned: Arduino and Smbus related settings moved to Hardware tab in the Settings window
  • Redesigned: Replaced device type selection with a drop-down menu in the Select Device dialog
  • Redesigned: Dragging file onto the editor will activate and bring the main window forward
  • Redesigned: Data editor side offset numbers are not shown, when no data is loaded
  • Added: Status displaying the number of unsaved changes in the Settings window
  • Added: Revert button to undo unsaved changes in the Settings window
  • Added: Option to hide copy preview in the Settings window
  • Added: Option to toggle main toolbar buttons captions
  • Added: Pascal and Java byte array data copy formats
  • Added: CPU-Z text report SPD import support
  • Added: DDR5 XMP & EXPO CRC validation
  • Improved: Arduino connection time
  • Improved: Startup loading time
  • Improved: Performance
  • Improved: Stability

CLI

  • Updated: Compatibility
 



Although the changelog is huge, most of the fixes are related to the the new editor I introduced in the last version. I also fixed UI scaling under non standard DPI settings.
 
There are a couple of new features I'd like to point out: CPU-Z text report import and additional DDR5 CRC validation.
 
To use CPU-Z report import feature, start CPU-Z, save report as a text file (click Tools and select "Save report as TXT"). Then open the text file in SPD-RW. If you have multiple SPDs present, you'll be asked to choose SPD number, just like as if you were to read SPD from Arduino or Smbus with multiple devices on the same bus.
 
DDR5 SPDs can feature up to 5 XMP profiles, and/or 2 Expo profiles. Unlike DDR4, which used 2 CRCs to validate base configuration and block 1 data, DDR5 uses 1 CRC to validate base data. However, this time around, XMP 3.0 and AMD Expo profiles, if present, are also validated using the same algorithm to ensure data integrity. This release will validate all CRCs present in DDR5 SPD dumps.
a213m
SSC Member
  • Total Posts : 817
  • Reward points : 0
  • Joined: 2006/02/08 11:10:24
  • Location: πŸ‡¨πŸ‡¦
  • Status: offline
  • Ribbons : 19
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2023/01/20 15:05:49 (permalink)
New version: 20230120
 
Reuploaded: minor fix - explorer wasn't opening after saving firmware, download again. :)

GUI

  • Added: Drag & drop file support under admin privileges in Windows Vista and higher w/ UAC enabled
  • Added: Found Arduinos firmware version number in Select Device window
  • Added: Scroll lock functionality
  • Improved: Restored originally used default non-ASCII placeholder
  • Improved: Performance when handling large file size errors
  • Improved: Arduino RSWP operations performance
  • Fixed: False file import entry added to event log after cancelling CPU-Z text report SPD importing
  • Fixed: Pressing save shortcut keys (Ctrl+S) saving opened file when no edits have been made
  • Fixed: Not responding to mouse navigation buttons, if pointer was outside of editable area
  • Fixed: Error message not displaying Arduino identifier upon EEPROM write failure
  • Fixed: Delay during closing program when Arduino auto connection is enabled
  • Fixed: Arduino RSWP capabilities polling while no slave devices are present
  • Fixed: New or reset Arduino name validation upon initial connection
  • Fixed: Misaligned characters in editor when using odd font sizes
  • Fixed: Cursor resetting position when changing font settings
  • Fixed: DDR5 SPD manufacturer ID and name detection

CLI

  • Added: Optional /nocolor command line switch to display SPD contents in monochrome
  • Added: Error messages are displayed when accessing SMBus without admin privileges
  • Fixed: Command line /scan ignoring specified SMBus bus number
  • Improved: SPD reading and writing performance
  • Updated: Info and help contents

SMBus

  • Fixed: Driver file extracting when running program without admin privileges
  • Fixed: Driver not stopping after quitting program
 
Notable improvements:
 
Starting with Windows Vista, Microsoft introduced UAC feature to improve OS security. When enabled, applications launched with higher privileges prevent drag-and-drop operation from applications launched with lower privileges. (You can try it yourself by launching notepad as admin, and trying to drag and drop a file from desktop or explorer into the main window - you will notice the operation is blocked.) This release modifies the behavior of the editor using ChangeWindowMessageFilterEx and ChangeWindowMessageFilter APIs to allow drag-and-drop operations under admin, which is required to access SMBus.
 
I also added a Scroll Lock functionality. When scroll lock is off, arrow keys move the cursor within the document. With scroll lock on arrow keys will keep cursor in place and will scroll document up and down, like in MS Excel.
 
Good things will come to those who wait. πŸ•”
 
Edit: typos
post edited by a213m - 2023/01/21 17:47:49
Cool GTX
EVGA Forum Moderator
  • Total Posts : 29751
  • Reward points : 0
  • Joined: 2010/12/12 14:22:25
  • Location: Folding for the Greater Good
  • Status: offline
  • Ribbons : 121
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2023/01/21 17:36:16 (permalink)
Thank you for continuing to post updates

Learn your way around the EVGA Forums, Rules & limits on new accounts Ultimate Self-Starter Thread For New Members I am a Volunteer Moderator - not an EVGA employee
RTX Project EVGA X99 FTWK 2xEVGA2080Ti EVGA1200P2  Nibbler EVGA X99 Classified EVGA 3080Ti FTW3 Ultra 1600P2
Everyone Saves $$$ @EVGA.com use ANYONE's Associate code @ checkout -->  SAVE (on most items) 3% - 10%
Delirious
EVGA Forum Moderator
  • Total Posts : 17210
  • Reward points : 0
  • Joined: 2007/11/15 13:34:04
  • Location: at my computer
  • Status: online
  • Ribbons : 61
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2023/02/03 20:59:16 (permalink)
Thanks!

"Be quick to listen, slow to speak and slow to anger" 
Affiliate Code XZUMV9TJW5
Associate Code: 7PM43CU71IB2IAP
education may be expensive but wait until you get the bill for ignorance
A wise man once said that we can't make anyone feel or do anything. We can throw things into the wind, but it's up to each person to decide how they want to react, where they want to stand when things fall.
a213m
SSC Member
  • Total Posts : 817
  • Reward points : 0
  • Joined: 2006/02/08 11:10:24
  • Location: πŸ‡¨πŸ‡¦
  • Status: offline
  • Ribbons : 19
Re: Would anyone be interested in open source and free DDR4 SPD reader/writer? 2023/02/05 16:14:45 (permalink)
The update you all have been waiting for: 20230205
 

Core

  • Added: DDR5 support

GUI

  • Improved: RSWP report accuracy when multiple devices are present on the same bus
  • Fixed: Delay when switching between Arduino and SMBus in Select Device window
  • Fixed: Freeze when reading SPD from Arduino with multiple bus addresses
  • Improved: stability and performance in virtualized environments

CLI

  • Added: Mandatory address parameter when working with RSWP switches

Firmware

  • Improved: Performance and stability

Schematic

  • Improved: Stability and reliability
  • Removed: Optional modules
 
This release adds DDR5 support. This will let you read, edit, and write DDR5 SPDs, as well as toggle individual block write protection. The update requires new firmware, even if you don't need DDR5 support, because I updated protocol. The firmware is fully compatible with old schematic. The updated schematic will let you use DDR5 and any other RAM of previous generation simultaneously.
 

 
Stay tuned for updated guide.
Page: << < ..6 Showing page 6 of 6
Jump to:
  • Back to Mobile