如何从 Raspberry Pi 2 (snappy) 连接 WiFi 网络

如何从 Raspberry Pi 2 (snappy) 连接 WiFi 网络

我已经用 snappy core 设置了新的 raspberry pi 2。但我找不到如何从 snappy 终端连接 wifi 网络。

我的 wifi 适配器工作正常,但 snappy 核心中没有 iwconfig。也没有找到 Wlist。有人能帮助我吗?

提前致谢。

答案1

所以我刚刚收到了我的 Raspberry Pi 3 Model B 邮件,并在其中安装了 Ubuntu Snappy Core 16推荐的方法。我通过 HDMI 和 USB 键盘、以太网和 DHCP 执行了初始设置。然后我通过以太网创建了 ssh 连接并断开了显示器和键盘。从那里,我想将我的设备连接到 WiFi,并偶然发现了这篇文章。

我喜欢尝试不需要额外安装或解决方法的东西,所以我咨询了安装提示按照上面的建议操作,发现 WPA_Supplicant 应该是预安装的。只需很少的干预和比提示建议的更少的努力,我发现只需将一个由四行组成的配置文件添加到 wpa_supplicant 搜索的默认位置即可配置 wifi,而无需执行其他任何操作。虽然不久前有人问过关于 Raspberry Pi 2 的问题,但我从最近的评论中看到它可能仍然相关,而且它非常简单,我倾向于分享。

我知道这个答案看起来很长,但它非常简单,而且有图片。任何对终端有基本了解并能够初步设置树莓派的人都可以理解它。

太长了

  • 设置你的 Rasberry Pi 并通过 SSH 建立 LAN 连接
  • 使用以下命令关闭 Raspberry Pisudo shutdown -P now
  • 将 SD 卡插入 Linux 发行版
  • 在文本编辑器中,将名为“wpa_supplicant.conf”的配置文件添加到 SD 卡可写分区上的 /writable/system-data/etc/ 文件夹中
  • 我通过在桌面上创建 conf 文件然后使用它将sudo cp其移动到正确的目录来实现此目的
  • 配置文件应该是:
    network={
    ssid="Typhon Secure" 使用您的网络 SSID
    psk="*******" 使用您的网络密钥
    }
  • 注意:这也适用于隐藏网络
  • 弹出你的 SD,将其插入你的 Pi,启动你的 Pi;它应该连接到你的 WiFi

我的教程从通过以太网建立 ssh 连接开始,可以按照以下说明实现Ubuntu 核心入门 Raspberry Pi 2/3

通过 SSH 连接

然后输入wpa_supplicant,你会发现它不需要安装,因为它已预先内置到 Snappy Core 中。正如你在下图中看到的,只需运行wpa_supplicant就会返回很多选项,但请注意最后一行:

wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf

它首先告诉您驱动程序,然后是接口,然后是正在寻找接口文件的位置:-c/etc/wpa_supplicant.conf

WPA_请求者 WPA_Supplicant 继续

现在我知道了配置文件需要放在哪里,我用 关闭 Raspberry Pi,sudo shutdown -P now一旦它关闭,就断开电源并将 SD 插入装有 Fedora 的 Linux 机器中。不知何故,文件系统显示不同,所以你会发现wpa_supplicant.conf需要的位置在writable/system-data/etc,而 SD 卡安装在 /run/media/cregger/ 中,所以你会看到我的文件路径是/run/media/cregger/writable/system-data/etc/

纳米位置

我使用 nano 创建了一个名为“wpa_supplicant.conf”的新文件,其中包含以下四行:

network={ ssid="Typhon Secure"(我的网络 SSID) psk="*******"(显然星号代表我的 WiFi 密钥) }不要忘记终止。

请注意,这适用于隐藏网络,无需额外配置。我的网络有一个隐藏的 SSID,我没有做任何更改。它具有 WPA-PSK 2 安全性;相当标准。 配置示例

你会注意到我把它保存到了桌面。然后我用终端把它复制到正确的位置,因为它是属于 root 的。

复制到 SD 卡

然后从 Linux 中弹出你的 SD 卡,将其重新插入你的 Raspberry Pi,将你的电源重新插入你的 Raspberry Pi;让它启动并且它会寻找你的 wifi。

