树莓派3B装ubuntu server后开启wifi
<p> </p><p>树莓派官网选择ubuntu server下载映像</p>
<p>step 1:</p>
<p> 使用SDFormatter格式化SD卡;</p>
<p>step2:</p>
<p> 使用win32diskimager工具将映像写入准备好的SD卡;</p>
<p>step3:</p>
<p> 插入键盘电源和HDMI线链接TV,开电,login界面出现后输入用户名和密码 ubuntu ,重置密码。</p>
<p>step4:</p>
<p> 由于ubuntu server没有安装iwconfig工具,需要找根网线连接有线网络,安装 wireless-tools:</p>
<p> <span style="background-color: rgba(192, 192, 192, 1); font-size: 14pt"><strong>sudo apt install wireless-tools</strong></span></p>
<p> </p>
<p>wireless-tools安装完后,就可以使用iwconfig按下面步骤设置无线网络了:</p>
<p>1、首先设置打开无线网卡并设置SSID</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> iwconfig wlan0 power on
</span><span style="color: rgba(0, 128, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">ifconfig</span><span style="color: rgba(0, 0, 0, 1)"> wlan0 up
</span><span style="color: rgba(0, 128, 128, 1)">3</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> iwconfig wlan0 essid <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">无线名称</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p> </p>
<p>2、然后使用wpa_passphrase生成无线密钥</p>
<p> </p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> -<span style="color: rgba(0, 0, 0, 1)">i
</span><span style="color: rgba(0, 128, 128, 1)">2</span> wpa_passphrase 无线名称 密码 > /etc/wpa_supplicant.conf</pre>
</div>
<p> </p>
<p>3、接下来编辑 /etc/wpa_supplicant.conf</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">vi</span> /etc/wpa_supplicant.conf<br> <br><br>确保文件内容如下:</pre>
</div>
<div class="cnblogs_code">
<pre>ctrl_interface=/var/run/<span style="color: rgba(0, 0, 0, 1)">wpa_supplicant
ctrl_interface_group</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
ap_scan</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
network</span>=<span style="color: rgba(0, 0, 0, 1)">{
ssid</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">OpenWrt_2.4G_4680A1</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
proto</span>=<span style="color: rgba(0, 0, 0, 1)">RSN
key_mgmt</span>=WPA-<span style="color: rgba(0, 0, 0, 1)">PSK
pairwise</span>=<span style="color: rgba(0, 0, 0, 1)">CCMP TKIP
group</span>=<span style="color: rgba(0, 0, 0, 1)">CCMP TKIP
psk</span>=<span style="color: rgba(0, 0, 0, 1)">0192c3b3469fcf872387c0e069fee5731ce7f8782654e1a5caa0c165700e76c8
}</span></pre>
</div>
<p> </p>
<p>!!!注意配置关键点说明如下:</p>
<div class="cnblogs_code">
<pre>network=<span style="color: rgba(0, 0, 0, 1)">{
ssid</span>=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">my_network</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> #注意ssid名区分大小写。
proto</span>=<span style="color: rgba(0, 0, 0, 1)">RSN #Robust Security Network:强健安全网络,表示这个网络配置比WEP模式要更安全。
key_mgmt</span>=WPA-PSK #请无论你是使用WPA-PSK,WPA2-PSK,都请在这里输入 WPA-PSK。这在wpa_supplicant看来WPA-PSK,WPA2-PSK都是 WPA-<span style="color: rgba(0, 0, 0, 1)">PSK
pairwise</span>=<span style="color: rgba(0, 0, 0, 1)">CCMP TKIP#关键点,wpa_supplicant目前还不认AES的加密标准
group</span>=<span style="color: rgba(0, 0, 0, 1)">CCMP TKIP #同上
psk</span>=7b271c9a7c8a6ac07d12403a1f0792d7d92b5957ff8dfd56481ced43ec6a6515 #wpa_supplicant算出来的加密密码。</pre>
</div>
<p> </p>
<p>4、以上配置文件设置完成后,接下来手动应用配置</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> wpa_supplicant -B -i wlan0 -c /etc/<span style="color: rgba(0, 0, 0, 1)">wpa_supplicant.conf
</span><span style="color: rgba(0, 128, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">sudo</span> dhclient wlan0</pre>
</div>
<p> </p>
<p>5、为了开机自动开启wifi,需要将启动脚本加到自动执行服务中,首先在/etc/rc.local中加入如下脚本:</p>
<div class="cnblogs_code">
<p>#!/bin/bash<br>ip link set wlan0 up &&<br>wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf &&<br>dhclient wlan0<br>exit 0</p>
</div>
<p> </p>
<p>并修改rc.local为可执行:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">chmod</span> a+x /etc/rc.local</pre>
</div>
<p> </p>
<p>然后编辑 /lib/systemd/system/rc-local.service加入如下配置:</p>
<div class="cnblogs_code">
<pre class="line-numberslanguage-python"><code class="pythonlanguage-python"><span class="token punctuation">
Description<span class="token operator">=<span class="token operator">/etc<span class="token operator">/rc<span class="token punctuation">.local Compatibility
Documentation<span class="token operator">=man<span class="token punctuation">:systemd<span class="token operator">-rc<span class="token operator">-local<span class="token operator">-generator<span class="token punctuation">(<span class="token number">8<span class="token punctuation">)
ConditionPathExists<span class="token operator">=<span class="token operator">/etc<span class="token operator">/rc<span class="token punctuation">.local
After<span class="token operator">=network<span class="token punctuation">.target
<span class="token punctuation">
Type<span class="token operator">=forking
ExecStart<span class="token operator">=<span class="token operator">/etc<span class="token operator">/rc<span class="token punctuation">.local start
TimeoutSec<span class="token operator">=<span class="token number">0
RemainAfterExit<span class="token operator">=yes
GuessMainPID<span class="token operator">=no</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<pre><span style="color: rgba(0, 0, 0, 1)">
WantedBy</span>=multi-<span style="color: rgba(0, 0, 0, 1)">user.target
Alias</span>=rc-local.service</pre>
</div>
<p> </p>
<p>6、设置开机默认启动rc-local.service.</p>
<p>执行下面命令后自动在/etc/systemd/system下创建rc-local.service到 /lib/systemd/system/rc-local.service的软链接。</p>
<div class="cnblogs_code">
<pre>systemctl enable rc-local.service</pre>
</div>
<p> </p>
<p>7、最后验证下服务能否正常开启运行</p>
<div class="cnblogs_code">
<pre>systemctl start rc-local.service &&<span style="color: rgba(0, 0, 0, 1)">
system status rc</span>-local.service</pre>
</div>
<p> </p>
<p>如果出现下面信息,就ok了,这样就可以实现开机自动连接wifi了。</p>
<div class="cnblogs_code">
<pre>root@ubuntu:~# systemctl status rc-<span style="color: rgba(0, 0, 0, 1)">local.service</span><span style="color: rgba(0, 0, 0, 1)">
● rc</span>-local.service - /etc/<span style="color: rgba(0, 0, 0, 1)">rc.local Compatibility
Loaded: loaded (</span>/lib/systemd/system/rc-<span style="color: rgba(0, 0, 0, 1)">local.service; enabled; vendor preset: enabled)
Drop</span>-In: /lib/systemd/system/rc-<span style="color: rgba(0, 0, 0, 1)">local.service.d
└─debian.conf
Active: active (running) since Fri </span><span style="color: rgba(128, 0, 128, 1)">2019</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>-<span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">17</span><span style="color: rgba(0, 0, 0, 1)"> UTC; 26min ago
Docs: </span><span style="color: rgba(0, 0, 255, 1)">man</span>:systemd-rc-local-generator(<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">)
Process: </span><span style="color: rgba(128, 0, 128, 1)">1621</span> ExecStart=/etc/rc.local start (code=exited, status=<span style="color: rgba(128, 0, 128, 1)">0</span>/<span style="color: rgba(0, 0, 0, 1)">SUCCESS)
Tasks: </span><span style="color: rgba(128, 0, 128, 1)">2</span> (limit: <span style="color: rgba(128, 0, 128, 1)">1056</span><span style="color: rgba(0, 0, 0, 1)">)
CGroup: </span>/system.slice/rc-<span style="color: rgba(0, 0, 0, 1)">local.service
├─</span><span style="color: rgba(128, 0, 128, 1)">1627</span> wpa_supplicant -B -i wlan0 -c /etc/<span style="color: rgba(0, 0, 0, 1)">wpa_supplicant.conf
└─</span><span style="color: rgba(128, 0, 128, 1)">1647</span><span style="color: rgba(0, 0, 0, 1)"> dhclient wlan0
Oct </span><span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">14</span> ubuntu systemd[<span style="color: rgba(128, 0, 128, 1)">1</span>]: Starting /etc/<span style="color: rgba(0, 0, 0, 1)">rc.local Compatibility...
Oct </span><span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">14</span> ubuntu rc.local[<span style="color: rgba(128, 0, 128, 1)">1621</span><span style="color: rgba(0, 0, 0, 1)">]: Successfully initialized wpa_supplicant
</span><span style="color: rgba(0, 0, 0, 1)">Oct </span><span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">17</span> ubuntu dhclient[<span style="color: rgba(128, 0, 128, 1)">1628</span>]: DHCPREQUEST of <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">1.33</span> on wlan0 to <span style="color: rgba(128, 0, 128, 1)">255.255</span>.<span style="color: rgba(128, 0, 128, 1)">255.255</span> port <span style="color: rgba(128, 0, 128, 1)">67</span> (xid=<span style="color: rgba(128, 0, 128, 1)">0x2399ec15</span><span style="color: rgba(0, 0, 0, 1)">)
Oct </span><span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">17</span> ubuntu dhclient[<span style="color: rgba(128, 0, 128, 1)">1628</span>]: DHCPACK of <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">1.33</span> from <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">1.1</span><span style="color: rgba(0, 0, 0, 1)">Oct </span><span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">17</span> ubuntu dhclient[<span style="color: rgba(128, 0, 128, 1)">1628</span>]: bound to <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">1.33</span> -- renewal <span style="color: rgba(0, 0, 255, 1)">in</span> <span style="color: rgba(128, 0, 128, 1)">32671</span><span style="color: rgba(0, 0, 0, 1)"> seconds.
Oct </span><span style="color: rgba(128, 0, 128, 1)">25</span> <span style="color: rgba(128, 0, 128, 1)">16</span>:<span style="color: rgba(128, 0, 128, 1)">03</span>:<span style="color: rgba(128, 0, 128, 1)">17</span> ubuntu systemd[<span style="color: rgba(128, 0, 128, 1)">1</span>]: Started /etc/rc.local Compatibility.</pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/dingbj/p/rasperpi3B.html
頁:
[1]