Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Clone of i2c-tools svn repository
Perl C Makefile C++ Groff Python
Branch: master

py-smbus: Linkage fix

Contributed by Michael Göhler. My original attempt to fix it just
shows how little I know about python.

git-svn-id: 7894878c-1315-0410-8ee3-d5d059ff63e0
latest commit ae84260dcc
Jean Delvare authored



This package contains an heterogeneous set of I2C tools for the Linux kernel
as well as an I2C library. The tools were originally part of the lm-sensors
project but were finally split into their own package for convenience. The
library is used by some of the tools, but can also be used by third-party
applications. The tools and library compile, run and have been tested on

The latest version of the code can be downloaded from:


The various tools included in this package are grouped by category, each
category has its own sub-directory:

* eeprom
  Perl scripts for decoding different types of EEPROMs (SPD, EDID...) These
  scripts rely on the "eeprom" kernel driver. They are installed by default.

* eepromer
  Tools for writing to EEPROMs. These tools rely on the "i2c-dev" kernel
  driver. They are not installed by default.

* include
  C/C++ header files for I2C and SMBus access over i2c-dev. Installed by

* lib
  The I2C library, used by eepromer, py-smbus and tools. Installed by

* py-smbus
  Python wrapper for SMBus access over i2c-dev. Not installed by default.

* stub
  A helper script to use with the i2c-stub kernel driver. Installed by

* tools
  I2C device detection and register dump tools. These tools rely on the
  "i2c-dev" kernel driver. They are installed by default.


Check the documentation of individual tools for licensing information.
The library is released under the LGPL version 2.1 or later, while most
tools are released under the GPL version 2 or later, but there are a few


There's no configure script, so simply run "make" to build the library and
tools, and "make install" to install them. You also can use "make uninstall"
to remove all the files you installed. By default, files are installed in
/usr/local but you can change the location by editing the Makefile file and
setting prefix to wherever you want. You may change the C compiler and the
compilation flags as well, and also decide whether to build the static
library or not.

Optionally, you can run "make strip" prior to "make install" if you want
smaller binaries. However, be aware that this will prevent any further
attempt to debug the library and tools.

If you wish to include sub-directories that are not enabled by default, then
just set them via the EXTRA make variable. For example, to build py-smbus,
  $ make EXTRA="py-smbus"


The main tools have manual pages, which are installed by "make install".
See these manual pages for command line interface details and tool specific

The other tools come with simple text documentation, which isn't installed.


Please post your questions and bug reports to the linux-i2c mailing list:
with Cc to the current maintainer:
  Jean Delvare <>
For additional information about this list, see:
Something went wrong with that request. Please try again.