AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 774594
Accepted
user3450548
user3450548
Asked: 2024-04-16 00:59:10 +0800 CST2024-04-16 00:59:10 +0800 CST 2024-04-16 00:59:10 +0800 CST

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

  • 772

我有各种小型 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
debian
  • 1 1 个回答
  • 55 Views

1 个回答

  • Voted
  1. Best Answer
    A.B
    2024-04-16T02:11:35+08:002024-04-16T02:11:35+08:00

    此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:避免接口始终配置为随机地址
    • net: usb: ax88179_178a:避免连续两次设备重置

    确保它像以前一样工作(并恢复双重重置行为,这在当时似乎不是问题)。

    我可以在过去几周验证恢复net: usb: ax88179_178a: 避免连续两次设备重置是否可以正常工作,我没有验证较新的状态如何(例如:内核 6.1.85 或 Debian 6.1.0-20-amd64)行为。OP 的 Q/A 表明,也许旨在修复第一个补丁之后引起的行为的第二个补丁还不够,可能还需要提供其他修复。


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

    • 保留较旧的内核,例如 Debian 的 6.1.0-18-amd64,可从https://snapshot.debian.org/获取 :linux-image-6.1.0-18-amd64
    • 通过恢复本答案中提到的第一个补丁并重新编译(测试工作)来修补 6.1.77 和 6.1.84 之间的内核
    • 检查内核 6.1.85 或更高版本是否适合您。
      • 要么它有效(没什么可做的)

      • 或者它没有(OP的情况)

        • 要么恢复上面提供的两个补丁并重新编译:

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

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

        • 或者等待未来的补丁修复这个问题

    • 3

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve