下载地址在这里,
Ubuntu 20.04.4 LTS (Focal Fossa)CD images for Ubuntu 20.04.4 LTS (Focal Fossa)https://cdimage.ubuntu.com/releases/20.04.4/release/我的树莓派4b,直接使用的官方的烧录工具,如下,
这里选server是因为找不到desktop版本的。
烧录成功后启动,官方的工具都比较好用,一般都能一次性成功,默认的用户名和密码都是 ubuntu。
Username and password are both "ubuntu" according to this: How to install Ubuntu Server on your Raspberry Pi | Ubuntu
连接网络和WIFI(WLAN0)
系统装好后的第一件事是连接网络,先用一要网线连接到开发板,然后根据自己的需要安装一些网络管理常用的工具,其中有些工具可能系统已经默认安装过了,
sudo apt install net-tools
sudo apt install wireless-tools
sudo apt install network-manager
sudo apt install rfkill
sudo apt install wpasupplicant
安装好之后就可以用下面的指令来查询机器IP了,
ifconfig
iwconfig
找到IP后,就可以通过WINSCP或者putty登陆到树莓派了。
ubuntu@ubuntu:~$ iwconfig
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
eth0 no wireless extensions.
lo no wireless extensions.
可以看到,我们的wlan0没有连接网络,这个信息和下面的查询是一致的,
ubuntu@ubuntu:~$ ls /sys/class/net
eth0 lo wlan0
ubuntu@ubuntu:~$ nmcli d
DEVICE TYPE STATE CONNECTION
wlan0 wifi disconnected --
eth0 ethernet unmanaged --
lo loopback unmanaged --
p2p-dev-wlan0 wifi-p2p unmanaged --
然后,看一下自己能找到的WIFI信号,比如我的就是HUAWEI-HB
如果想得到更详细的信息,你可以使用下面的指令,
ubuntu@ubuntu:~$ sudo ifconfig wlan0 up
ubuntu@ubuntu:~$ iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 4C:77:66:1A:C6:31
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=62/70 Signal level=-48 dBm
Encryption key:on
ESSID:"606"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
.............................................
上面的内容实在太多了,所以我省略掉了绝大部分;你可以通过下面的方式只简单地获取ESSID,
ubuntu@ubuntu:~$ sudo iwlist wlan0 scan | grep ESSID
ESSID:"HUAWEI-HB"
ESSID:"606"
ESSID:"608"
ESSID:""
ESSID:""
现在,你也可以使用rfkill来看一下你的WIFI,
ubuntu@ubuntu:~$ rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
如果是soft blocked的话你可以通过下面的方式开启
ubuntu@ubuntu:~$ sudo rfkill unblock wifi
如果你使用wpa_supplicant的话,那么最好关闭ubuntu-desktop的Network-Manager以避免冲突,
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
然后用iwconfig检查一下当前状态,
这里可以看到,wifi还没有连接上,如果前面没有up,那就再次确认一下,
sudo ifconfig wlan0 up
如果你的路由是使用WEP加密的话,那么可以使用下面的命令,
iwconfig wlan0 essid "myhome" key 0123-4567-89
我的wifi使用的是WPA2PSK的加密方式,所以需要用wpa_cli来设置,
~$ wpa_passphrase "HUAWEI-HB" mypassword_is_here | sudo tee /etc/wpa_supplicant.conf
~$ sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0 -B
如果你前面没有禁用掉NetworkManager的话,你可能会碰到下面的问题,
ubuntu@ubuntu:~$ sudo wpa_supplicant -c /etc/wpa_supplicant.conf -i wlan0
Successfully initialized wpa_supplicant
Failed to create interface p2p-dev-wlan0: -16 (Device or resource busy)
nl80211: Failed to create a P2P Device interface p2p-dev-wlan0
P2P: Failed to enable P2P Device interface
wlan0: Trying to associate with SSID 'HUAWEI-HB'
........
你可以先禁用掉NetworkManager,或者用下面的指令临时停用一下,
service network-manager stop
注意,参数B表示在后台运行;否则的话你只能在前台运行,关闭命令窗口时你的WIFI也会同时关闭,
sudo wpa_supplicant -B -c /etc/wpa_supplicant.conf -i wlan0
现在,再用iwconfig检查一下,就发现你的WIFI已经连接上了,
ubuntu@ubuntu:~$ iwconfig
wlan0 IEEE 802.11 ESSID:"HUAWEI-HB"
Mode:Managed Frequency:2.412 GHz Access Point: C8:xx:xx:xx:xx:E4
Bit Rate=65 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=62/70 Signal level=-48 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
eth0 no wireless extensions.
lo no wireless extensions.
使用NetworkManager
不过,我发现最方便的还是NetworkManager,我自己比较少用wpa_supplicant,一般的办法是,
$ sudo nmcli d wifi connect HUAWEI-HB password mypassword-here
命令比较简洁也比较好记忆,对于隐藏的网络,类似,
$ nmcli c add type wifi con-name <name> ifname wlan0 ssid <ssid>
$ nmcli c modify <name> wifi-sec.key-mgmt wpa-psk wifi-sec.psk <password>
需要注意的是,使用networkmanager最好把那些不用的功能全关闭掉,比如
sudo systemctl disable dhclient.service
sudo systemctl disable wpa_supplicant.service
附录:iwconfig和iwlist的通用用法
1.打开无线网卡电源
iwconfig wlan0 txpower no #iwconfig在树莓也没有这个
2.列出区域内的无线网络
iwlist wlan0 scan
3.假设要连接到网络myhome(即essid为myhome的网络),那么输入命令
iwconfig wlan0 essid "myhome"
如果网络是加密的,密码是0123456789,那么就输入命令
iwconfig wlan0 essid "myhome" key 0123-4567-89
4 如果正常的话,输入
iwconfig wlan0
就可以看到连接正常的各项参数了。
5.启动无线网卡
ifconfig wlan0 up
6.如果是用DHCP获取IP的,那么用dhclient或dhcpcd获取ip
dhclient wlan0 或dhcpcd wlan0
参考:
Using WPA_Supplicant to Connect to WPA2 Wi-fi from Terminal on Ubuntu 16.04 Server