2013-08-22 5 views
5

Я использую файловую систему Debian с новейшим ядром Роберта Нельсона. Я хочу отключить heartbeat led, используя наложение дерева устройства.Change hearbeat led on beaglebone black с наложением дерева устройств

Я понимаю, что есть более простые способы сделать это, но меня интересуют только ответы, используя оверлеи, чтобы отключить ведомый сердечный ритм.

Один из способов я могу добиться этого путем изменения GPIO-светодиоды, led0 листьев в am335x-boneblack.dts от: Linux, по умолчанию-триггер = "биения"; - linux, default-trigger = "none";

затем скомпилировать дерево устройств и перезагрузить.

Однако, если я попытаюсь реализовать одно и то же, используя следующий оверлей, светодиод heartbeat продолжает мигать после того, как я успешно применил наложение с echo> $ SLOTS.
Что я делаю неправильно?

/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, что отменяет настройки дерева устройства для этого во главе (кто знает, почему).

Чтобы увидеть статус службы, запустите

[email protected]:~# systemctl status 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 

Глядя на «Loaded» поле вы можете увидеть, что сценарий обслуживания находится по адресу/lib/systemd/system/leds.service, а в поле «Процесс» говорится, что эта служба запускает команду «/ usr/bin/led-config start».

Глядя на этот файл «/ USR/BIN/LED-конфигурации» вы увидите, что это сценарий оболочки, который загружает по умолчанию из файла «/ и т.д./по умолчанию/светодиоды»:

#file format: name trigger 
beaglebone::usr0 heartbeat 

Так вы можете оставить файл дерева устройства самостоятельно и установить значения по умолчанию здесь, или отключить эту услугу с

systemctl disable leds.service 
+0

Спасибо за информацию. Однако демон dems.service не работает на debian. Во-вторых, я пытаюсь понять, почему отключить работу светодиодов, когда я перекомпилирую дерево устройств и перезагружаюсь, но не работает, когда я использую идентичный код в оверлее дерева устройств. – Ray

0

Чтобы отключить сердцебиение с наложением очень неэффективен на мой взгляд! Как насчет вместо этого попробуйте ввести команду bash: «echo none> /sys/devices/ocp.3/gpio-leds.8/beaglebone\:green\:usr0/trigger», а затем вернуть их на «эхо» сердцебиение "> триггер" (сначала проверьте путь к файлу) - протестирован на Debian Wheezy A5A