# Udev update = broken system [solved]

## gentooP4

Hello,

I tried to follow the instructions in the news item  when doing my latest update, but it got quite confusing and I've managed to break my wireless connection. Apologies for being stupid, but I really don't understand what I'm supposed to be doing here. This is what I have done so far...

```
hayden@sicup /etc/udev/rules.d $ sudo 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]      2012-03-16  (2012-03-16-udev-181-unmasking - removed?)

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

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

  [10]     2012-11-06  PYTHON_TARGETS deployment

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

  [12]     2013-03-29  udev upgrade from 197 (or older) to 200 (or newer)

hayden@sicup /etc/udev/rules.d $ sudo eselect news read 12

2013-03-29-udev-upgrade

  Title                     udev upgrade from 197 (or older) to 200 (or newer)

  Author                    Samuli Suominen <ssuominen@gentoo.org>

  Posted                    2013-03-29

  Revision                  1

This will replace the earlier news item of udev 197 upgrade,

and describe the predictable networking names to more detail.

If you skip these four phases, either your system won't boot or

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. Removed init script:

Remove udev-postmount init script from runlevels.
```

didn't exist

```
2. DEVTMPFS support, both kernel and fstab:

CONFIG_DEVTMPFS=y kernel option must be enabled (and for that you need

at least kernel 2.6.32) see gentoo udev guide[1] for menuconfig

example.
```

done

```
If you have own line for /dev in /etc/fstab, make sure it's also

fstype 'devtmpfs' and not fstype 'tmpfs' or remove the entire line

since it's automounted without entry there anyway.
```

I have a lot of /dev/ entries - does this just refer to the "shm" line as it is the only one that has tmpfs? I canged it to devtmpfs

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

3. Old networking 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[1]

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 end of sys-fs/udev emerge.
```

I removed these files - maybe where I have gone wrong?!

```
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. The predictable network interface naming:

If /etc/udev/rules.d/80-net-name-slot.rules is a empty file, or if it's

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

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

and hardware configuration, and may vary by kernel version.

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

the new enabling of the new predictable interface names!

You can get attributes of your networking interfaces using following

example command (replace eth0 with your current interface name):

# 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 what attributes and in which order

gets used for naming. See upstream wiki[2] for detailed list

of options.

You can prepare the system this way for the new names before booting,

like renaming /etc/init.d/net.* symlinks.

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

commandline option.

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.

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.

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

but you can still keep using it if you want.
```

The rest of this I didn't really understand at all. 

So I rebooted and everything seems fine with the exception of the net.wlan0 interface not being able to be found. 

Does anyone know how I can fix this situation?

Many thanks

----------

## Hu

Since you have wireless, I assume you are on a laptop.  Further, I assume you do not have enough network cards for the "predictable network names" feature to do you any good, so you should just disable it.  According to section 4 of the news item you quoted, you should > /etc/udev/rules.d/80-net-name-slot.rules and then reboot.  That should disable the interface renaming rules and let you keep your traditional name of wlan0.

----------

## albright

 *Quote:*   

> > /etc/udev/rules.d/80-net-name-slot.rules

 

that worked for me

----------

## gentooP4

Thanks so much Hu, that worked a treat.  :Cool: 

----------

