Ubuntu 20.04 arm64版本,使用netplan apply
配置网络会卡住,netplan try
可能会卡住,或Python报udevadm
相关错误;wlan0
无法通过udev
规则改名(改动不生效,但wwan0
又能自动修改)。
参照脚本执行
1 |
|
后程序报错
1 |
|
调试流程
发现该问题最早是自己编译的系统使用netplan
配置网络时会卡住,尝试Google了一下(一查就是几个月),没找到一致的问题。
最初怀疑netplan
工具有缺陷,升级后现象无变化。系统在启动时又能按照yaml文件内容配置,也能正常通过netplan generate
生成systemd-networkd配置,只是不能通过netplan apply|try
手动配置。
该问题被一度搁置,直到最近调试需要修改无线网卡设备名:修改网络设备命名规则时,4G模块的接口wwan0
就会受到规则影响,但无线网卡始终被改名为wlP2p1s0
。调试过程中再次遇到udevadm
报错。
通过apt show udev
在故障系统和正常系统上查询,二者均报告245.4-4ubuntu3.15
版本。后决定尝试将正常系统的udevadm
拷贝至故障系统时才发现,正常系统中只存在/bin/udevadm
(245),但故障系统除该文件外还同时存在/usr/bin/udevadm
(243),直接执行udevadm
会优先调用后者,导致一部分功能故障。
解决方案
1 |
|
另:无线网卡问题通过udev
匹配驱动进行改名。
1 |
|
Update:NAME字段可用%n来设置内核提供的设备编号。
以及Marvell为甚喵会用wifi_pcie
这种驱动名啊。