mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-10-19 14:55:55 +00:00
Christian Vogel <chris@hedonism.cx>; combined the Makefile with eepromer. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1360 7894878c-1315-0410-8ee3-d5d059ff63e0
86 lines
3.4 KiB
Plaintext
86 lines
3.4 KiB
Plaintext
You can use this program to read/write to i2c-eeproms
|
|
like the popular 24C16, 24C08, 24C04,.. In contrast to lm_sensor's 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>
|