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
24              default, 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 only
32              available  with  modes  b, w, c and W. For mode W, first must be
33              even and last 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 - 0x02 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 0x03
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
53       address auto-increment feature, such as EEPROMs. The  W  mode  is  also
54       special,  it  is  similar  to w except that a read command will only be
55       issued on even register addresses; this is again mainly useful for EEP‐
56       ROMs.
57
58       A  p can also be appended to the mode parameter (except for i and W) to
59       enable PEC. If the mode parameter is omitted, i2cdump defaults to  byte
60       access without PEC.
61
62       The  bank  and bankreg parameters are useful on the W83781D and similar
63       chips (at the time of writing, all Winbond and Asus chips).  bank is an
64       integer  between  0  and  7, and bankreg is an integer between 0x00 and
65       0xFF (default value: 0x4E). The W83781D data sheet has more information
66       on bank selection.
67
68

WARNING

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

EXAMPLES

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

SEE ALSO

105       i2cdetect(8), i2cget(8), i2cset(8), i2ctransfer(8), isadump(8)
106
107

AUTHOR

109       Frodo Looijaard, Mark D. Studebaker and Jean Delvare
110
111       This   manual   page   was   originally   written   by   David  Z  Maze
112       <dmaze@debian.org> for the Debian GNU/Linux system.
113
114
115
116                                 October 2017                       I2CDUMP(8)
Impressum