Was passiert, wenn ich versuche, einen Gerätetreiber von der Shell aus zu verwenden und dieser bereits vom Kernel verwendet wird?

Was passiert, wenn ich versuche, einen Gerätetreiber von der Shell aus zu verwenden und dieser bereits vom Kernel verwendet wird?

Das ist die Situation. Ich bin neu bei Embedded Linux und versuche, einige Befehle für den LED-Treiber LP5521 zu testen. Die Karte, die ich habe, hat eine RGB-LED mit diesem Controller-IC und sie wird mit dem „Heartbeat“-Muster direkt im Gerätebaum initialisiert. Daher beginnt die LED zu blinken, sobald die Karte bootet.

Ich wurde gebeten, zu versuchen, das Blinkmuster des Controllers über die Befehlszeile zu ändern und allgemein mit dem LP5521 zu spielen, um mich damit vertraut zu machen.

Ich fand in der LP5521-Treiberdokumentationhttps://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/leds/leds-lp55xx.txtdieses Beispiel:

For example, run blinking pattern in engine #1 of LP5521
echo 1 > /sys/bus/i2c/devices/xxxx/select_engine
echo 1 > /sys/class/firmware/lp5521/loading
echo "4000600040FF6000" > /sys/class/firmware/lp5521/data
echo 0 > /sys/class/firmware/lp5521/loading
echo 1 > /sys/bus/i2c/devices/xxxx/run_engine

Das Problem ist, dass ich beim Versuch der ersten Zeile den folgenden Fehler erhalte:

Das direkte Laden der Firmware für lp5521 ist mit Fehler -2 fehlgeschlagen

Ich habe absolut keine Ahnung, warum das passiert. Ich glaube, ich kann nichts von der Shell senden, da der Kernel den Treiber bereits für das Heartbeat-Muster verwendet, aber da bin ich mir nicht sicher.

Danke!!

verwandte Informationen