Armadilloフォーラム

[Armadillo-610] GPIOの制御ができない

shun

2025年7月29日 16時53分

==========
製品型番:Armadillo-610
Debian/ABOSバージョン:3.19.2-at.5
カーネルバージョン:5.10.220
==========
お世話になっております。

製品マニュアルの[3.6.6 GPIOを制御する]に従いGPIO(12番PIN: GPIO4_IO17)を制御しようと考えているのですが、
gpiogetコマンドが実行できずにつまづいています。

armadillo:~# podman exec -it gpio sh
/ # apk upgrade
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/main/armv7/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.22/community/armv7/APKINDEX.tar.gz
OK: 5 MiB in 16 packages
/ # apk add libgpiod
(1/1) Installing libgpiod (2.2.1-r0)
Executing busybox-1.37.0-r18.trigger
OK: 5 MiB in 17 packages
/ # gpioget gpiochip3 113
gpioget: cannot find line 'gpiochip3'
gpioget: cannot find line '113'
/ # ls /dev/gpiochip3
/dev/gpiochip3
/ # gpiodetect
gpiochip3 [20a8000.gpio] (32 lines)
/ # gpioinfo gpiochip3
gpioinfo: cannot find line 'gpiochip3'
/ # gpioinfo
gpiochip3 - 32 lines:
        line   0:       unnamed                 input
        line   1:       unnamed                 input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 input
        line   5:       unnamed                 input
        line   6:       unnamed                 input
        line   7:       unnamed                 input
        line   8:       unnamed                 input
        line   9:       unnamed                 input
        line  10:       unnamed                 output consumer=regulator-onboardsd2vmmc
        line  11:       unnamed                 output active-low consumer=reset
        line  12:       unnamed                 input
        line  13:       unnamed                 input
        line  14:       unnamed                 input
        line  15:       unnamed                 input
        line  16:       unnamed                 input
        line  17:       unnamed                 input
        line  18:       unnamed                 input
        line  19:       unnamed                 input
        line  20:       unnamed                 input
        line  21:       unnamed                 input
        line  22:       unnamed                 input
        line  23:       unnamed                 input
        line  24:       unnamed                 input
        line  25:       unnamed                 input
        line  26:       unnamed                 input
        line  27:       unnamed                 input
        line  28:       unnamed                 input
        line  29:       unnamed                 input
        line  30:       unnamed                 input
        line  31:       unnamed                 input
/ #

原因についてお教え願えると幸いです。

コメント

at_shota.shimoyama

2025年7月29日 17時15分

アットマークテクノの下山です。

分かりにくくて申し訳ないのですが、マニュアルの「デバイスファイル」の右側に記載されているGPIO番号は/sys/class/gpio/のインターフェースを使用する場合に参照する番号です。
現在では/sys/class/gpio/のインターフェースの使用は推奨しておらず、gpiogetgpiosetコマンドの使用を推奨しております。
互換性のためにデバイスファイルの右側にGPIO番号の記載を残しているだけですので、この記載は無視してください。

gpiogetgpiosetコマンドを使用する場合は、「GPIO4_IO17」のIOの右にある数値「17」をそのまま指定してください↓

gpioget gpiochip3 17

よろしくお願いします

at_shota.shimoyama

2025年7月29日 17時27分

すみません、訂正します

shun 様が実行されているコンテナイメージのalpineのバージョンが3.22で、
それにともなってlibgpiodのバージョンが2ですので、gpioget gpiochip3 17だけだと不十分でした。
libgpiodはバージョン2から仕様が変わっておりまして、(詳細は次のリンク先を参照してください)
https://armadillo.atmark-techno.com/howto/libgpiod2-update
以下のようにオプションを付ける必要があります

armadillo:~# gpioget --numeric -c gpiochip3 17

こちらのコマンドで問題ないかご確認いただけますでしょうか?
よろしくお願いします