Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 May 2008 13:15:23 +0200
From:      Fabian Keil <freebsd-listen@fabiankeil.de>
To:        Sam Leffler <sam@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Connection problems with wme enabled
Message-ID:  <20080502131523.58eec71a@fabiankeil.de>
In-Reply-To: <481A2748.7080801@freebsd.org>
References:  <6b8e8f4f0804291900v521cde5cw1ad4eaba70244e9c@mail.gmail.com> <4817E52F.5070806@freebsd.org> <20080430121014.209beb00@fabiankeil.de> <48189577.4080109@freebsd.org> <48189871.2060005@freebsd.org> <20080501163943.4e8d102e@fabiankeil.de> <4819E367.3060306@freebsd.org> <20080501201135.4ff07fb4@fabiankeil.de> <481A2748.7080801@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/xEhFUVK0u.PKH3cx9JZ60LK
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Sam Leffler <sam@freebsd.org> wrote:

> Fabian Keil wrote:
> > Sam Leffler <sam@freebsd.org> wrote:
  =20
> >> Fabian Keil wrote:
> >>    =20
> >>> Sam Leffler <sam@freebsd.org> wrote:

> >> wlanstats 1 gives you a rolling display every second; that's usually=20
> >> more helpful in understanding what's happening.  Unfortunately there a=
re=20
> >> more stats than can fit on a rolling display so sometimes the one(s) y=
ou=20
> >> want aren't shown.  There is a column fmt mechanism a la ps to control=
=20
> >> output but it's not well developed (someone please take and improve). =
=20
> >> Also some stats are maintained by drivers and not yet counted in the=20
> >> net80211 layer (again, folks are welcome to help).
> >>    =20
> >
> > While working:
> >
> > fk@TP51 ~ $wlanstats 1
> >    input 2short rx_ucast bvers wrbss rxdup mecho wrdir
> >       14     0       14     0     1 29861    54     0
> >       19     0       19     0     0     0     0     0
> >        7     0        7     0     0     0     0     0
> >       15     0       15     0     0     0     0     0
> >       14     0       14     0     0     0     0     0
> >        4     0        4     0     0     0     0     0

> >        1     0        1     0     0     0     0     0
> > ^C
> >
> > While "hanging" ...
> >
> > fk@TP51 ~ $wlanstats 1
> >    input 2short rx_ucast bvers wrbss rxdup mecho wrdir
> >      882     0      831     0     1 29859    50     0
> >        1     0        0     0     0     0     0     0
> >        0     0        0     0     0     0     0     0
> >        1     0        0     0     0     0     0     0
> >        0     0        0     0     0     0     0     0

> >        0     0        0     0     0     0     0     0
> > ^C

> Your code is out of date, I just imported some fixes yesterday :)

Indeed.

While "hanging":

fk@TP51 ~ $wlanstats 1
   input     mgmt   output rxkid ascan bgscn bmiss  rssi noise  rate
     113      591      207     0    10     0     3    42     0   54M
       0        0        2     0     0     0     0    42     0   54M
       0        0        1     0     0     0     0    42     0   54M
       0        0        2     0     0     0     0    42     0   54M
       0        0        2     0     0     0     0    42     0   54M
       0        1        1     0     0     0     0    42     0   54M
       0        0        1     0     0     0     0    42     0   54M
       0        0        2     0     0     0     0    42     0   54M
       0        0        1     0     0     0     0    42     0   54M
       0        0        2     0     0     0     0    42     0   54M
       1        1        3     0     0     0     0    43     0   54M
       0        0        1     0     0     0     0    43     0   54M
       0        0        2     0     0     0     0    43     0   54M
       0        0        2     0     0     0     0    43     0   54M
       0        0        2     0     0     0     0    43     0   54M
       0        1        3     0     0     0     0    42     0   54M
       0        0        1     0     0     0     0    42     0   54M
       0        0        2     0     0     0     0    42     0   54M
^C

While working with wme enabled:

       7        0        7     0     0     0     0    42     0    2M
       4        0        4     0     0     0     0    42     0   11M
      10        0        6     0     0     0     0    42     0   11M
       5        0        4     0     0     0     0    43     0   12M
       5        1        3     0     0     0     0    43     0   12M
       3        0        4     0     0     0     0    43     0   18M
       3        0        3     0     0     0     0    43     0   18M
       4        0        3     0     0     0     0    43     0   18M
       3        0        2     0     0     0     0    43     0   18M
       3        1        4     0     0     0     0    43     0   24M
   input     mgmt   output rxkid ascan bgscn bmiss  rssi noise  rate
      80      756       67     0    17     0     3    43     0   36M
       3        0        3     0     0     0     0    43     0   36M
       4        0        4     0     0     0     0    43     0   48M
       2        0        2     0     0     0     0    43     0   48M
       3        1        5     0     0     0     0    43     0   48M
       2        0        4     0     0     0     0    43     0   48M
       1        0        4     0     0     0     0    43     0   54M
       2        0        3     0     0     0     0    43     0   54M
       3        0        5     0     0     0     0    43     0   54M
       4        1        6     0     0     0     0    43     0   54M
       2        0        4     0     0     0     0    43     0   54M
       3        0        4     0     0     0     0    43     0   54M
       2        0        4     0     0     0     0    43     0   54M
       1        0        2     0     0     0     0    43     0   54M
