As of recently, Ubuntu (well,
systemd) now uses something called Predictable Network Interface Names. Essentially, this means that non-permanent network interfaces (ie, USB interfaces) now have a name in the form of
wlx<MAC_ACCR> (or similar), so that any scripts and systems depending on that specific device will have 100% confidence that it's targeting the right device.
Other naming conventions will allow for the device to be referred to by physical location or any other form of permanently identifying value. Specifically, any of these values can be used to generate an interface name (with the best being chosen):
- Names incorporating Firmware/BIOS provided index numbers for on-board
- Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example:
- Names incorporating physical/geographical location of the connector of the hardware (example:
- Names incorporating the interfaces's MAC address (example:
- Classic, unpredictable kernel-native ethX naming (example:
In the past, interface names weren't assigned in a "sane" fashion -- some systems used pseudo-permanent names (
wlan1 for a device with this MAC), others assigned them on a first-come first-serve basis. If you still prefer this scheme of doing things (or just hate persistent names because
systemd is doing it), it's possible to reverse it by adding
net.ifnames=0 to your boot arguments.
You should still be able to fake the MAC address of the device by using the Connection Editor, but
hw ether will no longer work as the MAC address is a piece of the device's identifier/name.