Hello

We've been using BBB's for a long time now and our configuration have been 
quite dependent on interface naming - since the dongles tend to be swapped 
around and when they die we need to be able to quick replace the dongle 
with new ones. In the Ubuntu 14.04 image everything works as we have 
experienced since the 12.04 image.

Ubuntu 14.04:
Udev: 204-5ubuntu20.15
Kernel: 4.1.15-ti-rt-r40

Ubuntu 16.04:
Udev 229-4ubuntu5 
Kernel: 4.4.9-ti-r25

In 16.04 the device names get named eth0, usb0, and the 
wireless wlx100d7fb73f66 - 

The documentation suggest the following to add the following to cmdline :
net.ifnames=0 biosdevname=0

By adding these to /boot/uEnv.txt one can clearly see it's added:
[    0.000000] Kernel command line: console=ttyO0,115200n8 
root=UUID=b32c4e38-221c-4cf5-b6c5-71ce64770caa ro rootfstype=ext4 rootwait 
coherent_pool=1M quiet cape_universal=enable net.ifnames=0 biosdevname=0

But this does not change the outcome.

Also the old way of :
echo -n > /etc/udev/rules.d/70-persistent-net.rules
echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules

Does not work either.

>From 
>https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

I find that this were changed in udev 197 - but this did not happen in 
14.04 which also had an newer udev.

With systemd 197 we have added native support for a number of different 
naming policies into systemd/udevd proper and made a scheme similar to 
biosdevname's (but generally more powerful, and closer to kernel-internal 
device identification schemes) the default. The following different naming 
schemes for network interfaces are now supported by udev natively:

   1. Names incorporating Firmware/BIOS provided index numbers for on-board 
   devices (example: eno1)
   2. Names incorporating Firmware/BIOS provided PCI Express hotplug slot 
   index numbers (example: ens1)
   3. Names incorporating physical/geographical location of the connector 
   of the hardware (example: enp2s0)
   4. Names incorporating the interfaces's MAC address (example: 
   enx78e7d1ea46da)
   5. Classic, unpredictable kernel-native ethX naming (example: eth0)

By default, systemd v197 will now name interfaces following policy 1) if 
that information from the firmware is applicable and available, falling 
back to 2) if that information from the firmware is applicable and 
available, falling back to 3) if applicable, falling back to 5) in all 
other cases. Policy 4) is not used by default, but is available if the user 
chooses so.

So from my understanding policy 4 would usually not be on. So why does it 
kick in for the wireless on Ubuntu 16.04?


Br

Arnvid


-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/1dadbef4-f4a2-4739-a052-9fca029af6c0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to