Bagaimana cara mengembalikan nama antarmuka wifi USB (dari wlxXXXXXXXXXXXX ke wlanX)?

9

Dengan Ubuntu 16.04 antarmuka USB wifi sekarang wlxXXXXXXXXXXXX di mana X adalah digit dari alamat mac perangkat (kebijakan nama antarmuka yang dapat diprediksi) Informasi lebih lanjut tentang ini dapat ditemukan di sini: systemd: PredictableNetworkInterfaceNames

sebenarnya semua penamaan antarmuka telah berubah tetapi saya dapat kembali ke cara mode lama (ethX untuk antarmuka ethernet, wlanX untuk kartu wifi inetrnal) memodifikasi / etc / default / grub seperti yang disarankan dalam posting ketiga dari thread ini mengubah nama antarmuka jaringan antarmuka ubuntu 16-04 Masalah saya adalah bahwa solusi ini tidak berfungsi untuk antarmuka USB dan saya masih memiliki nama panjang yang sangat mengganggu ini (saya sering menggunakan baris perintah untuk bermain dengan antarmuka wifi saya) masalah penamaan antarmuka

 So here is my question: 

Apa yang harus saya lakukan untuk menonaktifkan aturan baru ini untuk antarmuka wifi USB saya? Terima kasih atas saran Anda dan maafkan bahasa Inggris saya yang buruk. Sampai jumpa

kcdtv
sumber
Mengapa Anda ingin itu dinonaktifkan?
Kaz Wolfe
Karena saya menggunakan baris perintah untuk mengelola antarmuka USB wifi saya dan saya menggunakan skrip yang menggunakan nama lama. Daripada kita bisa berbicara berjam-jam tentang apa yang saya anggap sebagai antarmuka systemd yang sangat tidak berguna "kebijakan yang dapat diprediksi" tapi ... itu tidak benar-benar intinya di sini :)
kcdtv
Jika Anda memiliki skrip yang melakukan manajemen dan Anda menggunakan kartu yang sama, mengapa tidak mengubah skrip untuk menggunakan nama yang benar (dan lebih baik)? Dengan cara ini Anda akan selalu tahu yang mana Anda bekerja. Jika Anda selalu hanya menyambungkan dua kartu ini, buat skrip menemukan kartu lainnya dan pasang.
Kaz Wolfe
Tidak ada nama yang lebih baik ... saya tidak akan memasukkan pertimbangan yang lebih dalam tentang ini, itu benar-benar bukan intinya di sini, Anda menganggap mereka lebih baik tetapi Anda mungkin menggunakan sistem Anda dengan cara besar, saya menggunakannya dengan cara yang berbeda ... Saya sebenarnya punya banyak kartu ... tapi sebenarnya bukan itu intinya di sini ....
kcdtv
1
Skema penamaan baru menyebalkan. Sekarang kita perlu skrip terpisah ketika perangkat USB diubah - karena namanya, terikat ke alamat mac.
Nuklir

Jawaban:

9

Anda melewatkan satu hal dari https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

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

Kemudian reboot

Saya pikir itu perlu file 80-net-setup-link.rules di / etc / udev / sebagai laptop yang saya perbarui ke Ubuntu 16.04 dari 15.10 masih berisi file bernama /lib/udev/rules.d/73- usb-net-by-mac.rules dan isinya

# 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"

Dan itu menentukan /etc/udev/rules.d/80-net-setup-link.rules

File ini tidak ada di instalasi bersih saya dari Ubuntu 16.04 tetapi bagian dari ini harus ada di kode sumber lain

