Làm cách nào để hoàn nguyên tên giao diện wifi USB (từ wlxXXXXXXXXXXXX sang wlanX)?


9

Với Ubuntu 16.04, giao diện wifi USB hiện tại là wlxXXXXXXXXXXXX trong đó X là chữ số của địa chỉ mac của thiết bị (chính sách tên giao diện có thể dự đoán) Có thể tìm thêm thông tin về điều này tại đây: systemd: Dự đoánNetworkInterfaceNames

Trên thực tế, tất cả việc đặt tên giao diện đã thay đổi nhưng tôi đã có thể quay lại cách thức thời trang cũ (ethX cho giao diện ethernet, wlanX cho thẻ wifi inetrnal) sửa đổi / etc / default / grub như đề xuất trong bài thứ ba của chủ đề thay đổi tên giao diện mạng này ubfox 16-04 Vấn đề của tôi là giải pháp này không hoạt động cho các giao diện USB và tôi vẫn có tên dài rất khó chịu này (tôi sử dụng dòng lệnh rất nhiều để chơi với giao diện wifi của mình) vấn đề đặt tên giao diện

 So here is my question: 

Tôi nên làm gì để tắt quy tắc mới này cho giao diện wifi USB của mình? Cảm ơn lời khuyên của bạn và xin lỗi tiếng Anh kém của tôi. Tạm biệt


Tại sao bạn muốn nó bị vô hiệu hóa?
Kaz Wolfe

Bởi vì tôi sử dụng dòng lệnh để quản lý giao diện USB wifi của mình và tôi sử dụng các tập lệnh sử dụng cách đặt tên cũ. Hơn chúng ta có thể nói hàng giờ về những gì tôi coi là "chính sách dự đoán" giao diện rất vô dụng nhưng ... đó không thực sự là vấn đề ở đây :)
kcdtv

Nếu bạn có tập lệnh quản lý và bạn sử dụng cùng một thẻ, tại sao không thay đổi tập lệnh để sử dụng tên chính xác (và tốt hơn)? Bằng cách này, bạn sẽ luôn biết bạn đang làm việc với ai. Nếu bạn luôn chỉ cắm hai thẻ này, hãy tạo tập lệnh tìm thẻ khác và thiết lập nó.
Kaz Wolfe

Không có tên nào tốt hơn ... tôi sẽ không xem xét sâu hơn về vấn đề này, đó thực sự không phải là vấn đề ở đây, bạn cho rằng chúng tốt hơn nhưng bạn có thể sử dụng hệ thống của mình theo cách khác, tôi sử dụng nó theo một cách khác ... Tôi thực sự có rất nhiều thẻ ... nhưng thực sự đó không phải là vấn đề ở đây ....
kcdtv

1
Các kế hoạch đặt tên mới hút. Bây giờ chúng tôi cần tập lệnh riêng khi thiết bị USB được thay đổi - vì tên, bị ràng buộc với địa chỉ mac.
Hạt nhân

Câu trả lời:


9

Bạn đã bỏ lỡ một điều từ https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

Sau đó khởi động lại

Tôi nghĩ rằng nó cần phải là tệp 80-net-setup-link.rules trong / etc / udev / vì một máy tính xách tay mà tôi đã cập nhật lên Ubuntu 16.04 từ 15.10 vẫn chứa một tệp có tên /lib/udev/rules.d/73- usb-net-by-mac.rules và nó chứa

# Use MAC based names for network interfaces which are directly or indirectly
on USB and have an universally administered (stable) MAC address (second bit
is 0).

IMPORT{cmdline}="net.ifnames", ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end" PROGRAM="/bin/readlink /etc/udev/rules.d/80-net-setup-link.rules", RESULT=="/dev/null", GOTO="usb_net_by_mac_end"

ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \ ATTR{address}=="?[014589cd]:*", \ IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"

LABEL="usb_net_by_mac_end"

Và nó chỉ định /etc/udev/rules.d/80-net-setup-link.rules

Tệp này không tồn tại trong bất kỳ bản cài đặt Ubuntu 16.04 sạch nào của tôi nhưng một phần của phần này phải tồn tại trong mã nguồn khác


1
Xin chào Jeremy31 và cảm ơn bạn đã trả lời
kcdtv

. Thư mục /etc/udev/rules.d/ của tôi trống. Tôi có 80-net-setup-link.rules trong /lib/udev/rules.d . Tôi đã làm tương tự như đề xuất trong thư mục này nhưng thiết bị wifi USB vẫn được đặt tên với địa chỉ mac. Tôi sẽ cố gắng tìm cách và sẽ cập nhật khi tôi tìm thấy thứ gì đó ... cảm ơn lần nữa
kcdtv

