Ubuntu Server 20.04.4 在树莓派上的体验之连接网络和WIFI(WLAN0)

46 篇文章 4 订阅

下载地址在这里,

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

Configure WiFi Connections | Ubuntu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值