I just had the same issue, DHCP but the same WLAN0 failure until ETH0 was UP. In my case @Jivings is correct. When you ping the receiving response is via ETH0.
Now this goes against everything I understand but in my case with the RPI ethernet cable plugged in :
pi@raspberrypi ~ $ ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:b0:0c:39
inet addr:192.168.99.75 Bcast:192.168.99.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
wlan0 Link encap:Ethernet HWaddr 80:1f:02:82:33:24
inet addr:192.168.99.78 Bcast:192.168.99.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Take note of the HWaddr on each card.
Then from another workstation, in this case I'm using NMAP :
$ sudo nmap -sn 192.168.99.75 **<< - ETH0**
Starting Nmap 6.25 ( http://nmap.org ) at 2013-02-03 10:19 GMT
Nmap scan report for 192.168.99.75
Host is up (0.020s latency).
MAC Address: B8:27:EB:B0:0C:39 (Raspberry Pi Foundation)
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
Paul@lo-mbp-preg / $ sudo nmap -sn 192.168.99.78
$ sudo nmap -sn 192.168.99.78 **<< - ETH0**
Starting Nmap 6.25 ( http://nmap.org ) at 2013-02-03 10:19 GMT
Nmap scan report for 192.168.99.78
Host is up (0.0044s latency).
MAC Address: B8:27:EB:B0:0C:39 (Raspberry Pi Foundation)
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
You can see that the MAC Address/HWAddr for both ETH0 and WLAN0 is the same, and matches the ETH0 HWAddr from ifconfig. So in my case the Wireless was not working. All traffic was passing via ETH0
If you don't have NMAP ping and then displaying the ARP table (IP <-> MAC table) will show the same information. From CLI:
- Windows = arp -a
- Linux = arp
I actually didnt find 'the reason' for this. In the process of debugging it started working reliably. Which I hate. But this config is now working :
/etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="<ssid>"
psk=<key>
}
network={
ssid="<ssid>"
psk=<key>
}
network={
ssid="<ssid>"
psk=<key>
}
network={
ssid="<ssid>"
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=PEAP
identity="user@domain"
password="xxxxxxxxxx"
ca_cert="/etc/cert/ca.pem"
phase1="peapver=0"
phase2="MSCHAPV2"
}
I hope this helps you make some progress ..