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 表明,也許旨在修復第一個補丁之後引起的行為的第二個補丁還不夠,可能還需要提供其他修復。


總結一下,今天可能的選擇:

相關內容