Chỉ cần làm điều đó với /etc/udev/rules.d/80-net-setup-link.rules khi tôi vừa kiểm tra máy ub Ubuntu 16.04 của mình và cắm vào thiết bị wifi USB cũ hơn cho thấy nó là wlan1 trong iwconfig. Tôi không chắc tại sao net.ifnames = 0 trong tệp grub không đủ để giữ cho nó không thay đổi thiết bị USB
Jeremy31

Nó đã làm việc! Tôi đã sao chép quy tắc 80 từ /lib/udev/rules.d sang /etc/udev/rules.d . Hơn tôi đã sao chép nó trong thư mục này, đổi tên nó thành 80-net-setup-link.rules.bak . Và cuối cùng tôi đã tạo ra symlink tới / dev / null_. Sau khi khởi động lại, thẻ USB WiFi của tôi hiện không hiển thị dưới dạng giao diện " wlan1 ". Cảm ơn rât nhiều! :)
kcdtv

2

Một lưu ý cho những người tìm kiếm một trường hợp sử dụng tương tự:

Tôi gặp sự cố với trình điều khiển của USB WiFi dongle không thể xác thực do tên giao diện khá dài trong Debian (kéo dài).

Các bước giải quyết:

  1. sao chép /lib/udev/rules.d/80-net-setup-link.rulesvào/etc/udev/rules.d/

  2. đổi $env{ID_NET_NAME}thành$env{ID_NET_SLOT}

Điều này duy trì tính duy nhất của tên giao diện trong khi rút ngắn nó.

Cập nhật: Điều này dường như không còn là vấn đề với Debian 10.


0

Tôi có studio Ubuntu và gặp vấn đề tương tự: tên wlxxxxx dài VÀ wifi được kết nối nhưng KHÔNG LÀM VIỆC!

Ubuntu studio có một hạt nhân có độ trễ thấp đặc biệt và tôi nghi ngờ rằng tên dài có thể là một vấn đề.

Vì vậy, tôi đổi tên nó thành wlan0 lấy cảm hứng từ chủ đề này. Tôi đã làm như sau:

1) đã sao chép /lib/udev/rules.d/80-net-setup-link.rules vào thư mục /etc/udev/rules.d/

2) chỉnh sửa tên ở đó. Trong trường hợp của tôi, có một dòng: NAME == "", ENV {ID_NET_NAME}! = "", NAME = "$ env {ID_NET_NAME}"

Tôi chỉ đặt "wlan0" thay vì "$ env {ID_NET_NAME}".

Và bây giờ công việc wifi!

GR


0

Thay vì vô hiệu hóa hoàn toàn việc đổi tên, bạn có thể ghi đè lên nó để cung cấp cho giao diện của bạn tên tùy chỉnh của riêng bạn. Điều đó giữ cho việc đặt tên tĩnh, nhưng cung cấp cho bạn một tên bạn có thể nhớ và nhập.

Hệ thống đặt tên hiện tại ( /lib/udev/rules.d/80-net-setup-link.rules) chỉ đổi tên một giao diện nếu nó chưa được đặt tên. Vì vậy, bạn có thể thêm các quy tắc của riêng mình với mức độ ưu tiên cao hơn trong /etc/udev/rules.dđó đặt tên cho các giao diện theo cách riêng của bạn, sau đó ngăn hệ thống mặc định đặt tên cho các giao diện đó.

Tôi có tệp 70-wifi.rulestrong hệ thống của mình, đặt tên cho các giao diện theo mạng mà chúng được kết nối với:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0f:00:4a:c4:c9", NAME="wifi-root"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:19:86:31:dd:b7", NAME="wifi-main"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="38:2c:4a:48:27:49", NAME="wifi-local"

Nó được khóa bởi địa chỉ MAC của giao diện và kết quả là:

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 3c:d9:2b:73:ad:5d brd ff:ff:ff:ff:ff:ff
15: wifi-main: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:19:86:31:dd:b7 brd ff:ff:ff:ff:ff:ff
16: wifi-local: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 38:2c:4a:48:27:49 brd ff:ff:ff:ff:ff:ff
17: wifi-root: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:0f:00:4a:c4:c9 brd ff:ff:ff:ff:ff:ff

Bạn có thể đổi tên chúng thành wlan0, wlan1, v.v ... Cái hay của phương pháp này là bạn có được tên bạn muốn bạn được hưởng lợi từ việc đặt tên giao diện mạng tĩnh. Vì vậy, các giao diện sẽ luôn được đặt tên giống nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.