当 eth0 未使用时,wlan0 会关闭

当 eth0 未使用时,wlan0 会关闭

我在 Pi 上加载了 Wheezy 版本。我的有线以太网配置了静态 IP,并且对 WLAN 做了同样的事情。使用有线网络时,wifi 可以正常使用。但是,当我断开有线电缆以便通过 wifi 使用 Pi 时,它停止工作。

我是否错误地设置了接口文件?由于电缆未连接,它会停止工作,这似乎真的很奇怪。我尝试在未将电缆插入 Pi 的情况下重新启动,以确认这不是在运行时拔下电缆时发生的某种故障,但只有先连接有线电缆后它才会工作。

这是我的 /etc/network/interfaces 文件的副本...

        auto lo

    iface lo inet loopback

    auto eth0
    iface eth0 inet static
            address 10.0.42.111
            network 10.0.42.0
            netmask 255.255.255.0
            broadcast 10.0.42.255
            gateway 10.0.42.1

    allow-hotplug wlan0
    auto wlan0
    iface wlan0 inet static
            address 10.0.42.112
            network 10.0.42.0
            netmask 255.255.255.0
            broadcast 10.0.42.255
            gateway 10.0.42.1

    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

答案1

我刚刚遇到了同样的问题,DHCP,但同样的 WLAN0 故障,直到 ETH0 启动。就我而言,@Jivings 是正确的。当您 ping 时,接收响应是通过 ETH0 进行的。

现在,这与我所理解的一切相悖,但就我的情况而言,插入了 RPI 以太网电缆:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:b0:0c:39  
          inet addr:192.168.99.75  Bcast:192.168.99.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1


wlan0     Link encap:Ethernet  HWaddr 80:1f:02:82:33:24  
          inet addr:192.168.99.78  Bcast:192.168.99.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

记下每张卡上的 HWaddr。

然后从另一个工作站,在本例中我使用 NMAP:

$ sudo nmap -sn 192.168.99.75  **<< - ETH0**

Starting Nmap 6.25 ( http://nmap.org ) at 2013-02-03 10:19 GMT
Nmap scan report for 192.168.99.75
Host is up (0.020s latency).
MAC Address: B8:27:EB:B0:0C:39 (Raspberry Pi Foundation)
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
Paul@lo-mbp-preg / $ sudo nmap -sn 192.168.99.78

$ sudo nmap -sn 192.168.99.78  **<< - ETH0**

Starting Nmap 6.25 ( http://nmap.org ) at 2013-02-03 10:19 GMT
Nmap scan report for 192.168.99.78
Host is up (0.0044s latency).
MAC Address: B8:27:EB:B0:0C:39 (Raspberry Pi Foundation)
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

您可以看到 ETH0 和 WLAN0 的 MAC 地址/HWAddr 相同,并且与 ifconfig 中的 ETH0 HWAddr 匹配。所以在我的情况下,无线无法正常工作。所有流量都通过 ETH0 传输

如果您没有 NMAP ping,则显示 ARP 表(IP <-> MAC 表)将显示相同的信息。从 CLI:

  • Windows =ARP-A
  • Linux =ARP

我实际上没有找到“原因”。在调试过程中,它开始可靠地工作。我讨厌这一点。但这个配置现在可以正常工作了:

/etc/网络/接口

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="<ssid>"
        psk=<key>
}
network={
        ssid="<ssid>"
        psk=<key>
}
network={
        ssid="<ssid>"
        psk=<key>
}
network={
        ssid="<ssid>"
        key_mgmt=WPA-EAP
        pairwise=TKIP
        group=TKIP
        eap=PEAP
        identity="user@domain"
        password="xxxxxxxxxx"
        ca_cert="/etc/cert/ca.pem"
        phase1="peapver=0"
        phase2="MSCHAPV2"
}

我希望这能帮助你取得一些进步。

答案2

您可以尝试查看在拔下电缆之前和之后“route -n”给您的结果。如果 eth0 发生故障,它会删除默认路由。因此,您需要创建与 wlan0 关联的新默认路由。将其添加到 /etc/network/interfaces 的 eth0 部分:

pre-up if [ `ip route show|grep default|wc -l` -eq 1 ];then route del default gw xx.xx.xx.xx dev wlan0;fi
post-down if [ `ip route show|grep wlan0|wc -l` -eq 1 ];then route add default gw xx.xx.xx.xx dev wlan0;fi

答案3

我在 Raspberry Pi 上使用 Debian Jessie 时遇到了完全相同的问题。原来我忘了安装该wpasupplicant软件包。使用以下命令检查已安装的软件包:

dpkg -l | grep wpa

这至少应该列出软件包wpasupplicant。如果没有,请安装它:

apt-get install wpasupplicant

然后,计算您的 SSID 的正确 WPA PSK 哈希值(相应地替换<myssid><passphrase>

wpa_passphrase <myssid> <passphrase>

这会输出几行。我们只需要 64 个字符的哈希值。打开interfaces文件:

vi /etc/network/interfaces

...并添加 SSID 和哈希值:

auto wlan0
iface wlan0 inet dhcp
    wpa-ssid myssid
    wpa-psk e71e118835ca1d72c61db51b9a0687df088f4952c27760cd2da05cfb2f3dad33

保存您的更改并限制对此文件的访问以防止预共享密钥 (PSK) 泄露:

chmod 600 /etc/network/interfaces

添加wpa-debug-level 3interfaces文件可能会很有用:这会将大量调试消息写入日志文件/var/log/syslog

更多说明可参见:https://wiki.debian.org/WiFi/HowToUse(“wpa_supplicant” 部分)。

答案4

我遇到了几乎相同的症状。发现我的路由器 (Tomato) 和 rpi 之间存在不良交互。关闭路由器上的 APSD 后问题消失。

相关内容