1I2CDUMP(8)                  System Manager's Manual                 I2CDUMP(8)
2
3
4

NAME

6       i2cdump - examine I2C registers
7
8

SYNOPSIS

10       i2cdump  [-f]  [-r  first-last]  [-y]  [-a]  i2cbus address [mode [bank
11       [bankreg]]]
12       i2cdump -V
13
14

DESCRIPTION

16       i2cdump is a small helper program to examine registers visible  through
17       the I2C bus.
18
19

OPTIONS

21       -V     Display the version and exit.
22
23       -f     Force  access  to  the device even if it is already busy. By de‐
24              fault, i2cdump will refuse to access a device which  is  already
25              under the control of a kernel driver. Using this flag is danger‐
26              ous, it can seriously confuse the kernel driver in question.  It
27              can also cause i2cdump to return invalid results. So use at your
28              own risk and only if you know what you're doing.
29
30       -r first-last
31              Limit the range of registers being accessed. This option is  not
32              available  with  mode s. For mode W, first must be even and last
33              must be odd.
34
35       -y     Disable interactive mode. By default, i2cdump will  wait  for  a
36              confirmation from the user before messing with the I2C bus. When
37              this flag is used, it will perform the operation directly.  This
38              is mainly meant to be used in scripts.
39
40       -a     Allow  using  addresses between 0x00 - 0x07 and 0x78 - 0x7f. Not
41              recommended.
42
43       At least two options must be provided to i2cdump. i2cbus indicates  the
44       number  or name of the I2C bus to be scanned. This number should corre‐
45       spond to one of the busses listed by i2cdetect  -l.  address  indicates
46       the  address  to be scanned on that bus, and is an integer between 0x08
47       and 0x77.
48
49       The mode parameter, if specified, is one of the letters b, w, s, or  i,
50       corresponding  to a read size of a single byte, a 16-bit word, an SMBus
51       block, an I2C block, respectively. The c mode is a little different, it
52       reads all bytes consecutively, and is useful for chips that have an ad‐
53       dress auto-increment feature, such as EEPROMs. The W mode is also  spe‐
54       cial, it is similar to w except that a read command will only be issued
55       on even register addresses; this is again mainly useful for EEPROMs.
56
57       A p can also be appended to the mode parameter (except for i and W)  to
58       enable  PEC. If the mode parameter is omitted, i2cdump defaults to byte
59       access without PEC.
60
61       The bank and bankreg parameters are useful on the W83781D  and  similar
62       chips (at the time of writing, all Winbond and Asus chips).  bank is an
63       integer between 0 and 7, and bankreg is an  integer  between  0x00  and
64       0xFF (default value: 0x4E). The W83781D data sheet has more information
65       on bank selection.
66
67

WARNING

69       i2cdump can be dangerous if used improperly. Most notably, the  c  mode
70       starts with WRITING a byte to the chip. On most chips it will be stored
71       in the address pointer register, which is OK, but  some  chips  with  a
72       single  register  or  no (visible) register at all will most likely see
73       this as a real WRITE, resulting in possible misbehavior or  corruption.
74       Do not use i2cdump on random addresses. Anyway, it is of little use un‐
75       less you have good knowledge of the chip you're  working  with  and  an
76       idea of what you are looking for.
77
78

EXAMPLES

80       Dump  the  whole  contents of I2C device at 7-bit address 0x50 on bus 9
81       (i2c-9), using the default read method (byte mode), after user  confir‐
82       mation:
83              # i2cdump 9 0x50
84
85       Immediately dump the whole contents of I2C device at 7-bit address 0x50
86       on bus 9 (i2c-9), using I2C block read transactions (no user  confirma‐
87       tion):
88              # i2cdump -y 9 0x50 i
89       If  the  device is an EEPROM, the output would typically be the same as
90       output of the previous example.
91
92       Dump registers 0x00 to 0x3f of the I2C device at 7-bit address 0x2d  on
93       bus  1  (i2c-1),  using the default read method (byte mode), after user
94       confirmation:
95              # i2cdump -r 0x00-0x3f 1 0x2d
96
97

BUGS

99       To report bugs or send fixes, please write to  the  Linux  I2C  mailing
100       list  <linux-i2c@vger.kernel.org>  with  Cc  to the current maintainer:
101       Jean Delvare <jdelvare@suse.de>.
102
103       SMBus block mode is deprecated and will be removed in a future  version
104       of this tool.  Please use i2cget instead.
105
106

SEE ALSO

108       i2cdetect(8), i2cget(8), i2cset(8), i2ctransfer(8), isadump(8)
109
110

AUTHOR

112       Frodo Looijaard, Mark D. Studebaker and Jean Delvare
113
114       This  manual  page  was  originally  written by David Z Maze <dmaze@de‐
115       bian.org> for the Debian GNU/Linux system.
116
117
118
119                                   June 2021                        I2CDUMP(8)
Impressum