昨天,我在 BananaPro 上使用 bananian 设置了 wifi 连接,bananian 是一个基于 debian 7 的 Linux 发行版。连接是使用“wpa-passphrase”设置的,然后我将这些信息输入到 /etc/ 中,ssid 和 psk。网络/接口。昨天它工作得很好,但今天它停止工作了。家里的所有其他设备连接到该 wifi 时都没有问题,我尝试重复昨天的所有步骤,但仍然不起作用。
编辑:我已经尝试过使用 wpa_passphrase 创建配置文件并使用 wpa_supplicant 手动连接的方法,由 rexroni 建议,效果非常好。这是我的 /etc/network/interfaces 文件:http://pastebin.com/08GDC5Pj 当我使用此文件启动 BananaPro 时,ifconfig、iwconfig 和 dmesg 的输出:http://pastebin.com/CQxh74h5(一个链接,因为我无法粘贴更多)
编辑:我已经使用另一个 debian 安装设置了另一个 SD 卡,并且遇到了同样的问题。当我设置它时它一直在工作,但是当我重新启动计算机时它就不再连接了。当我回到家时,我可以在 ifup wlan0 和 ifdown wlan0 之后发送 dmesg,但我不太知道可能出了什么问题。我还能做些什么吗?除了使用以太网连接到互联网之外。
答案1
/etc/network/interfaces
首先,您可以根据我的文件仔细检查您的文件:
auto lo
iface lo inet loopback
auto wlan2
iface wlan2 inet dhcp
wpa-ssid <my essid>
wpa-psk <my passphrase>
auto eth0
iface eth0 inet static
address <my static ip>
network <my local network>
netmask <my netmask>
(我的 ESSID 和密码中没有空格,所以我不知道您是否需要对此类条目加引号)
我认为接口的顺序很重要。如果你想主要使用wifi,我想你首先需要它。阅读更多内容man interfaces
。
如果看起来不错,您可以进行一些深入的故障排除:
WiFi 网络需要三个基本要素:连接、IP 地址和适当的路由。
您可以通过运行一些命令行操作来排除故障,看看是否可以连接(独立于/etc/network/interfaces
)。
首先重置一切
sudo killall wpa_supplicant
sudo ip link set <interface> down
sudo dhclient -r <interface>
然后开始建立连接的过程:
# turn on the interface without auto-configuring:
sudo ip link set <interface> up
确保您可以看到有问题的网络:
# display wifi beacons being broadcast by nearby access points
sudo iwconfig <interface> scan
配置并运行 wpa_supplicant:
# create a config file for wpa, use quotes if there's a space:
wpa_passphrase "<your ESSID>" "<your passphrase>" > ~/wpa.conf
# run wpa_supplicant on that config file, in the foreground
sudo wpa_supplicant -D wext -i <interface> -c ~/wpa.conf
wpa_supplicant 的输出将帮助您排除 wifi 连接故障。如果显示已连接,您可以在新的命令提示符中运行以下命令,或者按 ctrl-z 然后运行将 wpa_supplicant 发送到后台
# after pressing ctrl-z to pause the wpa_supplicant, run it in background
bg "%sudo"
现在运行sudo iwconfig
以验证您的连接,“ESSID:”和“接入点:”等部分应该具有值。
下一步是从路由器的 DHCP 服务器获取 IP 地址:
sudo dhclient <interface>
如果您已连接到网络,这确实不应该失败。如果是的话...也许重置你的路由器?通过运行来测试它是否正常工作sudo ifconfig
。假设您使用的是 IPv4 地址,您应该会看到与您的路由器匹配的 IPv4“inet addr:”,可能是 10。。.* 或 192.168.1.* 地址。
dhclient
还应该适当地设置您的路由,因此(在没有其他网络连接到互联网的情况下)sudo ip route
或者sudo route
应该有一个“默认”选项,指向您的 wifi 路由器<interface>
。
之后,您可以测试与本地路由器的连接:
ping <router's ip address>
测试是否可以连接到远程IP地址
ping 8.8.8.8 # google's dns server
测试您的 DNS 设置是否有效:
ping google.com
如果这有效,你应该很坚强。如果没有,那么您可以将/etc/resov.conf
文件更改为读取
nameserver 8.8.8.8
nameserver 8.8.4.4
现在,如果您已确认您能通过这些步骤连接到网络后,您也许可以使用一些相同的工具来排除故障/etc/network/interfaces
。
sudo ifconfig
如果您分享、sudo iwconfig
、sudo route
或的输出sudo ip route
(有时当您的连接混乱时,其中一个会挂起)、 的相关部分sudo iwlist <interface> scan
、/etc/network/interfaces
文件以及来自 的任何相关详细信息,sudo dmesg
我可以提供更多帮助。