# udev troubles

## Gooberpatrol66

On boot I get this message:

error getting socket: Address family not supported by protocol

error initializing udev control socketerror initializing udev control socket

start-stop-daemon: failed to start '/usr/lib/systemd/systemd-udevd'

I've decided that I don't want systemd installed on my system, but udev requires/includes it. According to this thread, I can bypass this by installing eudev. However, my internet isn't working. I'm assuming that I can't get it working again without first fixing udev?

----------

## Hu

That depends on exactly why it is broken, but generally, no, you should be able to get online without a working udev.  You may need to figure out what a working udev would have done for you and instead do those steps by hand.  Please describe in more detail the symptoms that led you to state that your network is not working.  Is your interface up?  Does it have an IP address assigned?  Are your routes set properly?  Can you resolve names?  What happens when you try to connect to a machine on the Internet, such as the Gentoo homepage?

----------

## The Doctor

 *Quote:*   

> I've decided that I don't want systemd installed on my system, but udev requires/includes it. 

 Not yet. It may well do so in the future but speculating on that isn't constructive.

The best alternative is to fix whatever is wrong with your internet. The device manager shouldn't have anything to do with this. That is, of course, unless udev is playing with the names again.

Another alternative is to use sneakernet. use emerge -v --fetchonly eudev to get the Internet address. Naturally, it will fail without an Internet connection but  the address should be included in the output and then transfer the file via your media of choice to /usr/portage/distfiles.

----------

## Gooberpatrol66

Let's see here...

pinging my router returns 

 *Quote:*   

> connect: Network is unreachable

 

Dbus fails to start.

Metalog fails to start.

On boot I get this:

 *Quote:*   

> dhcpd[1999]: open_control: Address family not supported by protocol
> 
> dhcpd[1999]: version 5.6.4 starting
> 
> dhcpd[1999]: all: configured as a router, not a host
> ...

 

I'm assuming this has something to do with my network adapter being called 'eth0', since there was some sort of name change a while back.

 *Quote:*   

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

 

returns 'enp0s25'. Before today it never returned anything. I don't know why it suddenly started working.

I've followed all of the instructions from here that I can understand.

Edit: I misunderstood what you meant about the sneakernet stuff. I'll be back once I try putting the file there.

----------

## Hu

As I read it, your network interface has its proper name of eth0, but there is some problem that is causing dhcpcd to fail to acquire a lease.  You wrote dhcpd, but that makes no sense in this context, so I am assuming that is a transcription error.  If you know of a free address on the local network, you could manually configure eth0 so that your network is usable while you fix your dhcp setup.

----------

## desultory

 *The Doctor wrote:*   

> Another alternative is to use sneakernet. use emerge -v --fetchonly eudev to get the Internet address. Naturally, it will fail without an Internet connection but  the address should be included in the output and then transfer the file via your media of choice to /usr/portage/distfiles.

 You can use emerge -pvf eudev to get a list of URLs without having to wait for it to fail, complete with redundant sources collected onto single lines with whitespace separating the individual links.

----------

## Gooberpatrol66

Why do you say eth0 is the correct name? I thought this was changed.

http://wiki.gentoo.org/wiki/Udev/upgrade

----------

## Gooberpatrol66

So now when I run dhcpcd I get

 *Quote:*   

> dhcpcd[2253]: version 5.6.4 starting
> 
> dhcpcd[2253]: start_control: Address family not supported by protocol
> 
> dhcpcd[2253]: all: configured as a router, not a host
> ...

 

----------

## SamuliSuominen

 *Gooberpatrol66 wrote:*   

> On boot I get this message:
> 
> error getting socket: Address family not supported by protocol
> 
> error initializing udev control socketerror initializing udev control socket
> ...

 

That's not true, sys-fs/udev doesn't require sys-apps/systemd and never will, and sys-fs/udev only installs files required for running the udevd daemon, not other systemd daemons.

It's just a executable (filename).

But sure, if you use sys-libs/musl, sys-libs/uclibc, or want the old pre-udev-197 rule_generator back, then you can give sys-fs/eudev a try. Otherwise there is no point.

----------

## VoidMage

 *ssuominen wrote:*   

> That's not true, sys-fs/udev doesn't require sys-apps/systemd and never will...

 

Trolling here, but why are you so sure about the later part ?

----------

## SamuliSuominen

 *VoidMage wrote:*   

>  *ssuominen wrote:*   That's not true, sys-fs/udev doesn't require sys-apps/systemd and never will... 
> 
> Trolling here, but why are you so sure about the later part ?

 

- sys-apps/systemd has it's own copy of systemd-udevd, so what would be the point of having 2 systemd-udevd's in Portage for sys-apps/systemd?

- The sole purpose of sys-fs/udev is to provide udev implementation for non-systemd based systems, like sysvinit+OpenRC. As in, the purpose of sys-fs/udev is to not target any specific init system, but to provide a generic copy.

- I'm the maintainer of the ebuild.

- If there will be a situation in the future that it's no longer feasible to package sys-fs/udev because systemd-udevd stops working on non-systemd systems due to upstream changes, then sys-fs/udev will cease to exist altogether,

  and somekind of Portage news item will be issued with a migration path to alternative, like eudev, mdev, static /dev, or something that hasn't even been created yet.

  As in, the only fact we can know at this time, is the fact that sys-fs/udev ebuild will never force any specific init system.

I hope that made it clear.

----------

## Hu

 *Gooberpatrol66 wrote:*   

> Why do you say eth0 is the correct name? I thought this was changed.
> 
> http://wiki.gentoo.org/wiki/Udev/upgrade

 I assume it is the correct name since you said it was called that rather than being called wlan0, as it would be if you were using a wireless device.  The name families eth* and wlan* are the kernel default names for most Ethernet and wireless devices, respectively.  You are correct that, absent administrator action to counter it, modern udev tries to rename the interfaces.

----------

