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
       i2cdump -h

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

OPTIONS
       -V     Display the version and exit.

       -h     Display the help 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, or i, cor-
       responding to a read size of a single byte, a 16-bit word, an I2C block,
       respectively.  The c mode is a little different, it reads all bytes con-
       secutively, and is useful for chips that have an address  auto-increment
       feature, such as EEPROMs. The W mode is also special, it is similar to w
       except  that  a  read  command  will only be issued on even register ad-
       dresses; 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 sin-
       gle  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.

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 confirma-
       tion:
              # 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 Del-
       vare <jdelvare@suse.de>.

       SMBus block mode used to be supported by 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.

                                    May 2022                         I2CDUMP(8)

Generated by dwww version 1.16 on Sat Oct 3 06:48:57 CEST 2026.