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这种驱动名啊。