# Why is NetworkManager so broken?

## Princess Nell

Apologies for returning to this frustrating topic. Previous treatment at https://forums.gentoo.org/viewtopic-t-913510-highlight-networkmanager+inactive.html.

tcpdump shows dhcp/bootp traffic about 7s after starting NM. The dhcp exchange as logged on the server - DHCPDISCOVER DHCPOFFER DHCPREQUEST DHCPACK - completes in under 1s, tcpdump on the client indicates a few milliseconds. Yet, 4s later, the interface is still not up and NM is "inactive", network services are delayed. WTH is taking so long?

The very concept behind INACTIVE_TIMEOUT is wrong. It has no place in a dependency based init system like openrc.

----------

## ce110ut

can you share your rc-status?

```

# rc-status

```

This might be a simple case of placing your net services in the 'boot' phase, where it runs before NetworkManager.

----------

## wswartzendruber

Have they fixed DHCPv6 support yet?

----------

## Princess Nell

```

# rc-status 

Runlevel: default

 hdparm                                                            [  started  ]

 dbus                                                              [  started  ]

 bluetooth                                                         [  started  ]

 udev-postmount                                                    [  started  ]

 syslog-ng                                                         [  started  ]

 acpid                                                             [  started  ]

 iptables                                                          [  started  ]

 NetworkManager                                                    [  started  ]

 net.lo                                                            [  started  ]

 lm_sensors                                                        [  started  ]

 gkrellmd                                                          [  started  ]

 hotplug                                                           [  started  ]

 consolekit                                                        [  started  ]

 dnsmasq                                                           [  started  ]

 netmount                                                          [  started  ]

 gpm                                                               [  started  ]

 xdm                                                               [  started  ]

 cpufreqd                                                          [  started  ]

 dhcdbd                                                            [  started  ]

 ntpd                                                              [  started  ]

 privoxy                                                           [  started  ]

 sshd                                                              [  started  ]

 tor                                                               [  started  ]

 vixie-cron                                                        [  started  ]

 local                                                             [  started  ]

Dynamic Runlevel: hotplugged

Dynamic Runlevel: needed

 udev-mount                                                        [  started  ]

 sysfs                                                             [  started  ]

Dynamic Runlevel: manual

# 

```

----------

## ce110ut

Now, can you share your rc config list?

```

# rc-config list

```

----------

## Princess Nell

```

# rc-config list

Available init scripts

  NetworkManager            default

  acpid                     default

  alsasound                 boot

  apmd                      

  avahi-daemon              

  avahi-dnsconfd            

  bluetooth                 default

  bootmisc                  boot

  clamd                     

  consolefont               boot

  consolekit                default

  cpufreqd                  default

  cpufrequtils              

  crypto-loop               

  cupsd                     

  dbus                      default

  deluged                   

  devfs                     sysinit

  device-mapper             boot

  dhcdbd                    default

  dhcpcd                    

  dhcpd                     

  dhcrelay                  

  dmcrypt                   boot

  dmesg                     sysinit

  dmeventd                  

  dnsmasq                   default

  fancontrol                

  fetchmail                 

  fsck                      boot

  fuse                      

  git-daemon                

  gkrellmd                  default

  gpm                       default

  hdparm                    default

  hibernate-cleanup         boot

  hostname                  boot

  hotplug                   default

  hwclock                   boot

  iperf                     

  ipsec                     

  iptables                  default

  keymaps                   boot

  killprocs                 shutdown

  kismet                    

  laptop_mode               

  lm_sensors                default

  local                     default

  localmount                boot

  lvm                       boot

  lvm-monitoring            

  modules                   boot

  mount-ro                  shutdown

  mtab                      boot

  net.eth0                  

  net.lo                    boot

  net.wlan0                 

  netmount                  default

  network                   

  nscd                      

  ntp-client                

  ntpd                      default

  numlock                   

  pciparm                   

  pcscd                     

  pktcdvd                   

  privoxy                   default

  procfs                    boot

  pydoc-2.7                 

  pydoc-3.2                 

  rfcomm                    

  root                      boot

  rsyncd                    

  samba                     

  savecache                 shutdown

  smartd                    

  snmpd                     

  snmptrapd                 

  sshd                      default

  staticroute               

  svnserve                  

  swap                      boot

  swclock                   

  sysctl                    boot

  sysfs                     

  syslog-ng                 default

  termencoding              boot

  timidity                  

  tor                       default

  twistd                    

  udev                      sysinit

  udev-mount                

  udev-postmount            default

  urandom                   boot

  vixie-cron                default

  vpnc                      

  wpa_supplicant            

  xdm                       default

  xdm-setup                 

# 

```

----------

## ce110ut

Excellent.

You'll want to move dhcpcd, net.eth0 and net.wlan0 into 'boot' priority, such that when NetworkManager runs (at a later priority, 'default'), everything should be up.

```

# rc-update add dhcpcd boot

# rc-update add net.eth0 boot

# rc-update add net.wlan0 boot

```

Try that and the next time you [re]boot, you should see that your interfaces come up (if everything on the network side is correct) come up before NetworkManager runs.

Let us know how it goes.

----------

## Princess Nell

I don't have net.* devices in any runlevel, except net.lo. Trying to remember why that is so ... yes, here it is: http://en.gentoo-wiki.com/wiki/NetworkManager:

 *Quote:*   

> 
> 
> You will also need to block OpenRC from attempting to automatically initialize your network interfaces. This can be done by modifying /etc/rc.conf:
> 
> Code: /etc/rc.conf
> ...

 

----------

