Debian 12 – 突然间,我的 USB3 LAN 适配器在每次重新启动时都会被分配随机 MAC 地址

Debian 12 – 突然间,我的 USB3 LAN 适配器在每次重新启动时都会被分配随机 MAC 地址

我有各种小型 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 LAN 设备现在每次都会获取随机 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

到目前为止建议的解决方法,包括最后一个始终有效的解决方法,感谢@AB:

答案1

6.8 内核提交,向后移植到 6.1.x:

net: usb: ax88179_178a:避免连续两次设备重置

旨在避免基于 AX88179 的 NIC 上的双重重置,但会产生为 NIC 获取随机 MAC 地址的副作用。

未来的 6.9 内核正在修复,已经向后移植到内核 6.1.85+它承认前一个问题(并且是应该要解决这个问题)。这是确认部分:

net: usb: ax88179_178a:避免接口始终配置为随机地址

在提交 d2689b6a86b9(“net:usb:ax88179_178a:避免两次连续的设备重置”)之后,绑定操作不会执行重置,并且此时不会从设备寄存器或设备树中读取 MAC 地址。由于在 usbnet_probe 的绑定操作之后检查配置分配的 mac 地址是否是随机的,因此接口保持配置为随机地址,尽管在打开操作期间正确读取和设置了地址(现在唯一的重置) )。

问题是 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 表明,也许旨在修复第一个补丁之后引起的行为的第二个补丁还不够,可能还需要提供其他修复。


总结一下,今天可能的选择:

相关内容