Jeremy31
sumber
1
Hai Jeremy31 dan terima kasih atas jawaban Anda
kcdtv
. Direktori /etc/udev/rules.d/ saya kosong. Saya memiliki 80-net-setup-link.rules di /lib/udev/rules.d . Saya melakukan hal yang sama dari yang disarankan dalam direktori ini tetapi perangkat wifi USB masih bernama dengan alamat mac. Saya akan mencoba mencari cara dan akan memperbarui ketika saya menemukan sesuatu ... terima kasih lagi
kcdtv
Lakukan saja ke /etc/udev/rules.d/80-net-setup-link.rules karena saya baru saja memeriksa mesin ubuntu 16.04 saya dan memasukkan perangkat wifi USB yang lebih lama menunjukkannya sebagai wlan1 di iwconfig. Saya tidak yakin mengapa net.ifnames = 0 dalam file grub tidak cukup untuk mencegah perubahan perangkat USB
Jeremy31
Berhasil! Saya menyalin aturan 80 dari /lib/udev/rules.d ke /etc/udev/rules.d . Daripada saya menggandakannya di direktori ini, menamainya 80-net-setup-link.rules.bak . Dan saya akhirnya membuat symlink ke / dev / null_. Setelah reboot kartu USB WiFi saya tidak muncul sekarang sebagai antarmuka " wlan1 ". Terima kasih banyak! :)
kcdtv
2

Catatan untuk mereka yang mencari kasus penggunaan serupa:

Saya punya masalah dengan driver dongle USB WiFi yang tidak dapat mengautentikasi karena nama antarmuka yang agak panjang di Debian (stretch).

Langkah-langkah untuk resolusi:

  1. disalin /lib/udev/rules.d/80-net-setup-link.ruleske/etc/udev/rules.d/

  2. diubah $env{ID_NET_NAME}menjadi$env{ID_NET_SLOT}

Ini mempertahankan keunikan nama antarmuka sambil memperpendeknya.

Pembaruan: Sepertinya ini bukan lagi masalah Debian 10.

Code Maverick
sumber
0

Saya memiliki ubuntu studio dan memiliki masalah yang sama: nama wlxxxxx yang panjang DAN wifi terhubung tetapi TIDAK BEKERJA!

Studio Ubuntu memiliki kernel latensi rendah khusus dan saya menduga bahwa nama panjang bisa menjadi masalah.

Jadi, saya ganti namanya menjadi wlan0 yang terinspirasi oleh utas ini. Saya melakukan yang berikut:

1) menyalin /lib/udev/rules.d/80-net-setup-link.rules ke folder /etc/udev/rules.d/

2) mengedit nama di sana. Dalam kasus saya ada garis: NAME == "", ENV {ID_NET_NAME}! = "", NAME = "$ env {ID_NET_NAME}"

Saya hanya meletakkan "wlan0" alih-alih "$ env {ID_NET_NAME}".

Dan sekarang wifi BEKERJA!

GR

mchrgr2000
sumber
0

Alih-alih sepenuhnya menonaktifkan penggantian nama, Anda dapat menimpanya untuk memberikan antarmuka Anda nama kustom Anda sendiri. Itu membuat penamaan statis, tetapi memberi Anda nama yang dapat Anda ingat dan ketik.

Sistem penamaan yang ada ( /lib/udev/rules.d/80-net-setup-link.rules) hanya mengubah nama antarmuka jika belum diberi nama. Jadi, Anda dapat menambahkan aturan Anda sendiri pada prioritas yang lebih tinggi di /etc/udev/rules.dmana menamai antarmuka dengan cara Anda sendiri, yang kemudian menghentikan sistem default dari penamaan antarmuka tersebut.

Saya memiliki file 70-wifi.rulesdi sistem saya yang menamai antarmuka sesuai dengan jaringan yang terhubung:

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"

Itu dikunci oleh alamat MAC antarmuka, dan menghasilkan:

$ 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

Anda dapat mengubah nama mereka wlan0, wlan1, dll. Keindahan metode ini adalah Anda mendapatkan nama yang Anda inginkan, dan Anda mendapat manfaat dari penamaan antarmuka jaringan statis. Jadi antarmuka akan selalu dinamai hal yang sama.

Majenko
sumber