Here’s the info on what I am doing.
- My MacBook Air is on wifi with a 192.168.1.x address
- I tether to my laptop using the ethernet cable (plugged into my my display port) and am able to ping dex.local and log into dex.local via my browser.
For example:
$ ping dex.local
PING dex.local (169.254.57.217): 56 data bytes
Request timeout for icmp_seq 0
64 bytes from 169.254.57.217: icmp_seq=1 ttl=64 time=0.522 ms
64 bytes from 169.254.57.217: icmp_seq=2 ttl=64 time=0.528 ms
64 bytes from 169.254.57.217: icmp_seq=3 ttl=64 time=0.600 ms
64 bytes from 169.254.57.217: icmp_seq=4 ttl=64 time=0.641 ms
64 bytes from 169.254.57.217: icmp_seq=5 ttl=64 time=0.527 ms
^C
-
I use VNC to log into the device
-
I run wifi setup
-
I find my wireless network and configure it.
-
When I connect to my wireless network, it seems to successfully connect with a status of “Completed (station)” but the IP address it gets back is a 169.x.x.x address.
Here is my ifconfig output after that:
pi@dex ~ $ ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:0d:6a:4a
inet addr:169.254.57.217 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2809 errors:0 dropped:0 overruns:0 frame:0
TX packets:2752 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:202563 (197.8 KiB) TX bytes:1494696 (1.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:3618 errors:0 dropped:0 overruns:0 frame:0
TX packets:3618 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1169144 (1.1 MiB) TX bytes:1169144 (1.1 MiB)
wlan0 Link encap:Ethernet HWaddr e8:4e:06:2b:bb:d1
inet addr:169.254.186.245 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:259 errors:0 dropped:267 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:372706 (363.9 KiB) TX bytes:21354 (20.8 KiB)
You can see the 169.x.x.x addresses on both eth0 (expected) and wlan0 (unexpected).
Here is the output from iwconfig:
$ iwconfig
wlan0 IEEE 802.11bgn ESSID:“erichard_network” Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.437 GHz Access Point: D0:03:4B:62:AA:2C
Bit Rate:54 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=99/100 Signal level=61/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
If I go into my router (a Linksys LRT214) I can see in the DHCP status that this is showing as having an address of 169.254.186.245.
Just for hahas, I put a static binding in my router between the MAC address (e8:4e:06:2b:bb:d1) and a routable IP address, hit “disconnect” and then re-established the connection. It still came up with a 169 address.
I’m not exactly sure if this is the right command to run, but I ssh’ed into the device and ran the following to see if I could get more info:
$ sudo dhcpcd -T wlan0
dhcpcd[4007]: version 6.7.1 starting
dhcpcd[4007]: all: IPv6 kernel autoconf disabled
dhcpcd[4007]: wlan0: IPv6 kernel autoconf disabled
dhcpcd[4007]: wlan0: adding address fe80::c03b:8500:46f1:c4d0
dhcpcd[4007]: if_addaddress6: Operation not supported
dhcpcd[4007]: DUID 00:01:00:01:1d:49:2e:c4:b8:27:eb:f1:3f:ca
dhcpcd[4007]: wlan0: IAID 06:2b:bb:d1
dhcpcd[4007]: wlan0: soliciting a DHCP lease
dhcpcd[4007]: wlan0: using IPv4LL address 169.254.253.190
interface='wlan0’
pid='4007’
reason='TEST’
skip_hooks='lookup-hostname’
ifcarrier='up’
ifflags='4163’
ifmtu='1500’
ifssid='erichard_network’
ifwireless='1’
new_broadcast_address='169.254.255.255’
new_ip_address='169.254.253.190’
new_network_number='169.254.0.0’
new_subnet_cidr='16’
new_subnet_mask='255.255.0.0’
dhcpcd[4007]: exited
Once I did this, I unplugged my ethernet cable.
Then, just to ensure I wasn’t caching any DNS entires on my local machine I ran:
$ sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache flushed
Then, when I try to do the ping I see the following:
$ ping dex.local
PING dex.local (169.254.253.190): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
You can see here that the IP address it is pinging is the wifi address, so not the eth0 address. It is just an unrouteable address.
It feels to me like something his happening in the DHCP process where the device isn’t properly getting the IP address from the DHCP server.
I’m going to post this information and look for any more info I can find.