Bug 10602 - zd1211rw - compat-wireless wlan0 doesn't use local DNS.
Summary: zd1211rw - compat-wireless wlan0 doesn't use local DNS.
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_network-wireless@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-05-04 11:45 UTC by Alan Snelgrove
Modified: 2009-06-17 17:40 UTC (History)
3 users (show)

See Also:
Kernel Version: Linux version 2.6.24-1-ixp4xx (Debian 2.6.24-6)
Subsystem:
Regression: No
Bisected commit-id:


Attachments
zd1211rw -dns problem (input & syslog) (4.04 KB, text/plain)
2008-05-04 15:07 UTC, Alan Snelgrove
Details

Description Alan Snelgrove 2008-05-04 11:45:09 UTC
Latest working kernel version:
Earliest failing kernel version:
Distribution: Debian sid
Hardware Environment: nslu2 
zd1211rw firmware version 4725 
zd1211b chip 0ace:1215 v4810 high 00-0e-8e AL2230_RF pa0 g--NS

Software Environment: compat-wireless-2008-05-04 
Problem Description:
The nslu2 cannot lookup local DNS.
I want to use ssh root@worm.local, but I am forced to use ssh root@192.168.1.12
once ssh'd to the nslu2, I can 'w3m google.com' without issue, but I cannot ssh to another local server without using the IP address.

The problem does not exist whilst the ethernet connection is up.
     
Steps to reproduce:

Worm:~# wpa_cli scan       
Selected interface 'wlan0'
OK
Worm:~# ssh pluto.local
Pluto:~ root# exit
logout
Connection to pluto.local closed.

Worm:~# wpa_cli reassociate
Selected interface 'wlan0'
OK
Worm:~# ssh pluto.local
ssh: pluto.local: Name or service not known

Worm:~# wpa_cli scan
Selected interface 'wlan0'
OK
Worm:~# ssh pluto.local
Pluto:~ root#

There are no errors in the logs
When the DNS lookup is working it works from and to the nslu2.
Comment 1 Diego Calleja 2008-05-04 12:35:49 UTC
It looks like a problem in your network configuration, not in the kernel, doesn't it?
Comment 2 John W. Linville 2008-05-04 13:06:16 UTC
Yes, it definitely does.  You should probably check the contents of /etc/resolv.conf between wired and wireless.

Either way, if you can reach the device by IP address then the zd1211rw driver is not to blame.
Comment 3 Alan Snelgrove 2008-05-04 13:41:28 UTC
  (In reply to comment #2)
> Yes, it definitely does.  You should probably check the contents of
> /etc/resolv.conf between wired and wireless.
> 
> Either way, if you can reach the device by IP address then the zd1211rw
> driver
> is not to blame.
> 

I don't know where the error is but running 'wpa_cli scan' fixes the problem. As far as I am aware this operation does not touch resolv.conf.

The problem is caused by the association as in wpa_cli reassociate wlan0.
Comment 4 John W. Linville 2008-05-04 14:20:54 UTC
Hmmm...OK, thanks for being patient and pointing that out. :-)  The first part of your description doesn't really match the latter part.

Could you include the ouptut of running 'iwconfig wlan0' after the 'wpa_cli reassociate' and then again after the 'wpa_cli scan'?  Also, please attach the contents of /var/log/messages after executing the entire sequence as in the original report....thanks!
Comment 5 Alan Snelgrove 2008-05-04 15:07:15 UTC
Created attachment 16025 [details]
zd1211rw -dns problem (input & syslog)
Comment 6 John W. Linville 2008-08-22 10:42:33 UTC
Ist this problem still happening with 2.6.26 or later?
Comment 7 Alan Snelgrove 2008-08-23 02:33:41 UTC
There is a major improvement:
I'm now on an basic Linux version 2.6.26-1-ixp4xx (Debian 2.6.26-2), (without compat-wireless)
wpa_cli reassociate no longer causes the problem I have to ifdown wlan0; ifup wlan0 to achieve a similar result.
Previously I could not ssh to the Slug without using the IP address - This issue is resolved.
The failure to ping local addresses without first running wpa_cli scan remains.

The problem only occurs when the Ethernet cable is not plugged in

for Example:

Slug:~# ping titan.local 
ping: unknown host titan.local
Slug:~# ping google.com
PING google.com (72.14.207.99) 56(84) bytes of data.
64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=1 ttl=234 time=106 ms
^C
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 106.849/106.849/106.849/0.000 ms
Slug:~# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:6600                  *:*                     LISTEN     
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp        0      0 Slug.local:ssh          192.168.1.19:49689      ESTABLISHED
udp        0      0 *:bootpc                *:*                                
udp        0      0 *:bootpc                *:*  
  
