从服务启动时 libgcrypt 出现问题

从服务启动时 libgcrypt 出现问题

我目前正在开发一个嵌入式 Linux 发行版,以便建立并运行网络。我需要它在可用时在 ppp 连接和 wifi 之间切换。我使用 wpa_cli -a(主动模式)执行此操作,如下所示:

#!/bin/sh

IFNAME=$1
CMD=$2

if [ "$CMD" = "CONNECTED" ]; then
    SSID=`wpa_cli -i$IFNAME status | grep ^ssid= | cut -f2- -d=`
    /usr/bin/poff
fi

if [ "$CMD" = "DISCONNECTED" ]; then
    /usr/bin/pon
fi

Pon 和 poff 用于启动和停止 ppp 拨号和路由设置。

我编写了一个简单的 shell 脚本来启动这个程序,以及用于 wlan0 接口的 wpa_supplicant:

#! bin/sh
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
wpa_cli -a/etc/network/networktest.sh -B
/usr/bin/pon

我需要在操作系统启动时启动它,所以我编写了一个服务:

[Unit]
Description=Network setup service

[Service]
ExecStart=/etc/network-setup
Type=oneshot

[Install]
WantedBy=multi-user.target

现在我不想在 wlan0 接口启动并加载之前运行它,因此我创建了一个 udev 规则,在 wlan0 启动时启动该服务:

ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan[0]", TAG+="systemd", ENV{SYSTEMD_WANTS}="network-setup.service"

问题是这样的:当服务从启动时启动并且操作系统已经启动时,我遇到了这个问题:

user.warn wpa_supplicant: Libgcrypt warning: missing initialization - please fix the application

该问题仅在从服务启动时出现,但当我手动运行脚本时,它运行正常。那么为什么会出现问题?

答案1

修复了该问题

添加:

退出后继续保留=是

在网络设置服务中

相关内容