我是 raspberry pi 的新手,对 linux 也不是很熟悉。我遇到了 WIFI 断线的问题,搜索后我找到了这篇文章:https://learn.adafruit.com/adafruits-raspberry-pi-lesson-3-network-setup/test-and-configure#fixing-wifi-dropout-issues,它指出我必须创建一个名为 8192cu.conf 的文件。从阅读以下内容:http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=44044,我了解到 8192 是 realtek 设备,这表明第一篇文章中的建议将适用于此 realtek 设备。我在网上以套件的形式购买了我的 pi,我不认为 wifi 适配器加密狗是 realtek 的。输入后,我得到lsmod
了以下信息:
pi@raspberrypi ~ $ lsmod
Module Size Used by
fuse 78200 3
snd_bcm2835 19584 0
arc4 1684 2
snd_soc_bcm2708_i2s 6202 0
regmap_mmio 2818 1 snd_soc_bcm2708_i2s
snd_soc_core 127841 1 snd_soc_bcm2708_i2s
snd_compress 8259 1 snd_soc_core
regmap_i2c 1661 1 snd_soc_core
snd_pcm_dmaengine 5505 1 snd_soc_core
regmap_spi 1913 1 snd_soc_core
joydev 9257 0
snd_pcm 83845 3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc 5132 1 snd_pcm
evdev 10661 4
snd_seq 55484 0
snd_seq_device 6469 1 snd_seq
snd_timer 20998 2 snd_pcm,snd_seq
leds_gpio 2079 0
rt2800usb 17425 0
rt2800lib 80336 1 rt2800usb
rt2x00usb 11661 1 rt2800usb
rt2x00lib 44907 3 rt2x00usb,rt2800lib,rt2800usb
led_class 4118 2 leds_gpio,rt2x00lib
snd 62252 7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
mac80211 329911 3 rt2x00lib,rt2x00usb,rt2800lib
cfg80211 212241 2 mac80211,rt2x00lib
sg 19877 0
crc_ccitt 1541 1 rt2800lib
rfkill 19784 2 cfg80211
我猜 cfg80211、mac80211 和 rfkill 与 wifi 有关。但我不知道我应该创建什么文件来避免 wifi 掉线?或者我该如何解决掉线问题。
答案1
好吧,我找不到问题或解决方案,但在一些论坛上找到了解决方法。以下是代码,经过修改以注销事件并作为简单的 cron 作业运行。(一旦我再次找到该帖子,将归功于原始代码作者。)
#!/bin/sh
echo "---------- START ----------" >> /home/pi/wifiScriptRunLog.txt
date >> /home/pi/wifiScriptRunLog.txt
if ifconfig wlan0 | grep -q "inet addr:" ; then
echo "Network connection up." >> /home/pi/wifiScriptRunLog.txt
else
echo "Network connection down! Attempting reconnection." >> /home/pi/wifiScriptRunLog.txt
sudo ifdown --force wlan0
sudo ifup --force wlan0
fi
echo "------------ END -----------" >> /home/pi/wifiScriptRunLog.txt
将其保存为文件(无扩展名),放在 /etc/cron.hourly 文件夹中并使其可执行。