netbirdio/netbird · error

device is not ready yet

Error message

device is not ready yet

What it means

Error "device is not ready yet" thrown in netbirdio/netbird.

Source

Thrown at client/iface/device/device_kernel_unix.go:86

		return nil, fmt.Errorf("set mtu: %w", err)
	}

	configurer := configurer.NewKernelConfigurer(t.name)

	if err := configurer.ConfigureInterface(t.key, t.wgPort); err != nil {
		return nil, fmt.Errorf("error configuring interface: %s", err)
	}

	return configurer, nil
}

func (t *TunKernelDevice) Up() (*udpmux.UniversalUDPMuxDefault, error) {
	if t.udpMux != nil {
		return t.udpMux, nil
	}

	if t.link == nil {
		return nil, fmt.Errorf("device is not ready yet")
	}

	log.Debugf("bringing up interface: %s", t.name)

	if err := t.link.up(); err != nil {
		log.Errorf("error bringing up interface: %s", t.name)

		return nil, err
	}

	rawSock, err := sharedsock.Listen(t.wgPort, sharedsock.NewIncomingSTUNFilter(), t.mtu)
	if err != nil {
		return nil, err
	}

	bindParams := udpmux.UniversalUDPMuxParams{
		UDPConn:   nbnet.WrapPacketConn(rawSock),
		Net:       t.transportNet,

View on GitHub (pinned to 93e97f4bf1)

When it happens

Trigger: Thrown at client/iface/device/device_kernel_unix.go:86 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of netbirdio/netbird@93e97f4bf1 (2026-08-16). Data as JSON: /api/errors/b32ac8b2448009cd. Report an issue: GitHub.