脱离网络(“目标主机不可达”)


15

我无头运行Pi,通过SSH通过网络连接。我有一个可以持续复制的问题。我将在我的Pi上运行Python脚本,然后在数小时后返回,并且与Pi的SSH连接将超时。

如果我ping它,我得到以下信息:

C:\Users\andrew>ping 192.168.1.42

Pinging 192.168.1.42 with 32 bytes of data:
Reply from 192.168.1.46: Destination host unreachable.

我可以在网络上重新获得它的唯一方法是重新启动它(拔出电源)。

有人经历过吗?我可以查看任何日志文件来诊断问题吗?


1
在树莓上,我只有一个运行python脚本的cronjob,它也将在长达2天的几个小时后死亡。我不能再对其进行SSH了,只有通过切断电源来重启才有帮助。
k0pernikus

@ k0pernikus有趣!我现在尝试运行它并附加了scren,到目前为止(4个小时,并且还在继续计数),并且没有失败。您是否正在使用屏幕?
安迪·史密斯

您的/ etc / network / interfaces中有什么?有什么可怕的dmesg吗?RPI如何连接到网络?通过路由器?路由器的日志中有什么?如果您将以太网电缆重新插入RPI,它将重新带回网络吗?
abolotnov

@abolotnov我现在实际上是在连接显示器的情况下运行RPI的,这似乎会花费更长的时间,但是当我在6个小时左右的时间后回来时,它将无响应。dmesg似乎很清楚。
安迪·史密斯

Answers:


9

一段时间不活动后,无线设备将进入睡眠状态。这是一种节能方案。

您需要关闭wlan0的节能功能。

我正在使用edimax无线USB接收器:

Bus 001 Device 005: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

它在内核中使用8192cu模块。

要关闭省电功能,请将以下内容添加到/ etc / modules中,或在/etc/modprobe.d/中使用以下行创建文件(8192cu.conf):

# prevent power down of wireless when idle
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

下次重新启动(或rmmod / insmod)时,它应该禁用睡眠模式,并且您的pi将始终可用。

我为/etc/modprobe.d创建了文件,它是我为在新版本上进行初步设置而构建的脚本的一部分。


1
这是在有线网络上
Andy Smith,

不幸的是,我在关闭这些功能时遇到了同样的问题。几个小时不操作后,无线适配器仍然关闭。
StasM

我很好奇它们是否真的被关闭了。modprobe.d文件的命名尤其是(x.conf)和拼写计数(一如既往)。您的无线适配器是8192cu设备吗?也许您需要其他模块?
lornix

@lornix:您使用了什么命令来打印出您所使用的无线接收器的类型?
大卫·诺曼

lsusb并且lsusb -v非常有帮助。弄清楚哪个模块并不总是很容易,有一些方法可以将输出modinfo 8192cu与供应商进行匹配:输出中的产品编号lsusb
lornix

2

路由器断开不活动的客户端以释放路由器资源是很常见的。如果客户端未处于活动状态,则可能会在随机时间发生。


1

对我来说,问题还在于wifi上的电源管理,但是我没有使用8192cu芯片组,因此另一个答案中的说明对我不起作用。

运行iwconfig并查找以开头的行power management

如果显示电源管理已打开,则可以使用以下命令将其关闭:

iwconfig wlan0 power off


0

我发现,ping在我的案例中,广泛使用-ing确实可以再次建立wifi连接。我观察到在第70-100次ping 之后,Pi开始响应,然后ssh可以成功启动-connection。

编辑关闭节电

iw wlan0 set power_save off

单击此处了解详细信息

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.