i2cdump - examine I2C registers
] [-r first-last
i2cdump is a small helper program to examine registers visible through the I2C
- Display the version and exit.
- Force access to the device even if it is already busy. By
default, i2cdump will refuse to access a device which is already under the
control of a kernel driver. Using this flag is dangerous, it can seriously
confuse the kernel driver in question. It can also cause i2cdump to return
invalid results. So use at your own risk and only if you know what you're
- -r first-last
- Limit the range of registers being accessed. This option is
only available with modes b, w, c and W. For
mode W, first must be even and last must be odd.
- Disable interactive mode. By default, i2cdump will wait for
a confirmation from the user before messing with the I2C bus. When this
flag is used, it will perform the operation directly. This is mainly meant
to be used in scripts.
At least two options must be provided to i2cdump. i2cbus
number or name of the I2C bus to be scanned. This number should correspond to
one of the busses listed by i2cdetect -l
address to be scanned on that bus, and is an integer between 0x03 and 0x77.
parameter, if specified, is one of the letters b
, or i
, corresponding to a read size of a single
byte, a 16-bit word, an SMBus block, an I2C block, respectively. The c
mode is a little different, it reads all bytes consecutively, and is useful
for chips that have an address auto-increment feature, such as EEPROMs. The
mode is also special, it is similar to w
except that a read
command will only be issued on even register addresses; this is again mainly
useful for EEPROMs.
can also be appended to the mode
parameter (except for
) to enable PEC. If the mode
parameter is omitted,
i2cdump defaults to byte access without PEC.
parameters are useful on the W83781D and
similar chips (at the time of writing, all Winbond and Asus chips).
is an integer between 0 and 7, and bankreg
is an integer
between 0x00 and 0xFF (default value: 0x4E). The W83781D data sheet has more
information on bank selection.
i2cdump can be dangerous if used improperly. Most notably, the c
starts with WRITING a byte to the chip. On most chips it will be stored in the
address pointer register, which is OK, but some chips with a single register
or no (visible) register at all will most likely see this as a real WRITE,
resulting in possible misbehavior or corruption. Do not use i2cdump on random
addresses. Anyway, it is of little use unless you have good knowledge of the
chip you're working with and an idea of what you are looking for.
i2cset(8), i2cdetect(8), isadump(8)
Frodo Looijaard, Mark D. Studebaker and Jean Delvare
This manual page was originally written by David Z Maze <email@example.com>
for the Debian GNU/Linux system.