You are not logged in.
hi,
Just reinstalled Arch Linux (I like to do this once in a while ), but during installation with the most recent iso, my wireless interface was named 'wlan0' while it used to be 'wlp1s0'.
Now I have an install script and during installation I have to use the 'wlan0' interface, but the script configures "wpa_supplicant" and "dhcpcd" with the current interface name. The problem: after reboot my interface was renamed to 'wlp1s0' so "wpa_supplicant" and "dhcpcd" needed to be reconfigured manually.
Is there a way to rename the interface during installation to 'wlp1s0'? Or maybe some other solution?
thx
Last edited by chrisdb (2020-01-01 14:56:24)
Failure is success in progress.
A.E.
Offline
The interface is called "wlan0" during installation, because the iso contains iwd. iwd is unable to cope with interface renaming, so the package disables that for wireless devices.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Online
The interface is called "wlan0" during installation, because the iso contains iwd. iwd is unable to cope with interface renaming, so the package disables that for wireless devices.
Strange, I did not have the same problem with previous installations....
What would be my best option then?
Failure is success in progress.
A.E.
Offline
It's not strange that you didn't have this problem with previous installations as previous isos didn't have iwd. Arch is a rolling release. If you don't want anything to ever change, you are using the wrong distro.
The best option is to not use poorly written install scripts that make faulty assumptions about the hardware.
Or an even better option would be to stop reinstalling. There should never be a need to reinstall.
Last edited by Trilby (2019-12-28 14:53:46)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
It's not strange that you didn't have this problem with previous installations as previous isos didn't have iwd.
Where can I find this info?
If you don't want anything to ever change, you are using the wrong distro.
I never said that.
Or an even better option would be to stop reinstalling. There should never be a need to reinstall.
Fair enough
Failure is success in progress.
A.E.
Offline
Trilby wrote:It's not strange that you didn't have this problem with previous installations as previous isos didn't have iwd.
Where can I find this info?
There is no special place to announce the archiso contents. The current package list is available in the archiso git repository:
https://git.archlinux.org/archiso.git/t … ges.x86_64
Is there a way to rename the interface during installation to 'wlp1s0'? Or maybe some other solution?
You could disable the renaming on the installed system as well or build the name based on the systemd rules:
https://github.com/systemd/systemd/blob … t_id.c#L20
Last edited by progandy (2019-12-28 16:55:35)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Online
chrisdb wrote:Trilby wrote:It's not strange that you didn't have this problem with previous installations as previous isos didn't have iwd.
Where can I find this info?
There is no special place to announce the archiso contents. The current package list is available in the archiso git repository:
https://git.archlinux.org/archiso.git/t … ges.x86_64Is there a way to rename the interface during installation to 'wlp1s0'? Or maybe some other solution?
You could disable the renaming on the installed system as well or build the name based on the systemd rules:
Thx for your reply progandy
I wonder though, if I would have noticed this during installation... Will the 'new' name be already visible during the arch-chroot step?
Failure is success in progress.
A.E.
Offline
I wonder though, if I would have noticed this during installation... Will the 'new' name be already visible during the arch-chroot step?
Just checked this and no, the new interface name is not yet available. The problem is I'm using 'dhcpcd' in combination with 'wpa_supplicant' and 'wpa_supplicant' requires an interface to be started (systemd) if I want a connection at boot.
From the wiki:
To enable wireless at boot, enable an instance of one of the above services on a particular wireless interface. For example, enable the wpa_supplicant@interface systemd unit.
At boot (systemd)
The wpa_supplicant package provides multiple systemd service files:
wpa_supplicant.service - uses D-Bus, recommended for NetworkManager users.
wpa_supplicant@interface.service - accepts the interface name as an argument and starts the wpa_supplicant daemon for this interface. It reads a /etc/wpa_supplicant/wpa_supplicant-interface.conf configuration file.
wpa_supplicant-nl80211@interface.service - also interface specific, but explicitly forces the nl80211 driver (see below). The configuration file path is /etc/wpa_supplicant/wpa_supplicant-nl80211-interface.conf.
wpa_supplicant-wired@interface.service - also interface specific, uses the wired driver. The configuration file path is /etc/wpa_supplicant/wpa_supplicant-wired-interface.conf.
How can I get around this without disabling the renaming ?
Last edited by chrisdb (2019-12-30 06:39:20)
Failure is success in progress.
A.E.
Offline
Just enable the service for what the name will be.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Just enable the service for what the name will be.
I know the wireless will be named 'wlp1s0', but is there a way to be certain (maybe the logic for naming can change in the near future)?
Could I get the future name by exploring the udevadm tool?
Last edited by chrisdb (2019-12-31 06:24:48)
Failure is success in progress.
A.E.
Offline
but is there a way to be certain (maybe the logic for naming can change in the near future)?
It has changed atleast once since persistant naming was introduced.
The only way i can think of to make sure the name is predictable forever is to use your own naming scheme and put that in custom udev rules.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Funny how "wlan0" hadn't changed for god knows how long. Then systemd came up with "better" and "persistent" names which occasionally change and now no one can predict.
I don't have a system with the renaming disabled to test this on, but the following may show the new name in the ID_NET_NAME_PATH field, or perhaps in the ID_NET_NAME_SLOT (as one two macines I have one uses the former and the other the latter):
udevadm test-builtin net_id /sys/class/net/wlan0
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Funny how "wlan0" hadn't changed for god knows how long. Then systemd came up with "better" and "persistent" names which occasionally change and now no one can predict.
I don't have a system with the renaming disabled to test this on, but the following may show the new name in the ID_NET_NAME_PATH field, or perhaps in the ID_NET_NAME_SLOT (as one two macines I have one uses the former and the other the latter):
udevadm test-builtin net_id /sys/class/net/wlan0
Thx that did the trick:
ID_NET_NAMING_SCHEME=v243
ID_NET_NAME_MAC=wlx646e69e577e7
ID_OUI_FROM_DATABASE=Liteon Technology Corporation
ID_NET_NAME_PATH=wlp1s0
So according to precedence I will have to take 'ID_NET_NAME_PATH'
Failure is success in progress.
A.E.
Offline