FreeBSD 7.0-RC2 ath wireless issues

Ian Smith ismith00 at yahoo.com
Mon Feb 25 13:49:46 UTC 2008


----- Original Message ----
From: Sam Leffler <sam at errno.com>
To: Ian Smith <ismith00 at yahoo.com>
Cc: freebsd-mobile at freebsd.org
Sent: Sunday, February 24, 2008 8:36:11 PM
Subject: Re: FreeBSD 7.0-RC2 ath wireless issues


Ian 
Smith 
wrote:
> 
Hello 
list,
>
> 
I 
have 
some 
issues 
with 
an 
Atheros 
card 
in 
a 
Dell 
Inspiron 
6000 
that 
I 
was 
hoping 
someone 
may 
be 
able 
to 
shed 
some 
light 
on. 
I 
can 
associate 
with 
an 
access 
point 
but 
am 
unable 
to 
connect 
to 
anything 
via 
the 
wireless 
card. 
The 
card 
appears 
to 
be 
associated 
(see 
below) 
but 
I 
am 
unable 
to 
connect/ping 
the 
router 
or 
anything 
connected/beyond 
it. 
Please 
see 
the 
following 
for 
more 
details:
>
> 
Hardware 
info:
> 
Laptop: 
Dell 
Inspiron 
6000
> 
Wireless 
Card: 
Complex 
WLM54G23 
(http://www.msdist.co.uk/product_compex_WLM54G23_200mW_miniPCI.php)
>
> 
FreeBSD 
output:
> 
root#  
 
uname 
-a
> 
FreeBSD 
dmon.bsd.home 
7.0-RC2 
FreeBSD 
7.0-RC2 
#0: 
Sun 
Feb 
24 
09:08:01 
GMT 
2008  
  
 
root at my.domain:/usr/obj/usr/src/sys/GENERIC  
i386
>
> 
root# 
dmesg 
| 
grep 
ath0
> 
ath0: 
<Atheros 
5212> 
mem 
0xdfcf0000-0xdfcfffff 
irq 
17 
at 
device 
3.0 
on 
pci3
> 
ath0: 
[ITHREAD]
> 
ath0: 
using 
obsoleted 
if_watchdog 
interface
> 
ath0: 
Ethernet 
address: 
xx:xx:xx:xx:xx:xx
> 
ath0: 
mac 
10.4 
phy 
6.1 
radio 
6.3
>
> 
root# 
pciconf 
-lv
>  
  
 
....
>  
  
 
vendor  
  
 
= 
'Atheros 
Communications 
Inc.'
>  
  
 
device  
  
 
= 
'AR5006 
family 
802.11abg 
Wireless 
NIC'
>  
  
 
class  
  
  
= 
network
>  
  
 
subclass  
 
= 
ethernet
>
> 
root# 
sysctl 
hw.ath
> 
hw.ath.hal.swba_backoff: 
0
> 
hw.ath.hal.sw_brt: 
10
> 
hw.ath.hal.dma_brt: 
2
> 
hw.ath.hal.version: 
0.9.20.3
> 
hw.ath.txbuf: 
200
> 
hw.ath.rxbuf: 
40
> 
hw.ath.regdomain: 
0
> 
hw.ath.countrycode: 
0
> 
hw.ath.xchanmode: 
1
> 
hw.ath.outdoor: 
1
> 
hw.ath.calibrate: 
30
>
> 
root# 
sysctl 
dev.ath.0
> 
dev.ath.0.%desc: 
Atheros 
5212
> 
dev.ath.0.%driver: 
ath
> 
dev.ath.0.%location: 
slot=3 
function=0
> 
dev.ath.0.%pnpinfo: 
vendor=0x168c 
device=0x001b 
subvendor=0x168c 
subdevice=0x2063 
class=0x020000
> 
dev.ath.0.%parent: 
pci3
> 
dev.ath.0.smoothing_rate: 
95
> 
dev.ath.0.sample_rate: 
10
> 
dev.ath.0.countrycode: 
0
> 
dev.ath.0.regdomain: 
0
> 
dev.ath.0.slottime: 
9
> 
dev.ath.0.acktimeout: 
48
> 
dev.ath.0.ctstimeout: 
48
> 
dev.ath.0.softled: 
0
> 
dev.ath.0.ledpin: 
0
> 
dev.ath.0.ledon: 
0
> 
dev.ath.0.ledidle: 
2700
> 
dev.ath.0.txantenna: 
0
> 
dev.ath.0.rxantenna: 
2
> 
dev.ath.0.diversity: 
1
> 
dev.ath.0.txintrperiod: 
5
> 
dev.ath.0.diag: 
0
> 
dev.ath.0.tpscale: 
0
> 
dev.ath.0.tpc: 
0
> 
dev.ath.0.tpack: 
63
> 
dev.ath.0.tpcts: 
63
> 
dev.ath.0.monpass: 
24
>
> 
Attempting 
to 
get 
an 
address 
from 
the 
AP 
after 
associating:
> 
root# 
dhclient 
ath0
> 
DHCPDISCOVER 
on 
ath0 
to 
255.255.255.255 
port 
67 
interval 
6
> 
DHCPDISCOVER 
on 
ath0 
to 
255.255.255.255 
port 
67 
interval 
13
> 
DHCPDISCOVER 
on 
ath0 
to 
255.255.255.255 
port 
67 
interval 
14
> 
DHCPDISCOVER 
on 
ath0 
to 
255.255.255.255 
port 
67 
interval 
17
> 
DHCPDISCOVER 
on 
ath0 
to 
255.255.255.255 
port 
67 
interval 
11
> 
No 
DHCPOFFERS 
received.
> 
No 
working 
leases 
in 
persistent 
database 
- 
sleeping.
>
> 
With 
manual 
IP 
address:
> 
root# 
ifconfig 
-v 
ath0
> 
ath0: 
flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> 
metric 
0 
mtu 
1500
>  
  
  
  
 
ether 
xx:xx:xx:xx:xx:xx
>  
  
  
  
 
inet 
xxx.xxx.xxx.xxx 
netmask 
0xffffff00 
broadcast 
xxx.xxx.xxx.255
>  
  
  
  
 
media: 
IEEE 
802.11 
Wireless 
Ethernet 
autoselect 
(OFDM/54Mbps)
>  
  
  
  
 
status: 
associated
>  
  
  
  
 
ssid 
XXXXX 
channel 
11 
(2462 
Mhz 
11g) 
bssid 
xx:xx:xx:xx:xx:xx
>  
  
  
  
 
authmode 
OPEN 
privacy 
OFF 
deftxkey 
UNDEF 
powersavemode 
OFF
>  
  
  
  
 
powersavesleep 
100 
txpower 
31.5 
txpowmax 
23.0 
rtsthreshold 
2346
>  
  
  
  
 
fragthreshold 
2346 
bmiss 
7 
scanvalid 
60 
bgscan 
bgscanintvl 
300
>  
  
  
  
 
bgscanidle 
250 
roam:rssi11a 
7 
roam:rate11a 
12 
roam:rssi11b 
7
>  
  
  
  
 
roam:rate11b 
1 
roam:rssi11g 
7 
roam:rate11g 
5 
-pureg 
protmode 
CTS 
-ht
>  
  
  
  
 
-htcompat 
-ampdu 
ampdulimit 
8k 
ampdudensity 
- 
-amsdu 
-shortgi
>  
  
  
  
 
htprotmode 
RTSCTS 
-puren 
-wme 
burst 
-ff 
-dturbo 
roaming 
AUTO
>  
  
  
  
 
bintval 
100
>
> 
In 
either 
case 
pinging 
anything 
on 
the 
network 
results 
in 
the 
following:
> 
root# 
ping 
xxx.xxx.xxx.xxx
> 
PING 
xxx.xxx.xxx.xxx 
(xxx.xxx.xxx.xxx): 
56 
data 
bytes
> 
^C
> 
--- 
xxx.xxx.xxx.xxx 
ping 
statistics 
---
> 
9 
packets 
transmitted, 
0 
packets 
received, 
100.0% 
packet 
loss
>
> 
For 
the 
purpose 
of 
this 
testing 
the 
AP 
was 
running 
without 
a 
firewall, 
encryption 
or 
an 
access 
list.
>
> 
Interestingly 
when 
I 
run 
`tcpdump 
-ttt 
-vv 
-n 
-i 
ath0` 
I 
am 
able 
to 
see 
broadcasts 
from 
other 
clients 
on 
the 
network. 
Also 
if 
I 
run 
` 
airodump-ng 
--band 
bg 
ath0` 
I 
can 
see 
a 
whole 
host 
of 
wireless 
networks 
including 
the 
one 
I 
am 
trying 
to 
connect 
to.
>
> 
Any 
information/advice 
would 
be 
much 
appreciated.
>
>  
 

The 
first 
thing 
to 
check 
is 
whether 
errors 
are 
being 
counted.  
netstat 
-in, 
wlanstats, 
athstats 
are 
useful 
tools.

Next 
I'd 
use 
tcpdump 
to 
inspect 
traffic 
starting 
at 
the 
802.3 
layer 
and 
going 
down; 
e.g.

tcpdump 
-n 
-i 
ath0 
-p

then

tcpdump 
-n 
-i 
ath0 
-p 
-y 
IEEE802_11

then 
finally

tcpdump 
-n 
-i 
ath0 
-p 
-y 
IEEE802_11_RADIO

If 
you 
are 
associated 
then 
packets 
should 
be 
coming 
through 
so 
you 
should 
find 
them 
at 
some 
level.  
Once 
you 
find 
them 
you 
need 
to 
figure 
out 
why 
they 
aren't 
being 
handled 
correctly; 
the 
stats 
usually 
tell 
you 
where+when 
frames 
are 
dropped.  
You 
can 
also 
turn 
on 
debug 
msgs 
in 
net80211 
with 
wlandebug 
if 
you 
believe 
the 
issue 
is 
there.

You 
say 
this 
network 
is 
running 
open 
so 
presumably 
there's 
no 
need 
to 
disable 
crypto 
(the 
first 
step 
one 
should 
do 
whenever 
having 
problems 
like 
this).

  
  
Sam

_______________________________________________
freebsd-mobile at freebsd.org 
mailing 
list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To 
unsubscribe, 
send 
any 
mail 
to 
"freebsd-mobile-unsubscribe at freebsd.org"



###############################
###############################


Hi Sam,

I have had a go at debugging the interface but things just don't add up. While requesting an address using `dhclient ath0` I'm not seeing any lost packets with `netstat -in`:

Name    Mtu Network       Address              Ipkts Ierrs    Opkts Oerrs  Coll
....
ath0   1500 <Link#4>      xx:xx:xx:xx:xx:xx       12     0        2     0     0
ath0   1500 0.0.0.0/8     0.0.0.0                  0     -        0     -     -
....


I'm not sure if this sheds any light on things but `athstats` is showing "0M current transmit rate":

root# athstats
9 data frames received
2 data frames transmit
168 mib overflow interrupts
0M current transmit rate <----------------------
50 tx management frames
129 tx frames discarded prior to association
48 tx frames with no ack marked
2 tx frames with short preamble
22 periodic calibrations
34 rssi of last ack
36 avg recv rssi
-91 rx noise floor
1 switched default/rx antenna
Antenna profile:
[1] tx       50 rx     1052

Here is the rest of the wlanstats and tcpdump info:

root# wlanstats
1267     rx beacon frames
1        rx element unknown
13       rx frame chan mismatch
1        active scans started
1284     rx management frames
12       total data frames received
12       multicast data frames received
36M      current transmit rate
35       current rssi
35       current signal (dBm)

root# tcpdump -n -i ath0 -p
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ath0, link-type EN10MB (Ethernet), capture size 96 bytes
13:21:06.140535 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:07.140223 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:08.140218 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:16.913634 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:17.910161 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:18.910151 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:23.464980 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:24.460096 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:25.460086 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:32.215510 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:33.215027 arp who-has 192.168.1.90 tell 192.168.1.1
13:21:34.215016 arp who-has 192.168.1.90 tell 192.168.1.1
^C
12 packets captured
12 packets received by filter
0 packets dropped by kernel

root# tcpdump -n -i ath0 -p -y IEEE802_11
tcpdump: data link type IEEE802_11
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ath0, link-type IEEE802_11 (802.11), capture size 96 bytes
13:22:35.447955 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:35.550347 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:35.652739 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:35.755141 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:35.857539 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:35.959939 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:36.062348 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:36.164735 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:36.267134 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:36.369533 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:36.471945 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:36.574331 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
....
13:22:40.158300 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:40.260702 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:22:40.363106 Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
^C
49 packets captured
49 packets received by filter
0 packets dropped by kernel


root# tcpdump -n -i ath0 -p -y IEEE802_11_RADIO
tcpdump: data link type IEEE802_11_RADIO
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ath0, link-type IEEE802_11_RADIO (802.11 plus BSD radio information header), capture size 96 bytes
13:24:02.896844 467892316us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:02.999220 467994716us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.101619 468097116us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.204016 468199518us tsft 19.5 Mb/s -66dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.306415 468301916us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.408813 468404314us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.511211 468506716us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.613608 468609118us tsft 19.5 Mb/s -63dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.716005 468711516us tsft 19.5 Mb/s -66dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.818414 468813916us tsft 19.5 Mb/s -66dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:03.920812 468916316us tsft 19.5 Mb/s -66dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.023204 469018718us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.125600 469121116us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.227999 469223518us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.330399 469325912us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 1 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.432799 469428318us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.535198 469530716us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.637595 469633118us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.739996 469735514us tsft 19.5 Mb/s -64dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
13:24:04.842394 469837918us tsft 19.5 Mb/s -65dB signal -95dB noise antenna 2 [0x00000012] Beacon (XXXXX) [1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 Mbit] ESS CH: 11
^C
20 packets captured
23 packets received by filter
0 packets dropped by kernel

All of the above were run when I was trying to get an address with `dhclient ath0`

Finally with a static address I see the following:

root# athstats
50 data frames received
2 data frames transmit
168 mib overflow interrupts
54M current transmit rate <--------------------- no longer 0.... ?
152 tx management frames
129 tx frames discarded prior to association
144 tx frames with no ack marked
104 tx frames with short preamble
91 periodic calibrations
32 avg recv rssi
-95 rx noise floor
13 switched default/rx antenna
Antenna profile:
[1] tx      148 rx     7653
[2] tx        0 rx      376

root# wlanstats
2        rx discard 'cuz dup
3        rx discard mgt frames
8247     rx beacon frames
2        rx element unknown
26       rx frame chan mismatch
3        active scans started
8284     rx management frames
53       total data frames received
53       multicast data frames received
6        total data frames transmit
54M      current transmit rate
34       current rssi
34       current signal (dBm)

An interesting point - what is the significance of the first athstats having only 1 entry in "Antenna profile" and the second showing 1 and 2? Also if I'm able to see traffic in the air one would assume that the card is receiving ok and that the problem lies somewhere in the transmitting of packets? I'll check the connections on the card to make sure that it isn't in fact a wiring issue.

Thanks,

Ian



      ____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs



More information about the freebsd-mobile mailing list