# Missing Ethernet device after udev upgrade

## dolohow

I'm missing my wired device after upgrade to udev-200:

```
ls /sys/class/net/

enp1s0/ lo/     sit0/   wlp2s6/
```

```
ifconfig 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        RX packets 376  bytes 26752 (26.1 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 376  bytes 26752 (26.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp2s6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.142  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::206:4fff:fe82:4e1d  prefixlen 64  scopeid 0x20<link>

        ether 00:06:4f:82:4e:1d  txqueuelen 1000  (Ethernet)

        RX packets 3880  bytes 2075043 (1.9 MiB)

        RX errors 0  dropped 20  overruns 0  frame 0

        TX packets 3942  bytes 1093946 (1.0 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

```
lo        no wireless extensions.

wlp2s6    IEEE 802.11bg  ESSID:""  

          Mode:Managed  Frequency:2.437 GHz  Access Point:

          Bit Rate=24 Mb/s   Tx-Power=20 dBm   

          Retry  long limit:7   RTS thr:off   Fragment thr:off

          Encryption key:off

          Power Management:off

          Link Quality=35/100  Signal level=35/100  

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:1  Invalid misc:0   Missed beacon:0

enp1s0    no wireless extensions.

sit0      no wireless extensions.
```

wlp2s6 is wireless, what about enp1s0 is that my wired device?

I haven't checked that before udev restart because I mainly using wireless on my desktop.

And I also have a question what is the purpose of changing the name of devcies to such "difficult"?

----------

## Jaglover

eselect news read

Didn't portage warn you there are news to be read?

----------

## dolohow

There was nothing about missing devices in ifconfig

----------

## DaggyStyle

have you even bothered to check the forums? https://forums.gentoo.org/viewtopic-t-950366-start-0.html

moreover:

```
dagg@NCC-5001-D ~ $ eselect news list

News items:

  [1]      2009-04-18  Generation 1 Java Setup Deprecated

  [2]      2009-07-02  (2009-07-02-kdeprefix+monolithics - removed?)

  [3]      2010-03-25  Python 3.1

  [4]      2010-08-01  (2010-08-01-as-needed-default - removed?)

  [5]      2011-05-22  (2011-05-22-kdeprefix - removed?)

  [6]      2011-08-28  Mesa r600 driver now defaults to gallium

  [7]      2011-10-15  Upgrade to libpng15

  [8]      2012-03-16  (2012-03-16-udev-181-unmasking - removed?)

  [9]      2012-05-21  Portage config-protect-if-modified default

  [10]     2012-09-09  make.conf and make.profile move

  [11]     2012-11-06  PYTHON_TARGETS deployment

  [12]     2013-01-23  (2013-01-23-udev-upgrade - removed?)

  [13]     2013-03-29  Upgrading udev to version >=200

dagg@NCC-5001-D ~ $ eselect news read 13

2013-03-29-udev-upgrade

  Title                     Upgrading udev to version >=200

  Author                    Samuli Suominen <ssuominen@gentoo.org>

  Posted                    2013-03-29

  Revision                  2

This replaces the earlier news item about the udev 197 upgrade and

describes the predictable network interface names in more detail.

If you skip anything in this news item, your system will not be

bootable, or your networking will be down, or both.

Pay attention also to every message printed by emerge of sys-fs/udev

and sys-fs/udev-init-scripts as this news item may not be complete.

1. udev-postmount init script:

Remove the udev-postmount init script from your runlevels.

2. devtmpfs support:                                                                                                            

                                                                                                                                

You need at least version 2.6.32 of the kernel for devtmpfs                                                                     

functionality. Once you have this, make sure CONFIG_DEVTMPFS=y is set                                                           

in the kernel configuration. See the gentoo udev guide for the option in                                                        

make menuconfig [1].                                                                                                            

                                                                                                                                

If you have a line for /dev in /etc/fstab, make sure it is configured                                                           

for file system type devtmpfs (not tmpfs or any other type). Also, you                                                          

can remove this line if you prefer, since devtmpfs is mounted                                                                   

automatically.                                                                                                                  

                                                                                                                                

3. Old interface naming rules:

If the system still has old network interface renaming rules in

/etc/udev/rules.d, like 70-persistent-net.rules, those will need

to be either modified or removed.

If you choose to modify them, you must use free namespace (like net*

or internet*) instead of kernel namespace (like eth* or wlan*)

because in-place renaming has been deprecated, see small

documentation of it if you like[2].

The file 70-persistent-net.rules, like the 70-persistent-cd.rules

should be removed, so if you modify, rename the file also to something

else like 70-my-network.rules to silence the deprecation warning coming

from the end of the sys-fs/udev emerge.

This is the old format with reserved namespace:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy", NAME="eth1"

This is the new format with free namespace:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="net0"

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy", NAME="net1"

4. predictable network interface names:

If /etc/udev/rules.d/80-net-name-slot.rules is an empty file or a

symlink to /dev/null, the new names will be disabled and the kernel will

do all the interface naming, and the resulting names may vary by kernel

configuration, hardware configuration and kernel version.

Also, the forementioned old 70-persistent-net.rules might interfere with

the new predictable interface names.

You can get attributes of your network interfaces using a command like

the following (replace eth0 with the name of the appropriate interface):

# udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null

You can copy /lib/udev/rules.d/80-net-name-slot.rules to

/etc/udev/rules.d and specify the attributes and in which order

they will be used for naming. See upstream wiki[3] for detailed list

of options.

You can prepare the system for the new names before booting for example

by renaming /etc/init.d/net.* symlinks, editing /etc/conf.d/net, etc.

The feature can also be completely disabled using net.ifnames=0on the

kernel command line.

If you only have one interface card, you don't necessarily have much

use for this feature as the name almost always stays at eth0, you can

easily disable it using forementioned methods.

This feature can also replace the functionality of sys-apps/biosdevname,

but you can still keep using it if you want.

In a normal new installation there are no files in /etc/udev/rules.d

and if you haven't edited any files you have in there, you should most

likely backup and delete them all if they don't belong to any packages.

The official wiki has a dedicated page for udev upgrade notes[4].

[1] http://www.gentoo.org/doc/en/udev-guide.xml

[2] http://www.kernel.org/doc/htmldocs/device-drivers/API-device-rename.html

[3] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames

[4] http://wiki.gentoo.org/wiki/Udev/upgrade

```

----------

## Prenj

 *DaggyStyle wrote:*   

> have you even bothered to check the forums? https://forums.gentoo.org/viewtopic-t-950366-start-0.html
> 
> 

 

Have maintainers even bothered to make it work? It breaks all kinds of things, sshd among them.

----------

## DaggyStyle

 *Prenj wrote:*   

>  *DaggyStyle wrote:*   have you even bothered to check the forums? https://forums.gentoo.org/viewtopic-t-950366-start-0.html
> 
>  
> 
> Have maintainers even bothered to make it work? It breaks all kinds of things, sshd among them.

 

to revert it, just delete the right file, it is written in the news and at that link.

----------

