加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 5.3 开启 wifi 并检查网络现象
    • 5.4 systemd-networkd 增加 wlan0 管理
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

开发笔记 | Systemd实现STM32MP1的多种网络通信管理(中)

2020/12/05
521
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本篇内容接上篇内容【开发笔记 | Systemd 实现 STM32MP1 的多种网络通信管理(上)】。

5.3 开启 wifi 并检查网络现象

1) 使用 wpa_supplicant 命令连接 wifi

2) 查看 ip address 情况

eth0 ip 192.168.30.102

wlan0 ip 192.168.43.185

3) 再次查看 ip route 情况

4) 查看 networkctl 情况

wlan 已经开启,但是没有被管理

5) 再次查看路由情况

192.168.43.1 为 wlan0 新增

6) 根据以上情况,可以得出,访问外网时,只有 eth0 可以工作,wlan0 无法工作

wlan0 无法连接外网

测试拔掉网线后情况

7) 根据以上的现象 unmanaged 与没有路由表,还是无法使用 wlan0 接口连通外网

但当使用手动给 wlan0 增加一条路由表后如下

此时 IP,路由,DNS 都有,那么就可以 ping 通外网

所以到这里可以得到即使 wifi 联通还无法连通外网的原因,是需要对应的路由表。分析了网络联通的过程,那就可以使用 systemd-networkd 来进行多网络管理。

5.4 systemd-networkd 增加 wlan0 管理

1) 在 /lib/systemd/network/ 中增加 79-wlan0.network 文件,并添加以下内容

RouteMetric 20 跃点数 20(小于 eth0 的 15)

重启 systemd-networkd 服务

查看 networkctl 状态

wlan0 现在变成 configured 接下来,重启下系统,可以观察到一个现象,就是 wifi 会自动打开,但是不会连接, 那是因为没有 wpa_supplicant 服务,需要手动开启。这样才会将要连接 wifi 的 SSID,PASSWD 和配置信息放置在 /etc/wpa_supplicant.conf 手动开启 wpa_supplicant 服务

ip route 信息

这里可以看到 2 个 default,前面一个是 eth0 跃点数 15,后面 wlan0,跃点数 20

此时就是以太网优先,如果以太网断开,就走 WIFI 路由。测试 ping 百度不指定网卡,中途拔掉以太网。

[ 190.316708] stm32-dwmac 5800a000.ethernet eth0: Link is Down 拔掉网线打印信息

可以看到,以太网和 wifi 同时连接时,网络不会因为以太网中断而停止。这里还有一个点,到底 ping 的时候走哪个网卡,这里直接说明,会走 ip route 最前面的 default 路由, 由于 eth0 metric = 15 ,wifi metric=20,所以连接顺序无论怎么接,都是以太网在前。

鉴于后面内容篇幅过长,本次实操开发笔记分 3 次对外进行发布:开发笔记|Systemd 实现 STM32MP1 的多种网络通信管理(上)开发笔记|Systemd 实现 STM32MP1 的多种网络通信管理(中)开发笔记|Systemd 实现 STM32MP1 的多种网络通信管理(下)

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TCAN4550RGYRQ1 1 Texas Instruments Automotive system basis chip (SBC) with integrated CAN FD controller & transceiver 20-VQFN -40 to 125

ECAD模型

下载ECAD模型
暂无数据 查看
LTC2875IS8#TRPBF 1 Linear Technology LTC2875 - ±60V Fault Protected 3.3V or 5V 25kV ESD High Speed CAN Transceiver; Package: SO; Pins: 8; Temperature Range: -40°C to 85°C
暂无数据 查看
TJA1051T/3,118 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SOIC 8-Pin

ECAD模型

下载ECAD模型
$1.45 查看

相关推荐

电子产业图谱

米尔电子,是一家专注于嵌入式处理器模组设计、研发、生产和销售于一体的国家级高新技术企业,也被评为专精特新企业。米尔电子深耕嵌入式领域10多年,致力于为企业级客户提供基于ARM、FPGA、RISC-V和AI等各种架构,稳定可靠的处理器模组,满足客户大批量产品应用部署的需求,同时为客户提供产品定制设计、行业应用解决方案和OEM的一站式服务。 米尔英文简称“MYIR”,是“Make Your Idea Real”第一个大写字母的缩写。我们的理念是“专业服务助力客户成功”,目前米尔已通过专业高效的服务,帮助全球数万家企业的产品成功上市。