My RaspberryPi 3 running Raspbian Jessie ignores my static ip configuration of adapter wlan1 (USB WiFi) in /etc/dhcpcd.conf. (At the moment it's physically not possible for me to test wlan0 and eth0.)

Most people seem to have problems with static IP, because they try to configure their network the old way, by editing /etc/network/interfaces. I'm aware of the fact that DHCPCD is the current way to setup your network.

However, as said above, it doesn't work. My Raspberry gets assigned an IP by the DHCP server.

To be sure it's not a problem caused by some kind of IP cache I changed the DHCP servers address range and my Raspberry immediately got a new IP.


# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.

# Use the hardware address of the interface for the Client ID.
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.

# Persist interface configuration when dhcpcd exits.

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU.
# Some interface drivers reset when changing the MTU so disabled by default.
#option interface_mtu

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private

# A hook script is provided to lookup the hostname if not set by the DHCP
# server, but it should not be run by default.
nohook lookup-hostname

interface eth0
static ip_address=
static routers=
static domain_name_servers=

interface wlan1
static ip_address=
static routers=
static domain_name_servers=

timeout 30

Yes, i know, you have to set the adpaters to "manual" /etc/network/interfaces, this is my file content:


# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto wlan0

auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
        wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

I checked if the DHCP address has been assigned additionally to the static address, but no:

pi@raspberrypi:~ $ ip -o addr
1: lo    inet scope host lo\       valid_lft forever preferred_lft forever
1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever
2: eth0    inet6 fe80::ba27:ebff:fe84:e331/64 scope link tentative \       valid_lft forever preferred_lft forever
3: wlan0    inet6 fe80::2605:fff:fe9a:5dcb/64 scope link tentative \       valid_lft forever preferred_lft forever
4: wlan1    inet brd scope global wlan1\       valid_lft forever preferred_lft forever
4: wlan1    inet6 fe80::ba27:ebff:fed1:b664/64 scope link \       valid_lft forever preferred_lft forever

Since I made those configurations I tried multiple things to re-initialize the network modules and adapters multiple times. Here are some commands, I played around with, but not in the same order:

sudo ip addr flush dev wlan1
sudo service dhcpcd restart
sudo service networking restart
sudo ifdown wlan1
sudo ifup wlan1
sudo reboot
sudo systemctl enable dhcpcd
sudo systemctl daemon-reload

Now an interesting fact: I have two other RaspberryPi's with almost the same confiuguration. Their SD cards were written with the same image file not long ago. Of course I set a different IP address for each. Surprisingly one of them works as expected, whereas two of them have the problem described in this question.

What is wrong?


Here is something I noticed a few minutes ago. In the network GUI the interface "wlan1" appears multiple times. One with dynamic and one with static IP. However, I can't see multiple interfaces when calling ifconfig -a or netstat -i or ip link show. They are only appearing in the GUI:

Network settings GUI

  • You appear to have fiddled with /etc/network/interfaces. Why do you think you have wlan1? (Not to mention the strange fixation Pi users seem to have with static IP addresses) See How do I set up networking/WiFi/Static IP – Milliways Jun 15 '17 at 12:15
  • 1
    Please see the first sentence of my question. I have an USB WiFi adapter wlan1, because I cannot use the internal WiFi adapter wlan0 due to the need of an external antenna. – fishbone Jun 15 '17 at 12:35
  • But there is no guarantee that wlan1 will be assigned to any specific hardware. This is possible with udev rules. – Milliways Jun 15 '17 at 12:41
  • 1
    But there are no udev rules for the working Raspberry. No matter how often I reboot, the results remain equal – fishbone Jun 15 '17 at 12:59
  • This is best achieved by disabling the onboard wifi (unless you need to use both?) – Charemer May 31 '18 at 10:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.