FreeBSD 7.0-RC2 ath wireless issues

Sam Leffler sam at errno.com
Mon Feb 25 17:05:21 UTC 2008


[your reply formatted previous postings w/ something like 20 column wrap]
> 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 <----------------------
>   

No data frames were ACK'd so there was never a xmit rate to collect.

> 50 tx management frames
> 129 tx frames discarded prior to association
>   

This says frames were being transmitted when not associated.

> 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`
>   

[Note "19.5 Mb/s" is a bug I just fixed in tcpdump.]

> 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.
>   

Looks like broadcast packets aren't being accepted by the ap as your ARP 
requests are not being answered.  When you assign a static IP address tx 
starts to flow.  This isn't a wireless issue unless you're using crypto 
(which you said you were not); look for configuration issues at a higher 
level.

    Sam



More information about the freebsd-mobile mailing list