Як повернути ім'я інтерфейсу USB Wi-Fi (від wlxXXXXXXXXXXXX до wlanX)?


9

З Ubuntu 16.04 інтерфейс USB-інтерфейсу тепер є wlxXXXXXXXXXXXXX, де X - цифри адреси mac-адреси пристрою (політика передбачуваного імені інтерфейсу). Більше інформації про це можна знайти тут: systemd: PredictableNetworkInterfaceNames

насправді все іменоване інтерфейс змінився, але я зміг повернутися до старого способу моди (ethX для інтерфейсу Ethernet, wlanX для inetrnal wifi карти), змінивши / etc / default / grub, як було запропоновано в третьому дописі цього потоку, змінюючи назву мережевих інтерфейсів ubuntu 16-04 Моя проблема полягає в тому, що це рішення не працює для інтерфейсів USB, і я все ще маю це дуже дратівливе довге ім'я (я використовую командний рядок дуже багато, щоб грати з моїми інтерфейсами Wi-Fi) Проблема іменного інтерфейсу

 So here is my question: 

Що мені робити, щоб відключити ці нові правила для мого USB-інтерфейсу Wi-Fi? Дякую за поради та вибачте за мою погану англійську. До побачення


Чому ви хочете його відключити?
Каз Вулф

Тому що я використовую командний рядок, щоб керувати своїм інтерфейсом Wi-Fi USB, і я використовую сценарії, які використовують старі імена. Чим ми могли б говорити годинами про те, що я вважаю дуже марним системним інтерфейсом "передбачуваною політикою", але ... це не зовсім справа тут :)
kcdtv

Якщо у вас є сценарії, які управляють, і ви використовуєте ту саму карту, чому б просто не змінити сценарії на правильні (і кращі) імена? Таким чином ви завжди будете знати, з ким працюєте. Якщо у вас завжди підключені лише ці дві карти, змусьте скрипт знайти іншу карту і налаштувати її.
Каз Вулф

Немає кращих імен ... Я не буду вступати в більш глибокі міркування з цього приводу, це дійсно не сенс у цьому, ви вважаєте, що вони кращі, але ви можете використовувати вашу систему ia так, я використовую її по-іншому ... Я насправді багато карт ... але насправді це не сенс тут ....
kcdtv

1
Нова схема називання відстій. Тепер нам потрібен окремий скрипт при зміні пристрою USB - через ім’я, прив’язане до mac-адреси.
Ядерна

Відповіді:


9

Ви пропустили одне з https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

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

Потім перезавантажте

Я думаю, що це повинен бути файл 80-net-setup-link.rules в / etc / udev /, оскільки один ноутбук, який я оновив до Ubuntu 16.04 з 15.10, все ще містив файл з іменем /lib/udev/rules.d/73- usb-net-by-mac.rules і він містив

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

І він вказує /etc/udev/rules.d/80-net-setup-link.rules

Цей файл не існує в жодній моїй чистій установці Ubuntu 16.04, але частина цього повинна існувати в іншому вихідному коді


1
Привіт Jeremy31 і дякую за те, що ти відповів
kcdtv

. Мій каталог /etc/udev/rules.d/ порожній. У мене є 80-net-setup-link.rules в /lib/udev/rules.d . Я зробив те саме, що пропонувалося в цьому каталозі, але USB-пристрій USB все ще названо з mac-адресою. Я спробую знайти спосіб, і я б оновив, коли знайду щось ... ще раз дякую
kcdtv

Просто зробіть це на /etc/udev/rules.d/80-net-setup-link.rules, оскільки я щойно перевірив свою машину ubuntu 16.04 і підключення до більш старого USB-пристрою USB показує, що це wlan1 в iwconfig. Я не впевнений, чому net.ifnames = 0 у файлі grub недостатньо, щоб він не міняв USB-пристрої
Jeremy31,

Це спрацювало! Я скопіював правило 80 з /lib/udev/rules.d в /etc/udev/rules.d . Чим я скопіював це в цьому каталозі, перейменувавши його на 80-net-setup-link.rules.bak . І я , нарешті , створив символічну к / DEV / null_. Після перезавантаження моя USB-карта Wi-Fi тепер не відображається як " wlan1 " інтерфейс. Дуже дякую! :)
kcdtv

2

Примітка для тих, хто шукає аналогічний кейс:

У мене виникла проблема з драйвером USB WiFi dongle, який не міг пройти автентифікацію через досить довге ім'я інтерфейсу в Debian (розтягнення).

Кроки для вирішення:

  1. скопійовано /lib/udev/rules.d/80-net-setup-link.rulesв/etc/udev/rules.d/

  2. змінено $env{ID_NET_NAME}на$env{ID_NET_SLOT}

Це підтримувало унікальність імені інтерфейсу, скорочуючи його.

Оновлення: це більше не видається проблемою для Debian 10.


0

У мене є студія ubuntu, і у мене була та сама проблема: довге ім'я wlxxxxx І підключений wifi, але НЕ ПРАЦЮЄ!

У студії Ubuntu є спеціальне ядро ​​з низькою затримкою, і я підозрював, що довге ім'я може бути проблемою.

Отже, я перейменую його на wlan0, натхненний цією ниткою. Я зробив наступне:

1) скопіював /lib/udev/rules.d/80-net-setup-link.rules у папку /etc/udev/rules.d/

2) редагував там ім’я. У моєму випадку був рядок: NAME == "", ENV {ID_NET_NAME}! = "", NAME = "$ env {ID_NET_NAME}"

Я просто ставлю "wlan0" замість "$ env {ID_NET_NAME}".

А тепер wifi ПРАЦЮЄ!

ГР


0

Замість того, щоб повністю відключити перейменування, ви можете замінити його, щоб надати своїм інтерфейсам власні власні імена. Це зберігає статичну назву, але дає вам ім’я, яке ви можете запам'ятати та ввести.

Існуюча система імен ( /lib/udev/rules.d/80-net-setup-link.rules) перейменовує інтерфейс лише тоді, коли йому вже не було надано ім'я. Таким чином, ви можете додати свої власні правила з більш високим пріоритетом, в /etc/udev/rules.dякому імена інтерфейсів по-своєму, що потім зупиняє систему за замовчуванням не називати ці інтерфейси.

У 70-wifi.rulesмоїй системі є файл, який називає інтерфейси відповідно до мережі, до якої вони підключені:

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"

Він вводиться MAC-адресою інтерфейсу і призводить до:

$ 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

Ви можете перейменувати їх у wlan0, wlan1 і т. Д. Краса цього методу полягає в тому, що ви отримуєте потрібні імена та отримуєте вигоду від статичного іменного мережевого інтерфейсу. Тож інтерфейси завжди будуть називатися одним і тим же.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.