^C

While working with wme disabled:

fk@TP51 ~ $wlanstats 1
   input     mgmt   output rxkid ascan bgscn bmiss  rssi noise  rate
      21      633       19     0    12     0     3    41     0    5M
       4        0        3     0     0     0     0    41     0    5M
       4        0        3     0     0     0     0    41     0    5M
       2        1        2     0     0     0     0    42     0    5M
       5        0        5     0     0     0     0    42     0   11M
       4        0        7     0     0     0     0    42     0   11M
       7        0        4     0     0     0     0    42     0   12M
       7        0        7     0     0     0     0    42     0   12M
       8        1        5     0     0     0     0    42     0   18M
       7        0        5     0     0     0     0    42     0   18M
       2        0        2     0     0     0     0    42     0   24M
       4        0        3     0     0     0     0    42     0   24M
       2        0        2     0     0     0     0    43     0   18M
       3        1        3     0     0     0     0    42     0   18M
       3        0        2     0     0     0     0    42     0   18M
       2        0        2     0     0     0     0    42     0   18M
       4        0        3     0     0     0     0    42     0   18M
       2        0        2     0     0     0     0    42     0   18M
       3        1        3     0     0     0     0    42     0   18M
       7        0        6     0     0     0     0    42     0   18M
^C

> >>> It's interesting that with wme enabled the hangs
> >>> usually occur with the transmit rate at 54, while
> >>> it's usually a lot lower with wme disabled and the
> >>> device working.
> >>>      =20
> >
> >  =20
> >> iwi does tx rate control in the firmware so unlikely to be related.  T=
he=20
> >> more likely issue is the beacon miss handling.  The driver should=20
> >> recover and reconnect but it sounds like something didn't work.  As a=
=20
> >> workaround you can try upping the bmiss count to see if this is a=20
> >> problem w/ the radio going deaf for a period of time--something I've=20
> >> seen on older Intel parts.
> >>    =20
> >
> > Increasing bmiss to 250 (or decreasing it to 10)
> > doesn't seem to affect the problem.
> >  =20
>=20
> Well if your beacon interval is 100 TU then the default setting of 24=20
> means you didn't see a beacon frame in 2400 TU (~2.4 seconds) which is a=
=20
> really long time even if the channel is way busy.  The firmware handles=20
> this notification so it could be a firmware issue; if I were=20
> investigating I'd sniff packets to see.
>=20
> I've tested bmiss handling before (yesterday even) and it worked for me=20
> w/ and w/o wme enabled so not sure what to say.  What I have noticed is=20
> the firmware some times delivers a slew of beacon miss notifications=20
> immediately after associating to an ap.  I have some ideas why this=20
> might occur but Intel wouldn't answer when asked.  However if you're=20
> seeing bmiss after lots of traffic has passed then it's unclear what's=20
> happening.
>=20
> I tested mostly with a 2915 card fwiw.

> >> See above.  I ran tests yesterday w/ wme enabled in my environment but=
=20
> >> the signal was stronger so not an equivalent test.  What you need to d=
o=20
> >> is get a log that captures the event of losing connectivity.  This mus=
t=20
> >> include net80211 logging and probably needs to include some level of=20
> >> driver debugging as the problem is in the driver.  Try:
> >>
> >> wlandebug state+scan+auth+assoc
> >>    =20
> >
> > fk@TP51 ~ $sudo wlandebug state+scan+auth+assoc
> > wlandebug: sysctl-get(net.wlan.0.debug): No such file or directory
> >
> > fk@TP51 ~ $sysctl net.wlan    =20
> > net.wlan.addba_maxtries: 3
> > net.wlan.addba_backoff: 10000
> > net.wlan.addba_timeout: 250
> > net.wlan.cac_timeout: 60
> > net.wlan.nol_timeout: 1800
> > net.wlan.recv_bar: 1
> > net.wlan.0.%parent: iwi0
> > net.wlan.0.driver_caps: 92307968
> > net.wlan.0.bmiss_max: 200 (increased by me, without noticeable effect)
> > net.wlan.0.inact_run: 300
> > net.wlan.0.inact_probe: 30
> > net.wlan.0.inact_auth: 180
> > net.wlan.0.inact_init: 30
> >
> >  =20
> >> sysctl debug.iwi=3D5
> >>    =20
> >
> > I'm not sure how useful it is without net80211 logging,
> > but I uploaded 160K of iwi0 messages at:
> >
> > http://www.fabiankeil.de/tmp/freebsd/iwi0-messages.txt

> Looks like I failed to include IEEE80211_DEBUG in the default kernel=20
> configs; you'll need that to get wlan debug msgs.  I'll try to look at=20
> your log later.

I uploaded a log with IEEE80211_DEBUG enabled at:
http://www.fabiankeil.de/tmp/freebsd/wlan0+iwi0-messages.txt

Fabian

--Sig_/xEhFUVK0u.PKH3cx9JZ60LK
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkga98sACgkQBYqIVf93VJ27/gCdGx9+6CSD6Q5klBEHLoPez0Bb
LAoAoIHIaJ2F+ehJMOoAhEqc1ZWxGWXA
=0R0X
-----END PGP SIGNATURE-----

--Sig_/xEhFUVK0u.PKH3cx9JZ60LK--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080502131523.58eec71a>