
我有各種小型 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 表明,也許旨在修復第一個補丁之後引起的行為的第二個補丁還不夠,可能還需要提供其他修復。
總結一下,今天可能的選擇:
- 保留較舊的內核,例如 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:避免連續兩次裝置重置: (需要恢復這個)
或等待未來的補丁修復這個問題:
更新:此投稿自 2024 年 4 月 18 日起:
net: usb: ax88179_178a:避免在首次讀取之前寫入 MAC 位址
修復它(我在 6.8.x 核心上測試過它)。它可能應該包含在下一個 6.1.x 上游核心 6.1.88 中,並且遲早會被 Debian 選擇。額外的好處:重置似乎在探測時間恢復,介面上不再有任何重置。因此,向下和向上之間轉換的延遲現在更快。