The fix:

Slug:~# wpa_cli scan
Selected interface 'wlan0'
OK
Slug:~# ping titan.local 
PING titan.local (192.168.1.19) 56(84) bytes of data.
64 bytes from Titan.local (192.168.1.19): icmp_seq=1 ttl=64 time=2.87 ms
^C
--- titan.local ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.871/2.871/2.871/0.000 ms
Slug:~# ping google.com
PING google.com (64.233.187.99) 56(84) bytes of data.
64 bytes from jc-in-f99.google.com (64.233.187.99): icmp_seq=1 ttl=237 time=108 ms
^C
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 108.594/108.594/108.594/0.000 ms
Slug:~# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:6600                  *:*                     LISTEN     
tcp        0      0 *:ssh                   *:*                     LISTEN     
tcp        0      0 Slug.local:ssh          Titan.local:49689       ESTABLISHED
udp        0      0 *:bootpc                *:*                                
udp        0      0 *:bootpc                *:*   

The Last pat of dmesg:

[42949437.420000] firmware: requesting zd1211/zd1211b_ub
[42949437.620000] firmware: requesting zd1211/zd1211b_uphr
[42949438.220000] zd1211rw 3-1.1:1.0: firmware version 4725
[42949438.320000] zd1211rw 3-1.1:1.0: zd1211b chip 0ace:1215 v4810 high 00-0e-8e AL2230_RF pa0 g--NS
[42949440.220000] firmware: requesting NPE-B
[42949440.560000] NPE-B: firmware functionality 0x2, revision 0x2:1
[42949440.570000] eth0: link down
[42949445.640000] wlan0: Initial auth_alg=0
[42949445.640000] wlan0: authenticate with AP 00:1e:52:7b:ea:2e
[42949445.640000] wlan0: RX authentication from 00:1e:52:7b:ea:2e (alg=0 transaction=2 status=0)
[42949445.640000] wlan0: authenticated
[42949445.640000] wlan0: associate with AP 00:1e:52:7b:ea:2e
[42949445.650000] wlan0: RX AssocResp from 00:1e:52:7b:ea:2e (capab=0x431 status=0 aid=2)
[42949445.650000] wlan0: associated
[42949445.650000] wlan0: switched to short barker preamble (BSSID=00:1e:52:7b:ea:2e)
[42949445.650000] wlan0 (WE) : Wireless Event too big (320)
[42949463.970000] warning: `ntpd' uses 32-bit capabilities (legacy support in use)
Slug:~# 
Comment 8 John W. Linville 2008-09-30 07:08:56 UTC
This is a very strange problem...it is difficult to see how the kernel could be involved.

Is titan.local being resolved with mdns (i.e. Multicast DNS)?  Or with plain old unicast DNS (i.e. with an entry in a nameserver somewhere)?  I'm not sure what difference that would make, but it is a datapoint worth having.
Comment 9 Alan Snelgrove 2008-09-30 14:39:16 UTC
(In reply to comment #8)

I don't think it is the kernel, I also have a another WIFI dongle using module rt2870sta that does not display the problem. The Slug is listening on *.mdns. it's using avahi-daemon  and dhclient3.
titan.local is a Mac, and the network is provided by an Airport Extreme (Gigabit Ethernet] B/G compatible network. 

The architecture is armel: from dmesg:

[    0.000000] Linux version 2.6.26-1-ixp4xx (Debian 2.6.26-5) (waldi@debian.org) (gcc version 4.1.3 20080623 (prerelease) (Debian 4.1.2-23)) #1 Thu Sep 11 03:21:45 UTC 2008
[    0.000000] CPU: XScale-IXP42x Family [690541f1] revision 1 (ARMv5TE), cr=0000397f
[    0.000000] Machine: Linksys NSLU2

The problem:

Slug:~# ping titan.local
ping: unknown host titan.local
Slug:~# ping www.google.com
PING www.l.google.com (209.85.135.103) 56(84) bytes of data.
64 bytes from mu-in-f103.google.com (209.85.135.103): icmp_seq=1 ttl=240 time=73.7 ms 
Slug:~# wpa_cli scan
Selected interface 'wlan0'
OK
Slug:~# ping titan.local
PING titan.local (192.168.1.77) 56(84) bytes of data.
64 bytes from Titan.local (192.168.1.77): icmp_seq=1 ttl=64 time=3.21 ms
Comment 10 John W. Linville 2009-03-02 10:01:18 UTC
Alan, did you ever find a resolution this this issue?  I just don't see what to do with it here...

Note You need to log in before you can comment on or make changes to this bug.