我已经用 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 Pi
sudo shutdown -P now
- 将 SD 卡插入 Linux 发行版
- 在文本编辑器中,将名为“wpa_supplicant.conf”的配置文件添加到 SD 卡可写分区上的 /writable/system-data/etc/ 文件夹中
- 我通过在桌面上创建 conf 文件然后使用它将
sudo cp
其移动到正确的目录来实现此目的- 配置文件应该是:
network={
ssid="Typhon Secure"
使用您的网络 SSIDpsk="*******"
使用您的网络密钥}
- 注意:这也适用于隐藏网络
- 弹出你的 SD,将其插入你的 Pi,启动你的 Pi;它应该连接到你的 WiFi
我的教程从通过以太网建立 ssh 连接开始,可以按照以下说明实现Ubuntu 核心入门 Raspberry Pi 2/3。
然后输入wpa_supplicant
,你会发现它不需要安装,因为它已预先内置到 Snappy Core 中。正如你在下图中看到的,只需运行wpa_supplicant
就会返回很多选项,但请注意最后一行:
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
它首先告诉您驱动程序,然后是接口,然后是正在寻找接口文件的位置:-c/etc/wpa_supplicant.conf
现在我知道了配置文件需要放在哪里,我用 关闭 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 的。
然后从 Linux 中弹出你的 SD 卡,将其重新插入你的 Raspberry Pi,将你的电源重新插入你的 Raspberry Pi;让它启动并且它会寻找你的 wifi。
在我的例子中,你会看到 Eth 和 Wlan 都占用了一个 IP
我现在可以通过 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