Writing to an I2c Eprom

Hi Guys

I want to write to an I2C eprom, changing the values at a certain address, I have managed to dump the eprom to the serial monitor and have found the values I need to change, but I am unsure how to write the new values

690: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
6a0: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
6b0: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
6c0: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
6d0: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
6e0: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
6f0: 46 46 41 33 32 20 00 ff  ff ff ff ff ff ff ff ff  |FFA32 ..........|
700: 03 0b 12 35 00 02 ff ff  ff ff ff ff ff ff ff ff  |...5............|

I want to change the 0b on line 700: to 0c and I'm not sure of how to do that ?

Any help would be appreciated.

Potman100

Hi

Sorry for not including the details, I don't have a data sheet for the chip, its a ATH61402CM, there is virtually no info about it anywhere online, a google search suggests it is similar to the ATH24.. and looking at the data for that chip it looks to be correct.

I have read the contents using the same method as the ATH23.. chip.

Potman

Hi

I just want to change :

700: 03 0b

700: 03 0c

from the data in the first post.

The write function I have is :

void eeprom_write_byte(byte deviceaddress, int eeaddress, char data)
{
    // Three lsb of Device address byte are bits 8-10 of eeaddress
    byte devaddr = deviceaddress | ((eeaddress >> 8) & 0x07);
    byte addr    = eeaddress;
    Wire.beginTransmission(devaddr);
    Wire.write(int(addr));
    Wire.write(char(data));
    Wire.endTransmission();
    delay(10);
}

To be honest Im not sure, it is part of a dongle system for some legacy software that the wife's company had updated a few years ago, one of the dongles has been lost and the company is no longer trading so they can't get a replacement, I have read a working eprom and thats only difference I can find, the working one is 700: 03 0c and the non working one is : 700: 03 0b, so I wanted to see if changing the value would make it work.

No, Im not, the company no longer exists and they have a valid licence for the software, but the working dongle has gone missing, just trying to help them get it working.

Thanks for you input, I can a sure you that I'm not trying to do something nefarious, just trying to help them to use the software they are legally licensed to used.

That's fair enough, the dongle I have was from the beta phase of testing so they were hoping to use it if possible as they have exhausted all other means of getting a replacement, it part of some packing system, it just means that it takes longer to pack the orders as they have to share the system.

There seem to be more security features in that IC, you will probably not get away with changing that single byte, if that is possible.

Google translate from ATH613 ATH614 ATH615 ATH616 ATH617 8-pin chip ATH618

The serial EEPROM is a low operating voltage 1K/2K/4K/8K/16K bit serial electrically erasable read-only memory.
The internal organization is 128/256/512/1024/2048 bytes and each byte is 8 bits. This chip is widely used in the low-voltage and low-power industrial and commercial fields.
The main features
Operating Voltage: 1.8V to 5.5V Input/Output Pin Compatible with 5V
Applications in the internal structure: 128x8 (1K), 256x8 (2K), 512x8 (4K), 1024x8 (8K), 2048x8 (16K)
2-wire serial interface/serial peripheral interface (SPI) compatible SPI mode support
Input pin is Schmitt-trigger filtered to suppress noise
Bidirectional data transmission protocol
Compatible with 400KHz (1.8V, 2.5V, 2.7V, 3.6V)
Support hardware write protection high reliability, infinite read
Working temperature: -55°C/+125°C
Working temperature: -65°C/+150°C
Ground voltage of any pin: -1.0V/+7.0V
Maximum operating voltage: 6.25V
Direct output current: 5.0mA
(3-wire) compatible serial EEPROM with flexible, user-selectable 8x or 16x memory organization and software write protection
To ensure the stability of the data. The device has a very high write count.
Each memory location allows more than one million write cycles,
To meet the needs of today's high write times applications
I2C compatible serial EEPROM with 2KB memory
Devices are application-specific products,
Contains IEEE-provided 48-bit or 64-bit pre-programmed unique MAC/EUI addresses to allow interconnected devices to connect to the Internet or a local network.
These devices also include a 128-bit read-only serial number and 2 KB of user-accessible EEPROM non-volatile memory (NVM) components.

Hi, thanks for that, I had read this but as there is no other option I though it might be worth a go, if it works great, if not at least I have tried, keep the wife off my back !!