【发布时间】:2014-02-03 21:18:58
【问题描述】:
我正在运行一个小型 debian(7.1 版)机器,它使用不同的 wifi 网络,并作为我通过相机发送给它的图像的中继。现在有时它会失去与网络的连接,如果发生这种情况,我想重新启动它的网络功能,以确保它能够正确连接。
在我早期的 Linux 时代,我学会了 /etc/init.d/networking restart。但显然这不适用于 WPASuplicant。所以现在我正在尝试使用“wpa_action wlan0 restart;”,但这仍然不起作用。它似乎可以从命令行工作,但是在 python 中像os.system("wpa_action wlan0 restart;") 一样使用它后,盒子不会回到 WIFI 网络。
所以我的问题是: 重新启动所有网络活动的正确方法是什么?如何从我的 python 脚本中执行此操作?
它应该可以完成我重新启动机器时发生的所有事情,而无需触及与网络无关的所有内容。
我的 WPA 请求者配置:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=0
network={
id_str="home"
ssid="xxx"
scan_ssid=1
psk="xxx"
priority=5
}
network={
ssid="sender"
scan_ssid=1
psk="xxx"
priority=9
}
我的网络接口:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface home inet dhcp
iface default inet dhcp
【问题讨论】:
-
哪个版本的 Debian?我对 Ubuntu 的体验是,做这些事情的正确方法已经发生了变化,而且几乎每年都不同。
-
这是Debian 7.1!编辑:其实它是 raspbian,但应该不会有太大的不同。
-
是否安装了
network-manager-gnome或network-manager-kde?它们是 wpa 请求者的前端,有时会引起头痛。如果您手动配置 wpa supplicant,最好终止这些进程,因为它们可能会导致奇怪的事情发生。 -
两者都没有安装。我只是在这个上使用命令行。
标签: python networking debian