| You can use this program to read/write to i2c-eeproms |
| like the popular 24C16, 24C08, 24C04,.. In contrast to eeprommer |
| which supports 24C256-type eeproms 24C16ss use 1-byte addresses! |
| |
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| !!! ! |
| !!! This program should only be used on external busses such as i2c-pport. ! |
| !!! ! |
| !!! Your computer may contain i2c-eeproms for saving data vital to its ! |
| !!! operation. If you are not careful you might overwrite this data with ! |
| !!! this program and your computer may no longer boot! ! |
| !!! ! |
| !!! An example are the EEPROMS on your SDRAM DIMMs, your computer may no ! |
| !!! longer detect the RAM module rendering it essentially USELESS! ! |
| !!! ! |
| !!! IBM Thinkpads are said to store their configuration data in a eeprom, ! |
| !!! if you manage to overwrite this eeprom you will have to send your ! |
| !!! computer to the manufacturer for a costly repair! ! |
| !!! ! |
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
| |
| It has several options: |
| |
| -d devicenode |
| |
| set this to the device-node of the i2c-bus |
| you want to use like /dev/i2c-0. |
| Use /dev/i2c-1 for the second bus, i2c-2 for the third... |
| |
| The default /dev/i2c-0 should work most of the time. |
| |
| -a address |
| |
| set this to the device-address of your |
| eeprom. For a 24C16 the address is hardcoded to |
| 0x50, which is -you guessed it- the default. |
| |
| For a 24C08 and smaller types you can choose which |
| addresses they occupy by forcing the address-pins |
| of the chip to High or Low so here the address may differ. |
| |
| -p number_of_pages |
| |
| set this to the number of pages you want to read |
| from or write to the eeprom. The 24C16 maps it's |
| pages to consecutive addresses on the i2c-bus so |
| we will try to read 256 bytes from every i2c |
| address between 'address' (inclusive) and |
| 'address + number_of_pages' (exclusive)... |
| |
| A 24C16 has 8 pages so that's the default for this |
| parameter. |
| |
| -f filename |
| |
| read data from this file (when writing to eeprom) or |
| write data to this file (when reading from eeprom). |
| |
| When reading a file that's smaller than the |
| eeprom's storage size we will pad the eeprom |
| with zeroes. |
| |
| If no file is given we will just read the |
| eeprom (while in read-mode) and test it's presence |
| this way. In write-mode we will just write zeroes |
| to the eeprom. |
| |
| -w When '-w' is present we will *write* to the eeprom. |
| If you do not specify '-w' we will read the contents |
| of the eeprom. |
| |
| -y This flag will suppress the warning when you write to the |
| eeprom. You will not be required to enter 'yes' so be careful |
| when using this switch! |
| |
| |
| I wrote that program to clear a 24C16 eeprom that sit's in my crappy |
| satellite receiver because sometimes its Z80 processor likes to |
| write garbage to it and then crash.... |
| |
| No further testing besides writing a long series of "The quick brown |
| fox jumps over the lazy dog!" and reading it back has been done so |
| of course this comes without any warranty. |
| |
| Chris <chris@hedonism.cx> |