Finally, I got some free time to update Raspbian Jessie to Raspbian Stretch on my Raspberry Pi. Following initial advice, I started from scratch, therefore, everything had to be set as well. I mentioned the Raspbian Stretch network interface name changes in my post, but frankly speaking, I assumed that by default, Raspbian would keep the old names for the sake of the scripts. I was wrong.




Raspbian Stretch network interface name changes

If you check your network interfaces on a new installation of Raspbian Stretch

ifconfig

instead of the familiar  eth0, eth1… & wlan0, wlan1… you will find a new (and bizarre at first) name. It will be something like this: enxb827es19aa14 (I modified mine for security reasons).




The Raspbian Stretch network interface name is generated from your MAC address for that interface and it’s no longer easy to guess. While this was done to please the enterprise Linux users and their behemoth alike setups, it’s game breaking for many of us – Raspberry Pi users. Each time a piece of code would refer to the interface by eth0/wlan0 – it fails miserably on the new Raspbian Stretch.

Solution

The best solution to this is to disable the Raspbian Stretch network interface name changes at the boot level. You can do this by removing the SD card and adding this line to the cmdline.txt file:

net.ifnames=0

This will disable the new way of naming things and restore the old settings. You don’t have to reinstall the Stretch again. The changes will apply after the next reboot.

If your scripts are not working after the new update consider either changing the cmdline.txt, or look up your new interface name and update the relevant files by replacing each instance of the wlan/eth with a new name. I wrote this, as it is easier to reference the changes in my older tutorials than writing instructions for each previously created page.
Feel free to follow me on social media as it helps me grow, share it, and comment if you need any advice. You can also support me, and fund my projects directly.

SHARE