Skip to content

gompa/Gi2c-spd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 

Repository files navigation

Gi2c 

Gi2c is a basic spd read and write tool written in python3
it depends on smbus2 
you need to enabled the i2c-dev module, and disable any other loaded i2c modules that bind to your spd's eeprom (at24 for example)



modprobe i2c-dev
modprobe -r at24


find some more info about Gi2c here: [H-bomb.nl Gi2c ddr3]()soon
find some more info about the ddr3 spd here : https://www.h-bomb.nl/ddr3-spd/




arguments : 

--busaddress 
set i2c bus address (0 most of the time)



--dimmaddress
set dimm address( 0x50 0x51 0x52 0x53 0x54 0x55 )


--writeminrastocas
set min ras to cas time byte 20 in ns example: --writeminrastocas 10ns


--writeminrastocasoffset
help="set min ras to cas offset byte 36 in ns exaple: --writeminrastocas -54")  


--writetckmin
set min cycle time tckmin  byte 12 in ns example: --writetckmin 10ns")


--writetckminoffset
 set min cycle time tckmin  offset byte 34 in ns hex (only used on 1933+2133 example: --writetckminoffset -54")   


--writecas
set enabled CAS latencies in bytes 14 and 15 These bytes define which CAS Latency (CL) values are supported. The range is from CL = 4 through CL = 18 with one bit per possible CAS Latency. A 1 in a bit position means that CL is supported, a 0 in that bit position means it is not supported. Since CL = 6 is required for all DDR3 speed bins, bit 2 of SPD byte 14 is always 1.
input is cas latency to enable as list of cl* values
example: python3 MEM.py --writecas cl4 cl5 cl6 cl16


--write
DANGER THIS WRITES YOUR SPD AND CAN RESULT IN A NON WORKING COMPUTER
enable global write without this enabled its does a dry-run


--writetofile
write spd to filename

--readfromfile
Read spd from filename    



Faq:
why does Gi2c not support ddr4:
i dont have ddr4 hardware to test it

i bricked my ram/computer what now:
try your dim in a different computer with a other dimm installed, or try setting memory timings manual on 1 stick and reboot with both sticks
get an arduino and solder it to the spd lines and read the spd data 
if you are all out of options you can try hotplugging your memory after boot to flash the spd (this is all kinds of bad and should only be used as a last resort)




THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

Gi2c a basic ddr3 spd editor and flasher in python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages