2023年7月6日 星期四

usb ethernet adapter rename

USB ethernet 像 AX88772, AX88179 等在 ubuntu 下會重命名為 enx<MAC address> 的名稱, 我對名稱叫什麼沒有意見, 但 nfs client 有, 做 IPv6 nfs mount 時都會出現 "an incorrect mount option was specified" 的錯誤.

這問題我找了一段時間, 沒有找到解法. 直到有一天因為工作的需求使用 SUSE 這套 distro 時發現, 在它底下 USB thernet 可以正常使用 IPv6 nfs mount.... !! 只是跟 ubuntu 不一樣的是, 它 USB ethernet 就只是叫 eth? 而已, 不是照 bus-tree 這些來命名... 

好了, 那如何更改 ubuntu 下的 USB ethernet 名稱? 我在這裡找到有人提供改寫 udev rules 的方式達成:

以 root 身份增加檔案 /etc/udev/rules.d/76-netnames.rules
---
# USB device by path
# get ID_PATH if not present yet
ENV{ID_PATH}=="", IMPORT{builtin}="path_id"
SUBSYSTEM=="net", ACTION=="add", ENV{ID_PATH}=="*-usb*", NAME="ueth%n"

---

以 root 身份重觸發 udev:

# udevadm control --reload-rules; udevadm trigger;

下次再接上 USB ethernet 時就會更名為 ueth?, 更名成這樣就可以正常使用 IPv6 nfs mount.