dwww Home | Manual pages | Find package

I2CDUMP(8)                  System Manager's Manual                 I2CDUMP(8)

NAME
       i2cdump - examine I2C registers

SYNOPSIS
       i2cdump  [-f]  [-r  first-last]  [-y]  [-a]  i2cbus address [mode [bank
       [bankreg]]]
       i2cdump -V

DESCRIPTION
       i2cdump is a small helper program to examine registers visible  through
       the I2C bus.

OPTIONS
       -V     Display the version and exit.

       -f     Force  access  to  the device even if it is already busy. By de-
              fault, i2cdump will refuse to access a device which  is  already
              under the control of a kernel driver. Using this flag is danger-
              ous, 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 doing.

       -r first-last
              Limit the range of registers being accessed. This option is  not
              available  with  mode s. For mode W, first must be even and last
              must be odd.

       -y     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.

       -a     Allow  using  addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not
              recommended.

       At least two options must be provided to i2cdump. i2cbus indicates  the
       number  or name of the I2C bus to be scanned. This number should corre-
       spond to one of the busses listed by i2cdetect  -l.  address  indicates
       the  address  to be scanned on that bus, and is an integer between 0x08
       and 0x77.

       The mode parameter, if specified, is one of the letters b, w, s, 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 ad-
       dress auto-increment feature, such as EEPROMs. The W mode is also  spe-
       cial, 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.

       A p can also be appended to the mode parameter (except for i and W)  to
       enable  PEC. If the mode parameter is omitted, i2cdump defaults to byte
       access without PEC.

       The bank and bankreg parameters are useful on the W83781D  and  similar
       chips (at the time of writing, all Winbond and Asus chips).  bank 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.

WARNING
       i2cdump can be dangerous if used improperly. Most notably, the  c  mode
       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 un-
       less you have good knowledge of the chip you're  working  with  and  an
       idea of what you are looking for.

EXAMPLES
       Dump  the  whole  contents of I2C device at 7-bit address 0x50 on bus 9
       (i2c-9), using the default read method (byte mode), after user  confir-
       mation:
              # i2cdump 9 0x50

       Immediately dump the whole contents of I2C device at 7-bit address 0x50
       on bus 9 (i2c-9), using I2C block read transactions (no user  confirma-
       tion):
              # i2cdump -y 9 0x50 i
       If  the  device is an EEPROM, the output would typically be the same as
       output of the previous example.

       Dump registers 0x00 to 0x3f of the I2C device at 7-bit address 0x2d  on
       bus  1  (i2c-1),  using the default read method (byte mode), after user
       confirmation:
              # i2cdump -r 0x00-0x3f 1 0x2d

BUGS
       To report bugs or send fixes, please write to  the  Linux  I2C  mailing
       list  <linux-i2c@vger.kernel.org>  with  Cc  to the current maintainer:
       Jean Delvare <jdelvare@suse.de>.

       SMBus block mode is deprecated and will be removed in a future  version
       of this tool.  Please use i2cget instead.

SEE ALSO
       i2cdetect(8), i2cget(8), i2cset(8), i2ctransfer(8), isadump(8)

AUTHOR
       Frodo Looijaard, Mark D. Studebaker and Jean Delvare

       This  manual  page  was  originally  written by David Z Maze <dmaze@de-
       bian.org> for the Debian GNU/Linux system.

                                   June 2021                        I2CDUMP(8)

Generated by dwww version 1.14 on Thu Jan 23 19:55:05 CET 2025.