1I2CDUMP(8) System Manager's Manual I2CDUMP(8)
2
3
4
6 i2cdump - examine I2C registers
7
8
10 i2cdump [-f] [-r first-last] [-y] i2cbus address [mode [bank
11 [bankreg]]]
12 i2cdump -V
13
14
16 i2cdump is a small helper program to examine registers visible through
17 the I2C bus.
18
19
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 At least two options must be provided to i2cdump. i2cbus indicates the
41 number or name of the I2C bus to be scanned. This number should corre‐
42 spond to one of the busses listed by i2cdetect -l. address indicates
43 the address to be scanned on that bus, and is an integer between 0x03
44 and 0x77.
45
46 The mode parameter, if specified, is one of the letters b, w, s, or i,
47 corresponding to a read size of a single byte, a 16-bit word, an SMBus
48 block, an I2C block, respectively. The c mode is a little different, it
49 reads all bytes consecutively, and is useful for chips that have an
50 address auto-increment feature, such as EEPROMs. The W mode is also
51 special, it is similar to w except that a read command will only be
52 issued on even register addresses; this is again mainly useful for EEP‐
53 ROMs.
54
55 A p can also be appended to the mode parameter (except for i and W) to
56 enable PEC. If the mode parameter is omitted, i2cdump defaults to byte
57 access without PEC.
58
59 The bank and bankreg parameters are useful on the W83781D and similar
60 chips (at the time of writing, all Winbond and Asus chips). bank is an
61 integer between 0 and 7, and bankreg is an integer between 0x00 and
62 0xFF (default value: 0x4E). The W83781D data sheet has more information
63 on bank selection.
64
65
67 i2cdump can be dangerous if used improperly. Most notably, the c mode
68 starts with WRITING a byte to the chip. On most chips it will be stored
69 in the address pointer register, which is OK, but some chips with a
70 single register or no (visible) register at all will most likely see
71 this as a real WRITE, resulting in possible misbehavior or corruption.
72 Do not use i2cdump on random addresses. Anyway, it is of little use
73 unless you have good knowledge of the chip you're working with and an
74 idea of what you are looking for.
75
76
78 Dump the whole contents of I2C device at 7-bit address 0x50 on bus 9
79 (i2c-9), using the default read method (byte mode), after user confir‐
80 mation:
81 # i2cdump 9 0x50
82
83 Immediately dump the whole contents of I2C device at 7-bit address 0x50
84 on bus 9 (i2c-9), using I2C block read transactions (no user confirma‐
85 tion):
86 # i2cdump -y 9 0x50 i
87 If the device is an EEPROM, the output would typically be the same as
88 output of the previous example.
89
90 Dump registers 0x00 to 0x3f of the I2C device at 7-bit address 0x2d on
91 bus 1 (i2c-1), using the default read method (byte mode), after user
92 confirmation:
93 # i2cdump -r 0x00-0x3f 1 0x2d
94
95 Dump the registers of the SMBus device at address 0x69 on bus 0
96 (i2c-0), using one SMBus block read transaction with error checking
97 enabled, after user confirmation:
98 # i2cdump 0 0x69 sp
99
100
102 i2cdetect(8), i2cget(8), i2cset(8), i2ctransfer(8), isadump(8)
103
104
106 Frodo Looijaard, Mark D. Studebaker and Jean Delvare
107
108 This manual page was originally written by David Z Maze
109 <dmaze@debian.org> for the Debian GNU/Linux system.
110
111
112
113 October 2017 I2CDUMP(8)