CentOSからIIC(I2C)デバイスへのドライバー経由のアクセス?

はじめに

Raspberry Pi 3のCentOS7から、IIC(I2C)デバイスへのドライバ経由のアクセス方法を改めてまとめました。

ドライバー経由のアクセスの準備

ドライバーのロード

インストールデフォルトでは、ドライバーがイネーブルにならないようで /boot/config.txt にドライバを読み込む設定が必要です。
以下の2行を追加します。

dtparam=i2c_arm=on
dtparam=i2c1=on

これにより、起動時にドライバーを読み込んでくれるようになります。

# lsmod
(中略)
i2c_dev                 6913  0
i2c_bcm2708             5994  0
(以下省略)
# ll /sys/class/i2c-dev
合計 0
lrwxrwxrwx 1 root root 0  8月 12 09:28 i2c-1 -> ../../devices/platform/soc/3f804000.i2c/i2c-1/i2c-dev/i2c-1
#

i2c-tools

i2cドライバー経由でアクセスするツール(i2c-tools)をインストールします。
このパッケージには以下が含まれます。

ファイル概要
/usr/bin/decode-dimmsメモリモジュールのSPDEEPROMの内容をデコード、表示するツール
/usr/bin/decode-vaioVAIO用のEEPROM情報の読み出し&デコードするツール
/usr/sbin/i2c-stub-from-dumpIICデバイスの応答をエミュレートさせるツール
/usr/sbin/i2cdetectIICバス上のIICデバイスを検出するツール
/usr/sbin/i2cdumpIICバス上の特定のアドレスに0x00から0xffまで、Read命令を連続的に送出するツール
/usr/sbin/i2cgetIICデバイスのレジスタから読み込みをするツール
/usr/sbin/i2csetIICデバイスのレジスタへの書き込みをするツール
  • インストール
# yum install i2c-tools
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.yz.yamagata-u.ac.jp
 * centos-kernel: ftp.yz.yamagata-u.ac.jp
 * extras: ftp.yz.yamagata-u.ac.jp
 * updates: ftp.yz.yamagata-u.ac.jp
base                                                                                                          | 3.6 kB  00:00:00
centos-kernel                                                                                                 | 2.9 kB  00:00:00
extras                                                                                                        | 2.9 kB  00:00:00
updates                                                                                                       | 2.9 kB  00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ i2c-tools.armv7hl 0:3.1.0-13.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
=====================================================================================================================================
 Package                         アーキテクチャー              バージョン                           リポジトリー                容量
=====================================================================================================================================
インストール中:
 i2c-tools                       armv7hl                       3.1.0-13.el7                         base                        69 k
トランザクションの要約
=====================================================================================================================================
インストール  1 パッケージ
総ダウンロード容量: 69 k
インストール容量: 182 k
Is this ok [y/d/N]: y
Downloading packages:
i2c-tools-3.1.0-13.el7.armv7hl.rpm                                                                            |  69 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
** Found 7 pre-existing rpmdb problem(s), 'yum check' output follows:
gettext-common-devel-0.19.8.1-2.el7.noarch は gettext-common-devel-0.18.2.1-4.el7.noarch の複製です
hunspell-en-0.20121024-6.el7.noarch は hunspell-en-0.20121024-5.el7.noarch の複製です
hunspell-en-GB-0.20121024-6.el7.noarch は hunspell-en-GB-0.20121024-5.el7.noarch の複製です
hunspell-en-US-0.20121024-6.el7.noarch は hunspell-en-US-0.20121024-5.el7.noarch の複製です
ncurses-base-5.9-14.20130511.el7.noarch は ncurses-base-5.9-13.20130511.el7.noarch の複製です
raspberrypi2-firmware-4.9.50-v7.1.el7.armv7hl は raspberrypi2-firmware-4.9.13-v7.1.el7.armv7hl の複製です
raspberrypi2-kernel-firmware-4.9.50-v7.1.el7.armv7hl は raspberrypi2-kernel-firmware-4.9.13-v7.1.el7.armv7hl の複製です
  インストール中          : i2c-tools-3.1.0-13.el7.armv7hl                                                                       1/1
  検証中                  : i2c-tools-3.1.0-13.el7.armv7hl                                                                       1/1
インストール:
  i2c-tools.armv7hl 0:3.1.0-13.el7
完了しました!
#
  • 試しにコマンドを実行
# i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
#

お疲れ様でした。


トップ   編集 編集(GUI) 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-12 (月) 10:46:50 (1691d)