每次我登录到我的用户帐户“bob”时,我都必须使用这些命令(使用 sudo 或在 root 帐户中)来连接到 WiFi:
wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0
wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
给了我这个结果:
Successfully initialized wpa_supplicant
Could not set interface wlan0 flags (UP): Operation not permitted
WEXT: Could not set interface 'wlan0' UP
wlan0: Failed to initialized driver interface
我dhclient wlan0
得到:
RTNETLINK answers: Operation is unreachable
我在 Raspberry PI 4 上执行此操作,Debian 10 代号为:buster。
我有系统。
如何设置我的环境,以便每次启动或使用“bob”甚至 root 登录时,我的系统都会连接到 WiFi?
我正在考虑使用我刚刚显示的命令并将它们放入 .profile 中,但我无法使用“bob”帐户运行它们。
答案1
您的 wifi 凭证将转到/etc/wpa_supplicant/wpa_supplicant.conf
。
该文件应该看起来像
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
country=US
update_config=1
network={
ssid="<wifi name>"
psk="<wifi password>"
}
现在,Pi 将在每次启动时自动连接(或在连接到 WiFi 时)。要在应用更改后重新加载 wifi,请使用sudo systemctl restart dhcpdc
。network=
如果您经常连接多个 wifi,则可以添加更多块。
wpa_supplicant.conf
您还可以取出 SD 卡,并将包含上述内容的文件放入/boot
SD 的 - 部分,以将其加载到全新安装的 Raspberry Pi 操作系统上。
答案2
一个 cron 作业来为您运行所需的命令。
创建一个脚本autocnnect.sh
:
cat <<EOF > autoconnect.sh
/usr/sbin/wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
sleep 0.5
/usr/sbin/dhclient wlan0 >/dev/null 2>&1
EOF
使其可执行
chmod +x autoconnect.sh
以 root 身份运行,crontab -e
然后添加以下行:
@reboot /path/to/autoconnect.sh