2.1 网络与蓝牙配置
本章节主要介绍开发板有线、无线网络配置的修改方法。
有线网络
有线网络配置-Network Manager 方式
默认使用 NetworkManager + Netplan 管理网络,其它平台请以对应系统文档为准。
RDK S100根文件系统基于 Ubuntu-22.04 构建,默认不支持采用 ifup/ifdown 这种方式来对网络接口进行启用或停用操作。
RDK S600根文件系统基于 Ubuntu-24.04 构建,默认不支持采用 ifup/ifdown 这种方式来对网络接口进行启用或停用操作。
在 Ubuntu 系统中,开发板的网络连接配置保存在 /etc/NetworkManager/system-connections/ 目录下(每个网卡连接一个 .nmconnection 文件)。常用字段说明如下 :
- DHCP 配置:将
[ipv4]中method设置为auto,由 DHCP 自动分配地址。 - 静态地址配置:将
[ipv4]中method设置为manual,使用address1=IP/CIDR,Gateway配置 IP、掩码和网关。 - 自定义 DNS:通过
dns=字段指定 DNS 服务器,多个地址以分号分隔。
ETH0 DHCP 配置示例
编辑连接文件:
sudo vim /etc/NetworkManager/system-connections/eth0_cfg.nmconnection
[connection]
id=eth0_cfg
uuid=1f3c0cb8-3ef4-4d7f-9f22-0a0f6f0b2222
type=ethernet
interface-name=eth0
timestamp=1773022723
[ethernet]
[ipv4]
dns=10.9.1.2;8.8.8.8;8.8.4.4;
method=auto
[ipv6]
addr-gen-mode=eui64
method=disabled
[proxy]
ETH1 静态 IP 配置示例
编辑连接文件:
sudo vim /etc/NetworkManager/system-connections/eth1_cfg.nmconnection
[connection]
id=eth1_cfg
uuid=1f3c0cb8-3ef4-4d7f-9f22-0a0f6f0b1111
type=ethernet
interface-name=eth1
timestamp=1773022363
[ethernet]
[ipv4]
address1=192.168.127.10/24,192.168.127.1
dns=10.9.1.2;8.8.8.8;8.8.4.4;
method=manual
[ipv6]
addr-gen-mode=eui64
method=disabled
[proxy]
修改完成后,建议按以下顺序使配置生效:
# 建议检查配置文件权限(NetworkManager 要求仅 root 可读写)
sudo chmod 600 /etc/NetworkManager/system-connections/*.nmconnection
# 重新加载连接配置
sudo nmcli connection reload
# 启用对应连接
sudo nmcli connection up eth0_cfg
# 或
sudo nmcli connection up eth1_cfg
使用命令行配置静态 IP 示例:
# 配置 eth1 静态 IP 为 192.168.10.100/24,网关为 192.168.10.1,DNS 为 223.5.5.5 和 8.8.8.8
nmcli connection modify "eth1_cfg" \
ipv4.method manual \
ipv4.addresses "192.168.10.100/24" \
ipv4.gateway "192.168.10.1" \
ipv4.dns "223.5.5.5 8.8.8.8" \
connection.autoconnect yes
# 重启连接使配置生效
nmcli connection down "eth1_cfg"
nmcli connection up "eth1_cfg"
使用命令行配置 DHCP 示例:
# 切换 eth1 为 DHCP
nmcli connection modify "eth1_cfg" \
ipv4.method auto \
ipv4.addresses "" \
ipv4.gateway "" \
ipv4.dns "" \
connection.autoconnect yes
# 重启连接使配置生效
nmcli connection down "eth1_cfg"
nmcli connection up "eth1_cfg"
使用命令行查看当前 IP/网关/DNS 配置:
# 查看设备当前 IP/网关/DNS
nmcli device show eth1
更多配置字段说明可参考: Ubuntu Manpage: NetworkManager
RDK S100 桌面版本默认采用 NetworkManager + Netplan 网络框架。通过 GUI 或 nmcli 保存配置后,配置会写入 /etc/NetworkManager/system-connections/。
也可以直接编辑该目录中的 .nmconnection 文件;编辑完成后,执行 sudo nmcli connection reload 和 sudo nmcli connection up [connection_name] 使配置生效。
无线网络
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=12
开发板需安装无线 Wi-Fi 模块,支持 Soft AP 和 Station 两种模式,默认运行在 Station 模式下。下面介绍两种模式的使用方法。
Station 模式
Station 模式下,开发板作为客户端,接入路由器无线热点进行联网。
-
对于使用 Ubuntu Desktop 版本系统的用户,可点击桌面右上角 Wi-Fi 图标,选择对应热点并输入密码以完成网络配置,如下图:
-
对于使用 Ubuntu Server 版本系统的用户,可通过命令行完成无线网络配置,步骤如下:
-
使用
sudo nmcli device wifi rescan命令扫描热点。如返回如下 信息,说明扫描过于频繁,需要稍后再试root@ubuntu:~# sudo nmcli device wifi rescan
Error: Scanning not allowed immediately following previous scan. -
使用
sudo nmcli device wifi list命令列出扫描到的热点 -
使用
sudo wifi_connect "SSID" "PASSWD"命令连接热点,返回如下信息,说明网络连接成功root@ubuntu:~# sudo wifi_connect "WiFi-Test" "12345678"
Device 'wlan0' successfully activated with 'd7468833-4195-45aa-aa33-3d43da86e1a7'.提示如果连接热点后,返回如下信息,说明热点没有找到,可以执行
sudo nmcli device wifi rescan命令重新扫描后再次连接root@ubuntu:~# sudo wifi_connect "WiFi-Test" "12345678"
Error: No network with SSID 'WiFi-Test' found.
Soft AP 模式
Wi-Fi AP 模式暂不可用 持续更新中....
DNS 服务
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=13
DNS(Domain Name Server)是进行域名(domain name)和与之相对应的 IP 地址转换的服务器。
开发板 DNS 配置通过/etc/systemd/resolved.conf文件管理,用户可通过修改该文件完成 DNS 相关配置,步骤如下:
-
修改
resolved.conf文件,添加 DNS 服务器地址,例如:DNS=8.8.8.8 114.114.114.114 -
通过如下命令,使能 DNS 配置:
sudo systemctl restart systemd-resolved
sudo systemctl enable systemd-resolved
sudo mv /etc/resolv.conf /etc/resolv.conf.bak
sudo ln -s /run/systemd/resolve/resolv.conf /etc/
Proxy 配置
Proxy 配置指的是对网络代理进行设置。在网络通信中,代理服务器作为客户端和目标服务器之间的中间层,客户端的请求先发送到代理服务器,再由代理服务器转发给目标服务器,目标服务器的响应也通过代理服务器返回给客户端。
编辑 ~/.bashrc 或 /etc/environment 文件。如果是为当前用户配置代理,编辑 ~/.bashrc;如果是为所有用户配置代理,编辑 /etc/environment.
在文件中添加以下内容(以 HTTP 代理为例):
http_proxy=http://proxy_server_address:port
https_proxy=http://proxy_server_address:port
ftp_proxy=http://proxy_server_address:port
no_proxy=localhost,127.0.0.1
保存文件后,执行以 下命令使配置生效:
source ~/.bashrc
系统更新
产品未上市前,请勿执行
出于系统安全、稳定性的考虑,推荐用户安装完系统后,通过apt命令对系统进行更新。
在/etc/apt/source.list文件中,保存了apt命令的软件源列表,在安装软件前,需要先通过apt命令更新 package 列表。
首先打开终端命令行,输入如下命令:
sudo apt update
其次,升级所有已安装的软件包到最新版本,命令如下:
sudo apt full-upgrade
推荐使用full-upgrade而不是upgrade选项,这样当相关依赖发生变动时,也会同步更新依赖包。
当运行sudo apt full-upgrade命令时,系统会提示数据下载和磁盘占用大小,但是apt不会检查磁盘空间是否充足,建议用户通过df -h命令手动检查。此外,升级过程中下载的 deb 文件会保存在/var/cache/apt/archives目录中,用户可以通过sudo apt clean命令删除缓存文件以释放磁盘空间。
执行apt full-upgrade命令后,可能会重新安装驱动、内核文 件和部分系统软件,建议用户手动重启设备使更新生效,命令如下:
sudo reboot
蓝牙配置
Video: https://www.bilibili.com/video/BV1rm4y1E73q/?p=9
初始化
用户可以使用命令查询蓝牙进程是否正常,命令如下:
ps ax | grep "/usr/bin/dbus-daemon\|/usr/lib/bluetooth/bluetoothd"
/usr/bin/dbus-daemon
/usr/lib/bluetooth/bluetoothd
用户可以使用命令查询蓝牙控制器是否正常,命令如下(注意以下命令示例中的Controller <MAC Addr>的<MAC Addr>会随实际蓝牙控制器变化而变化):
bluetoothctl list
Controller F0:68:E3:22:7E:91 ubuntu [default]
配网连接
执行sudo bluetoothctl进入交互模式下的蓝牙配置界面,出现了类似下图的设备信息表示蓝牙被识别到了,然后用show来查看蓝牙信息,留意蓝牙的powered和discoverable状态。
执行 power on 使能蓝牙,如下图所示:
为了能够使蓝牙被附近的设备发现,需要执行discoverable on使能蓝牙并打开蓝牙可发现属性,如下图所示:
此时使用手机或者电脑扫描蓝牙就可以发现 ubuntu 这个名称的蓝牙设备:
接下来测试蓝牙的主动扫描功能,在bluetoothctl的交互界面输入scan on即可打开主动扫描,它会周期性地打印附近的设备,可以看到已经发现了我的手机设备,scan off关闭扫描功能并汇总打印扫描到的蓝牙设备:
然后就是和其他蓝牙的配对:
-
配对命令:
pair [targetMAC],输入该命令后,根据提示输入yes,对端蓝牙设备选择配对选项完成配对。 -
配对成功后可以使用
trust [targetMAC]来让下次自动连接
经过以上操作后,蓝牙的扫描、配对的基本功能就完成了,如需使用更多功能,可查阅 BlueZ的官方帮助说明。