在我的例子中,你会看到 Eth 和 Wlan 都占用了一个 IP Eth0 和 Wlan0

我现在可以通过 LAN 或 WLAN 进行 ssh

双连接

我知道这篇文章很长,但我希望它能够帮助您避免弄乱您的 FS 并安装一堆不必要的应用程序。

答案2

http://www.marinus.nu/2015/02/enabling-wifi-on-snappy-ubuntu-core.html

你可以安装必要的wifi工具的dpkg

先从另一台电脑安装一些工具

wget http://ports.ubuntu.com/pool/main/w/wpasupplicant/wpasupplicant_0.7.3-6ubuntu2.3_armhf.deb \
http://ports.ubuntu.com/pool/main/libn/libnl3/libnl-3-200_3.2.24-2_armhf.deb \ 
http://ports.ubuntu.com/pool/main/libn/libnl3/libnl-genl-3-200_3.2.24-2_armhf.deb \ 
http://ports.ubuntu.com/pool/main/p/pcsc-lite/libpcsclite1_1.8.11-3ubuntu1_armhf.deb \ 

我把它放在闪存驱动器上然后移过去

#Mount External Hard Drive
mount -t vfat /dev/sda1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

然后我导航到 /media/external 并运行命令

sudo mount -o remount,rw /
sudo dpkg -i *.deb

然后将此文件添加到 /etc/network/interfaces.d/wlan0

allow-hotplug wlan0
iface wlan0 inet dhcp
  wpa_ssid "<YOUR_WIFI_NAME>"
  wpa_psk "<YOUR_PASSWORD>"

然后我重新启动以使效果生效

sudo reboot

奖励:为了让 snappy 工作,记得设置日期

sudo date --set 03 Mar 2015 20:55:00

答案3

对我来说,我已经将树莓派连接到以太网,所以我不需要单独下载 deb 文件。

此外,官方指南(@AnthonyWong 声称位于此处):http://developer.ubuntu.com/en/snappy/start/installation-tips) 对我来说不起作用,因为它缺少一些基本的东西(allow-hotplug行)。另外,最好将所有配置集中在一个文件中(而不是两个,本指南鼓励这样做,它甚至告诉您将一个文件放在某个随机的 /home/ubuntu 位置...)。

因此,我编写了这个小脚本来为您设置好一切:

#!/usr/bin/env bash

sudo apt -y install wpasupplicant

echo "allow-hotplug wlan0" > wlan0.cfg.tmp
echo "iface wlan0 inet dhcp" >> wlan0.cfg.tmp
echo '    wpa_ssid "YOUR_WIFI_SSID"' >> wlan0.cfg.tmp
echo '    wpa_psk "YOUR_WIFI_PASSWORD"' >> wlan0.cfg.tmp
echo "" >> wlan0.cfg.tmp

sudo mv wlan0.cfg.tmp /etc/network/interfaces.d/wlan0.cfg

在那之后,断开以太网电缆,重新启动机器(例如通过sudo reboot),一切就绪了。

注意:如果您更喜欢静态 IP 而不是依赖 DHCP(例如出于端口映射目的...):

#!/usr/bin/env bash

sudo apt -y install wpasupplicant

echo "allow-hotplug wlan0" > wlan0.cfg.tmp
echo "iface wlan0 inet static" >> wlan0.cfg.tmp
echo '    address 192.168.1.151' >> wlan0.cfg.tmp
echo '    netmask 255.255.255.0' >> wlan0.cfg.tmp
echo '    gateway 192.168.1.100' >> wlan0.cfg.tmp

#because my router is rubbish and doesn't provide DNS service
echo '    dns-nameservers 8.8.8.8' >> wlan0.cfg.tmp

echo '    wpa_ssid "YOUR_WIFI_SSID"' >> wlan0.cfg.tmp
echo '    wpa_psk "YOUR_WIFI_PASSWORD"' >> wlan0.cfg.tmp
echo "" >> wlan0.cfg.tmp

sudo mv wlan0.cfg.tmp /etc/network/interfaces.d/wlan0.cfg

相关内容