[PLUG] I2C: kernel & userspace drivers : using i2c-stub
sgr.m.pdy at gmail.com
Mon Apr 22 04:41:17 PDT 2013
[USING : Ubuntu 12.04 LTS]
I am trying to learn I2C subsystem. I havent found much of well documented
things that can help a newbie on google. I just chose to read the linux
kernel documentation txts.
I read the way kernel can interact with i2c through both SMBus calls & raw
file op calls (ioctl, read, write). It looks good till that point.
The doc also tells about i2c stub. which can be used as follows:
1. load the i2c module
2. use i2cset (from the i2c-tools project) to pre-load some data
3. load the target chip driver module
4. observe its behavior in the kernel log
I was able to achieve just the 1st step here. I loaded the module
$ sudo modprobe i2c-stub chip_addr=0x023
I got following Kern msg
[658.071706] i2c-stub: Virtual chip at 0x23
So I believe that step 1 is clear.
in second step I have no idea how to provide needed inputs to command
Usage : i2cset [-f] [-y] [-m mask] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE]
I tried to give I2CBUS = 0, Chip addr = 0x23 & data addr=0 but it gives
Error : Could not open file '/dev/i2c-0' or '/dev/i2c/0' : No such file or
There is no file at all created in /dev corrosponding to this device.
Any idea how to use i2c properly? Is this an ubuntu only problem? Can
anybody provide a good tutorial like thing to learn about i2c kernel &
userspace driver programming?
Thanks and Regards,
More information about the plug-mail