現在、2.6.39 Linux カーネルで systemd を使用して Tixi ボードの起動時間を確認しようとしています。そのために、gpio を設定して使用する bash スクリプトを呼び出すサービス ファイルを作成しました。問題は、システムで gpio の値を変更できないことです。正常にエクスポートして方向を変更できますが、値は変更できません。一部のフォーラムで提案されているように、ハードウェアで値が変更されたがファイルで更新されていないかどうかを確認するためにオシロスコープを接続しましたが、同じでした: 値は変更されません! また、カーネル、ビジーボックス、およびファイルシステムの構成がまったく同じであるシステム V を使用する場合、同じスクリプトが機能することも指摘しておく必要があります。
皮肉なことに、私はすでにシステムのルートになっているにもかかわらず、ファイルのアクセス許可を変更しても、その値を変更することはできません。カーネルからの操作不可というフィードバックもなく、むしろできたように見えますが、値を確認すると、以前と同じでした。
また、3.12(systemdに変更)を使用してRaspbianで実行しようとしましたが、実際には、ユーザースペースから通常の方法で実行できました。
私はすでにアイデアを使い果たしているので、何が問題なのか考えていただければ幸いです。
ありがとう
PS: これは、bash ラインで動作するはずのコードです。
echo 0 > /sys/class/gpio/gpio104/value
more /sys/class/gpio/gpio104/value
// I get 1 not 0 as I requested
それにもかかわらず、同じボードの同じコード行は、systemV を使用すると機能しますが、systemd を使用すると機能しません