2013-08-22 5 views
5

Robert Nelsonの最新のカーネルでDebian wheezyファイルシステムを使用しています。 デバイスツリーのオーバーレイを使用して、ハートビートを無効にしたいとします。デバイスツリーのオーバーレイでビーグルボーンブラックに導かれたヒアビートを変更する

これは簡単な方法があることを理解していますが、ハートビートを無効にするためにオーバーレイを使用した回答のみに興味があります。私はこれを達成することができます

一つの方法は、GPIO-LEDは、am335x-boneblack.dtsでLED0の葉 から変更することです:=「ハートビート」 のlinux、デフォルト・トリガーを。 〜 linux、default-trigger = "none";

次に、デバイスツリーをコンパイルしてリブートします。

しかし、次のオーバーレイを使用して同じものを実装しようとすると、echo> $ SLOTSでオーバーレイを正常に適用すると、ハートビートのLEDが点滅し続けます。
何が間違っていますか?

/dts-v1/; 
/plugin/; 
/
{ 
    compatible = "ti,beaglebone", "ti,beaglebone-black"; 
part-number = "pru"; 
version = "00A0"; 
[email protected] 
{ 
    target = <&ocp>; 
    __overlay__ 
    { 
     gpio-leds 
     { 
      compatible = "gpio-leds"; 
      pinctrl-names = "default"; 
      pinctrl-0 = <0x3>; 
      led0 
      { 
       label = "beaglebone:green:usr0"; 
       gpios = <0x5 0x15 0x0>; 
       linux,default-trigger = "none"; 
       default-state = "off"; 
      }; 
     }; 
    }; 
}; 
}; 

答えて

0

(理由を知っている)率いる、このいずれかのデバイスツリー設定を上書きにsystemdサービス、leds.serviceは、あります。

あなたはサービススクリプトは/に配置されていることを見ることができ、「ロードされた」フィールドを見ることによって、出力

leds.service - Angstrom LED config 
      Loaded: loaded (/lib/systemd/system/leds.service; enabled) 
      Active: active (exited) since Sat 2000-01-01 18:33:24 UTC; 13 years 7 months ago 
      Process: 125 ExecStart=/usr/bin/led-config start (code=exited, status=0/SUCCESS) 
      CGroup: name=systemd:/system/leds.service 

を与える

[email protected]:~# systemctl status leds.service 

を実行して、サービスの状態を表示するにはlib/systemd/system/leds.serviceとなり、 "Process"フィールドに "/ usr/bin/led-config start"コマンドが実行されます。だから、

#file format: name trigger 
beaglebone::usr0 heartbeat 

:このファイル "は/ usr/binに/ LED-CONFIG" あなたはそれがファイルからデフォルトをロードするシェルスクリプトだということがわかります "は、/ etc/default/LED" を見てみる

、あなただけでは、デバイスツリーのファイルを残し、ここにデフォルト値を設定、またはオーバーレイでハートビートを無効にするには

systemctl disable leds.service 
+0

ありがとうございました。しかし、leds.serviceデーモンはdebianで動作していません。次に、デバイスツリーを再コンパイルして再起動したときにLEDが無効になる理由を理解しようとしていますが、デバイスツリーのオーバーレイで同じコードを使用すると機能しません。 – Ray

0

でこのサービスを無効にすることができ、私の意見では非常に非効率的です!代わりに、代わりにbashコマンドを入力してみてください: "echo none> /sys/devices/ocp.3/gpio-leds.8/beaglebone::green\:usr0/trigger"そしてそれを 'echo'ハートビートに戻す"> trigger"(ファイルのパスを最初に確認する) - Debian Wheezyでテスト済み0125