DBUS_INTERFACE="de.pengutronix.rauc.Installer"
DBUS_MEMBER="PropertiesChanged"
keepWatchdogAlive()
{
echo "1" > $WATCHDOG_DEVICE
echo "Keep Watchdog alive"
}
monitor_dbus() {
stdbuf -oL dbus-monitor --system "interface='$DBUS_INTERFACE',member='$DBUS_MEMBER'" |
while true; do
while read -r line; do
message="$message$line"
if echo "$message" | grep -q "Progress" && echo "$message" | grep -q "de.pengutronix.rauc.Installer"; then
keepWatchdogAlive
fi
message=""
done
done
}
echo "Starting Watchdog ... "
watchdog -t 10 $WATCHDOG_DEVICE
echo "Starting D-Bus monitor. Waiting for $DBUS_MEMBER signals on $DBUS_INTERFACE ... "
monitor_dbus &
DBUS_MONITOR_PID=$!
echo "Starting Update Agent script ... "
if [ -d "$RAUC_BUNDLE_DIR" ]; then
if [ -n "$(ls -A "$RAUC_BUNDLE_DIR")" ]; then
for bundle in "$RAUC_BUNDLE_DIR"/*
do
rauc install "$bundle"
done
else
echo "No rauc bundles found in $RAUC_BUNDLE_DIR"
fi
else
echo "Directory $RAUC_BUNDLE_DIR does not exist."
fi
当我在命令行上打电话给dbus-monitor时,它一直都在说:
sig 1731876918.081532 2 org.freedesktop.DBus :1.1 /org/freedesktop/DBus org.freedesktop.DBus NameAcquired
sig 1731876918.081599 4 org.freedesktop.DBus :1.1 /org/freedesktop/DBus org.freedesktop.DBus NameLost
相关的RAUC文档没有任何示例
https://rauc.readthedocs.io/en/latest/ususe.html#processing-progress-data
https://rauc.readthedocs.io/en/latest/reference.html#the-progress-property
我找到了这个错误。我的一个变量实际上应该是:
DBUS_INTERFACE="org.freedesktop.DBus.Properties"