Content
Dateianzeige für i2c-tools (3.4.0)
usr/share/doc/i2c-tools/i2c-tools.txti2c-tools
---------
The i2c-tools package contains a heterogeneous set of I2C tools for Linux:
a bus probing tool, a chip dumper, register-level SMBus access helpers,
EEPROM decoding scripts, EEPROM programming tools, and a python module
for SMBus access.
I2CDETECT(8) System Manager's Manual I2CDETECT(8)
NAME
i2cdetect - detect I2C chips
SYNOPSIS
i2cdetect [-y] [-a] [-q|-r] i2cbus [first last]
i2cdetect -F i2cbus
i2cdetect -V
i2cdetect -l
DESCRIPTION
i2cdetect is a userspace program to scan an I2C bus for devices. It
outputs a table with the list of detected devices on the specified bus.
i2cbus indicates the number or name of the I2C bus to be scanned, and
should correspond to one of the busses listed by i2cdetect -l. The
optional parameters first and last restrict the scanning range
(default: from 0x03 to 0x77).
i2cdetect can also be used to query the functionalities of an I2C bus
(see option -F.)
WARNING
This program can confuse your I2C bus, cause data loss and worse!
INTERPRETING THE OUTPUT
Each cell in the output table will contain one of the following sym-
bols:
. "--". The address was probed but no chip answered.
. "UU". Probing was skipped, because this address is currently in use
by a driver. This strongly suggests that there is a chip at this
address.
. An address number in hexadecimal, e.g. "2d" or "4e". A chip was found
at this address.
OPTIONS
-y Disable interactive mode. By default, i2cdetect 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 Force scanning of non-regular addresses. Not recommended.
-q Use SMBus "quick write" commands for probing (by default, the
command used is the one believed to be the safest for each
address). Not recommended. This is known to corrupt the Atmel
AT24RF08 EEPROM found on many IBM Thinkpad laptops.
-r Use SMBus "read byte" commands for probing (by default, the com-
mand used is the one believed to be the safest for each
address). Not recommended. This is known to lock SMBus on vari-
ous write-only chips (most notably clock chips at address 0x69).
-F Display the list of functionalities implemented by the adapter
and exit.
-V Display the version and exit.
-l Output a list of installed busses.
SEE ALSO
i2cdump(8), sensors-detect(8)
AUTHOR
Frodo Looijaard, Mark D. Studebaker and Jean Delvare
This manual page was originally written by Aurelien Jarno
, for the Debian GNU/Linux system.
April 2008 I2CDETECT(8)
I2CDUMP(8) System Manager's Manual I2CDUMP(8)
------------------------------------------------------------------------------
NAME
i2cdump - examine I2C registers
SYNOPSIS
i2cdump [-f] [-r first-last] [-y] i2cbus address [mode [bank
[bankreg]]]
i2cdump -V
DESCRIPTION
i2cdump is a small helper program to examine registers visible through
the I2C bus.
OPTIONS
-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 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 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 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 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 EEP-
ROMs.
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
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.
SEE ALSO
i2cset(8), i2cdetect(8), isadump(8)
AUTHOR
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 I2CDUMP(8)
I2CGET(8) System Manager's Manual I2CGET(8)
------------------------------------------------------------------------------
NAME
i2cget - read from I2C/SMBus chip registers
SYNOPSIS
i2cget [-f] [-y] i2cbus chip-address [data-address [mode]]
i2cget -V
DESCRIPTION
i2cget is a small helper program to read registers visible through the
I2C bus (or SMBus).
OPTIONS
-V Display the version and exit.
-f Force access to the device even if it is already busy. By
default, i2cget 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 i2cget to return an invalid value. So use at your
own risk and only if you know what you're doing.
-y Disable interactive mode. By default, i2cget 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. Use with caution.
There are two required options to i2cget. 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. chip-address specifies the
address of the chip on that bus, and is an integer between 0x03 and
0x77.
data-address specifies the address on that chip to read from, and is an
integer between 0x00 and 0xFF. If omitted, the currently active regis-
ter will be read (if that makes sense for the considered chip).
The mode parameter, if specified, is one of the letters b, w or c, cor-
responding to a read byte data, a read word data or a write byte/read
byte transaction, respectively. A p can also be appended to the mode
parameter to enable PEC. If the mode parameter is omitted, i2cget
defaults to a read byte data transaction, unless data-address is also
omitted, in which case the default (and only valid) transaction is a
single read byte.
WARNING
i2cget can be extremely dangerous if used improperly. I2C and SMBus are
designed in such a way that an SMBus read transaction can be seen as a
write transaction by certain chips. This is particularly true if set-
ting mode to cp (write byte/read byte with PEC). Be extremely careful
using this program.
SEE ALSO
i2cdump(8), i2cset(8)
AUTHOR
Jean Delvare
This manual page was strongly inspired from those written by David Z
Maze for i2cset.
May 2008 I2CGET(8)
------------------------------------------------------------------------------
I2CSET(8) System Manager's Manual I2CSET(8)
NAME
i2cset - set I2C registers
SYNOPSIS
i2cset [-f] [-y] [-m mask] [-r] i2cbus chip-address data-address
[value] ... [mode]
i2cset -V
DESCRIPTION
i2cset is a small helper program to set registers visible through the
I2C bus.
OPTIONS
-V Display the version and exit.
-f Force access to the device even if it is already busy. By
default, i2cset 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 i2cset to silently write to the wrong register.
So use at your own risk and only if you know what you're doing.
-y Disable interactive mode. By default, i2cset 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.
-m mask
The mask parameter, if specified, describes which bits of value
will be actually written to data-address. Bits set to 1 in the
mask are taken from value, while bits set to 0 will be read from
data-address and thus preserved by the operation. Please note
that this parameter assumes that the read and write operations
for the specified mode are symmetrical for the device you are
accessing. This may or may not be the case, as neither I2C nor
SMBus guarantees this.
-r Read back the value right after writing it, and compare the
result with the value written. This used to be the default
behavior. The same limitations apply as those of option -m.
There are three required options to i2cset. 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. chip-address specifies the
address of the chip on that bus, and is an integer between 0x03 and
0x77. data-address specifies the address on that chip to write to, and
is an integer between 0x00 and 0xFF.
The value parameter, if specified, is the value to write to that loca-
tion on the chip. If this parameter is omitted, then a short write is
issued. For most chips, it simply sets an internal pointer to the tar-
get location, but doesn't actually write to that location. For a few
chips though, in particular simple ones with a single register, this
short write is an actual write. If the mode parameter is s or i, multi-
ple values can be specified.
The mode parameter, if specified, is one of the letters b, w, s, or i,
corresponding to a write size of a single byte, a 16-bit word, a SMBus
block write, or an I2C block write, respectively. For SMBus and I2C
block writes, the write size is determined by the number of value
parameters. Except for I2C block writes, a p can also be appended to
the mode parameter to enable PEC. If the mode parameter is omitted,
i2cset defaults to byte mode without PEC. The value provided must be
within range for the specified data type (0x00-0xFF for byte and block
writes, 0x0000-0xFFFF for words). Another possible mode is c, which
doesn't write any value (so-called short write). You usually don't have
to specify this mode, as it is the default when no value is provided,
unless you also want to enable PEC.
WARNING
i2cset can be extremely dangerous if used improperly. It can confuse
your I2C bus, cause data loss, or have more serious side effects. Writ-
ing to a serial EEPROM on a memory DIMM (chip addresses between 0x50
and 0x57) may DESTROY your memory, leaving your system unbootable! Be
extremely careful using this program.
SEE ALSO
i2cdump(8), isaset(8)
AUTHOR
Frodo Looijaard, Mark D. Studebaker and Jean Delvare
This manual page was originally written by David Z Maze
for the Debian GNU/Linux system.
November 2008 I2CSET(8)
------------------------------------------------------------------------------