我有各种小型 NUC,每台都附有一些 USB3 LAN 适配器(因为 NUC 只有一个以太网,所以我添加了额外的 USB3 适配器)。
突然间,可能由于无人值守的自动升级,该设备开始获取随机 MAC 地址。
前:
每个 USB3 连接设备都有一个以下形式的地址:
00:0E:C6:XX:XX:XX
每一部都截然不同,但幸存下来的重启总是相同的。
现在他们的地址如下:
eth1 - be:7d:ee:6a:26:ab
eth2 - be:7d:ee:6a:26:ab
eth3 - be:7d:ee:6a:26:ab
eth4 - be:7d:ee:6a:26:ab
eth5 - be:7d:ee:6a:26:ab
全部共享相同的随机选择的地址。
简而言之,烦恼:
- 每次机器重新启动时,此随机 MAC 地址都会更改。
- 所有这些都共享相同的随机 MAC 地址,之前它们每个都有一个不同且明显不同的地址。
这些设备被标识为lsusb
:
亚信电子 AX88179 千兆位以太网
我不知道自最新的自动更新以来发生了什么,这是最近 2 天、1 小时前的问题,在所有这些设备开始出现这种奇怪的行为之后,一切都工作正常。
可能是更新有问题?是否是新发布的驱动程序每次 mac 地址都会随机化?这可能是 Linux 内核或发行版或 grub 设置中的一项功能,其中 USB 局域网设备现在每次都会获取随机 MAC 地址吗?但在这种情况下,为什么它们都共享相同的,它们应该是完全随机的......
我不知道,寻求帮助并愿意做测试......
关于操作系统:
Debian 版本:12.5
Linux 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux
此6.8 内核提交向后移植到 6.1.x:
net: usb: ax88179_178a:避免连续两次设备重置
旨在避免基于 AX88179 的 NIC 上的双重重置,但会产生为 NIC 获取随机 MAC 地址的副作用。
未来的 6.9 内核有一个修复程序,已经向后移植到内核 6.1.85+,它承认之前的问题(并且应该修复它)。这是确认部分:
问题是 Debian 的内核 6.1.0-20-amd64 已经使用包含修复程序的上游内核 6.1.85。从OP的评论来看,这似乎无法正常工作,因为OP使用的是内核6.1.0-20-amd64。
保证有效的是恢复到之前的状态:在 2024 年 2 月 5 日补丁向后移植到 6.1.x 之前。目前看来这意味着恢复两个补丁:
确保它像以前一样工作(并恢复双重重置行为,这在当时似乎不是问题)。
我可以在过去几周验证恢复net: usb: ax88179_178a: 避免连续两次设备重置是否可以正常工作,我没有验证较新的状态如何(例如:内核 6.1.85 或 Debian 6.1.0-20-amd64)行为。OP 的 Q/A 表明,也许旨在修复第一个补丁之后引起的行为的第二个补丁还不够,可能还需要提供其他修复。
总结一下,今天可能的选择:
linux-image-6.1.0-18-amd64
要么它有效(没什么可做的)
或者它没有(OP的情况)
要么恢复上面提供的两个补丁并重新编译:
net: usb: ax88179_178a:避免接口始终配置为随机地址
net: usb: ax88179_178a:避免连续两次设备重置
或者等待未来的补丁修复这个问题