หลุดจากเครือข่าย (“ ไม่สามารถเข้าถึงโฮสต์ปลายทางได้”)


15

ฉันใช้ Pi ของฉันอย่างไม่มีจุดหมายเชื่อมต่อผ่าน SSH ผ่านเครือข่าย ฉันมีปัญหาที่ฉันสามารถทำซ้ำได้อย่างสม่ำเสมอ ฉันจะปล่อยให้สคริปต์ Python ทำงานบน Pi ของฉันและกลับมาอีกไม่กี่ชั่วโมงต่อมาและการเชื่อมต่อ SSH กับ Pi จะหมดเวลา

ถ้าฉัน 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
บนราสเบอร์รี่ฉันมีเพียง cronjob ที่ใช้สคริปต์ไพ ธ อนและมันก็จะตายหลังจากนั้นไม่กี่ชั่วโมงจนถึง 2 วัน ฉันไม่สามารถใช้ SSH ได้อีกต่อไปการรีสตาร์ทโดยการตัดไฟเท่านั้นจะช่วย
k0pernikus

@ k0pernikus น่าสนใจ! ตอนนี้ฉันกำลังพยายามเรียกใช้พร้อมกับ scren ที่แนบมาจนถึงตอนนี้ (4 ชั่วโมงและนับ) และมันก็ไม่ได้ล้มเหลว คุณกำลังใช้หน้าจอทั้งหมดหรือไม่
Andy Smith

ใน / etc / network / interfaces ของคุณมีอะไรบ้าง มีอะไรน่ากลัวdmesgบ้าง RPI เชื่อมต่อกับเครือข่ายอย่างไร ผ่านเราเตอร์หรือไม่? บันทึกของเราเตอร์คืออะไร หากคุณต่อสายอีเธอร์เน็ตเข้ากับ RPI อีกครั้งมันจะนำมันกลับไปยังเครือข่ายหรือไม่?
abolotnov

@abolotnov ฉันพบสิ่งนี้จริง ๆ ถ้าฉันเรียกใช้ RPI พร้อมกับมอนิเตอร์ที่แนบมา - ดูเหมือนว่าจะใช้เวลานานกว่า แต่เมื่อฉันกลับมาหลังจาก 6 ชั่วโมงหรือมากกว่านั้นมันจะไม่ตอบสนอง dmesg ดูเหมือนชัดเจน
Andy Smith

คำตอบ:


9

อุปกรณ์ไร้สายเข้าสู่โหมดสลีปหลังจากไม่มีกิจกรรม มันเป็นรูปแบบการเสริมพลัง

คุณต้องปิดคุณสมบัติ powersave ของ wlan0

ฉันใช้ตัวรับสัญญาณไร้สาย edimax usb:

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

มันใช้โมดูล 8192cu ในเคอร์เนล

หากต้องการปิด powersave ให้เพิ่มสิ่งต่อไปนี้ลงใน / etc / modules หรือสร้างไฟล์ (8192cu.conf) ใน /etc/modprobe.d/ ด้วยบรรทัด:

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

รีบูตครั้งถัดไป (หรือ rmmod / insmod) มันควรปิดการใช้งานโหมด sleepy และ pi ของคุณจะสามารถเข้าถึงได้ตลอดเวลา

ฉันสร้างไฟล์สำหรับ /etc/modprobe.d และเป็นส่วนหนึ่งของสคริปต์ที่ฉันสร้างขึ้นเพื่อทำการตั้งค่าเบื้องต้นในบิลด์ใหม่


1
นี่เป็นเครือข่ายแบบใช้สาย
Andy Smith

น่าเสียดายที่ฉันมีปัญหาเดียวกันกับคุณสมบัติเหล่านี้ปิด อแด็ปเตอร์ไร้สายยังคงปิดใช้งานหลังจากไม่ทำงานเป็นเวลาหลายชั่วโมง
StasM

ฉันอยากรู้ว่าพวกเขาปิดจริงหรือไม่ ไฟล์ modprobe.d มีชื่อมากโดยเฉพาะ (x.conf) และจำนวนตัวสะกด (เช่นเคย) อะแดปเตอร์ไร้สายของคุณเป็นหน่วย 8192cu หรือไม่ บางทีคุณอาจต้องการโมดูลที่แตกต่าง?
lornix

@lornix: คุณใช้คำสั่งอะไรในการพิมพ์ประเภทของตัวรับสัญญาณไร้สายที่คุณใช้?
David Norman

lsusbและlsusb -vมีประโยชน์มาก การหาว่าโมดูลใดไม่ง่ายเสมอไปมีวิธีจับคู่เอาต์พุตmodinfo 8192cuกับผู้ขาย: หมายเลขผลิตภัณฑ์ในlsusbเอาต์พุต
lornix

2

เป็นเรื่องปกติที่เราเตอร์จะตัดการเชื่อมต่อไคลเอนต์ที่ไม่ได้ใช้งานเพื่อเพิ่มทรัพยากรของเราเตอร์ สิ่งนี้สามารถเกิดขึ้นได้ในเวลาสุ่มหากลูกค้ายังไม่ได้ใช้งาน


1

ปัญหาสำหรับฉันคือการจัดการพลังงานบน wifi เช่นกัน แต่ฉันไม่ได้ใช้ชิปเซ็ต 8192cu ดังนั้นคำแนะนำในคำตอบอื่น ๆ ก็ไม่ได้ผลสำหรับฉัน

เรียกใช้iwconfigและค้นหาบรรทัดที่ขึ้นต้นด้วยpower management

หากมีข้อความระบุว่าการจัดการพลังงานเปิดอยู่คุณสามารถปิดได้ด้วย:

iwconfig wlan0 power off


0

ฉันค้นพบว่าการใช้งานอย่างกว้างขวางpingจะทำให้การเชื่อมต่อ wifi อีกครั้งในกรณีของฉัน ผมสังเกตว่าหลังจากที่ ping 70-100th Piเริ่มต้นการตอบสนองและหลังจากที่ssh-connection สามารถเริ่มต้นที่ประสบความสำเร็จ

แก้ไขปิดการประหยัดพลังงาน

iw wlan0 set power_save off

คลิกที่นี่สำหรับรายละเอียด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.