Man Linux: Main Page and Category List


       i2cdump - examine I2C registers


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


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


       -V     Display the version and exit.

       -f     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  doing.

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

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

       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
       correspond to one  of  the  busses  listed  by  i2cdetect  -l.  address
       indicates  the  address  to  be  scanned on that bus, and is an integer
       between 0x03 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
       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 addresses; this  is  again  mainly  useful  for

       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.


       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
       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
       <> for the Debian GNU/Linux system.

                                   May 2008