dwww Home | Manual pages | Find package

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 -h
       i2cdetect -l

DESCRIPTION
       i2cdetect is a userspace program to scan an I2C bus for devices. It out-
       puts  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 op-
       tional parameters first and last restrict the scanning  range  (default:
       from 0x08 to 0x77).

       As  there is no standard I2C detection command, i2cdetect uses arbitrary
       SMBus commands (namely SMBus quick write  and  SMBus  receive  byte)  to
       probe  for  devices. By default, the command used is the one believed to
       be the safest for each address. See options -q and -r to change this be-
       havior.

       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 symbols:

       • "--". 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" command for probing.  Not recommended.
              This is known to corrupt the Atmel AT24RF08 EEPROM found on  many
              IBM Thinkpad laptops.

       -r     Use  SMBus  "receive byte" command for probing.  Not recommended.
              This is known to lock SMBus on various write-only chips (most no-
              tably clock chips at address 0x69).

       -F     Display the list of functionalities implemented  by  the  adapter
              and exit.

       -V     Display the version and exit.

       -h     Display the help and exit.

       -l     Output a list of installed busses.

EXAMPLES
       List all available I2C busses:
              # i2cdetect -l

       Immediately  scan the standard addresses on I2C bus 9 (i2c-9), using the
       default method for each address (no user confirmation):
              # i2cdetect -y 9

       Query the functionalities of I2C bus 1 (i2c-1):
              # i2cdetect -F 1

       Scan addresses 0x10 to 0x17 on the I2C bus named "SMBus I801 adapter  at
       efa0", using the "receive byte" method, after user confirmation:
              # i2cdetect -r "SMBus I801 adapter at efa0" 0x10 0x17

BUGS
       To report bugs or send fixes, please write to the Linux I2C mailing list
       <linux-i2c@vger.kernel.org> with Cc to the current maintainer: Jean Del-
       vare <jdelvare@suse.de>.

SEE ALSO
       i2cdump(8), i2cget(8), i2cset(8), i2ctransfer(8), sensors-detect(8)

AUTHOR
       Frodo Looijaard, Mark D. Studebaker and Jean Delvare

       This  manual  page was originally written by Aurelien Jarno <aurel32@de-
       bian.org>, for the Debian GNU/Linux system.

                                    May 2022                       I2CDETECT(8)

Generated by dwww version 1.16 on Sat Oct 3 07:40:44 CEST 2026.